Object: TagForm
use class::TagForm;
The file TagForm.pm is located in the subdirectory './class'
The object TagForm encapsulates the tag properties (=arguments) editor window. It is now coded as a normal non-visual Perl class that creates an user interface in the $self->{'ui'} branch. It might be more clever to (later) transform it into a Toplevel-derived widget.
This window is used to allow to edit the arguments of a STYLE like you can do it with the embeded ArgEdit object in an embeded COMMAND object. It uses the same ArgEdit class, it just embeds it into this window instead of the documents text widget.
Coding: 60% done
Documentation: up-do-date
NOTE: Here all objects get correctly destroyed after closing the window --> !NO CIRCULAR REFERENCES!
Do not set/read them directly, use the Get/Set methods instead.
$self->{'tag_style'} #The style name of the tag which arguments should be browsed in this TagForm window
$self->{'tag_name'} #The tag name which arguments should be edited
$self->{'docform'} #A reference to the DocForm object that created the TagForm window
$self->{'ui'}->{'_top'} #A referenece to the Toplevel
$self->{'ui'}->{...the rest of this branch...} #References to the widgets that build the user interface
$object
= TagForm->new($docform, $tag_name, $is_object,
$ref_object, $is_doc_style);
This constructor creates a new object of the class TagForm.
Parameters:
(+) $docform: A reference to the DocForm object the TagForm was created from
(+) $tag_name: The name of the tag whichs arguments should be edited
(+) $is_object: Flag is set to 1, if arguments are stored in an object, else it is 0
(+) $ref_object: Reference to the associated object (if any) or undef
(+) $is_doc_style: Flag is set to 1, if arguments are stored for the whole document itself, else it is 0
The standard automatically called PERL destructor for objects. Unfortionatly it is called very late (when the whole application terminates.)
$object->do_detsroy();
This destructor is binded to the protocol-message WM_DELETE_WINDOW and performs the 'unsaved changes'-check, destroys the Toplevel manually and then destroys the TblForm object manually too.
$ref_docform
= $object->docform(); #gets a reference to the
associated DocForm object
$object
->docform($ref_docform); #sets a reference to the
associated DocForm object
$ref_tagman
= $object->tagman(); #gets a reference to the
associated TagMan object
$object
->tagman($ref_tagman); #sets a reference to the
associated TagMan object
$tag_name
= $object->tag_name(); #gets the tags name whichs
arguments should be edited
$object
->tagname($tag_name); #sets the tags name whichs
arguments should be edited
$style
= $object->tag_style(); #gets the tags style name
whichs arguments should be edited
$object
->tag_style($style); #sets the tags style name
whichs arguments should be edited
$style
= $object->top(); #gets a reference to the Tolevel
window (READ-ONLY)
Nothing here yet.
Nothing here yet.