03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

246 12 Fenster-Bausteine<br />

ˆ “setFocus”<br />

Der Fenster-Baustein, der durch das Empfänger-Objekt der Message “setFocus”<br />

bestimmt ist, wird am Bildschirm aktiviert, sofern das zugehörige View<br />

vorher eröffnet wurde.<br />

12.3 Ausgewählte Fenster-Bausteine<br />

12.3.1 Rahmenfenster<br />

Bei der Vereinbarung eines oder mehrerer Fenster-Bausteine ist festzulegen, auf<br />

welche Ereignisse die einzelnen Fenster-Bausteine reagieren können sollen. Die jeweiligen<br />

Ereignisnamen sind mittels der Message “when:perform:” mit geeigneten<br />

Methoden zu verbinden, die beim Eintritt der jeweiligen Ereignisse zur Ausführung<br />

gebracht werden sollen.<br />

Im folgenden werden wir einen summarischen Überblick geben. Dabei beziehen wir<br />

uns bei den nachfolgenden Beispielen grundsätzlich auf ein Rahmenfenster, das wir<br />

durch die Ausführung der Anforderungen<br />

Fenster := FensterBausteine new.<br />

Fenster vereinbarungRahmenfenster<br />

als View aufgebaut haben. Nachdem wir in dieses View einen oder mehrere geeignete<br />

Fenster-Bausteine integriert haben, läßt es sich anschließend durch die Anforderung<br />

Fenster openWindow<br />

eröffnen und als Fenster am Bildschirm anzeigen.<br />

Dabei gehen wir davon aus, daß die Methode “vereinbarungRahmenfenster” wie<br />

folgt in der als Unterklasse der Basis-Klasse “ViewManager” vereinbarten Klasse<br />

“FensterBausteine” eingerichtet wurde:<br />

vereinbarungRahmenfenster<br />

self addView:<br />

(self topPaneClass new<br />

owner: self;<br />

pStyle: #(sysmenu titlebar minimize maximize sizable);<br />

framingRatio:((Rectangle leftTopUnit rightAndDown:1/2@(1/2))<br />

extentFromLeftTop:1/2@(1/2)))<br />

Hinweis: Auf dieser Basis geben wir in der nachfolgenden Darstellung die jeweils erforderlichen<br />

Messages an, die an die globale Variable “Fenster” zu richten sind, damit die<br />

gewünschten Fenster-Bausteine eingerichtet werden.<br />

Wir machen grundsätzlich keine präzise Angabe darüber, an welcher Position der jeweilige<br />

Fenster-Baustein im Rahmenfenster plaziert sein soll, sondern setzen stets die Message<br />

“framingRatio:” in der Form<br />

framingRatio: ( ... )<br />

ein. Wie das jeweilige Argument dieser Message lauten muß, ist individuell durch die<br />

betreffende Anwendung – auf der Basis der Angaben des Abschnitts 10.8 – zu bestimmen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!