[Libreoffice-commits] core.git: include/vcl vcl/source vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Fri Jul 31 09:28:32 UTC 2020
include/vcl/weld.hxx | 3 +++
vcl/source/app/salvtables.cxx | 8 ++++++++
vcl/unx/gtk3/gtk3gtkinst.cxx | 5 +++++
3 files changed, 16 insertions(+)
New commits:
commit 824c0cb9b2c0d74c7eb76ce08169f7eae11e39d0
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jul 30 20:38:45 2020 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Jul 31 11:27:54 2020 +0200
add queue_draw to force redraw with custom rendering
Change-Id: I19251835ff4d49e6240b322a37df5653db7d1b70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99822
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 660c7feb2a57..c45a0cc35c54 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -1174,6 +1174,9 @@ public:
void connect_custom_render(const Link<render_args, void>& rLink) { m_aRenderHdl = rLink; }
// call set_column_custom_renderer after setting custom callbacks
virtual void set_column_custom_renderer(int nColumn, bool bEnable) = 0;
+ // redraw all rows, typically only useful with custom rendering to redraw due to external
+ // state change
+ virtual void queue_draw() = 0;
/* with bDnDMode false simply return the row under the point
*
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index d84d657f86dc..37b6f595e178 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -3694,6 +3694,14 @@ public:
m_aCustomRenders.erase(nColumn);
}
+ virtual void queue_draw() override
+ {
+ // invalidate the entries
+ SvTreeList* pModel = m_xTreeView->GetModel();
+ for (SvTreeListEntry* pEntry = m_xTreeView->First(); pEntry; pEntry = m_xTreeView->Next(pEntry))
+ pModel->InvalidateEntry(pEntry);
+ }
+
virtual void show() override
{
if (LclHeaderTabListBox* pHeaderBox = dynamic_cast<LclHeaderTabListBox*>(m_xTreeView.get()))
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index a647bdfdaaec..a6e6901c0604 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -10104,6 +10104,11 @@ public:
}
}
+ virtual void queue_draw() override
+ {
+ gtk_widget_queue_draw(GTK_WIDGET(m_pTreeView));
+ }
+
virtual void insert(const weld::TreeIter* pParent, int pos, const OUString* pText, const OUString* pId, const OUString* pIconName,
VirtualDevice* pImageSurface,
bool bChildrenOnDemand, weld::TreeIter* pRet) override
More information about the Libreoffice-commits
mailing list