[Libreoffice-commits] core.git: include/vcl vcl/source vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Wed Mar 4 08:54:56 UTC 2020
include/vcl/weld.hxx | 3 +++
vcl/source/app/salvtables.cxx | 12 ++++++++++++
vcl/unx/gtk3/gtk3gtkinst.cxx | 14 ++++++++++++++
3 files changed, 29 insertions(+)
New commits:
commit e33715206c48c945e6acb99cdd58d81e6514c242
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Mar 3 17:09:41 2020 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Mar 4 09:54:04 2020 +0100
allow control over treeview scroll position
Change-Id: Ifa29416c4a716b3759f279ae4f0ce9179325f7a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89927
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 75c38262c426..6476695bbb27 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -1047,6 +1047,9 @@ public:
void set_toggle_columns_as_radio(const std::vector<int>& rCols) { m_aRadioIndexes = rCols; }
+ virtual void vadjustment_set_value(int value) = 0;
+ virtual int vadjustment_get_value() const = 0;
+
void save_value() { m_sSavedValue = get_selected_text(); }
OUString const& get_saved_value() const { return m_sSavedValue; }
bool get_value_changed_from_saved() const { return m_sSavedValue != get_selected_text(); }
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index f42448890b11..55a7d221968b 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -4484,6 +4484,18 @@ public:
virtual TreeView* get_drag_source() const override { return g_DragSource; }
+ virtual int vadjustment_get_value() const override
+ {
+ ScrollBar* pVertScrollBar = m_xTreeView->GetVScroll();
+ return pVertScrollBar->GetThumbPos();
+ }
+
+ virtual void vadjustment_set_value(int value) override
+ {
+ ScrollBar* pVertScrollBar = m_xTreeView->GetVScroll();
+ pVertScrollBar->SetThumbPos(value);
+ }
+
virtual ~SalInstanceTreeView() override
{
LclHeaderTabListBox* pHeaderBox = dynamic_cast<LclHeaderTabListBox*>(m_xTreeView.get());
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index b298bc2940cb..28344edc8cc4 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -8622,6 +8622,7 @@ private:
gulong m_nPopupMenuSignalId;
gulong m_nKeyPressSignalId;
gulong m_nQueryTooltipSignalId;
+ GtkAdjustment* m_pVAdjustment;
ImplSVEvent* m_pChangeEvent;
DECL_LINK(async_signal_changed, void*, void);
@@ -9177,6 +9178,7 @@ public:
, m_nPopupMenuSignalId(g_signal_connect(pTreeView, "popup-menu", G_CALLBACK(signalPopupMenu), this))
, m_nKeyPressSignalId(g_signal_connect(pTreeView, "key-press-event", G_CALLBACK(signalKeyPress), this))
, m_nQueryTooltipSignalId(0)
+ , m_pVAdjustment(gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(pTreeView)))
, m_pChangeEvent(nullptr)
{
m_pColumns = gtk_tree_view_get_columns(m_pTreeView);
@@ -10664,6 +10666,18 @@ public:
gtk_tree_view_set_drag_dest_row(m_pTreeView, nullptr, GTK_TREE_VIEW_DROP_BEFORE);
}
+ virtual int vadjustment_get_value() const override
+ {
+ return gtk_adjustment_get_value(m_pVAdjustment);
+ }
+
+ virtual void vadjustment_set_value(int value) override
+ {
+ disable_notify_events();
+ gtk_adjustment_set_value(m_pVAdjustment, value);
+ enable_notify_events();
+ }
+
virtual ~GtkInstanceTreeView() override
{
if (m_pChangeEvent)
More information about the Libreoffice-commits
mailing list