vcl/inc/salvtables.hxx        |   16 ++++------------
 vcl/source/app/salvtables.cxx |   33 +++++++++++----------------------
 2 files changed, 15 insertions(+), 34 deletions(-)

New commits:
commit f7b52d3e90256121ab9df5ff5a84b1373bee250e
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Jan 21 14:26:52 2026 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Thu Jan 22 12:27:16 2026 +0100

    vcl weld: Deduplicate TextWidget::do_select_region impls
    
    The SalInstanceTextView and SalInstanceEntry
    implementations are equivalent. Deduplicate
    them by moving the logic to the shared
    SalInstanceTextWidget base class.
    
    Change-Id: I6cc75b0a362d65c1b5ae36fdb4d739bb4142897d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197748
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index 2bfa1dadcfa0..6a1a51a3f25d 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -624,6 +624,7 @@ public:
 protected:
     virtual void do_set_text(const OUString& rText) override;
     virtual void do_set_position(int nCursorPos) override;
+    virtual void do_select_region(int nStartPos, int nEndPos) override;
 };
 
 class SalInstanceEntry : public SalInstanceTextWidget, public virtual 
weld::Entry
@@ -645,8 +646,6 @@ public:
 
     virtual void set_max_length(int nChars) override;
 
-    virtual void do_select_region(int nStartPos, int nEndPos) override;
-
     bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
 
     virtual void do_replace_selection(const OUString& rText) override;
@@ -1440,8 +1439,6 @@ public:
 
     bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
 
-    virtual void do_select_region(int nStartPos, int nEndPos) override;
-
     virtual void set_editable(bool bEditable) override;
     virtual bool get_editable() const override;
     virtual void set_max_length(int nChars) override;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index f49b0c805b00..203c923be127 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -3324,6 +3324,13 @@ void SalInstanceTextWidget::do_set_position(int 
nCursorPos)
 
 int SalInstanceTextWidget::get_position() const { return 
m_pEntry->GetSelection().Max(); }
 
+void SalInstanceTextWidget::do_select_region(int nStartPos, int nEndPos)
+{
+    tools::Long nStart = nStartPos < 0 ? SELECTION_MAX : nStartPos;
+    tools::Long nEnd = nEndPos < 0 ? SELECTION_MAX : nEndPos;
+    m_pEntry->SetSelection(Selection(nStart, nEnd));
+}
+
 SalInstanceEntry::SalInstanceEntry(Edit* pEntry, SalInstanceBuilder* pBuilder, 
bool bTakeOwnership)
     : SalInstanceTextWidget(pEntry, pBuilder, bTakeOwnership)
     , m_xEntry(pEntry)
@@ -3340,13 +3347,6 @@ int SalInstanceEntry::get_width_chars() const { return 
m_xEntry->GetWidthInChars
 
 void SalInstanceEntry::set_max_length(int nChars) { 
m_xEntry->SetMaxTextLen(nChars); }
 
-void SalInstanceEntry::do_select_region(int nStartPos, int nEndPos)
-{
-    tools::Long nStart = nStartPos < 0 ? SELECTION_MAX : nStartPos;
-    tools::Long nEnd = nEndPos < 0 ? SELECTION_MAX : nEndPos;
-    m_xEntry->SetSelection(Selection(nStart, nEnd));
-}
-
 bool SalInstanceEntry::get_selection_bounds(int& rStartPos, int& rEndPos)
 {
     const Selection& rSelection = m_xEntry->GetSelection();
@@ -5635,13 +5635,6 @@ bool SalInstanceTextView::get_selection_bounds(int& 
rStartPos, int& rEndPos)
     return rSelection.Len();
 }
 
-void SalInstanceTextView::do_select_region(int nStartPos, int nEndPos)
-{
-    tools::Long nStart = nStartPos < 0 ? SELECTION_MAX : nStartPos;
-    tools::Long nEnd = nEndPos < 0 ? SELECTION_MAX : nEndPos;
-    m_xTextView->SetSelection(Selection(nStart, nEnd));
-}
-
 void SalInstanceTextView::set_editable(bool bEditable) { 
m_xTextView->SetReadOnly(!bEditable); }
 bool SalInstanceTextView::get_editable() const { return 
!m_xTextView->IsReadOnly(); }
 void SalInstanceTextView::set_max_length(int nChars) { 
m_xTextView->SetMaxTextLen(nChars); }
commit 88d7af7b6ab844bd986bc7ec78482d63e6fd8b42
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Jan 21 14:21:52 2026 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Thu Jan 22 12:27:08 2026 +0100

    vcl weld: Deduplicate TextWidget::{g,do_s}et_text impls
    
    The SalInstanceTextView and SalInstanceEntry
    implementations are equivalent. Deduplicate
    them by moving the logic to the shared
    SalInstanceTextWidget base class.
    
    Change-Id: Ic056be076b0a13fbc0e08dc3e6b87b8349ab6e5c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197747
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index b53458a64be9..2bfa1dadcfa0 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -617,9 +617,12 @@ public:
 
     virtual void connect_cursor_position(const Link<TextWidget&, void>& rLink) 
override;
 
+    virtual OUString get_text() const override;
+
     virtual int get_position() const override;
 
 protected:
+    virtual void do_set_text(const OUString& rText) override;
     virtual void do_set_position(int nCursorPos) override;
 };
 
