SControlContainer

Verwaltungs- und Positionierungs-Container für zusammengehörige Controls. Die Positionierung erfolgt relativ zu der Position bei der Erzeugung. [Mehr ...]

Vererbung

Basisklassen(n)   abgeleitete Klassen
  SWindow
SControl
SControlPositioned
SControlContainer
SComPortControl

Attribute

protected:

Attribut Typ Beschreibung
baseSize SSize
list SControlContainerElement** internes Array der Listenelemente
listsize int aktuelle Größe der Liste
memsize int aktuell reservierter Speicherplatz der Liste

Operationen

public:

Name Parameter Rückgabewert Beschreibung
add SControlPositioned& control void Hinzufügen eines SControlPositioned zu dem Container.
add int Fügt ein leeres Element an die Liste an.
add const SControlContainerElement & element int Fügt ein Element zur Liste hinzu.
getAt int pos SControlContainerElement& Liefert ein Element der Liste.
getBuffer SControlContainerElement** Liefert den internen Datenpuffer.
getSize int Liefert die aktuelle Listengröße.
insertAt int pos int Fügt ein leeres Element in die Liste ein.
insertAt int pos,
const SControlContainerElement & element
int Fügt ein Element in die Liste ein.
isEmpty BOOL Gibt aus, ob die Liste leer ist.
operator[] int pos SControlContainerElement& Zugriffsoperator per Index.
recalcLayout void Berechnet die Lager der Enthaltenen Elemente neu.
removeAll void Löscht alle Elemente aus der Liste.
removeAt int pos void Löscht ein Element aus der Liste.
setAt int pos,
const SControlContainerElement & value
BOOL Ändert den Wert eines Eintrages.

protected:

Name Parameter Rückgabewert Beschreibung
onChange int itemPos void Ereignis, dass ausgelöst wird, wenn der Inhalt geändert wurde.
onEraseBackground SDevice& screen BOOL
onMove int xPos, int yPos void
onPostCreateCtrl void
onSize int type,
int clientWidth,
int clientHeight
void
resize unsigned int size void Ändert die Größe des für die Liste reservierten Speichers.

Detailbeschreibung SControlContainer

Verwaltungs- und Positionierungs-Container für zusammengehörige Controls. Die Positionierung erfolgt relativ zu der Position bei der Erzeugung.


Die Erzeugung muss innerhalb der baseSize erfolgen und wird ab automatisch da proportional beibehalten.
Beachte: das Vaterfenster der enthaltenen Controls ist immer der Dialog.

Beispiel: Bsp:

SButton btn1,btn2;
....
...::onInitWindow()
{

baseSize=SSize(100,40);
// beide Button darin untereinander
btn1.createCtrl(pParentWnd,"on",0,0,100,20);
add(btn1);
btn2.createCtrl(pParentWnd,"off",0,20,100,20);
add(btn1);
}

Funktionsbeschreibungen

add(SControlPositioned& control) void

Hinzufügen eines SControlPositioned zu dem Container.

Parameter:

control das hinzuzufügende Control

add() int

Fügt ein leeres Element an die Liste an.

Rückgabe:

int Position des eingefügten Elementes

add(const SControlContainerElement & element) int

Fügt ein Element zur Liste hinzu.

Das Element wird am Ende der Liste angefügt.

Parameter:

element das neue Listenelement

Rückgabe:

int Position des eingefügten Elementes

getAt(int pos) SControlContainerElement&

Liefert ein Element der Liste.

Das entsprechende Element der Liste wird zurückgegeben. Bei einem Zugriff auf einen Index außerhalb der Listengröße wird nach einer Fehlermeldung wenn möglich das erste oder das letzte Listenelement zurückgegeben.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

SControlContainerElement& das ausgewählte Listenelement

getBuffer() SControlContainerElement**

Liefert den internen Datenpuffer.

getSize() const int

Liefert die aktuelle Listengröße.

insertAt(int pos) int

Fügt ein leeres Element in die Liste ein.

Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

insertAt(int pos, const SControlContainerElement & element) int

Fügt ein Element in die Liste ein.

Das Element wird an der angegebenen Stelle eingefügt. Die Liste wird entsprechend vergrößert. Es muss eine gültige Position (zwischen 0 und der Listengröße) angegeben werden.

Parameter:

pos Position, an der eingefügt werden soll
element einzufügendes Element.

Rückgabe:

int Position des eingefügten Elements oder -1 bei ungültiger Positionsangabe

isEmpty() BOOL

Gibt aus, ob die Liste leer ist.

onChange(int itemPos) void

Ereignis, dass ausgelöst wird, wenn der Inhalt geändert wurde.

Parameter:

itemPos Position des geänderten / neuen Items, wenn die Positionsangabe nicht möglich ist (z.B. removeAt() ) wird -1 übergeben

onEraseBackground(SDevice& screen) BOOL

onMove(int xPos, int yPos) void

onPostCreateCtrl() void

onSize(int type, int clientWidth, int clientHeight) void

operator[](int pos) SControlContainerElement&

Zugriffsoperator per Index.

Ermöglicht den Zugriff auf die Listenelemente per Index-Operator ([]). Es sind nur gültige Positionsangaben möglich.

Parameter:

pos Index des gewünschten Elements

Rückgabe:

SControlContainerElement& Das gewünschte Element.

recalcLayout() void

Berechnet die Lager der Enthaltenen Elemente neu.

removeAll() void

Löscht alle Elemente aus der Liste.

removeAt(int pos) void

Löscht ein Element aus der Liste.

Das Element an der angegebenen Position wird gelöscht. Die Position muss einen gültigen Wert (zwischen 0 und Listengröße-1) enthalten.

Parameter:

pos Position des zu löschenden Elements

resize(unsigned int size) void

Ändert die Größe des für die Liste reservierten Speichers.

Parameter:

size Anzahl der Listenelemente für die Speicher benötigt wird

setAt(int pos, const SControlContainerElement & value) BOOL

Ändert den Wert eines Eintrages.

Der Wert des angegebenen Eintrages wird überschrieben. Die Position muss einen gültigen Wert enthalten.

Parameter:

pos Position, an der geändert werden soll
value neuer Wert

Rückgabe:

BOOL Änderung durchgeführt