From 0e969842ccb1badc7689959c82208bd325cd01c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Nusser?= Date: Thu, 23 Mar 2017 12:22:00 +0100 Subject: New Toggle class which includes the basic functionality of CheckBox --- plugingui/checkbox.h | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) (limited to 'plugingui/checkbox.h') diff --git a/plugingui/checkbox.h b/plugingui/checkbox.h index f85c1d9..6627304 100644 --- a/plugingui/checkbox.h +++ b/plugingui/checkbox.h @@ -26,50 +26,24 @@ */ #pragma once -#include - -#include "widget.h" +#include "toggle.h" #include "texture.h" namespace GUI { -class CheckBox : public Widget { +class CheckBox : public Toggle { public: CheckBox(Widget *parent); virtual ~CheckBox() = default; - void setText(std::string text); - - // From Widget: - bool isFocusable() override { return true; } - bool catchMouse() override { return true; } - - bool checked(); - void setChecked(bool checked); - - Notifier stateChangedNotifier; - protected: // From Widget: virtual void repaintEvent(RepaintEvent* repaintEvent) override; - virtual void buttonEvent(ButtonEvent* buttonEvent) override; - virtual void keyEvent(KeyEvent* keyEvent) override; - virtual void mouseLeaveEvent() override; - virtual void mouseEnterEvent() override; private: - void internalSetChecked(bool checked); - Texture bg_on; Texture bg_off; Texture knob; - - bool state{false}; - bool middle{false}; - bool buttonDown{false}; - bool inCheckbox{false}; - - std::string _text; }; } // GUI:: -- cgit v1.2.3