WaBis

walter.bislins.ch

CP: RadiobuttonField

Die CpRadiobuttonField Klasse ist von der CpField Klasse abgeleitet. Sie implementiert eine Reihe von Radiobuttos.

CpRadiobuttonField Klasse

Ein Objekt der Klasse CpRadiobuttonField wird mit der Funktion AddRadiobuttonField() erzeugt und einem ControlPanel zugewiesen.

CpRadiobuttonField : CpField = {
Panel: ControlPanel; Inherited; ReadOnly; Init = Parent ControlPanel
Name: String; Inherited; ReadOnly; Init = 'Field' + FieldCounter
Label: String; Inherited; ReadOnly; Init = Name
ValueRef: CpObjectRef; Inherited; Private; Init = [ModelRef + '.' +] Name
ValueType: String; ReadOnly; Init = 'str'
ReadOnly: Boolean; Inherited; ReadOnly; Init = ControlPanel.ReadOnly
Enabled: Boolean; Inherited; Private; Init = true
EnabledRef: CpObjectRef; Inherited; Private; Init = ''
Items: Array of CpRadiobuttonItem; ReadOnly
Description: String; Inherited; ReadOnly; Init = ''
ColSpan: Integer(>0); Inherited; ReadOnly; Init = 1
Attr: String; Inherited; ReadOnly; Init = ''
}

Ein RadiobuttonField stellt eine Reihe von Radiobuttons dar, welche mit einer globalen Variablen oder einem Modell-Property verknüpft sind. Der Wert dieser Variablen oder dieses Properties kann über die Radiobuttons ausgelesen und verändert werden.

Einige der Properties und Funktionen des Radiobutton-Feldes werden von seiner Basis-Klasse, dem CpField, implementiert.

CpRadiobuttonField Properties

Panel Verweis auf das übergeordnete ControlPanel Objekt. Das CpField Objekt wird in der Liste ControlPanel.Fields verlinkt.
Name Standardwert für Label und ValueRef
Label Label für das ControlPanel-Feld. Label dürfen HTML-Tags enthalten.
ValueRef Referenz auf eine globale Variable oder ein Objekt-Property.
ReadOnly true → Feld kann nicht verändert werden
Enabled false → Feld ist deaktiviert. Dieses Property kann nur mit der Funktion IsEnabled() abgefragt werden
EnabledRef Referenz auf ein Modell-Property, welches den Enabled-Zustand fernsteuert oder eine function, welche den enabled Zusatand berechnet.
Description wird eingeblendet, wenn die Maus über dem Label oder dem HelpImage steht
Link HTML- oder Wiki-Link zu einer Help-Seite mit der Beschreibung des Ein-/Ausgabefeldes.
ColSpan Anzahl Tabellen-Spalten, welche das Werte-Feld überspannen soll
Attr Zusätzliche HTML-Attribute für das Werte-Feld
ValueType Typ des Wertes von ValueRef: 'str', 'int', 'num', 'bool'
Items Ein CpRadiobuttonField fasst eine Reihe von Radiobuttons zusammen, welche in der Liste Items gespeichert werden. Items ist ein Array of CpRadiobuttonItem.

CpRadiobuttonField Funktionen

AddRadiobuttonField() Erzeugt ein CpRadiobuttonField und fügt es einem ControlPanel hinzu
GetType() Fragt den Typ des Feldes ab
GetValueRef() Gibt den String-Wert des ValueRef Properties zurück. Auf ValueRef darf nicht direkt zugegriffen werden.
IsEnabled() Gibt den Enabled-Zustand des Feldes zurück. Auf Enabled darf nicht direkt zugegriffen werden.
SetEnabled() Setzt den Enabled-Zustand des Feldes.
GetHtmlID() Gibt die HTML-ID eines ControlPanel-Feldes oder Items zurück
GetDomObj() Gibt eine Referenz auf das DOM-Element eines ControlPanel-Feldes oder Items zurück
GetItem() Sucht ein bestimmtes CpRadiobuttonItem in der Items Liste

CpRadiobuttonItem Klasse

Jedes CpRadiobuttonField enthält im Property Items eine Liste von CpRadiobuttonItems.

RadiobuttonItem = {
Name: String; ReadOnly; Init = CpField.Name + '-' + itemIndex
Text: String; ReadOnly; Init = Name
Value: String; ReadOnly; Init = Name
}

Ein CpRadiobuttonItem definiert ein einzelnes Radiobutton-Element eines CpRadiobuttonField Objektes.

CpRadiobuttonItem Properties

Name Standardwert für Text und Value des CpRadiobuttonItem
Text Text der hinter dem Radiobutton-Element angezeigt werden soll
Value Wert des value Attributes des Radiobutton-Elementes

ControlPanel.AddRadiobuttonField()

ControlPanel.AddRadiobuttonField( Parameter )

