vcl/inc/qt5/QtInstanceScrolledWindow.hxx | 20 ++-- vcl/inc/qt5/QtInstanceWidget.hxx | 2 vcl/qt5/QtInstanceScrolledWindow.cxx | 127 ++++++++++++++++++++++++------- vcl/qt5/QtInstanceWidget.cxx | 11 +- 4 files changed, 120 insertions(+), 40 deletions(-)
New commits: commit bb111c22a6093ec1f5edc5890d7ec6d238362c02 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Dec 22 00:12:13 2024 +0100 Commit: Michael Weghorn (away) <[email protected]> CommitDate: Sun Dec 22 11:40:22 2024 +0100 tdf#130857 qt weld: Implement QtInstanceWidget::get_pixel_size Change-Id: I082430e653f5634ecdcc101b370f531b2c0e25cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179097 Tested-by: Jenkins Reviewed-by: Michael Weghorn (away) <[email protected]> diff --git a/vcl/inc/qt5/QtInstanceWidget.hxx b/vcl/inc/qt5/QtInstanceWidget.hxx index 17cc6d9886c2..d20812f998c4 100644 --- a/vcl/inc/qt5/QtInstanceWidget.hxx +++ b/vcl/inc/qt5/QtInstanceWidget.hxx @@ -64,7 +64,7 @@ public: virtual int get_text_height() const override; - virtual Size get_pixel_size(const OUString&) const override; + virtual Size get_pixel_size(const OUString& rText) const override; virtual vcl::Font get_font() override; diff --git a/vcl/qt5/QtInstanceWidget.cxx b/vcl/qt5/QtInstanceWidget.cxx index 8f1d5075a79c..48e4c9b77fa9 100644 --- a/vcl/qt5/QtInstanceWidget.cxx +++ b/vcl/qt5/QtInstanceWidget.cxx @@ -233,10 +233,15 @@ int QtInstanceWidget::get_text_height() const return nHeight; } -Size QtInstanceWidget::get_pixel_size(const OUString&) const +Size QtInstanceWidget::get_pixel_size(const OUString& rText) const { - assert(false && "Not implemented yet"); - return Size(); + SolarMutexGuard g; + + Size aSize; + GetQtInstance().RunInMainThread( + [&] { aSize = toSize(m_pWidget->fontMetrics().boundingRect(toQString(rText)).size()); }); + + return aSize; } vcl::Font QtInstanceWidget::get_font() commit 342470f03960274da41c608fc87688f3954d08fb Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 21 23:17:49 2024 +0100 Commit: Michael Weghorn (away) <[email protected]> CommitDate: Sun Dec 22 11:40:12 2024 +0100 tdf#130857 qt weld: Implement {s,g}etters for scroll area min/max/val/step Change-Id: I698e98ac16d8e1f2cd1e01a50570bd9012c94952 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179095 Reviewed-by: Michael Weghorn (away) <[email protected]> Tested-by: Jenkins diff --git a/vcl/inc/qt5/QtInstanceScrolledWindow.hxx b/vcl/inc/qt5/QtInstanceScrolledWindow.hxx index 7a612372ae08..5cebe1a597cd 100644 --- a/vcl/inc/qt5/QtInstanceScrolledWindow.hxx +++ b/vcl/inc/qt5/QtInstanceScrolledWindow.hxx @@ -30,28 +30,28 @@ public: 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 void hadjustment_set_value(int nValue) override; virtual int hadjustment_get_upper() const override; - virtual void hadjustment_set_upper(int upper) override; + virtual void hadjustment_set_upper(int nUpper) 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 hadjustment_set_page_size(int nSize) override; + virtual void hadjustment_set_page_increment(int nSize) override; + virtual void hadjustment_set_step_increment(int nSize) 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 void vadjustment_set_value(int nValue) override; virtual int vadjustment_get_upper() const override; - virtual void vadjustment_set_upper(int upper) override; + virtual void vadjustment_set_upper(int nUpper) 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_page_size(int nSize) override; + virtual void vadjustment_set_page_increment(int nSize) override; virtual void vadjustment_set_step_increment(int nSize) override; virtual int vadjustment_get_lower() const override; - virtual void vadjustment_set_lower(int upper) override; + virtual void vadjustment_set_lower(int nLower) override; virtual void set_vpolicy(VclPolicyType eVPolicy) override; virtual VclPolicyType get_vpolicy() const override; virtual int get_scroll_thickness() const override; diff --git a/vcl/qt5/QtInstanceScrolledWindow.cxx b/vcl/qt5/QtInstanceScrolledWindow.cxx index 223eec9796ff..d799555d94cf 100644 --- a/vcl/qt5/QtInstanceScrolledWindow.cxx +++ b/vcl/qt5/QtInstanceScrolledWindow.cxx @@ -39,24 +39,48 @@ void QtInstanceScrolledWindow::hadjustment_configure(int, int, int, int, int, in int QtInstanceScrolledWindow::hadjustment_get_value() const { - assert(false && "Not implemented yet"); - return 0; + SolarMutexGuard g; + + int nValue = 0; + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + nValue = pScrollBar->value(); + }); + + return nValue; } -void QtInstanceScrolledWindow::hadjustment_set_value(int) +void QtInstanceScrolledWindow::hadjustment_set_value(int nValue) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + pScrollBar->setValue(nValue); + }); } int QtInstanceScrolledWindow::hadjustment_get_upper() const { - assert(false && "Not implemented yet"); - return 0; + SolarMutexGuard g; + + int nMax = 0; + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + nMax = pScrollBar->maximum(); + }); + + return nMax; } -void QtInstanceScrolledWindow::hadjustment_set_upper(int) +void QtInstanceScrolledWindow::hadjustment_set_upper(int nUpper) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + pScrollBar->setMaximum(nUpper); + }); } int QtInstanceScrolledWindow::hadjustment_get_page_size() const @@ -70,14 +94,24 @@ void QtInstanceScrolledWindow::hadjustment_set_page_size(int) assert(false && "Not implemented yet"); } -void QtInstanceScrolledWindow::hadjustment_set_page_increment(int) +void QtInstanceScrolledWindow::hadjustment_set_page_increment(int nSize) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + pScrollBar->setPageStep(nSize); + }); } -void QtInstanceScrolledWindow::hadjustment_set_step_increment(int) +void QtInstanceScrolledWindow::hadjustment_set_step_increment(int nSize) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->horizontalScrollBar()) + pScrollBar->setSingleStep(nSize); + }); } void QtInstanceScrolledWindow::set_hpolicy(VclPolicyType eHPolicy) @@ -106,24 +140,48 @@ void QtInstanceScrolledWindow::vadjustment_configure(int, int, int, int, int, in int QtInstanceScrolledWindow::vadjustment_get_value() const { - assert(false && "Not implemented yet"); - return 0; + SolarMutexGuard g; + + int nValue = 0; + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + nValue = pScrollBar->value(); + }); + + return nValue; } -void QtInstanceScrolledWindow::vadjustment_set_value(int) +void QtInstanceScrolledWindow::vadjustment_set_value(int nValue) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + pScrollBar->setValue(nValue); + }); } int QtInstanceScrolledWindow::vadjustment_get_upper() const { - assert(false && "Not implemented yet"); - return 0; + SolarMutexGuard g; + + int nMax = 0; + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + nMax = pScrollBar->maximum(); + }); + + return nMax; } -void QtInstanceScrolledWindow::vadjustment_set_upper(int) +void QtInstanceScrolledWindow::vadjustment_set_upper(int nUpper) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + pScrollBar->setMaximum(nUpper); + }); } int QtInstanceScrolledWindow::vadjustment_get_page_size() const @@ -137,9 +195,14 @@ void QtInstanceScrolledWindow::vadjustment_set_page_size(int) assert(false && "Not implemented yet"); } -void QtInstanceScrolledWindow::vadjustment_set_page_increment(int) +void QtInstanceScrolledWindow::vadjustment_set_page_increment(int nSize) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + pScrollBar->setPageStep(nSize); + }); } void QtInstanceScrolledWindow::vadjustment_set_step_increment(int nSize) @@ -154,13 +217,25 @@ void QtInstanceScrolledWindow::vadjustment_set_step_increment(int nSize) int QtInstanceScrolledWindow::vadjustment_get_lower() const { - assert(false && "Not implemented yet"); - return 0; + SolarMutexGuard g; + + int nMin = 0; + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + nMin = pScrollBar->minimum(); + }); + + return nMin; } -void QtInstanceScrolledWindow::vadjustment_set_lower(int) +void QtInstanceScrolledWindow::vadjustment_set_lower(int nLower) { - assert(false && "Not implemented yet"); + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + if (QScrollBar* pScrollBar = m_pScrollArea->verticalScrollBar()) + pScrollBar->setMinimum(nLower); + }); } void QtInstanceScrolledWindow::set_vpolicy(VclPolicyType eVPolicy)
