Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Spin.Doctor

Jungspund

Dabei seit: 04.10.2010

Beiträge: 12

 

1 Zum Seitenanfang

Dienstag, 5. Oktober 2010, 08:00

JFace: postEvent

Hallo.
Weiß irgend jemand, wie man einem JFace viewer ein event posten kann?
Ich habe einen TreeViewer der beim Expand/Collapse-event einiges macht.
Weiterhin möchte ich, dass ein Doppelklick auf ein item (mit children) das item ensprechend öffnet oder schließt (normales Verhalten in einem tree - z.b. Explorer). Wenn ich allerdings in der JFace-Eventbearbeitung das treeitem programmatisch öffne oder schließe (TreeViewer.setExpandedState()) wird das entsprechende Expand/Collapse-event NICHT gefired und ich müsste somit den code 2 x platzieren...
Stattdessen soll das Doppelklick-Event entsprechend ein Expand oder Collaps posten (oder senden) und in meinem Expand/Collapse-event ist es damit völlig transparent, ob das item per doppelklick oder per expand/collapse- button geöffnet oder geschlossen wurde.
Einfache Sache eigentlich...aber ich kriegs nicht hin, dem TreeViewer das entsprechende Event zu posten!!!

Spin
 

nocturne

Kaiser

Dabei seit: 06.01.2005

Beiträge: 1 167

 

2 Zum Seitenanfang

Dienstag, 5. Oktober 2010, 15:41

Wie wärs mit Ableiten?

Sonst bau doch mal das Package nach, von dort aus kannst du auf default-Elemente der Klasse zugreifen.
 

elchrz

Foren As

Dabei seit: 06.10.2010

Beiträge: 99

 

3 Zum Seitenanfang

Mittwoch, 6. Oktober 2010, 16:24

Hallo,
vielleicht irre ich mich, aber eigentlich müßtest du doch einfach einen DoubleClickListener auf dem TableViewer registrieren können. Den Code solltest du eh außerhalb platzieren. Vielleicht in einer public Methode auf die alle Listener Zugriff haben?!
Vielleicht versteh ich aber auch das Problem nicht 100%ig, da müßtest du noch mal genauer beschreiben, welcher Listener wo registriert ist und was er tut.
 

Spin.Doctor

Jungspund

Dabei seit: 04.10.2010

Beiträge: 12

 

4 Zum Seitenanfang

Donnerstag, 18. November 2010, 08:43

Hallo,
vielleicht irre ich mich, aber eigentlich müßtest du doch einfach einen DoubleClickListener auf dem TableViewer registrieren können. Den Code solltest du eh außerhalb platzieren. Vielleicht in einer public Methode auf die alle Listener Zugriff haben?!
Vielleicht versteh ich aber auch das Problem nicht 100%ig, da müßtest du noch mal genauer beschreiben, welcher Listener wo registriert ist und was er tut.
nochmal kurz:
der expandlistener macht ein bisschen was (wirklich nur'n 3-zeiler (resourcen allokieren/freigeben)) aber eben direkt in der event-barbeitung.
ein doppelklick auf ein tree-item soll lediglich das item expandieren/collabieren (standard-verhalten z.b. im Explorer - nicht aber im JFace-TreeViewer!)
in der DoubleClick-eventverarbeitung expandiere oder collabiere ich das entsprechende item programmatisch (setExpanded(boolean)) und das ruft eben NICHT das entsprechende Event auf!
ich möchte nicht im DoubleCklick-event diesen 3-zeiler separat aufrufen, weil ich mir gut vorstellen kann, dass in irgendeiner zuküftigen JFace implementierung das Expand-event gefeuert wird und dann hätte ich den 3-zeiler doppelt ausgeführt...
ist das verständlicher?? :D

Danke
Spin
 

stfschaefer

Routinier

Dabei seit: 21.08.2010

Beiträge: 251

 

5 Zum Seitenanfang

Sonntag, 28. November 2010, 17:54

Ich denke, du solltest die nicht so viele Gedanken über die zukünftigen Versionen machen.AAuch denke ich, deine Sorge ist unbegründet, denn

a) Wenn in einer späteren Version das ExpandItel-Event gefeuert wird, dann innerhalb der Standard-Bearbeitung des Events und dieses überschreibst du ja.

b) Da jedes mal ein Expand vonstatten geht, läuft der zweite Expand n die "Leere", das heisst, es wird nichts gemacht.


Alternativ kannst du in der Eventbearbeitung ja abfragen, ob das Item erst expandiert werden muss -> Code ausführen oder nicht -> Code überspringen.
 

Spin.Doctor

Jungspund

Dabei seit: 04.10.2010

Beiträge: 12

 

6 Zum Seitenanfang

Montag, 13. Dezember 2010, 14:39

a) Wenn in einer späteren Version das ExpandItel-Event gefeuert wird, dann innerhalb der Standard-Bearbeitung des Events und dieses überschreibst du ja.


DAS Argument lasse ich dann mal gelten :rolleyes:

Rufe jetzt den 3 Zeiler (als Methode) im doubleclick-event auf.

Thread kann geschlossen werden und Danke an alle, die sich Gedanken gemacht haben!

Spin

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Spin.Doctor« (13. Dezember 2010, 14:39)