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>
  <Scrollbarattribute>
  <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

activate

cut

deactivate

extevent

focus

help

hscroll

key

paste

scroll

select

vscroll

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

document

canvas

checkbox

dialog

edittext

groupbox

layoutbox

image

listbox

notebook

poptext

pushbutton

radiobutton

record

rectangle

scrollbar

spinbox

statictext

tablefield

transformer

treeview

Vater

notebook

Menü

menubox (Menübox)

30.1 Attribute

.acc_label

.acc_text

.accelerator

.active

.bgc

.bordercolor

.borderraster

.borderwidth

.child[integer]

.childcount

.class

.control

.cursor

.cut_pending

.cut_pending_changed

.dialog

.document[integer]

.external

.external[integer]

.fgc

.firstchild

.firstrecord

.focus

.font

.function

.groupbox

.help

.hsb_arrows

.hsb_linemotion

.hsb_optional

.hsb_pagemotion

.hsb_visible

.index

.label

.lastchild

.lastrecord

.layoutbox

.mapped

.member[integer]

.membercount

.menu

.model

.notepage

options[enum]

.parent

.picture

.real_height

.real_sensitive

.real_visible

.real_width

.record[integer]

.recordcount

.reffont

.scope

.sensitive

.tabtype

.text

tile

.tilestyle

title

.toolbar

.toolhelp

.userdata

.vheight

.visible

.vsb_arrows

.vsb_linemotion

.vsb_optional

.vsb_pagemotion

.vsb_visible

.vwidth

.window

.xorigin

.xraster

.yorigin

.yraster

.ytop

30.2 Spezifische Attribute

Attribut Beschreibung

.active

Definiert die aktuell oberste Notepage eines Notebooks.

Es kann nur eine Notepage in einem Notebook den Wert .active = true besitzen.

.borderraster

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
(nur Motif)

Definiert, ob Pfeile an den Enden der horizontalen Scrollbar vorhanden sind.

.hsb_linemotion

Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .xorigin beim zeilenweisen horizontalen Scrollen ändert.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.hsb_optional

Definiert, ob die horizontale Scrollbar nur angezeigt wird, wenn sie benötigt wird.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.hsb_pagemotion

Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .xorigin beim seitenweisen horizontalen Scrollen ändert.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.hsb_visible

Definiert die Sichtbarkeit der horizontalen Scrollbar.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

options[enum]

Optionen des Objekts

Indizes:

  • opt_center_toolhelp (nur MS Windows).
  • opt_scroll_on_focus (nur Motif).

.picture

Definiert das Muster, welches im zur Notepage gehörenden Tab dargestellt wird.

.tabtype

Beschreibt den Typ des zur Notepage gehörenden Tab.

Werte:

  • tab_major
  • tab_minor

.text

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.

tile

Definiert das Hintergrundbild des Objekts

.tilestyle

Gibt die Art und Weise an, wie das in tile definierte Hintergrundbild dargestellt wird.

.title

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.

.vheight

Interne (virtuelle) Höhe des Objekts

Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“.

.vsb_arrows
(nur Motif)

Definiert, ob Pfeile an den Enden der vertikalen Scrollbar vorhanden sind.

.vsb_linemotion

Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .yorigin beim zeilenweisen vertikalen Scrollen ändert.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.vsb_optional

Definiert, ob die vertikale Scrollbar nur angezeigt wird, wenn sie benötigt wird.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.vsb_pagemotion

Anzahl der Pixel bzw. Rastereinheiten, um die sich der Wert von .yorigin beim seitenweisen vertikalen Scrollen ändert.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.vsb_visible

Definiert die Sichtbarkeit der vertikalen Scrollbar.

Siehe auch Kapitel „Scrollbarattribute“ in der „Attributreferenz“.

.vwidth

Interne (virtuelle) Breite des Objekts.

Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“.

.xorigin

Gibt an, um wie viele Pixel der eigentliche Inhalt horizontal verschoben ist.

Siehe auch Kapitel „Geometrieattribute“ in der „Attributreferenz“.

.yorigin

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:

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:

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.

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";
    }
  }
}

Abbildung 16-31: notepage