Package: uiPrjForm
use class::ui::uiPrjForm;
The file uiPrjForm.pm is located in the subdirectory './class/ui'
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
Coding: 10% done
Documentation: up-do-date
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
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
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
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
uiPrjForm::authors_changed($ref_prjform);
Updates the authors list.
Parameters:
(+) $ref_prjform: Reference to the PrjForm object.