@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:
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;