NAME

CQCC::IOPtkResizeButton - PerlTk widget for resizeable column headers


CLASS DESCRIPTION

This class provides a specialized button for use in the column headers used by IOPtkManip::ListboxGrid widget. It supports resize control over the column that it heads as well as providing a normal button callback.


METHODS

ClassInit()
Method that initializes class based parameters and bindings. Invoked automatically through Perl/TK calls.

ClassTest()
This class function runs an internal class test producing a multi-column HList widget using that uses the resize buttons for column headings.

Populate()
Method used by Perl/TK in building the widget and adding components to the configuration specs.

ButtonDoubleClick()
Method called when the mouse button is double clicked over a button. This will cause the selected column to be reset to automatic resizing.

ButtonPress()
Method called when the mouse button is pressed over the widget. If the mouse is in the resize margin at the right end of the widget then the moveable column bar used to show the column edge is initialized, otherwise feedback is shown for a normal button hit.

ButtonRelease()
Method called when the mouse button is released after being pressed. If the button was in resize mode from the initial ButtonPress call the moveable column bar is destroyed and the column width is adjusted accordingly.

ButtonEdgeSelected()
Method called to determine if the mouse is in the resize margin on the right edge of the button. If it is when the button is pressed the button will go into resize mode.

ButtonOver()
Method called while the mouse is over the button. If the button hasn't been pressed yet, the cursor will show either the resize cursor (<->) if the mouse is in the resize margin area or the normal left pointer. If the button is in resize mode, the column bar is moved to follow the mouse until the button is released.

ManageColumnBar()
Method called to manage a temporary column bar shown to indicate where the new column margin would be while the mouse is moving. A new column bar is created if needed; it will be destroyed when the button is released.

=back