NAME:

Package: uiPrjForm


SYNOPSIS:

use class::ui::uiPrjForm;


DIRECTORY/FILE:

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


DESCRIPTION:

This packages contains all functions that are needed to build and modify the user interface of a PrjForm object (PrjForm.pm).

This is the stuff I don't like on the Tk toolkit: Large spaghetti-code just to produce the GUI of one Window. So I put all these functions in a separate file in ./class/ui, where every window has one file that produces the GUI. I try to prevent to work in these files often, because I hate them.

This package file is not designed to function as an object, so there are no attributes, no methods and no Get/Set functions, it is only a package of functions that belong thematically together (They are working with the same window object).

The windows object is placed in ./class, there is all of the windows functionality


STATUS:

Coding: 10% done

Documentation: up-do-date


FUNCTIONS:


build_ui

uiPrjForm::build_ui($ref_prjform);

Builds up the user interface of a PrjForm object and stores the references to all created widgets in the $ref_prjform->{'ui'} hash.

The attributes are accessed directly ($ref_prjform->{'ui'}->{...}) because there is no Get/Set-method for each widget.

Because the project window is the applications main window, it is created here and stored in $ref_prjform->{'ui'}->{'app_window'}.

The function returns a reference to the applications main window.

Parameters:

(+) $ref_prjform: Reference to the PrjForm object which user interface has to be created


build_ui_arg_editor

uiPrjForm::build_ui_arg_editor($ref_prjform, $type);

Builds up the part that displays the project argument editor.

Parameters:

(+) $ref_prjform: Reference to the PrjForm object which user interface has to be created

(+) $type: Is 'PROJECT' for the big editor for the project itself, or 'FILES' for the samller one beside the tree


update_arg_editors

uiPrjForm::update_arg_editors($ref_prjform, $type);

Update the combos in the editors

Parameters:

(+) $ref_prjform: Reference to the PrjForm object which user interface has to be created

(+) $type: Is 'PROJECT' for the big editor for the project itself, or 'FILES' for the samller one beside the tree


text_arg_changed

uiPrjForm::text_arg_changed($ref_prjform, $arg_base_branch, $arg_index);

Updates the value of the argument.

Parameters:

(+) $ref_prjform: Reference to the PrjForm object.

(+) $arg_base_branch: The hash where the argument gets stored

(+) $arg_index: The index number of the argument


authors_changed

uiPrjForm::authors_changed($ref_prjform);

Updates the authors list.

Parameters:

(+) $ref_prjform: Reference to the PrjForm object.


KNOWN BUGS:


STILL MISSING: