From 3eee5daaf9535f064d37c31c118ca93576571933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Nusser?= Date: Fri, 8 Jun 2018 12:02:25 +0200 Subject: Move LabeledControl to own file (finally). --- plugingui/humanizerframecontent.h | 52 +-------------------------------------- 1 file changed, 1 insertion(+), 51 deletions(-) (limited to 'plugingui/humanizerframecontent.h') diff --git a/plugingui/humanizerframecontent.h b/plugingui/humanizerframecontent.h index cb7a7f4..8286116 100644 --- a/plugingui/humanizerframecontent.h +++ b/plugingui/humanizerframecontent.h @@ -27,66 +27,16 @@ #pragma once #include "knob.h" -#include "label.h" +#include "labeledcontrol.h" #include "layout.h" #include "widget.h" -#include -#include - struct Settings; class SettingsNotifier; namespace GUI { -// TODO move this to an own file? -class LabeledControl - : public Widget -{ -public: - LabeledControl(Widget* parent, const std::string& name) - : Widget(parent) - { - layout.setResizeChildren(false); - layout.setHAlignment(HAlignment::center); - layout.setSpacing(2); - - caption.setText(name); - caption.resize(100, 20); - caption.setAlignment(TextAlignment::center); - layout.addItem(&caption); - } - - void setControl(Knob* control) - { - layout.addItem(control); - - CONNECT(control, valueChangedNotifier, this, &LabeledControl::setValue); - setValue(control->value()); - value.resize(100, 20); - value.setAlignment(TextAlignment::center); - layout.addItem(&value); - } - - float offset{0.0f}; - float scale{1.0f}; - -private: - VBoxLayout layout{this}; - Label caption{this}; - Label value{this}; - - void setValue(float new_value) - { - new_value *= scale; - new_value += offset; - std::stringstream stream; - stream << std::fixed << std::setprecision(2) << new_value; - value.setText(stream.str()); - } -}; - class HumanizerframeContent : public Widget { -- cgit v1.2.3