30.12.2012 Aufrufe

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

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.

Kapitel 7 – Packen, Rastern, Plazieren von Fenstern 107<br />

option add *Notebook.borderWidth 2 WidgetDefault<br />

option add *Notebook.relief sunken WidgetDefault<br />

Das Kommando pack propagate hilft uns die Größe zu kontrollieren.<br />

Wir übergehen das hier momentan.<br />

Die Information über den Zustand des Notizbuchs legen wir in einen<br />

globalen Vektor nbInfo, dessen Felder die Seitenanzahl, die Liste der<br />

Seiten und den Namen der gegenwärtigen Seite enthalten.<br />

Die Prozedur notebook_create liefert den Namen des gerade<br />

geschaffenen Notizbuchs zurück.<br />

Jetzt schauen wir uns die Prozedur zum Erzeugen von Seiten an. Sie<br />

verlangt den Namen des Notizbuchs und einen Namen für die Seite.<br />

proc notebook_page {win name} {<br />

global nbInfo<br />

set page "$win.page[incr nbInfo($win-count)]"<br />

lappend nbInfo($win-pages) $page<br />

set nbInfo($win-page-$name) $page<br />

frame $page<br />

if {$nbInfo($win-count) == 1} {<br />

after idle [list notebook_display $win $name]<br />

}<br />

return page<br />

}<br />

Zunächst werden neue, eindeutige Namen durch Hochzählen der Seitennummer<br />

in nbInfo generiert. In unserem Notizbuch .nb entstehen so<br />

für die Seitenfenster die Bezeichner .nb.page1, .nb.page2, usw.<br />

Dieser neu generierte Name kommt in die Liste der Namen in nbInfo<br />

und wird in der Variablen page gespeichert. Es wird ein frame dafür<br />

erzeugt und der Name wird zurückgeliefert.<br />

Ist es die erste Seite, wird sie angezeigt, sobald die Anwendung nichts<br />

mehr zu tun hat. Insbesondere sollten dann auch die anderen Seiten generiert<br />

worden sein, so daß deren Größe bekannt ist und damit das Notizbuch<br />

richtig eingestellt werden kann. Das list-Kommando darin<br />

bewirkt die richtige Aufbereitung der Argumente und wird in Abschnitt<br />

3.1.5 [12] besprochen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!