30 notepage
Das Objekt notepage ist die Seite eines notebooks.
Eine notepage wird wie ein Kind definiert. Das Keyword heißt notepage und wird optional von einem Labelnamen gefolgt.
Dabei wird die notepage immer so positioniert, dass sie die Seite des notebooks, abzüglich der Tab-Reihe, insgesamt ausfüllt.
Definition
{ export | reexport } { model } notepage { <Bezeichner> } { <Standardattribute> <Hierarchieattribute> <Layoutattribute> < > <Objektspezifische Attribute> }
Anmerkung
Die Reihenfolge der Notepages wird über die Anlegereihenfolge in der Dialogdatei festgelegt. Die Betrachtung ist wie bei einem üblichen Ordner: Die erste Notepage ist die oben liegende. Daraus resultiert zwar eine den Kindobjekten entgegengesetzte Richtung, ergibt jedoch eine natürliche
Reihenfolge der Tabs.
Ereignisse
Da die Tabs der Notepages eigentlich zum Notebook-Objekt gehören, wird beim Fokussieren eines Notepage-Tabs ein focus Ereignis am Notebook-Objekt erzeugt.
Kinder
Vater
Menü
30.1 Attribute
30.2 Spezifische Attribute
Attribut | Beschreibung |
---|---|
Definiert die aktuell oberste Notepage eines Notebooks. Es kann nur eine Notepage in einem Notebook den Wert .active = true besitzen. |
|
Legt die Art der Geometrieberechnung bei aktivem Raster fest. Die detaillierte Beschreibung finden sie in der Attribut-Beschreibung in der „Attributreferenz“. Nur aktiv, wenn .borderwidth > 0. |
|
.hsb_arrows
|
Definiert, ob Pfeile an den Enden der horizontalen Scrollbar vorhanden sind. |
Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .xorigin beim zeilenweisen horizontalen Scrollen ändert. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Definiert, ob die horizontale Scrollbar nur angezeigt wird, wenn sie benötigt wird. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .xorigin beim seitenweisen horizontalen Scrollen ändert. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Definiert die Sichtbarkeit der horizontalen Scrollbar. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Optionen des Objekts Indizes:
|
|
Definiert das Muster, welches im zur Notepage gehörenden Tab dargestellt wird. |
|
Beschreibt den Typ des zur Notepage gehörenden Tab. Werte:
|
|
Definiert den Text, der in der Statuszeile erscheinen soll. Falls kein Text definiert ist, enthält die betreffende Notepage keine Statuszeile. Die Position, an der die Statuszeile erscheint, ist vom Fenstersystem und den Attributen .backpage und .direction am Notebook abhängig. |
|
Definiert das Hintergrundbild des Objekts |
|
Gibt die Art und Weise an, wie das in tile definierte Hintergrundbild dargestellt wird. |
|
Definiert die Beschriftung der Tabs. Defaultwert ist null. Ein Text ist nur vorhanden, wenn hier ein zulässiger Wert ungleich null angegeben ist. Die Beschriftung kann hierbei ein Text oder ein Bitmap sein. |
|
Interne ( Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“. |
|
.vsb_arrows
|
Definiert, ob Pfeile an den Enden der vertikalen Scrollbar vorhanden sind. |
Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .yorigin beim zeilenweisen vertikalen Scrollen ändert. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Definiert, ob die vertikale Scrollbar nur angezeigt wird, wenn sie benötigt wird. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .yorigin beim seitenweisen vertikalen Scrollen ändert. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Definiert die Sichtbarkeit der vertikalen Scrollbar. Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“. |
|
Interne ( Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“. |
|
Gibt an, um wie viele Pixel der eigentliche Inhalt horizontal verschoben ist. Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“. |
|
Gibt an, um wie viele Pixel der eigentliche Inhalt vertikal verschoben ist. Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“. |
30.3 Anmerkungen zum IDM für Windows
Zur Benutzung einer Radmaus zum Scrollen bitte Kapitel „Radmaus bzw. Radmausunterstützung unter Microsoft Windows“ beachten.
Beim Aktivieren von Notepages (.active ::= true) ist Folgendes zu beachten:
- In einem Notebook ist immer genau ein Kindobjekt, also eine Notepage, aktiv (Np.active = true). Solange das Notebook unsichtbar ist (.real_visible = false), ist dies entweder das erste Notepage-Kindobjekt oder das zuletzt aktiv gesetzte Notepage-Kindobjekt.
- Sobald das Notebook sichtbar ist, dürfen nur noch die ebenfalls sichtbaren Notepage-Kindobjekte aktiv gesetzt werden. Wird hingegen ein nicht sichtbares Notepage-Kindobjekt eines sichtbaren Notebooks aktiv gesetzt (Np.active ::= true) geht diese Setzung verloren. Unter Umständen wird dabei sogar ein Fehler (.active darf nicht auf false geändert werden) für ein sichtbares Notepage-Kindobjekt in das Tracefile geschrieben.
- Vor dem Sichtbarmachen eines Notebooks muss also immer zuerst das aktiv gesetzte Notepage-Kindobjekt sichtbar (Np.visible ::= true) gesetzt werden und es darf nur ein aktives Notepage-Kindobjekt geben. Ist beim Sichtbarmachen des Notebooks kein sichtbares Notepage-Kindobjekt vorhanden, so ist das Verhalten undefiniert und kann sich zwischen verschiedenen Versionen und Patches unterscheiden; es wird irgendein sichtbares Notepage-Kindobjekt aktiviert werden.
Bei aktiven Visual Styles
wird der Titel einer Notepage nach rechts verschoben, wenn er ein Mnemonic enthält. Um den Effekt zu vermeiden sollten für Notebooks die unter Windows üblichen Einstellungen
.tabalignment := 0;
.majortabwidth := 0;
gewählt werden. Wenn Mnemomics ohne die genannten Einstellungen verwendet werden, sollten alle Notepages eines Notebooks Mnemonics besitzen, damit bei allen Titeln die gleiche Verschiebung auftritt.
Für das Layout von Notepages ist Folgendes zu beachten:
- Die Vordergrundfarbe (.fgc) des Notebook bzw. Notepage Objektes wird ignoriert. Die Texte werden in einer Systemfarbe dargestellt (wie beimPushbutton Objekt).
- Die Hintergrundfarbe (.bgc) des Notepage Objektes ändert nur die Hintergrundfarbe der eigentlichen Darstellungsfläche. Die Hintergrundfarbe des Titels bzw. Reiters ist eine Systemfarbe.
- Die Hintergrundfarbe (.bgc) des Notebook Objektes ändert nur die Farbe außerhalb der Reiter. Die Hintergrundfarbe der Reiter ist eine Systemfarbe.
- Die Schriftart (.font) des Notepage Objektes wird ignoriert. Es wird die Schriftart des Notebook Objektes für die Beschriftung der Reiter genommen.
30.4 Anmerkungen zum IDM für Motif
Ab IDM-Version A.05.01.d kommen die activate- und deactivate-Ereignisse für die Notepage im IDM für Motif nun analog zum IDM für Windows.
-
activate wird ausgelöst
- initial bei der Sichtbarmachung eines Notebooks für die aktive Notepage
- beim Umschaltung der Aktivierung per Maus oder Tastatur
- beim Umsetzen der Aktivierung durch setzen des .active-Attributs auf true an einer anderen Notepage
- beim unsichtbar Setzen oder Zerstören der gerade aktive Notepage für die nun neu aktivierte Notepage
-
deactivate wird ausgelöst
- beim unsichtbar Machen eines Notebooks für die gerade aktive Notepage
- beim Umsetzen der aktiven Notepage per Maus oder Tastatur
- beim Setzen von .active auf true bei einer anderen Notepage
Achtung
Beim erneuten Sichtbarmachen (Clobbering
) eines ohnehin sichtbaren Notebooks bzw. einer ohnehin sichtbaren Notepage, ausgelöst durch einige spezielle Attributänderungen, kommt es ebenso zur Versendung von activate- und deactivate-Ereignissen.
Das deactivate-Ereignis wird nicht ausgelöst, wenn das Notebook oder die Notepage bzw. das übergeordnete Objekt mit destroy() zerstört wird.
30.5 Beispiel
dialog D window W { .active false; .width 359; .height 243; .title "Beispiel"; child notebook N { .xleft 45; .width 269; .ytop 19; .height 150; child notepage Np1 { .active true; .title "AAA"; child statictext { .sensitive false; .xleft 18; .ytop 28; .text "Name:"; } child edittext EtName { .active false; .xleft 69; .width 166; .ytop 26; .content ""; } child statictext { .sensitive false; .xleft 5; .ytop 73; .text "Vorname:"; } child edittext EtVorname { .xleft 69; .width 165; .ytop 68; } } child notepage Np2 { .title "BBB"; } child notepage Np3 { .title "CCC"; } } }