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.

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

11.4 Pulldown-Menüs<br />

Innerhalb der Fenster des <strong>SMALLTALK</strong>-Systems – wie z.B. dem Klassen-Hierarchie-<br />

Browser-Fenster oder dem Workspace-Fenster – lassen sich bestimmte Anforderungen<br />

über die Menüs der jeweiligen Menü-Leiste stellen, die in diesen Fenstern unmittelbar<br />

unterhalb der System-Schaltfeld-Zeile angezeigt wird. Dabei ist die jeweils<br />

gewünschte Menü-Option einer dieser Pulldown-Menüs über einen Mausklick bzw.<br />

eine geeignete Tastenkombination der Alt-Taste mit einer Buchstaben-Taste abzurufen.<br />

Hinweis: Welcher Buchstabe jeweils zu verwenden ist, zeigt die Unterstreichung innerhalb<br />

des Textes, der die jeweilige Menü-Option kennzeichnet. Zum Beispiel kann im Klassen-<br />

Hierarchie-Browser-Fenster eine Sicherung über die Tastenkombination “Alt+S” (“S” ist<br />

innerhalb des Textes “Save” unterstrichen) abgerufen werden.<br />

Standardmäßig wird jedes anwender-seitig eingerichtete Rahmenfenster mit einer<br />

system-seitig voreingestellten Menü-Leiste angezeigt, die das Menü “File” als einziges<br />

Menü enthält.<br />

Soll diese standardmäßige Menü-Leiste durch eine eigene Menü-Leiste ersetzt werden,<br />

so muß dies bei der Einrichtung des zugehörigen Views festgelegt werden. Dazu<br />

kann die Message “when:perform:” eingesetzt werden, wobei dem Ereignis “#menu-<br />

Built”, das bei der Eröffnung des Views ausgelöst wird, eine geeignete Methode zum<br />

Aufbau des gewünschten Menüs zugeordnet wird.<br />

Hinweis: Statt des Ereignisses “#menuBuilt” kann auch das Ereignis “#opened” verwendet<br />

werden.<br />

Sofern wir z.B. in der Instanz-Methode “initialisierenErfassung”, die von uns innerhalb<br />

der Klasse “WerteErfassung” zum Aufbau eines Views für den Erfassungsprozeß<br />

vereinbart wurde, die Message<br />

when: #menuBuilt perform: #vereinbarungMenuLeiste:<br />

eintragen und innerhalb der Klasse “WerteErfassung” die Methode “vereinbarung-<br />

MenuLeiste:” in der Form<br />

vereinbarungMenuLeiste: aView<br />

(aView menuWindow)<br />

removeMenu: (aView menuTitled: ’File’);<br />

addMenu: (Menu new owner: self;<br />

title: ’Pruefen’;<br />

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

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

festlegen, wird durch die Anforderungen<br />

WerteErfassung11 := WerteErfassung new.<br />

WerteErfassung11 sammelnWerte: ’Jahrgangsstufe 11’<br />

ein Erfassungsfenster angezeigt, das in der Menü-Leiste das Pulldown-Menü “Pruefen”<br />

mit den Menü-Optionen “Anzahl” und “Werte” enthält.<br />

Dieser Sachverhalt ist durch die folgenden Messages innerhalb der Methode “vereinbarungMenuLeiste:”<br />

gesichert:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!