Tk-DBIx
view release on metacpan or search on metacpan
DBIx/Table.pm view on Meta::CPAN
package Tk::DBI::Table;
#------------------------------------------------
# automagically updated versioning variables -- CVS modifies these!
#------------------------------------------------
our $Revision = '$Revision: 1.13 $';
our $CheckinDate = '$Date: 2003/11/06 17:55:52 $';
our $CheckinUser = '$Author: xpix $';
# we need to clean these up right here
$Revision =~ s/^\$\S+:\s*(.*?)\s*\$$/$1/sx;
$CheckinDate =~ s/^\$\S+:\s*(.*?)\s*\$$/$1/sx;
$CheckinUser =~ s/^\$\S+:\s*(.*?)\s*\$$/$1/sx;
#-------------------------------------------------
#-- package Tk::DBI::Table -----------------------
#-------------------------------------------------
=head1 NAME
Tk::DBI::Table - Megawidget to display a sql-Statement in HList.
=head1 SYNOPSIS
use Tk;
use Tk::DBI::Table;
my $top = MainWindow->new;
my $tkdbi = $top->DBITable(
-sql => 'select * from table',
-dbh => $dbh,
-display_id => 0,
)->pack(expand => 1, -fill => 'both');
MainLoop;
=head1 DESCRIPTION
This is a megawidget that enables you to display sql statements from a database.
The features are:
=over 4
=item each column has a ResizeButton for flexible width
=item The user can activate any Button to sort the column in the directions 'ASC', 'Desc' or 'None'.
=item Sorted column can display with a extra style
=back
=cut
use Tk::HList;
use Tk::Compound;
use Tk::ResizeButton;
use Data::Dumper;
use base qw/Tk::Derived Tk::Frame/;
use strict;
Construct Tk::Widget 'DBITable';
my ($BITMAPDOWN, $BITMAPUP);
# ------------------------------------------
sub ClassInit
# ------------------------------------------
{
my($class,$mw) = @_;
unless(defined($BITMAPDOWN))
{
$BITMAPUP = __PACKAGE__ . "::uparrwow";
my $bits_up = pack("b10"x10,
"..........",
"..........",
"..........",
".....#....",
"....###...",
"...#####..",
"..#######.",
".#########",
"..........",
".........."
);
$mw->DefineBitmap($BITMAPUP => 10,10, $bits_up);
$BITMAPDOWN = __PACKAGE__ . "::downarrwow";
my $bits_down = pack("b10"x10,
"..........",
"..........",
"..........",
".#########",
"..#######.",
"...#####..",
"....###...",
".....#....",
"..........",
".........."
);
$mw->DefineBitmap($BITMAPDOWN => 10,10, $bits_down);
}
}
# ------------------------------------------
sub Populate {
# ------------------------------------------
my ($obj, $args) = @_;
=head1 WIDGET-SPECIFIC OPTIONS
=head2 -dbh => $dbh
A database handle, this will return a error if not defined.
( run in 3.293 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )