From a0e035b18ca81d23d5744a38ff4a9c8b111ecebb Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 5 Nov 2018 23:29:27 +0800 Subject: Add cursor for text control. --- src/ui/controls/text_control.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/ui/controls/text_control.cpp') diff --git a/src/ui/controls/text_control.cpp b/src/ui/controls/text_control.cpp index 09bc29e1..785e7577 100644 --- a/src/ui/controls/text_control.cpp +++ b/src/ui/controls/text_control.cpp @@ -52,17 +52,24 @@ namespace cru::ui::controls void TextControl::SetSelectable(const bool is_selectable) { - if (!is_selectable) + if (is_selectable_ != is_selectable) { - if (is_selecting_) + if (!is_selectable) { - is_selecting_ = false; - GetWindow()->ReleaseCurrentMouseCapture(); + if (is_selecting_) + { + is_selecting_ = false; + GetWindow()->ReleaseCurrentMouseCapture(); + } + selected_range_ = std::nullopt; + Repaint(); } - selected_range_ = std::nullopt; - Repaint(); + is_selectable_ = is_selectable; + if (is_selectable) //TODO!!! + SetCursor(cursors::i_beam); + else + SetCursor(cursors::arrow); } - is_selectable_ = is_selectable; } void TextControl::SetSelectedRange(std::optional text_range) -- cgit v1.2.3