03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

236 11 Ereignis-gesteuerte und indirekte Kommunikation<br />

nü zugeordnet. Dieses Menü ist als Instanz der Basis-Klasse “Menu” festzulegen<br />

und als Argument von “setPopupMenu:” anzugeben.<br />

Soll z.B. ein Kontext-Menü der Form<br />

Anzahl<br />

Werte<br />

anzeigenAnzahl<br />

anzeigenWerte<br />

Abbildung 11.5: Kontext-Menü für einen Fenster-Baustein<br />

angezeigt werden, wenn – innerhalb eines Erfassungsfensters – mit der rechten<br />

Maustaste auf das Schaltfeld mit der Aufschrift “erfasse” geklickt wird, so ist bei<br />

der Vereinbarung dieses Schaltfeldes die Zuordnung<br />

when:#getPopupMenu perform: #vereinbarungPopupMenu:<br />

anzugeben und die Methode “vereinbarungPopupMenu:” wie folgt – innerhalb der<br />

Klasse “WerteErfassung” – festzulegen:<br />

vereinbarungPopupMenu: aButton<br />

(self paneNamed: ’erfassungsButton’)<br />

setPopupMenu:<br />

(Menu new owner: self;<br />

appendItem: ’Anzahl’ selector: #anzeigenAnzahl;<br />

appendItem: ’Werte’ selector: #anzeigenWerte)<br />

Hinweis: Dabei setzen wir voraus, daß bei der Vereinbarung des Schaltfeldes mit der<br />

Aufschrift “erfasse” diesem Schaltfeld – innerhalb der Methode “initialisierenErfassung” –<br />

durch den Einsatz der Message “paneName:” in der Form<br />

paneName: ’erfassungsButton’<br />

der Name “erfassungsButton” zugeordnet wurde.<br />

11.6 Indirekte Kommunikation<br />

Neben der bislang vorgestellten Möglichkeit, Objekte direkt miteinander kommunizieren<br />

zu lassen, gibt es mit dem Abhängigkeits-Mechanismus eine weitere Kommunikations-Möglichkeit,<br />

bei der die Kommunikation indirekt erfolgt. Grundlage für<br />

diese indirekte Kommunikation ist die Festlegung von abhängigen und unabhängigen<br />

Objekten.<br />

Um Objekte als unabhängige Objekte zu vereinbaren und diesen Objekten andere<br />

Objekte als abhängige Objekte zuzuordnen, ist die Basis-Methode “addDependent:”<br />

zu verwenden.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!