ExternalTextboxValue¶
Beschreibung¶
ExternalTextboxValue ermöglicht eine externe Steuerung von Textbox Objekten.
Funktionen¶
void |
setItem (Item* item) |
getItem () const |
|
const char* |
getValue () const |
const „Color&“ |
getColor () const |
uint8_t |
getSize () const |
bool |
hasValue () const |
bool |
hasupdate () const |
void |
resetUpdate () |
void |
draw (const uint8_t x, const uint8_t y, Display* disp) const |
void |
setItem (char* itemStr) |
void |
setItem (char* itemStr, const Color& color) |
void |
setItem (Item* _item) |
void |
setValue (const char* _value) |
void |
delValue () |
void |
setColor (const Color& _color) |
void |
setup (const uint8_t _sizeX, const uint8_t _sizeY) |
void |
setup (const uint8_t _textsize) |
ExternalTextboxValue& |
operator+= (const char* str) |
Variablen und Konstanten¶
item = nullptr |
|
std::string |
value = „ |
bool |
update = false |
bool |
isValueSet = false |
uint8_t |
sizeX = 1 |
uint8_t |
sizeY = 1 |
uint8_t |
textSize = 0 |
color = Color(0,0,0) |
Funktionen Beschreibung¶
void setItem (Item* item)¶
1 void setitem (Item* item) {
2 delete item;
3 item = item;
4 }
Diese Funktion löscht das item des Objektes und ersetzt es mit dem Wert des Parameters item.
Anders als bei dieser setItem Funktion, wird update nicht angepasst.
~ExternalTextboxValue()¶
1 ~ExternalTextboxValue() {
2 delete item;
3 item = nullptr;
4 }
Dieser Destruktor löscht item und gibt den allokierten Speicherplatz frei.
Item* getItem () const¶
1 Item* getItem () const { return item; }
Gibt item aus.
const char* getValue ()¶
1 const char* getValue () const { return value.c_str(); }
Gibt value aus.
const Color& getColor ()¶
1 const Color& getColor () const { return color; }
Gibt color aus.
uint8_t getSize() const¶
1 uint8_t getSize() const { return textsize; }
Gibt textSize aus.
bool hasValue () const¶
1 bool hasValue () const { return (item != nullptr || isValueSet); }
Gibt true zurück, falls item einen gültigen Wert besitzt oder wenn isValueSet gilt.
Gibt false zurück, wenn keines von beiden der Fall ist, da item entweder der nullptr ist oder kein Wert gesetzt wurde.
bool hasUpdate () const¶
1 bool hasUpdate () const { return update; }
Prüft, ob es offene Änderungen gibt (update) oder nicht.
void resetUpdate ()¶
1 void resetUpdate () { update = false; }
Setzt update zurück, wenn keine offenen Änderungen bestehen.
void draw (const uint8_t x, const uint8_t y, Display* disp) const¶
1 void draw (const uint8_t x, const uint8_t y, Display* disp) const {
2 LOGGER(value.c_str())
3 if (item) item->draw(x, y, disp);
4 else if (isValueSet && textsize == 0) Text(value, sizeX, sizeY).draw(x, y, disp);
5 else if (isValueSet) Text(value, textsize).draw(x, y, disp);
6 }
Zeichnet item und/oder value auf das Display disp. Die Parameter x und y repräsentieren
X- und Y- Koordinaten auf dem Display.
if (item) item->draw(x, y, disp);
Falls ein item existiert, wird dieses mittels draw Funktion auf disp an den angegebenen Koordinaten gezeichnet.
else if (isValueSet && textsize == 0) Text(value, sizeX, sizeY).draw(x, y, disp);
Sollte isValueSet true sein und textSize == 0 sein, so wird mit dem Text Konstruktor
ein Text Objekt erschaffen, dessen Textgröße durch sizeX und sizeY bestimmt wird. Dieses wird mit draw auf dem disp gezeichnet.
else if (isValueSet) Text(value, textsize).draw(x, y, disp);
Wurde hingegen eine textSize != 0 angegeben, so wird diese beim Aufruf des Text Konstruktor genutzt, um ein Text Objekt zu erschaffen, welches mit
draw auf dem disp gezeichnet.
void setItem (char* itemStr)¶
1 void setItem (char* itemStr) { setItem(Display::createItem(itemStr)); }
Diese Funktion ruft die createItem Funktion auf, um aus dem als Parameter angegebenen itemStr ein Item Objekt
zu erschaffen. Dieses Item wird beim Aufruf von setItem als Argument verwendet.
void setItem (char* itemStr, const Color& color)¶
1 void setItem (char* itemStr, const Color& color) { setItem(Display::createItem(itemStr, color)); }
Diese Funktion ruft die createItem Funktion auf, um aus dem als Parameter angegebenen itemStr ein Item Objekt in einer
festgelegten Farbe color zu erschaffen. Dieses Item wird beim Aufruf von setItem als Argument verwendet.
void setItem (Item* _item)¶
1 void setItem (Item* _item) {
2 delete item;
3 item = _item;
4 update = true;
5 }
Diese Funktion löscht das item des Objektes und ersetzt es mit dem Wert des Parameters item.
Anders als bei dieser setItem Funktion, wird update angepasst und auf true gesetzt,
um zu vermerken, dass Änderungen vorliegen.
void setValue (const char* _value)¶
1 void setValue (const char* _value) {
2 value = _value;
3 isValueSet = true;
4 delete item;
5 item = nullptr;
6 update = true;
7 }
Diese Funktion ersetzt value mit dem Wert des Parameters value, wodurch isValueSet auf true gesetzt wird.
Außerdem wird das item gelöscht und der Pointer auf den nullptr gerichtet, da wir nun ein neues value haben, welches nicht
mehr mit dem alten item zusammenhängt. Außerdem wird update auf true gesetzt,
um zu vermerken, dass Änderungen vorliegen.
void delValue ()¶
1 void delValue () {
2 value = "";
3 isValueSet = false;
4 update = true;
5 }
Diese Funktion löscht den Wert des value und ersetzt ihn mit einem leeren String, wodurch isValueSet auf false
gesetzt wird. Außerdem wird update auf true gesetzt, um zu vermerken, dass Änderungen vorliegen.
void setColor (const Color& _color)¶
1 void setColor (const Color& _color) {
2 color = _color;
3 update = true;
4 }
Diese Funktion ersetzt color mit dem Wert des Parameters color.
Außerdem wird update auf true gesetzt, um zu vermerken, dass Änderungen vorliegen.
void setup(const uint8_t _sizeX, const uint8_t _sizeY)¶
1 void setup(const uint8_t _sizeX, const uint8_t _sizeY) {
2 sizeX = _sizeX;
3 sizeY = _sizeY;
4 textsize = 0;
5 update = true;
6 }
Diese Funktion ersetzt sizeX und sizeY mit dem Wert der Parameter _sizeX bzw. _sizeY und setzt die
textSize auf 0. Außerdem wird update auf true gesetzt, um zu vermerken, dass Änderungen vorliegen.
Diese setup Funktion wird also verwendet, damit die textsize in der draw Funktion
automatisch ermittelt wird.
void setup(const uint8_t _textsize)¶
1 void setup(const uint8_t _textsize) {
2 sizeX = 0;
3 sizeY = 0;
4 textsize = _textsize;
5 update = true;
6 }
Diese Funktion setzt:ref:sizeX<externaltextboxvaluevsizex> und sizeY auf 0 und ersetzt die textSize
mit dem Wert des Parameters _textsize.
Außerdem wird update auf true gesetzt, um zu vermerken, dass Änderungen vorliegen.
Diese setup Funktion wird also verwendet, damit die textsize in der draw Funktion
nicht automatisch ermittelt wird.
ExternalTextboxValue& operator+=(const char* str)¶
1 ExternalTextboxValue& operator+=(const char* str) {
2 value += str;
3 update = true;
4 return *this;
5 }
Dieser Überladungsoperator wird genutzt, um str value anzuzufügen.
Außerdem wird update auf true gesetzt, um zu vermerken, dass Änderungen vorliegen.
Variablen und Konstanten Beschreibung¶
Item* item = nullptr¶
Gibt das Item an, welches angezeigt werden soll.
std::string value = „“¶
Gibt den Textinhalt an, welcher angezeigt werden soll.
bool update = false¶
Gibt an, ob Änderungen vorliegen, die noch nicht gezeichnet werden (update = true) oder ob der auf dem Bildschirm ausgegebene Inhalt aktuell ist (update = false).
Standardmäßig gibt es keine nicht gezeichneten Änderungen.
bool isValueSet = false¶
Gibt an, ob ein value angegeben ist (isValueSet = true) oder nicht (isValueSet = false).
Standardmäßig ist value ein leerer String "", weswegen isValueSet = false gilt.
uint8_t sizeX = 1¶
Gibt an, wie breit anzuzeigender Text sein soll.
Standardmäßig gilt sizeX = 1, da dies die kleinstmögliche Breite ist.
uint8_t sizeY = 1¶
Gibt an, wie hoch anzuzeigender Text sein soll.
Standardmäßig gilt sizeY = 1, da dies die kleinstmögliche Höhe ist.
uint8_t textsize = 0¶
Gibt die Textgröße des anzuzeigenden Textes an. Alternativ kann die Textgröße aus sizeX und sizeY bestimmt werden.