vcl/inc/jsdialog/jsdialogbuilder.hxx | 1 vcl/inc/salvtables.hxx | 54 ++++ vcl/jsdialog/executor.cxx | 22 + vcl/jsdialog/jsdialogbuilder.cxx | 12 vcl/source/app/salvtables.cxx | 438 +++++++++++++++++------------------ 5 files changed, 304 insertions(+), 223 deletions(-)
New commits: commit b9484dfdc2545a1c8eb954b260b5e122d1ede56c Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Thu Mar 9 14:17:23 2023 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Tue Mar 21 07:18:06 2023 +0000 Move SalInstanceScrolledWindow declaration to header file Change-Id: I8848358cf04ad0298867903350476f1f3b38b7da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148608 Tested-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149160 Tested-by: Jenkins diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 1bbf37b4f7fb..3c421fc89c90 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -2108,4 +2108,58 @@ public: virtual void set_image(const css::uno::Reference<css::graphic::XGraphic>& rImage) override; }; +class SalInstanceScrolledWindow : public SalInstanceContainer, public virtual weld::ScrolledWindow +{ +private: + VclPtr<VclScrolledWindow> m_xScrolledWindow; + Link<ScrollBar*, void> m_aOrigVScrollHdl; + Link<ScrollBar*, void> m_aOrigHScrollHdl; + bool m_bUserManagedScrolling; + + DECL_LINK(VscrollHdl, ScrollBar*, void); + DECL_LINK(HscrollHdl, ScrollBar*, void); + + static void customize_scrollbars(ScrollBar& rScrollBar, const Color& rButtonTextColor, + const Color& rBackgroundColor, const Color& rShadowColor, + const Color& rFaceColor); + +public: + SalInstanceScrolledWindow(VclScrolledWindow* pScrolledWindow, SalInstanceBuilder* pBuilder, + bool bTakeOwnership, bool bUserManagedScrolling); + + virtual void hadjustment_configure(int value, int lower, int upper, int step_increment, + int page_increment, int page_size) override; + virtual int hadjustment_get_value() const override; + virtual void hadjustment_set_value(int value) override; + virtual int hadjustment_get_upper() const override; + virtual void hadjustment_set_upper(int upper) override; + virtual int hadjustment_get_page_size() const override; + virtual void hadjustment_set_page_size(int size) override; + virtual void hadjustment_set_page_increment(int size) override; + virtual void hadjustment_set_step_increment(int size) override; + virtual void set_hpolicy(VclPolicyType eHPolicy) override; + virtual VclPolicyType get_hpolicy() const override; + + virtual void vadjustment_configure(int value, int lower, int upper, int step_increment, + int page_increment, int page_size) override; + virtual int vadjustment_get_value() const override; + virtual void vadjustment_set_value(int value) override; + virtual int vadjustment_get_upper() const override; + virtual void vadjustment_set_upper(int upper) override; + virtual int vadjustment_get_lower() const override; + virtual void vadjustment_set_lower(int lower) override; + virtual int vadjustment_get_page_size() const override; + virtual void vadjustment_set_page_size(int size) override; + virtual void vadjustment_set_page_increment(int size) override; + virtual void vadjustment_set_step_increment(int size) override; + + virtual void set_vpolicy(VclPolicyType eVPolicy) override; + virtual VclPolicyType get_vpolicy() const override; + virtual int get_scroll_thickness() const override; + virtual void set_scroll_thickness(int nThickness) override; + virtual void customize_scrollbars(const Color& rBackgroundColor, const Color& rShadowColor, + const Color& rFaceColor) override; + virtual ~SalInstanceScrolledWindow() 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 61fa56dd3223..4a31b3d2cd3d 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -2247,257 +2247,251 @@ public: virtual int get_position() const override { return m_xPaned->get_position(); } }; +} -class SalInstanceScrolledWindow : public SalInstanceContainer, public virtual weld::ScrolledWindow -{ -private: - VclPtr<VclScrolledWindow> m_xScrolledWindow; - Link<ScrollBar*, void> m_aOrigVScrollHdl; - Link<ScrollBar*, void> m_aOrigHScrollHdl; - bool m_bUserManagedScrolling; - - DECL_LINK(VscrollHdl, ScrollBar*, void); - DECL_LINK(HscrollHdl, ScrollBar*, void); - - static void customize_scrollbars(ScrollBar& rScrollBar, const Color& rButtonTextColor, - const Color& rBackgroundColor, const Color& rShadowColor, - const Color& rFaceColor) - { - rScrollBar.EnableNativeWidget(false); - AllSettings aSettings = rScrollBar.GetSettings(); - StyleSettings aStyleSettings = aSettings.GetStyleSettings(); - aStyleSettings.SetButtonTextColor(rButtonTextColor); - aStyleSettings.SetCheckedColor(rBackgroundColor); // background - aStyleSettings.SetShadowColor(rShadowColor); - aStyleSettings.SetFaceColor(rFaceColor); - aSettings.SetStyleSettings(aStyleSettings); - rScrollBar.SetSettings(aSettings); - } - -public: - SalInstanceScrolledWindow(VclScrolledWindow* pScrolledWindow, SalInstanceBuilder* pBuilder, - bool bTakeOwnership, bool bUserManagedScrolling) - : SalInstanceContainer(pScrolledWindow, pBuilder, bTakeOwnership) - , m_xScrolledWindow(pScrolledWindow) - , m_bUserManagedScrolling(bUserManagedScrolling) - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - m_aOrigVScrollHdl = rVertScrollBar.GetScrollHdl(); - rVertScrollBar.SetScrollHdl(LINK(this, SalInstanceScrolledWindow, VscrollHdl)); - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - m_aOrigHScrollHdl = rHorzScrollBar.GetScrollHdl(); - rHorzScrollBar.SetScrollHdl(LINK(this, SalInstanceScrolledWindow, HscrollHdl)); - m_xScrolledWindow->setUserManagedScrolling(m_bUserManagedScrolling); - } +void SalInstanceScrolledWindow::customize_scrollbars(ScrollBar& rScrollBar, + const Color& rButtonTextColor, + const Color& rBackgroundColor, + const Color& rShadowColor, + const Color& rFaceColor) +{ + rScrollBar.EnableNativeWidget(false); + AllSettings aSettings = rScrollBar.GetSettings(); + StyleSettings aStyleSettings = aSettings.GetStyleSettings(); + aStyleSettings.SetButtonTextColor(rButtonTextColor); + aStyleSettings.SetCheckedColor(rBackgroundColor); // background + aStyleSettings.SetShadowColor(rShadowColor); + aStyleSettings.SetFaceColor(rFaceColor); + aSettings.SetStyleSettings(aStyleSettings); + rScrollBar.SetSettings(aSettings); +} + +SalInstanceScrolledWindow::SalInstanceScrolledWindow(VclScrolledWindow* pScrolledWindow, + SalInstanceBuilder* pBuilder, + bool bTakeOwnership, + bool bUserManagedScrolling) + : SalInstanceContainer(pScrolledWindow, pBuilder, bTakeOwnership) + , m_xScrolledWindow(pScrolledWindow) + , m_bUserManagedScrolling(bUserManagedScrolling) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + m_aOrigVScrollHdl = rVertScrollBar.GetScrollHdl(); + rVertScrollBar.SetScrollHdl(LINK(this, SalInstanceScrolledWindow, VscrollHdl)); + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + m_aOrigHScrollHdl = rHorzScrollBar.GetScrollHdl(); + rHorzScrollBar.SetScrollHdl(LINK(this, SalInstanceScrolledWindow, HscrollHdl)); + m_xScrolledWindow->setUserManagedScrolling(m_bUserManagedScrolling); +} - virtual void hadjustment_configure(int value, int lower, int upper, int step_increment, - int page_increment, int page_size) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - rHorzScrollBar.SetRangeMin(lower); - rHorzScrollBar.SetRangeMax(upper); - rHorzScrollBar.SetLineSize(step_increment); - rHorzScrollBar.SetPageSize(page_increment); - rHorzScrollBar.SetThumbPos(value); - rHorzScrollBar.SetVisibleSize(page_size); - } +void SalInstanceScrolledWindow::hadjustment_configure(int value, int lower, int upper, + int step_increment, int page_increment, + int page_size) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + rHorzScrollBar.SetRangeMin(lower); + rHorzScrollBar.SetRangeMax(upper); + rHorzScrollBar.SetLineSize(step_increment); + rHorzScrollBar.SetPageSize(page_increment); + rHorzScrollBar.SetThumbPos(value); + rHorzScrollBar.SetVisibleSize(page_size); +} - virtual int hadjustment_get_value() const override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.GetThumbPos(); - } +int SalInstanceScrolledWindow::hadjustment_get_value() const +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.GetThumbPos(); +} - virtual void hadjustment_set_value(int value) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - rHorzScrollBar.SetThumbPos(value); - if (!m_bUserManagedScrolling) - m_aOrigHScrollHdl.Call(&rHorzScrollBar); - } +void SalInstanceScrolledWindow::hadjustment_set_value(int value) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + rHorzScrollBar.SetThumbPos(value); + if (!m_bUserManagedScrolling) + m_aOrigHScrollHdl.Call(&rHorzScrollBar); +} - virtual int hadjustment_get_upper() const override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.GetRangeMax(); - } +int SalInstanceScrolledWindow::hadjustment_get_upper() const +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.GetRangeMax(); +} - virtual void hadjustment_set_upper(int upper) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - rHorzScrollBar.SetRangeMax(upper); - } +void SalInstanceScrolledWindow::hadjustment_set_upper(int upper) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + rHorzScrollBar.SetRangeMax(upper); +} - virtual int hadjustment_get_page_size() const override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.GetVisibleSize(); - } +int SalInstanceScrolledWindow::hadjustment_get_page_size() const +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.GetVisibleSize(); +} - virtual void hadjustment_set_page_size(int size) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.SetVisibleSize(size); - } +void SalInstanceScrolledWindow::hadjustment_set_page_size(int size) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.SetVisibleSize(size); +} - virtual void hadjustment_set_page_increment(int size) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.SetPageSize(size); - } +void SalInstanceScrolledWindow::hadjustment_set_page_increment(int size) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.SetPageSize(size); +} - virtual void hadjustment_set_step_increment(int size) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - return rHorzScrollBar.SetLineSize(size); - } +void SalInstanceScrolledWindow::hadjustment_set_step_increment(int size) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + return rHorzScrollBar.SetLineSize(size); +} - virtual void set_hpolicy(VclPolicyType eHPolicy) override - { - WinBits nWinBits = m_xScrolledWindow->GetStyle() & ~(WB_AUTOHSCROLL | WB_HSCROLL); - if (eHPolicy == VclPolicyType::ALWAYS) - nWinBits |= WB_HSCROLL; - else if (eHPolicy == VclPolicyType::AUTOMATIC) - nWinBits |= WB_AUTOHSCROLL; - m_xScrolledWindow->SetStyle(nWinBits); - m_xScrolledWindow->queue_resize(); - } +void SalInstanceScrolledWindow::set_hpolicy(VclPolicyType eHPolicy) +{ + WinBits nWinBits = m_xScrolledWindow->GetStyle() & ~(WB_AUTOHSCROLL | WB_HSCROLL); + if (eHPolicy == VclPolicyType::ALWAYS) + nWinBits |= WB_HSCROLL; + else if (eHPolicy == VclPolicyType::AUTOMATIC) + nWinBits |= WB_AUTOHSCROLL; + m_xScrolledWindow->SetStyle(nWinBits); + m_xScrolledWindow->queue_resize(); +} - virtual VclPolicyType get_hpolicy() const override - { - WinBits nWinBits = m_xScrolledWindow->GetStyle(); - if (nWinBits & WB_AUTOHSCROLL) - return VclPolicyType::AUTOMATIC; - else if (nWinBits & WB_HSCROLL) - return VclPolicyType::ALWAYS; - return VclPolicyType::NEVER; - } +VclPolicyType SalInstanceScrolledWindow::get_hpolicy() const +{ + WinBits nWinBits = m_xScrolledWindow->GetStyle(); + if (nWinBits & WB_AUTOHSCROLL) + return VclPolicyType::AUTOMATIC; + else if (nWinBits & WB_HSCROLL) + return VclPolicyType::ALWAYS; + return VclPolicyType::NEVER; +} - virtual void vadjustment_configure(int value, int lower, int upper, int step_increment, - int page_increment, int page_size) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rVertScrollBar.SetRangeMin(lower); - rVertScrollBar.SetRangeMax(upper); - rVertScrollBar.SetLineSize(step_increment); - rVertScrollBar.SetPageSize(page_increment); - rVertScrollBar.SetThumbPos(value); - rVertScrollBar.SetVisibleSize(page_size); - } +void SalInstanceScrolledWindow::vadjustment_configure(int value, int lower, int upper, + int step_increment, int page_increment, + int page_size) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rVertScrollBar.SetRangeMin(lower); + rVertScrollBar.SetRangeMax(upper); + rVertScrollBar.SetLineSize(step_increment); + rVertScrollBar.SetPageSize(page_increment); + rVertScrollBar.SetThumbPos(value); + rVertScrollBar.SetVisibleSize(page_size); +} - virtual int vadjustment_get_value() const override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.GetThumbPos(); - } +int SalInstanceScrolledWindow::vadjustment_get_value() const +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.GetThumbPos(); +} - virtual void vadjustment_set_value(int value) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rVertScrollBar.SetThumbPos(value); - if (!m_bUserManagedScrolling) - m_aOrigVScrollHdl.Call(&rVertScrollBar); - } +void SalInstanceScrolledWindow::vadjustment_set_value(int value) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rVertScrollBar.SetThumbPos(value); + if (!m_bUserManagedScrolling) + m_aOrigVScrollHdl.Call(&rVertScrollBar); +} - virtual int vadjustment_get_upper() const override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.GetRangeMax(); - } +int SalInstanceScrolledWindow::vadjustment_get_upper() const +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.GetRangeMax(); +} - virtual void vadjustment_set_upper(int upper) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rVertScrollBar.SetRangeMax(upper); - } +void SalInstanceScrolledWindow::vadjustment_set_upper(int upper) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rVertScrollBar.SetRangeMax(upper); +} - virtual int vadjustment_get_lower() const override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.GetRangeMin(); - } +int SalInstanceScrolledWindow::vadjustment_get_lower() const +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.GetRangeMin(); +} - virtual void vadjustment_set_lower(int lower) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rVertScrollBar.SetRangeMin(lower); - } +void SalInstanceScrolledWindow::vadjustment_set_lower(int lower) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rVertScrollBar.SetRangeMin(lower); +} - virtual int vadjustment_get_page_size() const override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.GetVisibleSize(); - } +int SalInstanceScrolledWindow::vadjustment_get_page_size() const +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.GetVisibleSize(); +} - virtual void vadjustment_set_page_size(int size) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.SetVisibleSize(size); - } +void SalInstanceScrolledWindow::vadjustment_set_page_size(int size) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.SetVisibleSize(size); +} - virtual void vadjustment_set_page_increment(int size) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.SetPageSize(size); - } +void SalInstanceScrolledWindow::vadjustment_set_page_increment(int size) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.SetPageSize(size); +} - virtual void vadjustment_set_step_increment(int size) override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - return rVertScrollBar.SetLineSize(size); - } +void SalInstanceScrolledWindow::vadjustment_set_step_increment(int size) +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + return rVertScrollBar.SetLineSize(size); +} - virtual void set_vpolicy(VclPolicyType eVPolicy) override - { - WinBits nWinBits = m_xScrolledWindow->GetStyle() & ~(WB_AUTOVSCROLL | WB_VSCROLL); - if (eVPolicy == VclPolicyType::ALWAYS) - nWinBits |= WB_VSCROLL; - else if (eVPolicy == VclPolicyType::AUTOMATIC) - nWinBits |= WB_AUTOVSCROLL; - m_xScrolledWindow->SetStyle(nWinBits); - m_xScrolledWindow->queue_resize(); - } +void SalInstanceScrolledWindow::set_vpolicy(VclPolicyType eVPolicy) +{ + WinBits nWinBits = m_xScrolledWindow->GetStyle() & ~(WB_AUTOVSCROLL | WB_VSCROLL); + if (eVPolicy == VclPolicyType::ALWAYS) + nWinBits |= WB_VSCROLL; + else if (eVPolicy == VclPolicyType::AUTOMATIC) + nWinBits |= WB_AUTOVSCROLL; + m_xScrolledWindow->SetStyle(nWinBits); + m_xScrolledWindow->queue_resize(); +} - virtual VclPolicyType get_vpolicy() const override - { - WinBits nWinBits = m_xScrolledWindow->GetStyle(); - if (nWinBits & WB_AUTOVSCROLL) - return VclPolicyType::AUTOMATIC; - else if (nWinBits & WB_VSCROLL) - return VclPolicyType::ALWAYS; - return VclPolicyType::NEVER; - } +VclPolicyType SalInstanceScrolledWindow::get_vpolicy() const +{ + WinBits nWinBits = m_xScrolledWindow->GetStyle(); + if (nWinBits & WB_AUTOVSCROLL) + return VclPolicyType::AUTOMATIC; + else if (nWinBits & WB_VSCROLL) + return VclPolicyType::ALWAYS; + return VclPolicyType::NEVER; +} - virtual int get_scroll_thickness() const override - { - return m_xScrolledWindow->getVertScrollBar().get_preferred_size().Width(); - } +int SalInstanceScrolledWindow::get_scroll_thickness() const +{ + return m_xScrolledWindow->getVertScrollBar().get_preferred_size().Width(); +} - virtual void set_scroll_thickness(int nThickness) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rHorzScrollBar.set_height_request(nThickness); - rVertScrollBar.set_width_request(nThickness); - } +void SalInstanceScrolledWindow::set_scroll_thickness(int nThickness) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rHorzScrollBar.set_height_request(nThickness); + rVertScrollBar.set_width_request(nThickness); +} - virtual void customize_scrollbars(const Color& rBackgroundColor, const Color& rShadowColor, - const Color& rFaceColor) override - { - ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - customize_scrollbars(rHorzScrollBar, Color(0, 0, 0), rBackgroundColor, rShadowColor, - rFaceColor); - customize_scrollbars(rVertScrollBar, Color(0, 0, 0), rBackgroundColor, rShadowColor, - rFaceColor); - } +void SalInstanceScrolledWindow::customize_scrollbars(const Color& rBackgroundColor, + const Color& rShadowColor, + const Color& rFaceColor) +{ + ScrollBar& rHorzScrollBar = m_xScrolledWindow->getHorzScrollBar(); + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + customize_scrollbars(rHorzScrollBar, Color(0, 0, 0), rBackgroundColor, rShadowColor, + rFaceColor); + customize_scrollbars(rVertScrollBar, Color(0, 0, 0), rBackgroundColor, rShadowColor, + rFaceColor); +} - virtual ~SalInstanceScrolledWindow() override - { - ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); - rVertScrollBar.SetScrollHdl(m_aOrigVScrollHdl); - } -}; +SalInstanceScrolledWindow::~SalInstanceScrolledWindow() +{ + ScrollBar& rVertScrollBar = m_xScrolledWindow->getVertScrollBar(); + rVertScrollBar.SetScrollHdl(m_aOrigVScrollHdl); } IMPL_LINK(SalInstanceScrolledWindow, VscrollHdl, ScrollBar*, pScrollBar, void) commit 7e58604211085caffbbf5dfeefa29385f3267a01 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Fri Mar 3 17:01:55 2023 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Tue Mar 21 07:18:00 2023 +0000 jsdialog: textselection action for text view Change-Id: I11e41b5be897c4341ed0e2baf9fc6772ad0163b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148247 Tested-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149159 diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 96455be71797..0864c3d7ab8a 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -688,6 +688,7 @@ public: JSTextView(JSDialogSender* pSender, ::VclMultiLineEdit* pTextView, SalInstanceBuilder* pBuilder, bool bTakeOwnership); virtual void set_text(const OUString& rText) override; + virtual void replace_selection(const OUString& rText) override; }; class JSTreeView final : public JSWidget<SalInstanceTreeView, ::SvTabListBox> diff --git a/vcl/jsdialog/executor.cxx b/vcl/jsdialog/executor.cxx index 313661557893..5598afa8ba19 100644 --- a/vcl/jsdialog/executor.cxx +++ b/vcl/jsdialog/executor.cxx @@ -370,6 +370,28 @@ bool ExecuteAction(const std::string& nWindowId, const OString& rWidget, StringM LOKTrigger::trigger_changed(*pTextView); return true; } + else if (sAction == "textselection") + { + // start;end + OUString sTextData = rData["data"]; + int nSeparatorPos = sTextData.indexOf(';'); + if (nSeparatorPos <= 0) + return true; + + std::u16string_view aStartPos = sTextData.subView(0, nSeparatorPos); + std::u16string_view aEndPos = sTextData.subView(nSeparatorPos + 1); + + if (aStartPos.empty() || aEndPos.empty()) + return true; + + sal_Int32 nStart = o3tl::toInt32(aStartPos); + sal_Int32 nEnd = o3tl::toInt32(aEndPos); + + pTextView->select_region(nStart, nEnd); + LOKTrigger::trigger_changed(*pTextView); + + return true; + } } } else if (sControlType == "treeview") diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index ea3332ef0c46..190f1e0770c7 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1792,6 +1792,12 @@ void JSTextView::set_text(const OUString& rText) sendUpdate(); } +void JSTextView::replace_selection(const OUString& rText) +{ + SalInstanceTextView::replace_selection(rText); + sendUpdate(); +} + JSTreeView::JSTreeView(JSDialogSender* pSender, ::SvTabListBox* pTreeView, SalInstanceBuilder* pBuilder, bool bTakeOwnership) : JSWidget<SalInstanceTreeView, ::SvTabListBox>(pSender, pTreeView, pBuilder, bTakeOwnership) commit 95e41f4a34262661e90736d9c50fb9ca683d5238 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Wed Mar 8 10:58:03 2023 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Tue Mar 21 07:17:54 2023 +0000 jsdialog: treeview selection should be an action Change-Id: Iaaff603b647c18eb566cece272b0e93563c960b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148463 Tested-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149158 Tested-by: Jenkins diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 355a4d45c45a..ea3332ef0c46 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1840,7 +1840,11 @@ void JSTreeView::select(int pos) } } enable_notify_events(); - sendUpdate(); + + std::unique_ptr<jsdialog::ActionDataMap> pMap = std::make_unique<jsdialog::ActionDataMap>(); + (*pMap)[ACTION_TYPE] = "select"; + (*pMap)["position"] = OUString::number(pos); + sendAction(std::move(pMap)); } weld::TreeView* JSTreeView::get_drag_source() const { return g_DragSource; }