libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
checkbox.h
Go to the documentation of this file.
1
8#pragma once
9
10#include <promeki/namespace.h>
11#include <promeki/string.h>
12#include <promeki/tui/widget.h>
13
14PROMEKI_NAMESPACE_BEGIN
15
27class TuiCheckBox : public TuiWidget {
28 PROMEKI_OBJECT(TuiCheckBox, TuiWidget)
29 public:
30 TuiCheckBox(const String &text = String(), ObjectBase *parent = nullptr);
31 ~TuiCheckBox() override;
32
33 void setText(const String &text);
34 const String &text() const { return _text; }
35
36 bool isChecked() const { return _checked; }
37 void setChecked(bool checked);
38
39 void toggle();
40
41 Size2Di32 sizeHint() const override;
42
43 PROMEKI_SIGNAL(toggled, bool)
44
45 protected:
46 void paintEvent(PaintEvent *e) override;
47 void keyPressEvent(KeyEvent *e) override;
48 void mouseEvent(MouseEvent *e) override;
49 void focusInEvent(Event *e) override;
50 void focusOutEvent(Event *e) override;
51
52 private:
53 String _text;
54 bool _checked = false;
55};
56
57PROMEKI_NAMESPACE_END
Toggleable checkbox with text label.
Definition checkbox.h:27
TUI-specific widget base class.
Definition widget.h:33