NAME

CQCC::IOPtkPanel - IOPtk widget class for managing panel widgets


CLASS DESCRIPTION

This class provides wrapper objects for a number of commonly used geometry management widgets, hiding the implementation details and handling message translation and child management.

As a subclass of IOPtkWidget, it inherits some basic attribute management and initialization functionality. In addition this class manages zero or more child IOPtkWidget objects including other panels.

How the IOPtkPanel object looks and behaves depends on its ``subtype'' which provides a lightweight subclassing feature. Each subtype has an initialization function that uses Perl/TK calls to define the widget; the subtype may have additional supporting methods to implement its behavior.

The currently supported subtypes include IOMainWindow, IOTopLevel, IODialogBox, IOFrame. See the method documentation on each for more information.

The IOPtkPanel ClassTest method provides an extensive test of all of the IOPtkWidget classes.

SUPPORT POLICY: See TriggerCQCC.pm for the Rational Support Policy.


METHODS

ClassTest(@args)
This class function runs an internal class test which creates a Notebook with two Notebook pages, each containing instances of the IOPtkPanel, IOPtkMenu, and IOPtkManip classes to exercise and test behavior.

DESTROY
This internal destructor method in turn destroys the IOPtkWidget child objects then calls the main destructor.

IODialogBox subtype
Calling sequence using an instance of IOPerlTK called $IO:
    $IO->Panel(name, parent, "IODialogBox", key-values)>

This subtype method is called during initialization to define an IODialogBox panel widget. It uses the Perl/TK DialogBox object directly after translating its TITLE and button titles through the message catalog. If a BUTTONS attribute is provided the buttons are based on that msgtag list reference; otherwise it will use the standard OK and Cancel button names.

The IODialogBox is hidden until it invoked using the IODialogBoxShow method described below.

IODialogBoxShow()
This method is used to present a IODialogBox subtype panel, wait for a button selection, then return. If the selection matches the standard Cancel message, it will return a 1 for abort, otherwise it will return 0.

If this method is called for an IOPtkPanel that is not a IODialogBox, it will do nothing and return a 0.

IOFrame subtype
Calling sequence using an instance of IOPerlTK called $IO:
    $IO->Panel(name, parent, "IOFrame", key-values)>

This subtype method is called during initialization to define a generic Frame panel widget. It uses the Perl/TK Frame object directly after translating its TITLE.

ManageChildren(operation, child)
This method can be called for any IOPtkPanel widget to modify its child list. Operations currently supported include the following: ADD, which adds a child to the list and DELETE which deletes the specified list. With no arguments, it will return a sorted list of child names.

Currently, this method is only called by IOPtkWidget as part of the generic services it provides.

new CQCC::IOPtkPanel()
This method builds on the IOPtkWidget constructor to add an empty child list and then calls the subtype initialization method.

The initializers for IOMainWindow and IOTopLevel are built into this method directly.