9 checkbox

Die Checkbox (Kontrollkästchen, Markierungsfeld) ist ein Knopftyp, der die Betätigungszustände an und aus kennt. Jedem Zustand ist eine eigene Darstellung der Checkbox zugeordnet, sodass stets erkennbar ist, welchen Zustand eine Checkbox gerade hat. So repräsentiert je nach Fenstersystem ein ausgefülltes Quadrat oder ein Quadrat mit einem Häkchen darin den Zustand an und ein leeres Quadrat den Zustand aus.

Definition

{ export | reexport } { model } checkbox { <Bezeichner> }
{
  <Standardattribute>
  <Allgemeine Attribute>
  <Hierarchieattribute>
  <Layoutattribute>
  <Textattribute>
  <Objektspezifische Attribute>
}

Wichtige Anmerkung zur Tab-Steuerung

Checkboxen werden von den Fenstersystemen Tab-Gruppen zugeordnet. Die Gruppe wird dabei meist durch das Vater-Objekt bestimmt. Alleinstehende Checkboxen sind mit der Tab-Taste einzeln erreichbar. Bei Checkboxen innerhalb einer Gruppe kann nur ein Gruppenelement per Tab-Taste erreicht werden. Innerhalb der Gruppe wird mit den Cursortasten navigiert.
Über das Attribut .navigation kann die Tab-Steuerung beeinflusst werden. Es legt fest, ob eine Checkbox bei der Tab-Steuerung zu einer Gruppe von Elementen gehört oder als alleinstehendes Element behandelt wird.

Ereignisse

activate

cut

deactivate

extevent

focus

help

key

paste

select

Kinder

document

record

transformer

Vater

groupbox

layoutbox

module

notepage

splitbox

toolbar

window

Menü

Popup Menü

9.1 Attribute

.acc_label

.acc_text

.accelerator

.active

.bgc

.class

.control

.cursor

.cut_pending

.cut_pending_changed

.dialog

.document[integer]

.external

.external[integer]

.fgc

.firstrecord

.focus

.font

.function

.groupbox

.height

.help

.index

.label

.lastrecord

.layoutbox

.mapped

.member[integer]

.membercount

.menu

.model

.navigation

.notepage

options[enum]

.parent

.posraster

.real_height

.real_sensitive

.real_visible

.real_width

.real_x

.real_y

.record[integer]

.recordcount

.scope

.sensitive

.sizeraster

.state

.statushelp

style

.text

.toolhelp

.toolbar

.userdata

.visible

.width

.window

.xauto

.xleft

.xright

.yauto

.ybottom

.ytop

9.2 Spezifische Attribute

Attribut Beschreibung

.active

Definiert bei .style = checkbox (2) ob das Objekt den Zustand an (true) oder aus (false) haben soll.

Siehe auch Kapitel „Checkbox als Tristatebutton“.

.height

Höhe des Objekts.

Beim Wert 0 berechnet der IDM die Höhe automatisch aufgrund des aktuellen Zeichensatzes.

.navigation

Legt fest, ob eine Checkbox bei der Tab-Steuerung zu einer Gruppe von Elementen gehört oder als alleinstehendes Element behandelt wird. Alleinstehende Checkboxen sind mit der Tab-Taste einzeln erreichbar. Bei Checkboxen innerhalb einer Gruppe kann nur ein Gruppenelement per Tab-Taste erreicht werden. Innerhalb der Gruppe wird mit den Cursortasten navigiert.

  • navi_default (Standard)
  • navi_grouped
  • navi_tab

options[enum]

Optionen des Objekts.

Indizes:

  • opt_use_widget (nur Motif)
  • opt_push_like (nur Microsoft Windows)
  • opt_center_toolhelp (nur Microsoft Windows)

.state

Aktueller Aktivierungszustand des Objekts.

Mögliche Werte:

  • state_unchecked
  • state_checked
  • state_indeterminate

Siehe auch Kapitel „Checkbox als Tristatebutton“.

style

Legt die Darstellung und das Verhalten des Objekts fest.

Mögliche Werte:

  • checkbox (2, default)
  • tristate (3)

Siehe auch Kapitel „Checkbox als Tristatebutton“.

.text

Angezeigter Text (Beschriftung).

.width

Breite des Objekts.

Beim Wert 0 berechnet der IDM die Breite automatisch aufgrund des aktuellen Zeichensatzes.

9.3 Checkbox als Tristatebutton

Checkbox und Tristatebutton werden im ISA Dialog Manager über dasselbe Objekt realisiert. Das Attribut .style steuert, welche Art von Objekt angezeigt wird. Die Darstellung der Tristatebuttons hängt vom jeweiligen Fenstersystem ab.

Die Zustände der Checkbox (als Tristatebutton) können über das Attribut .state abgefragt und gesetzt werden.

Bei einem Tristatebutton gibt das Attribut .active immer false zurück. Daher ist es nicht geeignet, den Zustand der Checkbox abzufragen. Dies ändert sich auch dann nicht, wenn die Checkbox zur Laufzeit dynamisch von .style = tristate (3) auf .style = checkbox (2) umgestellt wird.

Die Ereignisse activate und deactivate sind bei einem Tristatebutton nicht vorhanden.

Ob bei interaktiver Selektion des Tristatebuttons zwischen allen drei Zuständen oder nur zwischen an (state_checked) und aus (state_unchecked) gewechselt wird, sowie die Reihenfolge beim Wechsel zwischen den drei Zuständen, wird durch das jeweilige Fenstersystem definiert. Der IDM hat darauf keinen Einfluss.

9.4 Hinweis zur Checkbox unter Microsoft Windows

Beachten Sie zur Hintergrundfarbe die Anmerkungen beim Attribut .bgc in der „Attributreferenz“.

9.5 Beispiel

Vier navigierbare Checkboxen innerhalb eines Fensters, die ersten zwei innerhalb einer Gruppe:

window MAIN
{
  /* tab navigation via grouping.
   * within the group each checkbox
   * can be reached using cursor keys */
  groupbox 
  {
    .xleft 10;    
    child checkbox Bold
    {
      .ytop 10;
      .text "bold";
      .visible true;
      .active false;
    }
 
    child checkbox Underline
    {
      .ytop 40;
      .text "underline";
      .visible true;
      .active true;
    }
  }

  /* tab navigation via .navigation. 
   * each checkbox can be reached 
   * individually using Tab key */
  child checkbox Italic
  {
    .xleft 10;
    .ytop 70;
    .text "italic";
    .visible true;
    .active true;
    .navigation navi_tab;
  }
 
  child checkbox Shadow
  {
    .xleft 10;
    .ytop 100;
    .text "shadow";
    .visible true;
    .active false;
    .navigation navi_tab;
  }
}

Abbildung 16-2: Checkbox