.. _externaltextboxvalue: ExternalTextboxValue ++++++++++++++++++++++ Beschreibung ============= ``ExternalTextboxValue`` ermöglicht eine externe Steuerung von :ref:`Textbox` Objekten. Funktionen ============= .. csv-table:: :widths: 100 10000 void, ":ref:`setItem` (Item* item)" , ":ref:`~ExternalTextboxValue` ()" ":ref:`Item*`", ":ref:`getItem` () const" const char*, ":ref:`getValue` () const" const ":ref:`Color&`", ":ref:`getColor` () const" uint8_t, ":ref:`getSize` () const" bool, ":ref:`hasValue` () const" bool, ":ref:`hasupdate` () const" void, ":ref:`resetUpdate` ()" void, ":ref:`draw` (const uint8_t x, const uint8_t y, Display* disp) const" void, ":ref:`setItem` (char* itemStr)" void, ":ref:`setItem` (char* itemStr, const Color& color)" void, ":ref:`setItem` (Item* _item)" void, ":ref:`setValue` (const char* _value)" void, ":ref:`delValue` ()" void, ":ref:`setColor` (const Color& _color)" void, ":ref:`setup` (const uint8_t _sizeX, const uint8_t _sizeY)" void, ":ref:`setup` (const uint8_t _textsize)" ExternalTextboxValue&, ":ref:`operator+=` (const char* str)" Variablen und Konstanten ========================== .. csv-table:: :widths: 100 10000 ":ref:`Item*`", ":ref:`item` = nullptr" std::string, ":ref:`value` = "" " bool, ":ref:`update` = false" bool, ":ref:`isValueSet` = false" uint8_t, ":ref:`sizeX` = 1" uint8_t, ":ref:`sizeY` = 1" uint8_t, ":ref:`textSize` = 0" ":ref:`Color`", ":ref:`color` = Color(0,0,0)" Funktionen Beschreibung ========================= .. _externaltextboxvaluesetitemitem: void setItem (Item* item) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 19-22 :linenos: Diese Funktion löscht das :ref:`item` des Objektes und ersetzt es mit dem Wert des Parameters ``item``. Anders als bei dieser :ref:`setItem` Funktion, wird :ref:`update` nicht angepasst. .. _externaltextboxvaluedestructor: ~ExternalTextboxValue() ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 24-27 :linenos: Dieser Destruktor löscht :ref:`item` und gibt den allokierten Speicherplatz frei. .. _externaltextboxvaluegetitem: Item* getItem () const ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 29 :linenos: Gibt :ref:`item` aus. .. _externaltextboxvaluegetvalue: const char* getValue () ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 30 :linenos: Gibt :ref:`value` aus. .. _externaltextboxvaluegetcolor: const Color& getColor () ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 31 :linenos: Gibt :ref:`color` aus. .. _externaltextboxvaluegetsize: uint8_t getSize() const ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 33 :linenos: Gibt :ref:`textSize` aus. .. _externaltextboxvaluehasvalue: bool hasValue () const ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 34 :linenos: Gibt ``true`` zurück, falls :ref:`item` einen gültigen Wert besitzt oder wenn :ref:`isValueSet` gilt. Gibt ``false`` zurück, wenn keines von beiden der Fall ist, da :ref:`item` entweder der ``nullptr`` ist oder kein Wert gesetzt wurde. .. _externaltextboxvaluehasupdate: bool hasUpdate () const ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 35 :linenos: Prüft, ob es offene Änderungen gibt (:ref:`update`) oder nicht. .. _externaltextboxvalueresetupdate: void resetUpdate () ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 37 :linenos: Setzt :ref:`update` zurück, wenn keine offenen Änderungen bestehen. .. _externaltextboxvaluedraw: void draw (const uint8_t x, const uint8_t y, Display* disp) const ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 39-44 :linenos: Zeichnet :ref:`item` und/oder :ref:`value` auf das :ref:`Display` ``disp``. Die Parameter ``x`` und ``y`` repräsentieren X- und Y- Koordinaten auf dem Display. .. literalinclude:: ../../src/Elements/Textbox.h :lines: 41 Falls ein :ref:`item` existiert, wird dieses mittels :ref:`draw` Funktion auf ``disp`` an den angegebenen Koordinaten gezeichnet. .. literalinclude:: ../../src/Elements/Textbox.h :lines: 42 Sollte :ref:`isValueSet` ``true`` sein und ``textSize == 0`` sein, so wird mit dem :ref:`Text` Konstruktor ein :ref:`Text` Objekt erschaffen, dessen Textgröße durch ``sizeX`` und ``sizeY`` bestimmt wird. Dieses wird mit :ref:`draw` auf dem ``disp`` gezeichnet. .. literalinclude:: ../../src/Elements/Textbox.h :lines: 43 Wurde hingegen eine ``textSize != 0`` angegeben, so wird diese beim Aufruf des :ref:`Text` Konstruktor genutzt, um ein :ref:`Text` Objekt zu erschaffen, welches mit :ref:`draw` auf dem ``disp`` gezeichnet. .. _externaltextboxvaluesetitemitemstr: void setItem (char* itemStr) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 46 :linenos: Diese Funktion ruft die :ref:`createItem` Funktion auf, um aus dem als Parameter angegebenen ``itemStr`` ein :ref:`Item` Objekt zu erschaffen. Dieses Item wird beim Aufruf von :ref:`setItem` als Argument verwendet. .. _externaltextboxvaluesetitemitemstrcolor: void setItem (char* itemStr, const Color& color) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 47 :linenos: Diese Funktion ruft die :ref:`createItem` Funktion auf, um aus dem als Parameter angegebenen ``itemStr`` ein :ref:`Item` Objekt in einer festgelegten Farbe ``color`` zu erschaffen. Dieses Item wird beim Aufruf von :ref:`setItem` als Argument verwendet. .. _externaltextboxvaluesetitem_item: void setItem (Item* _item) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 48-52 :linenos: Diese Funktion löscht das :ref:`item` des Objektes und ersetzt es mit dem Wert des Parameters ``item``. Anders als bei dieser :ref:`setItem` Funktion, wird :ref:`update` angepasst und auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. .. _externaltextboxvaluesetvalue: void setValue (const char* _value) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 54-60 :linenos: Diese Funktion ersetzt :ref:`value` mit dem Wert des Parameters ``value``, wodurch :ref:`isValueSet` auf ``true`` gesetzt wird. Außerdem wird das :ref:`item` gelöscht und der Pointer auf den ``nullptr`` gerichtet, da wir nun ein neues :ref:`value` haben, welches nicht mehr mit dem alten :ref:`item` zusammenhängt. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. .. _externaltextboxvaluedelvalue: void delValue () ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 62-66 :linenos: Diese Funktion löscht den Wert des :ref:`value` und ersetzt ihn mit einem leeren String, wodurch :ref:`isValueSet` auf ``false`` gesetzt wird. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. .. _externaltextboxvaluesetcolor: void setColor (const Color& _color) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 68-71 :linenos: Diese Funktion ersetzt :ref:`color` mit dem Wert des Parameters ``color``. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. .. _externaltextboxvaluesetupxy: void setup(const uint8_t _sizeX, const uint8_t _sizeY) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 73-78 :linenos: Diese Funktion ersetzt :ref:`sizeX` und :ref:`sizeY` mit dem Wert der Parameter ``_sizeX`` bzw. ``_sizeY`` und setzt die :ref:`textSize` auf ``0``. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. Diese ``setup`` Funktion wird also verwendet, damit die ``textsize`` in der :ref:`draw` Funktion automatisch ermittelt wird. .. _externaltextboxvaluesetuptextsize: void setup(const uint8_t _textsize) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 80-85 :linenos: Diese Funktion setzt:ref:`sizeX` und :ref:`sizeY` auf ``0`` und ersetzt die :ref:`textSize` mit dem Wert des Parameters ``_textsize``. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. Diese ``setup`` Funktion wird also verwendet, damit die ``textsize`` in der :ref:`draw` Funktion nicht automatisch ermittelt wird. .. _externaltextboxvalueoperator: ExternalTextboxValue& operator+=(const char* str) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. literalinclude:: ../../src/Elements/Textbox.h :lines: 87-91 :linenos: Dieser Überladungsoperator wird genutzt, um ``str`` ``value`` anzuzufügen. Außerdem wird :ref:`update` auf ``true`` gesetzt, um zu vermerken, dass Änderungen vorliegen. Variablen und Konstanten Beschreibung ===================================== .. _externaltextboxvaluevitem: Item* item = nullptr ~~~~~~~~~~~~~~~~~~~~~~~~ Gibt das :ref:`Item` an, welches angezeigt werden soll. .. _externaltextboxvaluevvalue: std::string value = "" ~~~~~~~~~~~~~~~~~~~~~~~~ Gibt den Textinhalt an, welcher angezeigt werden soll. .. _externaltextboxvaluevupdate: 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. .. _externaltextboxvaluevisvalueset: bool isValueSet = false ~~~~~~~~~~~~~~~~~~~~~~~~ Gibt an, ob ein :ref:`value` angegeben ist (``isValueSet = true``) oder nicht (``isValueSet = false``). Standardmäßig ist :ref:`value` ein leerer String ``""``, weswegen ``isValueSet = false`` gilt. .. _externaltextboxvaluevsizex: uint8_t sizeX = 1 ~~~~~~~~~~~~~~~~~~~~~~~~ Gibt an, wie breit anzuzeigender Text sein soll. Standardmäßig gilt ``sizeX = 1``, da dies die kleinstmögliche Breite ist. .. _externaltextboxvaluevsizey: 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. .. _externaltextboxvaluevtextsize: uint8_t textsize = 0 ~~~~~~~~~~~~~~~~~~~~~~~~ Gibt die Textgröße des anzuzeigenden Textes an. Alternativ kann die Textgröße aus :ref:`sizeX` und :ref:`sizeY` bestimmt werden. .. _externaltextboxvaluevcolor: Color color = Color(0,0,0) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gibt die Farbe :ref:`Color` des :ref:`item` an.