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";}, 
      -widget => \$hlist,
      -column => 0
);
$hlist->header('create', 0, 
      -itemtype => 'window',
      -widget => $header0, 
      -style=>$headerstyle
);

# CREATE COLUMN HEADER 1
my $header1 = $hlist->ResizeButton( 
      -text => 'Status', 
      -relief => 'flat', 
      -pady => 0,
      -command => sub { print "Hello, world!\n";}, 
      -widget => \$hlist, 
      -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 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.

The widget takes all the options that Button does. In addition, the following options must be specified:

-widget

A reference to the HList widget must by provided via the -widget option. This allows the ResizeButton to update the column width after resizing.

-column

The column number that this ResizeButton is associated with must also be provided to resize the appropriate column.

AUTHOR

Shaun Wandler <wandler@unixmail.compaq.com>

UPDATES

Updated by Slaven Rezic and Frank Herrmann

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
don't give error if -command is not specified
don't let the user hide columns (minwidth?)

KEYWORDS

Tk::HList