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

esskar
 2005-08-27 18:43
#44428 #44428
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hab das problem mal als lauffähiges programm nachgebaut

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
#!/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(
$self->HList(
-columns => 6,
-header => 1,
-height => '15',
-background => 'white',
)->pack(
-fill => 'x',
)
);

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


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;

View full thread HList und eigene Scrollbar: Perl/Tk