Tk::SplitFrame - a geometry manager for scaling two subwidgets
use Tk; use Tk::SplitFrame; my $MainWindow = MainWindow->new(); my $SplitFrame = $MainWindow->SplitFrame ( '-orientation' => 'vertical', '-trimcolor' => '#c7c7c7', '-background' => 'white', '-sliderposition' => 60, '-borderwidth' => 2, '-sliderwidth' => 7, '-relief' => 'sunken', '-height' => 100, '-width' => 100, '-padbefore' => 0, '-padafter' => 0 ); # Values shown above are defaults. my $LeftLabel = $SplitFrame->Label ('-text' => 'Left'); my $RightLabel = $SplitFrame->Label ('-text' => 'Right'); $SplitFrame->pack (-expand => true, -fill => both); $SplitFrame->configure ('-sliderposition' => 22); Tk::MainLoop;
A SplitFrame is a geometry manager for the two subwidgets instantiated against it. It has a sliding divider between them which, when moved, resizes them so that they each remain in contact with it.
The divider can be arranged vertically or horizontally at create time. The children our arranged in the order that they are instantiated, from left to right or from top to bottom. After instantiation, the order is fixed. The children should NOT be packed or placed, the split frame is responsible for this.
The split frame will adjust itself initially to the preferred size of the children.
It is a basic frame itself and can be packed or placed wherever needed in other frames or toplevel windows.
Damion K. Wilson, email@example.com
Based on the split windows that you see all the time in Windows, Mac, Java, etc.
October 1997: Actually started using it