26 notepage

The object notepage is a page of a notebook.

A notepage has to be defined in the same way as a child. The keyword is notepage and is followed optionally by a label name.

The notepage is always positioned in such a way that the entire page of the notebook except for the tab row will be covered.

A notepage has child objects (like groupbox).

Definition

{ export | reexport } { model } notepage { <Identifier> }
{
  <standard attributes>
  <hierarchy attributes>
  <layout attributes>
  <scrollbar attributes>
  <object-specific attributes>
}

Events

activate

cut

deactivate

extevent

focus

help

hscroll

key

paste

scroll

select

vscroll

Children

document

canvas

checkbox

dialog

edittext

groupbox

image

layoutbox

listbox

notebook

poptext

pushbutton

radiobutton

record

rectangle

scrollbar

spinbox

statictext

tablefield

transformer

treeview

Parent

notebook

Menu

Pop-up menu

26.1 Attributes

Attribute

RLD

PID

Properties

Short Description

.acc_label

string

object

string

text

S.G/D/C

overwrites the Automation Identifier for Microsoft UI Automation

.acc_text

object

string

text

string

S.G/D/C

overwrites the Automation Name for Microsoft UI Automation

.accelerator

identifier

accel

S,G/D/C

accelerator of object, brings a certain notepage on the top

.active

boolean

boolean

S,G/D/C

true for the top notepage

.bgc

identifier

color

S,G/D/C

background color of object

.bordercolor

identifier

color

S,G/D/C

border color of object

.borderwidth

integer

integer

S,G/D/C

border width of object

.child[integer]

object

object

S,G/-/C

accesses the I-th child object

.childcount

integer

integer

-,G/-/-

queries the number of child objects

.class

class

class

-,G/-/-

class of object

.control

identifier

instance

-,G/-/-

control the object currently belongs to

.cursor

identifier

cursor

S,G/D/C

cursor belonging to object

.cut_pending

boolean

boolean

S,G/-/-

cut operation not yet carried out

.cut_pending_changed

boolean

boolean

-,G/-/-

changing state during cut operation

.document[integer]

object

document

S,G/-/-

accesses the I-th XML Document

.dialog

identifier

instance

-,G/-/-

dialog to which the object belongs

.external

boolean

boolean

-,G/-/-

returns if the object class is an USW class

.external[integer]

class

class

-,G/-/-

returns the I-th registered USW class

.fgc

identifier

color

S,G/D/C

foreground color

.firstchild

object

object

S,G/-/C

accesses the first child object

.firstrecord

object

record

S,G/-/C

accesses the first record of an object

.focus

boolean

boolean

S,G/-/C

input focus on object

.font

identifier

font

S,G/D/C

object font

.function

identifier

func

S,G/D/C

function belonging to object

.groupbox

identifier

instance

-,G/-/-

object groupbox

.help

string

identifier

string

text

S,G/D/C

help text of object

.hsb_arrows

boolean

boolean

S,G/-/-

defines whether horizontal scrollbar has arrows at its end

.hsb_linemotion

integer

integer

S,G/D/C

horizontal scroll value for scrolling line by line

.hsb_optional

boolean

boolean

S,G/D/C

horizontal scrollbar is only displayed if necessary.

.hsb_pagemotion

integer

integer

S,G/D/C

horizontal scroll value for scrolling page by page

.hsb_visible

boolean

boolean

S,G/D/C

visibility of horizontal scrollbar

.index

integer

index

integer

index

-,G/-/-

current index of object in the child list of its parent

.label

string

string

S,G/D/C

name/identifier of object

.lastchild

object

object

S,G/-/C

accesses the last child object

.lastrecord

object

record

S,G/-/C

accesses the last record of an object

.layoutbox

object

object

-,G/-/-

layoutbox of object

.mapped

boolean

boolean

S,G/D/-

defers the display of a visibly created object

.member[integer]

attribute

attribute

-,G/-,-

user-defined attribute [I] of object

.membercount

integer

integer

-,G/-,-

number of user-defined attributes

.menu

identifier

instance

S,G/D/C

object menu

.model

identifier

instance

S,G/D/C

model belonging to object

.notepage

object

object

-,G/-/-

notepage which object currently belongs to

.options[enum]

boolean

boolean

S,G/D/-

special options of object

.parent

identifier

instance

S,G/-/-

parent of object

.picture

object

tile

S,G/-/C

picture for i-th item

.real_height

integer

integer

-,G/-/-

real height of object

.real_sensitive

boolean

boolean

-,G/-/-

real selectivity of object

.real_visible

boolean

boolean

-,G/-/-

real visibility of object

