Schrift
[thread]5248[/thread]

HList: browsecmd wird zweimal ausgeführt

Leser: 1


<< >> 7 Einträge, 1 Seite
KunoKugel
 2006-10-25 00:23
#45887 #45887
User since
2005-10-11
19 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

ich kämpfe immer noch mit meiner HList. :p

Ich habe jetzt ein browsecmd hinzugefügt um eine Sub aufzurufen. Wenn ich mich mit der Tastatur durch die Liste bewege, funktioniert auch alles so, wie ich mir das vorstelle. Wenn ich die Einträge jedoch mit der Maus anklicke, wird die Sub 2 Mal ausgeführt.

Warum ist das so und wie kann ich das ändern?

Außerdem werden beim allerersten Anklicken 4 Parameter (pfad 0 text body) an die Sub übergeben, danach nur noch ein Parameter (pfad). Welchen Sinn hat das?

In der Doku zu HList habe ich hierzu leider nichts gefunden.

Danke für Eure Hilfe.

Bis dann.

Kuno
renee
 2006-10-25 10:09
#45888 #45888
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du hier fragen stellst, dan poste doch bitte den dazugehörigen Code! So können wir nur raten und meine Glaskugel ist gerade in der Werkstatt!
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/
KunoKugel
 2006-10-25 11:20
#45889 #45889
User since
2005-10-11
19 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=renee,25.10.2006, 08:09]Wenn Du hier fragen stellst, dan poste doch bitte den dazugehörigen Code! So können wir nur raten und meine Glaskugel ist gerade in der Werkstatt![/quote]
Hallo Renee,

hier auf der Arbeit habe ich den Quellcode nicht, aber das ist so simpel, dass ich es wohl auch aus dem Kopf hinkriege.

Ich habe bei der Initialisierung der HList einfach
Code: (dl )
-browsecmd=>\&testsub
hinzugefügt.

Die Sub ist dann ganz einfach:
Code: (dl )
sub testsub {print "@_\n"}


Oder sind hier noch andere Auszüge aus dem Code relevant? Dann liefere ich die heute Abend nach.

Bis dann.

Kuno
renee
 2006-10-25 11:38
#45890 #45890
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das sieht mir nach einem Bug in CPAN:Tk::HList aus. Es ist so, dass es default-Bindings für die Mausklicks gibt. Und die rufen den Code von -browsecmd zweimal auf: Einmal beim Drücken der Maus und einmal bei Loslassen.
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/
KunoKugel
 2006-10-25 12:49
#45891 #45891
User since
2005-10-11
19 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=renee,25.10.2006, 09:38]Das sieht mir nach einem Bug in CPAN:Tk::HList aus. Es ist so, dass es default-Bindings für die Mausklicks gibt. Und die rufen den Code von -browsecmd zweimal auf: Einmal beim Drücken der Maus und einmal bei Loslassen.[/quote]
Oh, das ist natürlich blöd. :(

Gibt es da vielleicht irgendeinen einfachen Workaround?

Bis dann.

Kuno
renee
 2006-10-25 12:55
#45892 #45892
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schreibe am besten eigene Bindings...
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
#!/usr/bin/perl

use strict;
use warnings;
use Tk;
use Tk::HList;

my $mw = tkinit();
my $hlist = $mw->HList()->pack();
$hlist->bind('<Button-1>',\&do_event);
$hlist->bind('<Down>',\&do_event);
$hlist->bind('<Up>',\&do_event);

fill_list();

MainLoop;

sub fill_list{
for(0..1){
$hlist->add($_,-itemtype => 'text',-text => $_);
}
}

sub do_event{
print $_,"\n" for $hlist->selectionGet();
}

sub testsub{
print "@_\n";
}
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/
KunoKugel
 2006-10-25 13:03
#45893 #45893
User since
2005-10-11
19 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ok, sieht ja simpel aus, werde ich heute Abend mal ausprobieren.

Danke dir für die schnelle und kompetente Hilfe. :)

Bis dann.

Kuno
<< >> 7 Einträge, 1 Seite



View all threads created 2006-10-25 00:23.