Tk::IDEtabFrame - Tabbed Notebook Widget for a IDE Environment |
Tk::IDEtabFrame - Tabbed Notebook Widget for a IDE Environment
use Tk::IDEtabFrame;
$TabbedFrame = $widget->IDEtabFrame ( # Tk::DynaTabFrame Options: -font => $font, -raisecmd => \&raise_callback, -raisecolor => 'green', -tabclose => sub { my ($dtf, $caption) = @_; $dtf->delete($caption); }, -tabcolor => 'yellow', -tabcurve => 2, -tablock => undef, -tabpadx => 5, -tabpady => 5, -tabrotate => 1, -tabside => 'nw', -tabscroll => undef, -textalign => 1, -tiptime => 600, -tipcolor => 'yellow', # Additional Options added by IDEtabFrame -raisedfg => 'black', -raisedActivefg => 'red', -raisedCloseButtonfg => 'black', -raisedCloseButtonbg => 'lightgrey', -raisedCloseButtonActivefg => 'red', -raisedCloseButtonActivebg => 'white', -noraisedfg => 'grey60', -noraisedActivefg => 'black', -noraisedCloseButtonfg => 'lightgrey', -noraisedCloseButtonbg => 'white', -noraisedCloseButtonActivefg => 'red', -noraisedCloseButtonActivebg => 'white', [normal frame options...], );
This is a subclass of the the Tk::DynaTabFrame manpage widget that adds some additional options that affect the appearance and behaviour for use as part of a Integrated Development Environment (IDE), similar to Eclipse, etc.
=head1 DRAG-DROP SUPPORT
Tabs can be dragged to the tab-frame area of other (or the same) IDEtabFrame widget. This will move the dragged tab and widget to the new IDEtabFrame widget.
Tabs can also be dragged outside the widget to become separate Tool-Windows. These windows can be dragged from a drag-area at the top of the Tool-Window and dropped back into a IDEtabFrame widget.
In addition to the options from the parent class the Tk::DynaTabFrame manpage, this widget provides the following options:
(-relief => 'flat', -bg => 'steelblue4', -bd => 2)
=item lastTabDeleteCallback
Optional Callback (i.e. subref) to execute after when the last tab is deleted. This can be used to perform cleanup, remove/unpack the tabframe from the parent display, etc.
Over-ridden method to create tabs.
Calls the parent tabCreate, then applies extra look options
Over-ridden method to raise a tab
Calls the parent TabRase, then applies extra look options
Method called with a drag operation starts. Changes drag cursor.
Method called when a drag operation end. Clears out the currentDrag class data.
Gets (and optionally sets) the value of the object's dragImage object
Usage:
$self->dragImage(); # Get dragImage $self->dragImage(...); # Set dragImage
Method called when dragging and the mouse pointer enters or leaves a drop area.
Method called when accepting a drop from a drag-drop operation
Method to configure a ``toolwindow'' so that it can be dragged back into a tab window.
Bindings are setup so moving the window just moves a frame.
Usage:
$self->toolWindowConfigure($toolwindow);
Method called when a Tool-Window drag operation ends. If not dropping back into a tab-frame, moves the toolwindow to the dragged position.
Overridden TabRemove method. This calls the parent TabRemove and the calls the lastTabDeleteCallback if all the tabs have been deleted
Tk::IDEtabFrame - Tabbed Notebook Widget for a IDE Environment |