diff --git a/components/Cursor.h b/components/Cursor.h index d3f0fec..e226a5f 100644 --- a/components/Cursor.h +++ b/components/Cursor.h @@ -90,7 +90,10 @@ public: void onKeyPress(int key) override { return; } - void setVisibility(bool visibility) { visibility_ = visibility; } + void setVisibility(bool visibility) { + if(visibility == visibility_) return; + visibility_ = visibility; + } bool isVisible() { return visibility_; } }; diff --git a/components/Editor.h b/components/Editor.h index 8e075ac..e9bc01e 100644 --- a/components/Editor.h +++ b/components/Editor.h @@ -12,7 +12,7 @@ class Editor : public BaseComponent { private: TextArea textArea_ = TextArea(0, 0, 0, 0); - Cursor cursor_; + Cursor cursor_ = Cursor(0, 0, false); std::string content_; RichText coloredContent_; std::string ruleName_; @@ -120,6 +120,8 @@ public: void setFocus(bool focusStatus) { BaseComponent::setFocus(focusStatus); cursor_.setVisibility(focusStatus); + + draw(); } void onKeyPress(int key) override {