NAME:

Object: TagForm


SYNOPSIS:

use class::TagForm;


DIRECTORY/FILE:

The file TagForm.pm is located in the subdirectory './class'


DESCRIPTION:

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.


STATUS:

Coding: 60% done

Documentation: up-do-date

NOTE: Here all objects get correctly destroyed after closing the window --> !NO CIRCULAR REFERENCES!


ATTRIBUTES:

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


METHODS:


Class Methods:


Constructors:


new

$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


Destructors:


DESTROY

The standard automatically called PERL destructor for objects. Unfortionatly it is called very late (when the whole application terminates.)


do_detstroy

$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.


Public data methods (=Get/Set methods):


docform

$ref_docform = $object->docform(); #gets a reference to the associated DocForm object

$object ->docform($ref_docform); #sets a reference to the associated DocForm object


tagman

$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

$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


tag_style

$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


top

$style = $object->top(); #gets a reference to the Tolevel window (READ-ONLY)


Other public methods:

Nothing here yet.


Private methods:

Nothing here yet.


KNOWN BUGS:


STILL MISSING: