Schrift
[thread]5016[/thread]

Frage zu hlist

Leser: 1


<< >> 8 Einträge, 1 Seite
zoolander
 2005-06-08 18:27
#44059 #44059
User since
2005-04-15
5 Artikel
BenutzerIn
[default_avatar]
Hallo Community:

Ich habe ein kleines Problem mit Hlist:

Mit diesem Widget kann man ja schöne Listboxen erzeugen ...

Frage: Gibt es ein ein Event das ausgelöst wird, wenn man in einen Bereich klickt in dem kein Eintrag ist?

Alles andere kann man ja mit command und browsecommand abfangen, aber nicht den klick in den leeren Bereich

Bitte um Feedback

mfg Zoolander\n\n

<!--EDIT|zoolander|1118240903-->
ptk
 2005-06-16 15:15
#44060 #44060
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Reagiert HLIst auf ein normales bind("<1>")? Allerdings geht damit wahrscheinlich die Behandlung von -command verloren...
Strat
 2005-06-16 16:11
#44061 #44061
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
In Tk::HList gibt es die Bindung
Code: (dl )
$mw->bind($class, '<ButtonPress-1>', \&Button1)

schau dir mal den Callback Button1 an; in der wird irgendwo $widget->GetNearest ausgewertet, und wenn da keine Rueckgabe stattfindet, wird Button1 mit return verlassen. Das muesste die Stelle sein, wo du feststellen kannst, ob auf einen Eintrag oder ins Nirvana geklickt wurde.

Also selbst ein Binding auf das Widget machen, eine eigene Subroutine angeben, und dort das Zeug von Tk::HList::Button1 reinkopieren und erweitern. Eventuell koennte es auch reichen, die Methode Button1 in deinem Programm zu ueberschreiben (aber der andere Weg ist besser, weil er nicht global ist)

du koenntest dir die Subroutine Button1 in Tk/HList.pm ueberschreiben (besser nicht im Modul selbst, sondern in deinem Programm), aber das hat halt die Gefahr, dass dann diese Aenderung global ist\n\n

<!--EDIT|Strat|1118923995-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
zoolander
 2005-07-15 13:19
#44062 #44062
User since
2005-04-15
5 Artikel
BenutzerIn
[default_avatar]
Hallo!

Danke für die Antwort!

Ich habe eure Ideen eingebunden, des Problem ist: Wenn ich klicke, gibts einen Core Dump unter Solaris :-(

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
$self->{_listbox} = $self->{_mw}->Scrolled(

'HList',

-head => 1,

-columns => scalar @headers,

-scrollbars => 'e',

-width => 100,

-height => 10,

-browsecmd => sub { &nbsp
; # if job is selected

my $index = shift;

$self->{_job_id} = $list[$index][5]; # set jobID

$self->fill_box($list[$index][5]); # fill content and description box

$self->crontab_button($list[$index][5]); # color crontab button

},

-background => 'white')->place(-x => 5, -y => 75);

$self->{_listbox}->bind('<ButtonPress-1>',\%{$self->woissn()});


Warum ?

In der Methode $self->woissn() steht nur ein Print mit
"Wo issn des Hirn"

mfg Zoolander
renee
 2005-07-15 14:16
#44063 #44063
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
$self->{_listbox}->bind('<ButtonPress-1>',\&woissn);
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/
zoolander
 2005-07-20 11:58
#44064 #44064
User since
2005-04-15
5 Artikel
BenutzerIn
[default_avatar]
Danke für die Antwort

Da es sich bei "woissn" aber um eine Methode der Klasse handelt muss ich doch den Pointer für die Klasse mitgeben oder?

mfg Zoolander
renee
 2005-07-20 12:24
#44065 #44065
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn Du $self brauchst, dann:
Code: (dl )
$self->{_listbox}->bind('<ButtonPress-1>',[\&woissn,$self]);
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/
ptk
 2005-07-20 12:39
#44066 #44066
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Oder:
Code: (dl )
... => sub { $self->woissn }
<< >> 8 Einträge, 1 Seite



View all threads created 2005-06-08 18:27.