Thread HList und eigene Scrollbar: Perl/Tk (13 answers)
Opened by esskar at 2005-08-27 15:04

renee
 2005-08-29 14:31
#44432 #44432
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Arkhen2: Wenn Du aber keine Einträge hast, dann besteht bei Dir das Problem, das schon esskar beschrieben hat... So wird die HList immer groß gezeigt und mit dem Scrollen klappt es auch:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/usr/bin/perl

use strict;
use warnings;

package UserInterface;

use base 'Tk::MainWindow';
require Tk::HList;

my $MinWidth = 640;
my $MinHeight = 480;

sub new {
my ($class) = shift;

my $self = $class->SUPER::new(@_);

$self->build_display;

return ($self);
}

sub run {
my $self = shift;
$self->SUPER::MainLoop;
}

sub center {
my $self = shift;

$self->update;

my $w = $self->width;
my $h = $self->height;

my $posx = int(($self->screenwidth - $w) / 2);
my $posy = int(($self->screenheight - $h) / 2);

$self->geometry($w . 'x' . $h . '+' . $posx . '+' . $posy);
}

sub datalist {
$_[0]->{fl2r_datalist} = $_[1] if @_ > 1;
return $_[0]->{fl2r_datalist}
}

sub datalist_scroll_y {
$_[0]->{fl2r_datalist_scroll_y} = $_[1] if @_ > 1;
return $_[0]->{fl2r_datalist_scroll_y}
}

sub build_display {
my $self = shift;

$self->title("");
$self->geometry($MinWidth .'x'. $MinHeight);
$self->minsize($MinWidth, $MinHeight);
$self->center;

$self->build_datalist;
}

sub build_datalist {
my $self = shift;


$self->datalist_scroll_y(
$self->Scrollbar(
)->pack(
-side => 'right',
-fill => 'y',
)
);

my $hl = $self->HList(
-columns => 6,
-header => 1,
-height => '15',
-background => 'white',
-yscrollcommand => ['set', $self->datalist_scroll_y]
)->pack(
-fill => 'x',
);
$hl->packPropagate(0);


$self->datalist($hl);

$self->datalist_scroll_y->configure(
-command => ['yview', $self->datalist]
);


my $col = 0;
$self->datalist->headerCreate($col++, -text => '#');
$self->datalist->headerCreate($col++, -text => 'Timestamp');
$self->datalist->headerCreate($col++, -text => 'Thread Id');
$self->datalist->headerCreate($col++, -text => 'Message');

$self->datalist->headerCreate($col++, -text => 'Fipo Start');
$self->datalist->headerCreate($col++, -text => 'Fipo End');

}

1;

my $ui = new UserInterface;
$ui->run;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread HList und eigene Scrollbar: Perl/Tk