diff --git a/src/ESPUI.cpp b/src/ESPUI.cpp index 858d291..497937e 100644 --- a/src/ESPUI.cpp +++ b/src/ESPUI.cpp @@ -500,7 +500,7 @@ void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventTyp } } -uint16_t ESPUIClass::addControl(ControlType type, const char *label, String value, ControlColor color, uint16_t parentControl, +uint16_t ESPUIClass::addControl(ControlType type, const char *label, const String& value, ControlColor color, uint16_t parentControl, void (*callback)(Control *, int)) { Control *control = new Control(type, label, callback, value, color, parentControl); @@ -571,7 +571,7 @@ bool ESPUIClass::removeControl(uint16_t id, bool force_reload_ui) return false; } -uint16_t ESPUIClass::label(const char *label, ControlColor color, String value) { return addControl(ControlType::Label, label, value, color); } +uint16_t ESPUIClass::label(const char *label, ControlColor color, const String& value) { return addControl(ControlType::Label, label, value, color); } uint16_t ESPUIClass::graph(const char *label, ControlColor color) { return addControl(ControlType::Graph, label, "", color); } @@ -584,7 +584,7 @@ uint16_t ESPUIClass::slider(const char *label, void (*callback)(Control *, int), return sliderId; } -uint16_t ESPUIClass::button(const char *label, void (*callback)(Control *, int), ControlColor color, String value) +uint16_t ESPUIClass::button(const char *label, void (*callback)(Control *, int), ControlColor color, const String& value) { return addControl(ControlType::Button, label, value, color, Control::noParent, callback); } @@ -624,7 +624,7 @@ uint16_t ESPUIClass::accelerometer(const char *label, void (*callback)(Control * return addControl(ControlType::Accel, label, "", color, Control::noParent, callback); } -uint16_t ESPUIClass::text(const char *label, void (*callback)(Control *, int), ControlColor color, String value) +uint16_t ESPUIClass::text(const char *label, void (*callback)(Control *, int), ControlColor color, const String& value) { return addControl(ControlType::Text, label, value, color, Control::noParent, callback); } @@ -713,7 +713,7 @@ void ESPUIClass::updateControl(uint16_t id, int clientId) updateControl(control, clientId); } -void ESPUIClass::updateControlValue(Control *control, String value, int clientId) +void ESPUIClass::updateControlValue(Control *control, const String& value, int clientId) { if (!control) { @@ -724,7 +724,7 @@ void ESPUIClass::updateControlValue(Control *control, String value, int clientId updateControl(control, clientId); } -void ESPUIClass::updateControlValue(uint16_t id, String value, int clientId) +void ESPUIClass::updateControlValue(uint16_t id, const String& value, int clientId) { Control *control = getControl(id); @@ -740,9 +740,9 @@ void ESPUIClass::updateControlValue(uint16_t id, String value, int clientId) updateControlValue(control, value, clientId); } -void ESPUIClass::print(uint16_t id, String value) { updateControlValue(id, value); } +void ESPUIClass::print(uint16_t id, const String& value) { updateControlValue(id, value); } -void ESPUIClass::updateLabel(uint16_t id, String value) { updateControlValue(id, value); } +void ESPUIClass::updateLabel(uint16_t id, const String& value) { updateControlValue(id, value); } void ESPUIClass::updateSlider(uint16_t id, int nValue, int clientId) { updateControlValue(id, String(nValue), clientId); } @@ -750,9 +750,9 @@ void ESPUIClass::updateSwitcher(uint16_t id, bool nValue, int clientId) { update void ESPUIClass::updateNumber(uint16_t id, int number, int clientId) { updateControlValue(id, String(number), clientId); } -void ESPUIClass::updateText(uint16_t id, String text, int clientId) { updateControlValue(id, text, clientId); } +void ESPUIClass::updateText(uint16_t id, const String& text, int clientId) { updateControlValue(id, text, clientId); } -void ESPUIClass::updateSelect(uint16_t id, String text, int clientId) { updateControlValue(id, text, clientId); } +void ESPUIClass::updateSelect(uint16_t id, const String& text, int clientId) { updateControlValue(id, text, clientId); } void ESPUIClass::updateGauge(uint16_t id, int number, int clientId) { updateControlValue(id, String(number), clientId); } diff --git a/src/ESPUI.h b/src/ESPUI.h index a491330..0487439 100644 --- a/src/ESPUI.h +++ b/src/ESPUI.h @@ -140,7 +140,7 @@ public: static constexpr uint16_t noParent = 0xffff; - Control(ControlType type, const char *label, void (*callback)(Control *, int), String value, ControlColor color, + Control(ControlType type, const char *label, void (*callback)(Control *, int), const String& value, ControlColor color, uint16_t parentControl = Control::noParent) : type(type), label(label), callback(callback), value(value), color(color), parentControl(parentControl), next(nullptr) { @@ -206,11 +206,11 @@ public: void prepareFileSystem(); // Initially preps the filesystem and loads a lot of stuff into SPIFFS void list(); // Lists SPIFFS directory - uint16_t addControl(ControlType type, const char *label, String value = String(""), ControlColor color = ControlColor::Turquoise, uint16_t parentControl = Control::noParent, void (*callback)(Control *, int) = nullptr); + uint16_t addControl(ControlType type, const char *label, const String& value = String(""), ControlColor color = ControlColor::Turquoise, uint16_t parentControl = Control::noParent, void (*callback)(Control *, int) = nullptr); bool removeControl(uint16_t id, bool force_reload_ui = false); // create Elements - uint16_t button(const char *label, void (*callback)(Control *, int), ControlColor color, String value = ""); // Create Event Button + uint16_t button(const char *label, void (*callback)(Control *, int), ControlColor color, const String& value = ""); // Create Event Button uint16_t switcher(const char *label, void (*callback)(Control *, int), ControlColor color, bool startState = false); // Create Toggle Button uint16_t pad(const char *label, void (*callback)(Control *, int), ControlColor color); // Create Pad Control uint16_t padWithCenter(const char *label, void (*callback)(Control *, int), ControlColor color); // Create Pad Control with Centerbutton @@ -219,10 +219,10 @@ public: int max = 100); // Create Slider Control uint16_t number(const char *label, void (*callback)(Control *, int), ControlColor color, int value, int min = 0, int max = 100); // Create a Number Input Control - uint16_t text(const char *label, void (*callback)(Control *, int), ControlColor color, String value = ""); // Create a Text Input Control + uint16_t text(const char *label, void (*callback)(Control *, int), ControlColor color, const String& value = ""); // Create a Text Input Control // Output only - uint16_t label(const char *label, ControlColor color, String value = ""); // Create Label + uint16_t label(const char *label, ControlColor color, const String& value = ""); // Create Label uint16_t graph(const char *label, ControlColor color); // Create Graph display uint16_t gauge(const char *label, ControlColor color, int value, int min = 0, int max = 100); // Create Gauge display @@ -234,19 +234,19 @@ public: Control *getControl(uint16_t id); // Update Elements - void updateControlValue(uint16_t id, String value, int clientId = -1); - void updateControlValue(Control *control, String value, int clientId = -1); + void updateControlValue(uint16_t id, const String& value, int clientId = -1); + void updateControlValue(Control *control, const String& value, int clientId = -1); void updateControl(uint16_t id, int clientId = -1); void updateControl(Control *control, int clientId = -1); - void print(uint16_t id, String value); - void updateLabel(uint16_t id, String value); + void print(uint16_t id, const String& value); + void updateLabel(uint16_t id, const String& value); void updateSwitcher(uint16_t id, bool nValue, int clientId = -1); void updateSlider(uint16_t id, int nValue, int clientId = -1); void updateNumber(uint16_t id, int nValue, int clientId = -1); - void updateText(uint16_t id, String nValue, int clientId = -1); - void updateSelect(uint16_t id, String nValue, int clientId = -1); + void updateText(uint16_t id, const String& nValue, int clientId = -1); + void updateSelect(uint16_t id, const String& nValue, int clientId = -1); void updateGauge(uint16_t id, int number, int clientId); void clearGraph(uint16_t id, int clientId = -1);