Font
[thread]4705[/thread]

bind an header einer Tk::HList: geht das?

Readers: 2


<< >> 9 entries, 1 page
Crian
 2004-01-22 13:38
#46761 #46761
User since
2003-08-04
5866 articles
ModeratorIn
[Homepage]
user image
ich möchte gerne einen Klick auf die Titelbuttons einer HList abfangen und eine Callbackfunktion hinterlegen.

Für Clicks und Doppelclicks auf Listenelemente geht das ja mit -browsecmd und -command, aber für die Headerelemente habe ich leider noch keine Möglichkeit gefunden.
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
ptk
 2004-01-22 14:25
#46762 #46762
User since
2003-11-28
3645 articles
ModeratorIn
[default_avatar]
Du kannst beliebige Widgets in eine Headerzelle legen, z.B. ein Button-Widget. Das wird z.B. von Tk::ResizeButton (siehe CPAN) gemacht. Vielleicht macht ja Tk::ResizeButton schon das, was du brauchst :-)
Crian
 2004-01-22 20:17
#46763 #46763
User since
2003-08-04
5866 articles
ModeratorIn
[Homepage]
user image
Klingt gut.
Leider scheint das Tk::ResizeButton kein Standardmodul zu sein. :(

Zu Hause ist das kein Problem, aber seit ActiveState von 5.6 zu 5.8 sinnloser Weise sowohl mit ppm als auch mit perl -CPAN auf eine Internetverbindung besteht, siehts bei der Arbeit wegen der Firewall schlecht aus.

Normale Buttons sind wahrscheinlich problematisch, wenn die größe des Fensters geändert wird? Weil man keine pack-Optionen mitgeben kann?

*rätsel*
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
ptk
 2004-01-22 20:51
#46764 #46764
User since
2003-11-28
3645 articles
ModeratorIn
[default_avatar]
[quote=Crian,22.Jan..2004, 19:17]Klingt gut.
Leider scheint das Tk::ResizeButton kein Standardmodul zu sein. :(
[/quote]
Das sollte kein Problem sein. Wenn ich mich recht erinnere, waren das ein paar Zeilen, die man zur Not in sein eigenes Skript pasten kann. Oder ich mach das manchmal so: ich lege ein Unterverzeichnis lib/<Name meiner Applikation mit grossem Anfangsbuchstaben an>. Dort kommen alle zusaetzlichen Module rein, die ich nicht als PREREQ_PM haben moechte. In die Application kommt an den Anfang:
Code: (dl )
1
2
3
4
BEGIN {
unshift @INC, "$_/Name der Applikation", "$_/lib/Name der Applikation"
for (reverse @INC);
}

Makefile.PL sollte den Rest erledigen und die Module so installieren, dass es keine Kollisionen gibt, wenn die Module schon installiert waren.

Quote
Zu Hause ist das kein Problem, aber seit ActiveState von 5.6 zu 5.8 sinnloser Weise sowohl mit ppm als auch mit perl -CPAN auf eine Internetverbindung besteht, siehts bei der Arbeit wegen der Firewall schlecht aus.

Normale Buttons sind wahrscheinlich problematisch, wenn die größe des Fensters geändert wird? Weil man keine pack-Optionen mitgeben kann?

*rätsel*

Es sieht fuer mich so aus, als ob das Widget immer die Maximalgroesse bekommt. Man muss anscheinend auch mit ItemStyle, -anchor und -pad* spielen. Siehe auch "HList and ItemStyle, multicolumn listbox with individual cell styles" in der widget-Demonstration.
eisbeer
 2004-01-22 21:19
#46765 #46765
User since
2003-08-29
347 articles
BenutzerIn
[Homepage] [default_avatar]
Ah, du meinst so wie im Windowsexplorer z.B.,
klick auf "Dateityp" ordnet nach Dateityp, oder?

Da kenn ich ein widget, dass das kann, fast
sicher sogar, ich kann mich aber nicht daran
erinnern. Sorry, aber ich kann dir fast sicher
sagen, das ich sowas schon mal gesehn hab.
Musst halt suchen ... :p
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Crian
 2004-01-23 01:16
#46766 #46766
User since
2003-08-04
5866 articles
ModeratorIn
[Homepage]
user image
:p Ptk hat doch schon die Antwort gegeben :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
eisbeer
 2004-01-23 07:37
#46767 #46767
User since
2003-08-29
347 articles
BenutzerIn
[Homepage] [default_avatar]
Ach hui, mal wieder nicht genau gelesen.
ich dachte zuerst, ptk will buttons über
die HList legen ... sorry :blush: :)
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Crian
 2004-01-23 11:20
#46768 #46768
User since
2003-08-04
5866 articles
ModeratorIn
[Homepage]
user image
Hmmm... hast Du ein Beispiel wie das geht? Wie fast immer bei Tk ist die Perldoc-Hilfe nicht sehr hilfreich.

Ich hab es so probiert:

Code: (dl )
1
2
3
    $mhl->header('create', 1,
-itemtype => 'Button',
-text => 'Dateiname' );


und so

Code: (dl )
1
2
3
    $mhl->header('create', 1,
-itemtype => 'Tk::Button',
-text => 'Dateiname' );


Aber er jammert jedesmal "unknown display type".
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
ptk
 2004-01-23 13:23
#46769 #46769
User since
2003-11-28
3645 articles
ModeratorIn
[default_avatar]
Guck mal im Sourcecode der Widget-Demonstration. Dort gibt es ein Beispiel mit itemCreate, welches man mehr oder weniger auf headerCreate uebertragen kann. Der erste Parameter (entry) faellt weg. Du musst auf jeden Fall mit ItemStyle arbeiten.
<< >> 9 entries, 1 page



View all threads created 2004-01-22 13:38.