GCheckBox.h 905 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "GWidget.h"
  3. #include <AK/AKString.h>
  4. class GCheckBox final : public GWidget {
  5. public:
  6. explicit GCheckBox(GWidget* parent);
  7. virtual ~GCheckBox() override;
  8. String caption() const { return m_caption; }
  9. void set_caption(String&&);
  10. bool is_checked() const { return m_checked; }
  11. void set_checked(bool);
  12. private:
  13. virtual void paint_event(GPaintEvent&) override;
  14. virtual void mousedown_event(GMouseEvent&) override;
  15. virtual void mouseup_event(GMouseEvent&) override;
  16. virtual void mousemove_event(GMouseEvent&) override;
  17. virtual void keydown_event(GKeyEvent&) override;
  18. virtual const char* class_name() const override { return "GCheckBox"; }
  19. virtual bool accepts_focus() const override { return true; }
  20. String m_caption;
  21. bool m_checked { false };
  22. bool m_being_modified { false };
  23. bool m_tracking_cursor { false };
  24. };