NAME

Tk::ResizeButton - provides a resizeable button to be used in an HList column header.

SYNOPSIS

use Tk;
use Tk::HList;
use Tk::ResizeButton;

my $mw = MainWindow->new();

# CREATE MY HLIST
my $hlist = $mw->Scrolled('HList',
     -columns=>2, 
     -header => 1
     )->pack(-side => 'left', -expand => 'yes', -fill => 'both');

# CREATE COLUMN HEADER 0
my $headerstyle   = $hlist->ItemStyle('window', -padx => 0, -pady => 0);
my $header0 = $hlist->ResizeButton( 
      -text => 'Test Name', 
      -relief => 'flat', -pady => 0, 
      -command => sub { print "Hello, world!\n";}, 
      -column => 0
);
$hlist->header('create', 0, 
      -itemtype => 'window',
      -widget => $header0, 
      -style=>$headerstyle
);

# CREATE COLUMN HEADER 1
my $header1 = $hlist->ResizeButton( 
      -text => 'Status', 
      -command => sub { print "Hello, world!\n";}, 
      -column => 1
);
$hlist->header('create', 1,
      -itemtype => 'window',
      -widget   => $header1, 
      -style    => $headerstyle
);

DESCRIPTION

The ResizeButton widget provides a resizeable button widget for use in an HList column header. When placed in the column header, the right edge of the widget can be selected and dragged to a new location to change the size of the HList column. When resizing the column, a column bar will also be placed over the HList indicating the eventual size of the HList column. A command can also be bound to the button to do things like sorting the column. On DoubleClicking a Column it is closed / re-opened. A Right-ButtonClick will resize the column to the fit the needs of all the column contents.

The widget takes all the options that a standard Button does. Note: For a proper operationthe following option MUST be specified during creation:

-column

The column number that this ResizeButton is associated with. (It has to be provided to resize the appropriate column).

In addition, the following options may be specified:

-command

The default command is associated with an open/close function for the selected column. The function is called with a Tk::ResizeButton reference for custom usage.

-activebackground

The background color used for the column Header during active state (Mouse over Header).

-activeforeground

The foreground color used for the column Header during active state (Mouse over Header).

-buttondownrelief

The relief used for the column Header Button during selected state (Button pressed).

-minwidth

The minwidth used for the specific column (during resize).

AUTHOR

Shaun Wandler <wandler@unixmail.compaq.com>

UPDATES

Updated by Slaven Rezic and Frank Herrmann, Enhanced/Modified by Michael Krause <KrauseM@gmx.net>

DONE (MK) position columnbar correctly and only use MoveColumnBar to move it instead of destroying it and re-creating with CreateColumnBar
(???) use Subwidget('scrolled') if it exists
DONE (MK) don't give error if -command is not specified
DONE (MK) don't let the user hide columns (minwidth?)

KEYWORDS

Tk::HList