Egykattintásos támogatás elfogadása

Az általános Beállítások segítségével a felhasználók megadhatják, hogy a nézeteknek egy vagy két kattintásra kell-e megnyitniuk az objektumokat.

Általános "Megnyitási mód" beállítások azzal a jogkizárási nyilatkozattal, hogy a beállításnak nem minden nézetre van hatása

Miért van ez a megjegyzés, hogy nem biztos, hogy a beállítások nem működnek minden nézetben?  Mivel a bedolgozók által közreadott nézeteknek kifejezetten támogatniuk kell ezt a beállítást a megvalósításban.

Ne feledje el, hogy a nézet létrehozható SWT vezérlők segítségével és szabványos SWT kód írásával, vagy a JFace nézetek segítségével az alacsony szintű részletek kezeléséhez.  Az egykattintásos beállítás elfogadása tetszőleges szinten történhet.  A legtöbb nézet, amely más objektumokat nyit meg, megjeleníti őket egy strukturált nézetben. Mostantól ezen típusú nézetre koncentrálunk.  Ha a nézet más módon jeleníti meg az objektumokat, akkor valószínűleg az SWT szintű alapelveket fogja használni az egykattintás támogatásához.

Egykattintás a JFace megjelenítőkben

Ha egy JFace lista orientált megjelenítőt használ az objektumok megjelenítéséhez, akkor az egykattintás támogatása egyértelmű. Az addDoubleClickListener helyett az addOpenListener segítségével aktiválhatja az elemek nézetben megnyitását.  Az megnyitás figyelő elfogadja az aktuális munkaterület-beállítást a megnyitás esemény aktiválásával, amikor a megadott egéresemény történik.

Elképzelhető, hogy továbbra is az addDoubleClickListener elemet kívánja használni a nem megnyitott tevékenységekhez, mint például az elemek kiterjesztése a fában dupla kattintással.

Egykattintás az SWT vezérlőelemekben

A JFace egy segédprogramosztályt - OpenStrategy - biztosít az egy- vagy dupla kattintás logisztikájának SWT vezérlőszinten kezeléséhez.  Az OpenStrategy elemet az általános Beállítások párbeszédablak állítja be, így elfogadja az aktuális munkaterület megnyitás beállítást.A JFace megjelenítők ezt az osztályt a megnyitás figyelő megvalósításához használják. 

Egy OpenStrategy elemet kell létrehozni és hozzá kell rendelni az SWT vezérlőelemhez.  Az OpenStrategy csatlakoztatja a megfelelő eseményeket és megvalósítják őket a felhasználói beállítások alapján. Az Ön feladata a megnyitás figyelő stratégiához adása, amely megvalósítja a megnyitás kódját. Ily módon nem fogja látni, hogy mely felületi elem esemény aktiválja a megnyitás eseményt.

OpenStrategy openHandler = new OpenStrategy(control);
openHandler.addOpenListener(new IOpenEventListener() {
	public void handleOpen(SelectionEvent e) {
	// kód a megnyitás esemény kezeléséhez.
	...
	}
}

A megnyitás (kijelölés az előugró leíráson, megnyitás a nyíl billentyűk segítségével) más munkaterület-beállításait is az OpenStrategy kezeli.   Ez azt jelenti, hogy a "megfelelő esemény" akkor történik, ha a megnyitás viselkedését JFace megjelenítők vagy az OpenStrategy osztály segítségével valósítja meg.

Szerkesztők aktiválása megnyitáskor

A megnyitás esemény kezelésekor az OpenStrategy.activateOnOpen() metódust kell használni annak meghatározásához, hogy a megnyitott szerkesztőt alapértelmezés szerint aktiválni kell-e.  A szerkesztő aktiválása a fókuszt a nézetről a szerkesztőre állítja, amely különösen zavaró és nem kívánatos az egykattintásos módban.