summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-07-16 11:06:49 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2020-07-16 13:24:53 +0200
commitb1b95b80b54819ced62443d3c87ec6ced27f81a9 (patch)
treee31a282fa59222031f26f0012f07d17bec135d24 /vcl
parenta48ab89fe259d385f20a14f62c9cd9bc7b5b36e9 (diff)
Move SalInstanceTextView dect to header file
Change-Id: I779f860fec5203db3493663ff61d7b06167ff685 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98882 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/salvtables.hxx57
-rw-r--r--vcl/source/app/salvtables.cxx252
2 files changed, 175 insertions, 134 deletions
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index d5061b3e066c..cd82c840694f 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -1243,4 +1243,61 @@ public:
virtual ~SalInstanceToolbar() override;
};
+class SalInstanceTextView : public SalInstanceContainer, public virtual weld::TextView
+{
+private:
+ VclPtr<VclMultiLineEdit> m_xTextView;
+ Link<ScrollBar*, void> m_aOrigVScrollHdl;
+
+ DECL_LINK(ChangeHdl, Edit&, void);
+ DECL_LINK(VscrollHdl, ScrollBar*, void);
+ DECL_LINK(CursorListener, VclWindowEvent&, void);
+
+public:
+ SalInstanceTextView(VclMultiLineEdit* pTextView, SalInstanceBuilder* pBuilder,
+ bool bTakeOwnership);
+
+ virtual void set_text(const OUString& rText) override;
+
+ virtual void replace_selection(const OUString& rText) override;
+
+ virtual OUString get_text() const override;
+
+ bool get_selection_bounds(int& rStartPos, int& rEndPos) override;
+
+ virtual void 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;
+
+ virtual void set_monospace(bool bMonospace) override;
+
+ virtual void connect_cursor_position(const Link<TextView&, void>& rLink) override;
+
+ virtual bool can_move_cursor_with_up() const override;
+
+ virtual bool can_move_cursor_with_down() const override;
+
+ virtual void cut_clipboard() override;
+
+ virtual void copy_clipboard() override;
+
+ virtual void paste_clipboard() override;
+
+ virtual void set_alignment(TxtAlign eXAlign) override;
+
+ virtual int vadjustment_get_value() const override;
+
+ virtual void vadjustment_set_value(int value) override;
+
+ virtual int vadjustment_get_upper() const override;
+
+ virtual int vadjustment_get_lower() const override;
+
+ virtual int vadjustment_get_page_size() const override;
+
+ virtual ~SalInstanceTextView() override;
+};
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 74436a1644e9..3581b14a8afb 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -5448,164 +5448,148 @@ std::unique_ptr<weld::Label> SalInstanceFrame::weld_label_widget() const
return std::make_unique<SalInstanceLabel>(pLabel, m_pBuilder, false);
}
-namespace
-{
-class SalInstanceTextView : public SalInstanceContainer, public virtual weld::TextView
+SalInstanceTextView::SalInstanceTextView(VclMultiLineEdit* pTextView, SalInstanceBuilder* pBuilder,
+ bool bTakeOwnership)
+ : SalInstanceContainer(pTextView, pBuilder, bTakeOwnership)
+ , m_xTextView(pTextView)
{
-private:
- VclPtr<VclMultiLineEdit> m_xTextView;
- Link<ScrollBar*, void> m_aOrigVScrollHdl;
-
- DECL_LINK(ChangeHdl, Edit&, void);
- DECL_LINK(VscrollHdl, ScrollBar*, void);
- DECL_LINK(CursorListener, VclWindowEvent&, void);
+ m_xTextView->SetModifyHdl(LINK(this, SalInstanceTextView, ChangeHdl));
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ m_aOrigVScrollHdl = rVertScrollBar.GetScrollHdl();
+ rVertScrollBar.SetScrollHdl(LINK(this, SalInstanceTextView, VscrollHdl));
+}
-public:
- SalInstanceTextView(VclMultiLineEdit* pTextView, SalInstanceBuilder* pBuilder,
- bool bTakeOwnership)
- : SalInstanceContainer(pTextView, pBuilder, bTakeOwnership)
- , m_xTextView(pTextView)
- {
- m_xTextView->SetModifyHdl(LINK(this, SalInstanceTextView, ChangeHdl));
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- m_aOrigVScrollHdl = rVertScrollBar.GetScrollHdl();
- rVertScrollBar.SetScrollHdl(LINK(this, SalInstanceTextView, VscrollHdl));
- }
+void SalInstanceTextView::set_text(const OUString& rText)
+{
+ disable_notify_events();
+ m_xTextView->SetText(rText);
+ enable_notify_events();
+}
- virtual void set_text(const OUString& rText) override
- {
- disable_notify_events();
- m_xTextView->SetText(rText);
- enable_notify_events();
- }
+void SalInstanceTextView::replace_selection(const OUString& rText)
+{
+ disable_notify_events();
+ m_xTextView->ReplaceSelected(rText);
+ enable_notify_events();
+}
- virtual void replace_selection(const OUString& rText) override
- {
- disable_notify_events();
- m_xTextView->ReplaceSelected(rText);
- enable_notify_events();
- }
+OUString SalInstanceTextView::get_text() const { return m_xTextView->GetText(); }
- virtual OUString get_text() const override { return m_xTextView->GetText(); }
+bool SalInstanceTextView::get_selection_bounds(int& rStartPos, int& rEndPos)
+{
+ const Selection& rSelection = m_xTextView->GetSelection();
+ rStartPos = rSelection.Min();
+ rEndPos = rSelection.Max();
+ return rSelection.Len();
+}
- bool get_selection_bounds(int& rStartPos, int& rEndPos) override
- {
- const Selection& rSelection = m_xTextView->GetSelection();
- rStartPos = rSelection.Min();
- rEndPos = rSelection.Max();
- return rSelection.Len();
- }
+void SalInstanceTextView::select_region(int nStartPos, int nEndPos)
+{
+ disable_notify_events();
+ long nStart = nStartPos < 0 ? SELECTION_MAX : nStartPos;
+ long nEnd = nEndPos < 0 ? SELECTION_MAX : nEndPos;
+ m_xTextView->SetSelection(Selection(nStart, nEnd));
+ enable_notify_events();
+}
- virtual void select_region(int nStartPos, int nEndPos) override
- {
- disable_notify_events();
- long nStart = nStartPos < 0 ? SELECTION_MAX : nStartPos;
- long nEnd = nEndPos < 0 ? SELECTION_MAX : nEndPos;
- m_xTextView->SetSelection(Selection(nStart, nEnd));
- enable_notify_events();
- }
+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); }
- virtual void set_editable(bool bEditable) override { m_xTextView->SetReadOnly(!bEditable); }
- virtual bool get_editable() const override { return !m_xTextView->IsReadOnly(); }
- virtual void set_max_length(int nChars) override { m_xTextView->SetMaxTextLen(nChars); }
+void SalInstanceTextView::set_monospace(bool bMonospace)
+{
+ vcl::Font aOrigFont = m_xTextView->GetControlFont();
+ vcl::Font aFont;
+ if (bMonospace)
+ aFont = OutputDevice::GetDefaultFont(DefaultFontType::UI_FIXED, LANGUAGE_DONTKNOW,
+ GetDefaultFontFlags::OnlyOne, m_xTextView);
+ else
+ aFont = Application::GetSettings().GetStyleSettings().GetFieldFont();
+ aFont.SetFontHeight(aOrigFont.GetFontHeight());
+ m_xTextView->SetFont(aFont);
+ m_xTextView->SetControlFont(aFont);
+}
- virtual void set_monospace(bool bMonospace) override
- {
- vcl::Font aOrigFont = m_xTextView->GetControlFont();
- vcl::Font aFont;
- if (bMonospace)
- aFont = OutputDevice::GetDefaultFont(DefaultFontType::UI_FIXED, LANGUAGE_DONTKNOW,
- GetDefaultFontFlags::OnlyOne, m_xTextView);
- else
- aFont = Application::GetSettings().GetStyleSettings().GetFieldFont();
- aFont.SetFontHeight(aOrigFont.GetFontHeight());
- m_xTextView->SetFont(aFont);
- m_xTextView->SetControlFont(aFont);
- }
+void SalInstanceTextView::connect_cursor_position(const Link<TextView&, void>& rLink)
+{
+ assert(!m_aCursorPositionHdl.IsSet());
+ m_xTextView->AddEventListener(LINK(this, SalInstanceTextView, CursorListener));
+ weld::TextView::connect_cursor_position(rLink);
+}
- virtual void connect_cursor_position(const Link<TextView&, void>& rLink) override
- {
- assert(!m_aCursorPositionHdl.IsSet());
- m_xTextView->AddEventListener(LINK(this, SalInstanceTextView, CursorListener));
- weld::TextView::connect_cursor_position(rLink);
- }
+bool SalInstanceTextView::can_move_cursor_with_up() const
+{
+ bool bNoSelection = !m_xTextView->GetSelection();
+ return !bNoSelection || m_xTextView->CanUp();
+}
- virtual bool can_move_cursor_with_up() const override
- {
- bool bNoSelection = !m_xTextView->GetSelection();
- return !bNoSelection || m_xTextView->CanUp();
- }
+bool SalInstanceTextView::can_move_cursor_with_down() const
+{
+ bool bNoSelection = !m_xTextView->GetSelection();
+ return !bNoSelection || m_xTextView->CanDown();
+}
- virtual bool can_move_cursor_with_down() const override
- {
- bool bNoSelection = !m_xTextView->GetSelection();
- return !bNoSelection || m_xTextView->CanDown();
- }
+void SalInstanceTextView::cut_clipboard()
+{
+ m_xTextView->Cut();
+}
- virtual void cut_clipboard() override
- {
- m_xTextView->Cut();
- }
+void SalInstanceTextView::copy_clipboard()
+{
+ m_xTextView->Copy();
+}
- virtual void copy_clipboard() override
- {
- m_xTextView->Copy();
- }
+void SalInstanceTextView::paste_clipboard()
+{
+ m_xTextView->Paste();
+}
- virtual void paste_clipboard() override
- {
- m_xTextView->Paste();
- }
+void SalInstanceTextView::set_alignment(TxtAlign eXAlign)
+{
+ ::set_alignment(*m_xTextView, eXAlign);
+}
- virtual void set_alignment(TxtAlign eXAlign) override
- {
- ::set_alignment(*m_xTextView, eXAlign);
- }
+int SalInstanceTextView::vadjustment_get_value() const
+{
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ return rVertScrollBar.GetThumbPos();
+}
- virtual int vadjustment_get_value() const override
- {
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- return rVertScrollBar.GetThumbPos();
- }
+void SalInstanceTextView::vadjustment_set_value(int value)
+{
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ rVertScrollBar.SetThumbPos(value);
+ m_aOrigVScrollHdl.Call(&rVertScrollBar);
+}
- virtual void vadjustment_set_value(int value) override
- {
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- rVertScrollBar.SetThumbPos(value);
- m_aOrigVScrollHdl.Call(&rVertScrollBar);
- }
+int SalInstanceTextView::vadjustment_get_upper() const
+{
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ return rVertScrollBar.GetRangeMax();
+}
- virtual int vadjustment_get_upper() const override
- {
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- return rVertScrollBar.GetRangeMax();
- }
+int SalInstanceTextView::vadjustment_get_lower() const
+{
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ return rVertScrollBar.GetRangeMin();
+}
- virtual int vadjustment_get_lower() const override
- {
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- return rVertScrollBar.GetRangeMin();
- }
+int SalInstanceTextView::vadjustment_get_page_size() const
+{
+ ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
+ return rVertScrollBar.GetVisibleSize();
+}
- virtual int vadjustment_get_page_size() const override
+SalInstanceTextView::~SalInstanceTextView()
+{
+ if (!m_xTextView->IsDisposed())
{
+ if (m_aCursorPositionHdl.IsSet())
+ m_xTextView->RemoveEventListener(LINK(this, SalInstanceTextView, CursorListener));
+ m_xTextView->SetModifyHdl(Link<Edit&, void>());
ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- return rVertScrollBar.GetVisibleSize();
- }
-
- virtual ~SalInstanceTextView() override
- {
- if (!m_xTextView->IsDisposed())
- {
- if (m_aCursorPositionHdl.IsSet())
- m_xTextView->RemoveEventListener(LINK(this, SalInstanceTextView, CursorListener));
- m_xTextView->SetModifyHdl(Link<Edit&, void>());
- ScrollBar& rVertScrollBar = m_xTextView->GetVScrollBar();
- rVertScrollBar.SetScrollHdl(m_aOrigVScrollHdl);
- }
+ rVertScrollBar.SetScrollHdl(m_aOrigVScrollHdl);
}
-};
-
}
IMPL_LINK(SalInstanceTextView, VscrollHdl, ScrollBar*, pScrollBar, void)