From d91fd33ffd0b7f10c2b78a5970f54ae01261c123 Mon Sep 17 00:00:00 2001 From: ali kettab Date: Sun, 22 Oct 2023 19:57:48 +0100 Subject: [PATCH] Implement wxTextCtrl::{Set,Is}Editable() under wxQt --- include/wx/qt/textctrl.h | 3 +++ src/qt/textctrl.cpp | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/wx/qt/textctrl.h b/include/wx/qt/textctrl.h index 5c846a3f6d..7b24c03773 100644 --- a/include/wx/qt/textctrl.h +++ b/include/wx/qt/textctrl.h @@ -76,6 +76,9 @@ public: virtual void EmptyUndoBuffer() override; + virtual bool IsEditable() const override; + virtual void SetEditable(bool editable) override; + virtual wxString DoGetValue() const override; virtual void DoSetValue(const wxString &text, int flags = 0) override; virtual void WriteText(const wxString& text) override; diff --git a/src/qt/textctrl.cpp b/src/qt/textctrl.cpp index 0d69af970b..c1e59da2b5 100644 --- a/src/qt/textctrl.cpp +++ b/src/qt/textctrl.cpp @@ -816,6 +816,24 @@ void wxTextCtrl::EmptyUndoBuffer() m_qtEdit->EmptyUndoBuffer(); } +bool wxTextCtrl::IsEditable() const +{ + return HasFlag(wxTE_READONLY); +} + +void wxTextCtrl::SetEditable(bool editable) +{ + long flags = GetWindowStyle(); + + if ( editable ) + flags &= ~wxTE_READONLY; + else + flags |= wxTE_READONLY; + + SetWindowStyle(flags); + m_qtEdit->SetStyleFlags(flags); +} + void wxTextCtrl::SetInsertionPoint(long pos) { m_qtEdit->SetInsertionPoint(pos);