.real_width

integer

integer

-,G/-/-

real width of object

.record[integer]

object

record

S,G/-/C

accesses the I-th record of an object

.recordcount

integer

integer

-,G/-/-

queries the number of child records

.reffont

identifier

font

S,G/D/C

reference font of object

.scope

integer
(1, 2, 3)

scope

-,G/-/-

queries the object type (Default, Model or instance)

.sensitive

boolean

boolean

S,G/D/C

selectivity of object

.tabtype

enum

enum

S,G/D/C

tab type

.text

string

identifier

string

text

S,G/D/C

text of status line

tile

object

tile

S,G/D/C

tile resource used as background image

.tilestyle

enum

enum

S,G/D/C

controls how the background image set in .tile is arranged

.title

string

identifier

string

text

S,G/D/C

labeling of tabs

.toolbar

object

object

-,G/-/-

toolbar of object

.toolhelp

string

object

string

text

S,G/D/C

gives a short explanation of object at the cursor

.userdata

anyvalue

anyvalue

S,G/D/C

object userdata (any DM datatype)

.vheight

integer

integer

S,G/D/C

internal (virtual) height

.visible

boolean

boolean

S,G/D/C

visibility of object

.vsb_arrows

boolean

boolean

S,G/-/-

defines whether vertical scrollbar has arrows at its end

.vsb_linemotion

integer

integer

S,G/D/C

vertical scroll value for scrolling line by line

.vsb_optional

boolean

boolean

S,G/D/C

vertical scrollbar will be displayed, if necessary

.vsb_pagemotion

integer

integer

S,G/D/C

vertical scroll value for scrolling page by page

.vsb_visible

boolean

boolean

S,G/D/C

visibility of vertical scrollbar

.vwidth

integer

integer

S,G/D/C

internal (virtual) width of object

.window

identifier

instance

-,G/-/-

window to which object belongs

.xorigin

integer

integer

S,G/D/C

shift of the origin along the x-axis in objects with scrollbars

.xraster

integer

integer

S,G/D/C

units in x-direction

.yorigin

integer

integer

S,G/D/C

shift of the origin along the y-axis in objects with scrollbars

.yraster

integer

integer

S,G/D/C

units in y-direction

.ytop

integer

integer

S,G/D/C

y-coordinate, distance from top

26.2 Specific Attributes

Standard Attributes

The attribute .accelerator can be used to activate a certain notepage, i.e. the notepage can be brought on top. To do so, a select-activate event will be triggered.

For a notepage .active is true for the page which is then on top, for all other notepages .active is false. This attribute can be true for one single notepage only.

(The notepage label is saved in the .activeobject.)

Note for the attribute .focus that only one child object can have the focus (as it is the case with the object "groupbox").

.sensitive defines the selectivity of the notepage so that the child objects are specified as insensitive, that the notepage itself, however, can still be activated.

Geometry Attributes

.menu: Whether a pop-up menu is available depends on the window system (as it is the case with "notebook"). This is why - if a pop-up menu is required - only two variants should be chosen:

  1. a pop-up menu is set for each notepage, but none for the notebook.
  2. a pop-up menu is set for the notebook, but none for the notepages.

With the attributes .real_height and .real_width the actual size of a notepage can be queried.

Layout Attributes

.fgc and .font, the color and the font are specified by the notebook attributes.

For the layout of notepages in Windows the following has to be considered:

Object-specific Attributes

.tabtype: The kind of tab for "notepage" can be described with this attribute.

The value range of some attributes depends on the window system. According to the window system either the attributes will be considered or the value which is marked as default will be chosen. This default value will also be chosen if nothing is specified.

Text Attributes

The text which is to appear in the status line has to be defined by the attribute .text (default = 0). If no text is defined, the notepage will get no status line. The position at which the status line appears depends on the window system and on the .backpage and .direction.

.title defines the labeling of tabs.(default = 0). There will only be a text, if a value <> 0 is specified here. The labeling can be either a text or a bitmap.

Note

It is allowed to create an unlimited number of notepages as long as memory is available. (Attention: There is a limit of 64kByte on MS-Windows!)

The order of notepages is defined by the order you create them in the dialog file. The principle is the same as with a normal file: the first notepage is the one on top. The order is in the opposite direction to the child objects, but it is in the "natural" order of the tabs.

26.3 Keyboard Control

Within the notebook, the keyboard control only affects the child objects of the top notepage, and not - as is usual - all child objects.

A notepage change has to be made by system-dependent keyboard methods.

Whether the notebook is in the focus order also depends on the system.

26.4 Example

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

Figure 13-32: notepage