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 <caol...@redhat.com> AuthorDate: Thu Jul 30 20:38:45 2020 +0100 Commit: Caolán McNamara <caol...@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 <caol...@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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits