From ada641977cd57a50fc862243ba256c58efc065b8 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 17 Feb 2022 18:32:52 +0800 Subject: ... --- src/theme_builder/components/Editor.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/theme_builder/components/Editor.h (limited to 'src/theme_builder/components/Editor.h') diff --git a/src/theme_builder/components/Editor.h b/src/theme_builder/components/Editor.h new file mode 100644 index 00000000..29809c82 --- /dev/null +++ b/src/theme_builder/components/Editor.h @@ -0,0 +1,25 @@ +#pragma once +#include "cru/common/Event.h" +#include "cru/ui/components/Component.h" + +namespace cru::theme_builder::components { +class Editor : public ui::components::Component { + public: + Editor() = default; + ~Editor() override = default; + + public: + IEvent* ChangeEvent() { return &change_event_; } + + protected: + void RaiseChangeEvent(); + void SuppressNextChangeEvent(); + void ConnectChangeEvent(IEvent* event); + void ConnectChangeEvent(Editor* editor); + void ConnectChangeEvent(Editor& editor) { ConnectChangeEvent(&editor); } + + private: + bool suppress_next_change_event_ = false; + Event change_event_; +}; +} // namespace cru::theme_builder::components -- cgit v1.2.3