From 385b667535b461f43a1fffc66543ac6892a2fd23 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 27 Nov 2023 20:59:41 +0300 Subject: [PATCH] Added Button::text property --- src/frontend/gui/controls.cpp | 18 +++++++++++++++++- src/frontend/gui/controls.h | 4 ++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/frontend/gui/controls.cpp b/src/frontend/gui/controls.cpp index 4f09573a..b9dba5f9 100644 --- a/src/frontend/gui/controls.cpp +++ b/src/frontend/gui/controls.cpp @@ -65,10 +65,26 @@ Button::Button(shared_ptr content, glm::vec4 padding) : Panel(vec2(32,32 Button::Button(wstring text, glm::vec4 padding) : Panel(vec2(32,32), padding, 0) { Label* label = new Label(text); label->align(Align::center); - add(shared_ptr(label)); + this->label = shared_ptr(label); + add(this->label); scrollable(false); } +void Button::text(std::wstring text) { + if (label) { + Label* label = (Label*)(this->label.get()); + label->text(text); + } +} + +wstring Button::text() const { + if (label) { + Label* label = (Label*)(this->label.get()); + return label->text(); + } + return L""; +} + void Button::drawBackground(Batch2D* batch, Assets* assets) { vec2 coord = calcCoord(); batch->texture(nullptr); diff --git a/src/frontend/gui/controls.h b/src/frontend/gui/controls.h index 0ef15269..fe558271 100644 --- a/src/frontend/gui/controls.h +++ b/src/frontend/gui/controls.h @@ -45,6 +45,7 @@ namespace gui { glm::vec4 hoverColor {0.05f, 0.1f, 0.15f, 0.75f}; glm::vec4 pressedColor {0.0f, 0.0f, 0.0f, 0.95f}; std::vector actions; + std::shared_ptr label = nullptr; public: Button(std::shared_ptr content, glm::vec4 padding=glm::vec4(2.0f)); Button(std::wstring text, glm::vec4 padding=glm::vec4(2.0f)); @@ -55,6 +56,9 @@ namespace gui { virtual void mouseRelease(GUI*, int x, int y) override; virtual Button* listenAction(onaction action); + + virtual void text(std::wstring text); + virtual std::wstring text() const; }; class TextBox : public Panel {