ExternalButtonValue

Beschreibung

ExternalButtonValue ermöglicht eine externe Steuerung von Button Objekten. So kann mit ihnen z.B. ein bestimmter Zustand forciert werden.

Funktionen

void

setItemOn (Item* item)

void

setItem (const char* item)

void

setItemOn (const char* item)

void

setItemOff (const char* item)

void

setItemOff (Item* item)

void

setItem (Item* item)

void

setValue (const bool _value)

bool

getValue () const

:ref:` item*<item>`

getItemOn () const

:ref:` item*<item>`

getItemOff () const

bool

hasItemOn () const

bool

hasItemOff () const

bool

hasUpdate () const

void

resetUpdate () const

Variablen und Konstanten

:ref:` item*<item>`

itemOn = nullptr

:ref:` item*<item>`

itemOff = nullptr

bool

value = false

bool

update = false

bool

onlyOneItem = false

Funktionen Beschreibung

void setItemOn (Item* item)

1    void setItemOn (Item* item) {
2        delete itemOn;
3        itemOn = item;
4        update = true;
5        onlyOneItem = false;
6    }

Diese Funktion setzt das itemOn auf den Wert des Parameters item. Dafür wird zuerst der vorher von itemOn belegte Speicherplatz freigegeben, ehe die Wertzuweisung passiert. Außerdem wird update auf true gesetzt, um die Änderungen später zeichnen zu können. Diese Funktion ist speziell für Buttons mit zwei verschiedenen Items bei aktivierten und deaktivierten Zuständen, weswegen onlyOneItem auf false gesetzt wird.

void setItem (const char* item)

1    void setItem (const char* item) { setItem(Display::createItem(item)); }

Bei dieser Funktion kann man den Namen eines Items eingeben. Aus diesem wird mit createItem ein Items erstellt, welches dann durch setItem aufgerufen wird.

void setItemOn (const char* item)

1    void setItemOn (const char* item) { setItemOn(Display::createItem(item)); }

Bei dieser Funktion kann man den Namen eines Items eingeben. Aus diesem wird mit createItem ein Items erstellt, welches dann durch setItemOn aufgerufen wird.

void setItemOff (const char* item)

1    void setItemOff (const char* item) { setItemOff(Display::createItem(item)); }

Bei dieser Funktion kann man den Namen eines Items eingeben. Aus diesem wird mit createItem ein Items erstellt, welches dann durch setItemOff aufgerufen wird.

void setItemOff (Item* item)

1    void setItemOff (Item* item) {
2        delete itemOff;
3        itemOff = item;
4        update = true;
5        onlyOneItem = false;
6    }

Diese Funktion setzt das itemOff auf den Wert des Parameters item. Dafür wird zuerst der vorher von itemOff belegte Speicherplatz freigegeben, ehe die Wertzuweisung passiert. Außerdem wird update auf true gesetzt, um die Änderungen später zeichnen zu können. Diese Funktion ist speziell für Buttons mit zwei verschiedenen Items bei aktivierten und deaktivierten Zuständen, weswegen onlyOneItem auf false gesetzt wird.

void setItem (Item* item)

1    void setItem (Item* item) {
2        delete itemOn;
3        itemOn = item;
4        delete itemOff;
5        itemOff = nullptr;
6        onlyOneItem = true;
7        update = true;
8    }

Diese Funktion gibt den von itemOn und itemOff belegten Speicherplatz frei und weißt itemOn auf den Wert des Parameters item und itemOff den nullptr zu. Da diese Funktion speziell für Buttons mit genau einem Item bei aktivierten und deaktivierten Zustand ist, wird onlyOneItem auf true gesetzt wird (für Buttons mit unterschiedlichen Items bei aktivierten und deaktivierten Zustand siehe setItemOn, setItemOff). Außerdem wird update auf true gesetzt, um die Änderungen später zeichnen zu können.

void setValue (const bool _value)

1    void setValue (const bool _value) { 
2        value = _value; 
3        update = true;
4    }

Mit dieser Funktion kann die Zustandänderung eines Buttons manuell ausgelöst werden. Dafür wird value auf den Wert der Parameters _value gesetzt. Außerdem wird update auf true gesetzt, um die Änderungen später zeichnen zu können.

bool getValue () const

1    bool  getValue () const { return value; }

Gibt value zurück.

Item* getItemOn () const

1    Item* getItemOn () const { return itemOn; }

Gibt itemOn zurück.

Item* getItemOff () const

1    Item* getItemOff () const { return (onlyOneItem)? itemOn : itemOff; }

Gibt itemOff zurück, wenn onlyOneItem false ist. Andernfalls wird itemOn ausgegeben.

bool hasItemOn () const

1    bool hasItemOn () const { return itemOn != nullptr; }

Prüft, ob itemOn der nullptr ist, oder ob der Pointer auf ein gespeicheres Item zeigt.

bool hasItemOff () const

1    bool hasItemOff () const { return (onlyOneItem && hasItemOn()) || (!onlyOneItem && itemOff != nullptr); }

Prüft, ob entweder onlyOneItem und hasItemOn true sind (also ob der Button bei aktivierten und deaktivierten Zustand das gleiche Item besitzen und dieses tatsächlich existiert) oder ob onlyOneItem false ist und itemOff der nullptr ist, oder ob der Pointer auf ein gespeicheres Item zeigt (also ob itemOff existiert).

bool hasUpdate () const

1    bool hasUpdate () const { return update; }

Prüft, ob Änderungen (update) vorgenommen wurden.

void resetUpdate ()

1    void resetUpdate () { update = false; }

Setzt update auf false, um zuzeigen, dass es keine zu tätigenden Änderungen mehr gibt.

Variablen und Konstanten Beschreibung

Item* itemOn = nullptr

Das Item, welches bei einem Button bei aktivierten Zustand angezeigt wird. Standardmäßig ist kein Item eingestellt. Bei einem Button, der in aktivierter und deaktivierter Form das selbe Item anzeigen soll, muss das Item in itemOn gespeichert sein.

Item* itemOff = nullptr

Das Item, welches bei einem Button bei deaktivierten Zustand angezeigt wird. Standardmäßig ist kein Item eingestellt.

bool value = false

Gibt den Zustand an, den ein Button annehmen soll. Er wird aktiviert bei true und deaktiviert bei false.

bool update = false

Gibt an, ob der Button neugezeichnet werden soll, weil sich z.B. der Zustand (siehe value) oder das Items (siehe itemOn, itemOff) verändert haben.

bool onlyOneItem = false

Gibt an, ob ein Button für den deaktivierten und aktivierten Zustand zwei unterschiedliche Items haben soll (true) oder ob in beiden Zuständen das selbe Item angezeigt werden soll (false).