Package: uiBaseForm
use class::ui::uiBaseForm;
The file uiBaseForm.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 BaseForm object (BaseForm.pm).
Because BaseForm is only a never-directly used base class, it only conatins the build up of the very basic widgets: Toplevel, Menubar, Speedbar and Statusbar.
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: 90% done
Documentation: up-do-date
uiDocForm::build_ui($ref_form, $config_name);
Builds up the basic user interface of a Form object and stores the references to all created widgets in the $ref_docform->{'ui'} hash.
The attributes are accessed directly ($ref_docform->{'ui'}->{...}) because there is no Get/Set-method for each widget.
F.ex. the Toplevel is created in $ref_docform->{'ui'}->{'top'}.
Parameters:
(+) $ref_form: A reference to the BaseForm derived form object
(+) $config_name
: The name of the section in edoc.cfg that
describes the GUI
uiBaseForm::build_speedbar($config_name, $ref_form);
Builds the speedbar and sets the commands to the right macros defined in 'edoc.cfg'
This is done in a seperate function, because its better to have an overview like this.
Parameters:
(+) $config_name: The name of the section in edoc.cfg that holds the info
(+) $ref_form: Reference to the object which user interface has to be created
uiBaseForm::build_menu($config_name, $ref_form, $menu_name, $ref_menu_cfg, $ref_entrylist);
Builds a menu with the data from some configuration files:
The TOOLS menu is stored in the 'edoc.cfg'-file (can be in
$form_class
= 'PrjForm' and 'DocForm')
the BACKEND menu is stored in the '*.out' files (Only available in
$form_class
= 'DocForm').
Parameters:
(+) $config_name: The name of the section in edoc.cfg that holds the info
(+) $ref_form: Reference to the object which user interface has to be created
(+) $menu_name: The name of the menu in the main menu
(+) $ref_menu_cfg
: A reference to a hash that contains the
data for the menu
(+) $ref_entrylist
: A referenece to an array that holds the
names of the submenuitems sorted the way they were written in the
configuration filé