@@ -636,10 +639,6 @@ private:
 public:
     SalInstanceEntry(::Edit* pEntry, SalInstanceBuilder* pBuilder, bool 
bTakeOwnership);
 
-    virtual void do_set_text(const OUString& rText) override;
-
-    virtual OUString get_text() const override;
-
     virtual void set_width_chars(int nChars) override;
 
     virtual int get_width_chars() const override;
@@ -1437,12 +1436,8 @@ public:
     SalInstanceTextView(VclMultiLineEdit* pTextView, SalInstanceBuilder* 
pBuilder,
                         bool bTakeOwnership);
 
-    virtual void do_set_text(const OUString& rText) override;
-
     virtual void do_replace_selection(const OUString& rText) override;
 
-    virtual OUString get_text() const override;
-
     bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
 
     virtual void do_select_region(int nStartPos, int nEndPos) override;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index b415171a9c16..f49b0c805b00 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -3313,6 +3313,10 @@ void 
SalInstanceTextWidget::connect_cursor_position(const Link<TextWidget&, void
     weld::TextWidget::connect_cursor_position(rLink);
 }
 
+void SalInstanceTextWidget::do_set_text(const OUString& rText) { 
m_pEntry->SetText(rText); }
+
+OUString SalInstanceTextWidget::get_text() const { return m_pEntry->GetText(); 
}
+
 void SalInstanceTextWidget::do_set_position(int nCursorPos)
 {
     m_pEntry->SetSelection(Selection(nCursorPos, nCursorPos));
@@ -3330,10 +3334,6 @@ SalInstanceEntry::SalInstanceEntry(Edit* pEntry, 
SalInstanceBuilder* pBuilder, b
     m_xEntry->SetTextFilter(&m_aTextFilter);
 }
 
-void SalInstanceEntry::do_set_text(const OUString& rText) { 
m_xEntry->SetText(rText); }
-
-OUString SalInstanceEntry::get_text() const { return m_xEntry->GetText(); }
-
 void SalInstanceEntry::set_width_chars(int nChars) { 
m_xEntry->SetWidthInChars(nChars); }
 
 int SalInstanceEntry::get_width_chars() const { return 
m_xEntry->GetWidthInChars(); }
@@ -5622,15 +5622,11 @@ 
SalInstanceTextView::SalInstanceTextView(VclMultiLineEdit* pTextView, SalInstanc
     rVertScrollBar.SetScrollHdl(LINK(this, SalInstanceTextView, VscrollHdl));
 }
 
-void SalInstanceTextView::do_set_text(const OUString& rText) { 
m_xTextView->SetText(rText); }
-
 void SalInstanceTextView::do_replace_selection(const OUString& rText)
 {
     m_xTextView->ReplaceSelected(rText);
 }
 
-OUString SalInstanceTextView::get_text() const { return 
m_xTextView->GetText(); }
-
 bool SalInstanceTextView::get_selection_bounds(int& rStartPos, int& rEndPos)
 {
     const Selection& rSelection = m_xTextView->GetSelection();

Reply via email to