Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5041[/thread]

HList mit sortierenden Buttons



<< >> 7 Einträge, 1 Seite
Crian
 2005-08-05 18:03
#44286 #44286
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Ich weiß, dass ich mir die Infos zusammensammeln kann, aber es pressiert schon etwas für meinen Perl-Tk Vortrag, deshalb die Frage: Hat jemand ein Lauffähiges Snippet, das die HList mit sortierenden Titelbuttons demonstriert?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2005-08-05 18:06
#44287 #44287
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Auf Deiner HP unter Tk-Snippets... müsste HList3 sein...
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/
Crian
 2005-08-05 18:10
#44288 #44288
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Ich lach mir nen Ast - Danke ^^ :D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
J-jayz-Z
 2005-08-06 12:57
#44289 #44289
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
lol
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2005-08-06 14:06
#44290 #44290
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
kinder, kinder... was nehmt ihr denn?
Crian
 2005-08-08 16:03
#44291 #44291
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Stressomat Ratiopharm ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Strat
 2005-08-08 16:12
#44292 #44292
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich habe dafuer mal das folgende verbrochen (haesslich, aber funktioniert fuer meine beduerfnisse; ein bind waere vielleicht schoener, ebenso eine korrekte uebergabe einer Datenstruktur @::Data fuer die Werte):
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
# -------------------------------------------------
package Mlh::Callbacks;
sub SortTableByField {
   my ($table, $id) = @_;

   # sort @::Data by column $id with Schwartzian Transform
   @::Data = map { $_->[1] }
   sort { $a->[0] cmp $b->[0] }
   map { [ lc($_->[$id]), $_ ] }
   @::Data;

   # update table according to new order of @::Data
   &UpdateTable($table, \@::Data);
} # SortTableByField
# --------------------------------------------------------
sub UpdateTable {
   my ($table, $data) = @_;

   $table->delete('all', '');
   foreach my $i (0..$#$data) {
&TableInsertRow($table, $data->[$i]);
   } # foreach

} # UpdateTable
# ---------------------------------------------------------
package Mlh::Widgets;

sub Table {
   my ($frame, $headline, $browseCmd, $background, %options2) = @_;

   my %options = (-header => 1, -background => '#ffffff', -gap => 10,
  -selectmode => 'single',
  -font => $Mlh::Config::StandardFont,);
   $options{-browsecmd}        = $browseCmd if (ref $browseCmd);
   $options{-background}       = $background || '#ffffff';
   $options{-selectbackground} = $Mlh::Config::Background;

   my $hl = $frame->Scrolled('MyHList', -scrollbars => 'osoe',
     -columns => scalar(@$headline),
     %options, %options2);

   my $styleButton = $hl->ItemStyle('window');
   $styleButton->configure(-pady => 0, -padx => 0);

   foreach my $i (0..$#$headline) {
my $button = $hl->Button
 (-text => $headline->[$i], -relief => 'flat',
  -font => $Mlh::Config::FixedFont,
  -activebackground => $Mlh::Config::Background,
  -command => [ \&Mlh::Callbacks::SortTableByField, $hl, $i ],
  );

$hl->header('create', $i++, -itemtype => 'window',
   -widget => $button, -style  => $styleButton);
   } # foreach

   return $hl;
} # Table
# ------------------------------------------------
package Tk::MyHList;
use base qw(Tk::Derived Tk::HList);
Construct Tk::Widget 'MyHList';

sub Populate {
   my ($self, $args) = @_;

   my $rightClick = delete $args->{-rightClick};
ref($rightClick) and $self->bind('<ButtonPress-3>', $rightClick);

   $self->SUPER::Populate($args);
} # Populate
# ============================================
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 7 Einträge, 1 Seite



View all threads created 2005-08-05 18:03.