Parameter: RadiobuttonFieldDef; Optional; Default = { }
Return this: ControlPanel
RadiobuttonFieldDef = {
Name: String; Optional; Default = 'Field' + FieldCounter
Standardwert für Label und Teil von CpRadiobuttonItem.Name, sowie Teil der id und name Attribute der Radiobutton-Elemente.
Label: String; Optional; Default = Name
Label für die Radiobuttons. Setze auf '-', falls kein Label angezeigt werden soll.
ValueRef: String; Optional; Default = [ControlPanel.ModelRef + '.' +] Name
Referenz auf eine globale Variable oder ein Objekt-Property.
ValueType: String; Optional; Default = 'str'
Datentyp des mit ValueRef referenzierten Wertes: 'str', 'int', 'num' oder 'bool'
Items: Array of CpRadiobuttonItem; Optional; Default = [ ]
Parameter für jeden einzelnen Radiobutton, siehe unten.
NCols: Integer(>0); Optional; Default = Items.length
Die Radiobuttons werden auf NCols Spalten gleichmässig verteilt.
Description: String; Optional; Default = ''
Diese Beschreibung wird eingeblendet, wenn die Maus über dem Label oder Help-Symbol steht. Die Beschreibung darf HTML-Tags enthalten.
ColSpan: Integer(>0); Optional; Default = 1
Anzahl Tabellen-Spalten, welche die Radiobuttons überspannen sollen.
ReadOnly: Boolean; Optional; Default = ControlPanel.ReadOnly
true → Element kann nicht verändert werden.
Enabled: Boolean; Optional; Default = true
false → Element ist deaktiviert und wird ausgegraut angezeigt
EnabledRef: String; Optional; Default = ''
Falls definiert, wird Enabled von dieser Modell-Referenz gesteuert
Attr: String; Optional; Default = ''
Zusätzliche Attribute für das Werte-Feld mit den Radiobuttons.
}
RadiobuttonItemDef = {
Name: String; Optional; Default = CpField.Name + '-' + itemIndex
Teil der HTML-ID für dieses Radiobutton Input-Element; Standard für Text und Value.
Text: String; Optional; Default = Name
Text, welcher hinter der Radiobutton stehen soll. Verwende '-' falls kein Text hinter der Radiobutton angezeigt werden soll.
Value: String; Optional; Default = Name
Wert des Attributes value des Radiobutton-Elementes (optional).
}

CpRadiobuttonField.GetItem()

CpRadiobuttonField.GetItem( ItemName )

ItemName: String
Return: CpRadiobuttonItem or null

Sucht in der Items Liste nach dem Radiobutton-Item mit dem Namen ItemName.

CpRadiobuttonField.ValueType

CpRadiobuttonField.ValueType: String; ReadOnly; Init = 'str' 

Datentyp des mit ValueRef referenzierten Modell-Properties. Der in CpRadiobuttonItem.Value definierte Wert wird vor dem Steichern in diesen Datentyp konvertiert.

'str'  → String (Standard)
'int'  → Integer
'num'  → Number
'bool' → Boolean

Das Argument Value sollte als String definiert werden. Wird ein Nicht-String angegeben, wird der Wert in einen String konvertiert.

CpRadiobuttonField.Items

CpRadiobuttonField.Items: Array of CpRadiobuttonItem; ReadOnly; Init = [ ] 

Jedes CpRadiobuttonField besteht aus einer Liste von einzelnen Radiobutton-Elementen vom Typ CpRadiobuttonItem. Diese Elemente werden in der Liste Items verwaltet.

CpRadiobuttonItem.Name

CpRadiobuttonItem.Name: String; ReadOnly; Init = CpField.Name + '-' + ItemIndex 

Der Name eines Radiobutton-Elementes dient als Standardwert für Text und Value. Wird Name nicht angegeben, wird er mit CpField.Name plus dem Index des Radiobutton-Elementes in der Items Liste, mit einem Bindestrich dazwischen, initialisiert. Die HTML-ID ist gleich diesem Namen, siehe GetHtmlID().

CpRadiobuttonItem.Text

CpRadiobuttonItem.Text: String; ReadOnly; Init = CpRadiobuttonItem.Name 

Text, der hinter dem Radiobutton-Element angezeigt werden soll.

Pro CpRadiobuttonField müssen mehrere Radiobuttons definiert werden, die zu einer Gruppe mit gemeinsamem Label zusammengefasst sind. Mit Text wird jeder Radiobutton beschriftet.

Ist Text nicht definiert, wird CpRadiobuttonItem.Name als Text verwendet.

Hinweis: Eine Reihe von Radiobutton-Elementen, welche in einem CpRadiobuttonField zusammengefasst sind, hat einen gemeinsamen Label. Jedes der Radiobutton-Elemente hat zudem eine eigene Beschriftung Text.

CpRadiobuttonItem.Value

CpRadiobuttonItem.Value: String; ReadOnly; Init = CpRadiobuttonItem.Name 

Die einzelnen Radiobuttons haben je ein Einput-Element mit einem Attribut value. Dieser Wert wird nach der Konvertierung in den Datentyp ValueType im mit ValueRef referenzierten Modell-Property gespeichert.

Wenn der Wert von Value kein String ist, wird er vor dem Zuweisen in einen String konvertiert. Beim Speichern von Value im Modell wird Value in der mit ValueType vorgegebenen Datentyp konvertiert.

Weitere Infos zur Seite
Erzeugt Mittwoch, 17. August 2016
von wabis
Zum Seitenanfang
Geändert Montag, 22. August 2016
von wabis