add iter_previous_sibling
Change-Id: Ic9ff26361cc9fed32760260e085660f05e13f4d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89987
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 6476695..220fabb 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -890,6 +890,8 @@ public:
virtual bool get_iter_first(TreeIter& rIter) const = 0;
// set iter to point to next node at the current level
virtual bool iter_next_sibling(TreeIter& rIter) const = 0;
// set iter to point to previous node at the current level
virtual bool iter_previous_sibling(TreeIter& rIter) const = 0;
// set iter to point to next node, depth first, then sibling
virtual bool iter_next(TreeIter& rIter) const = 0;
virtual bool iter_children(TreeIter& rIter) const = 0;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index fb688c2..c9c2a4c 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -4111,6 +4111,13 @@ public:
return rVclIter.iter != nullptr;
}
virtual bool iter_previous_sibling(weld::TreeIter& rIter) const override
{
SalInstanceTreeIter& rVclIter = static_cast<SalInstanceTreeIter&>(rIter);
rVclIter.iter = rVclIter.iter->PrevSibling();
return rVclIter.iter != nullptr;
}
virtual bool iter_next(weld::TreeIter& rIter) const override
{
SalInstanceTreeIter& rVclIter = static_cast<SalInstanceTreeIter&>(rIter);
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index d9e3320..8c384f5 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -10083,6 +10083,13 @@ public:
return gtk_tree_model_iter_next(pModel, &rGtkIter.iter);
}
virtual bool iter_previous_sibling(weld::TreeIter& rIter) const override
{
GtkInstanceTreeIter& rGtkIter = static_cast<GtkInstanceTreeIter&>(rIter);
GtkTreeModel *pModel = GTK_TREE_MODEL(m_pTreeStore);
return gtk_tree_model_iter_previous(pModel, &rGtkIter.iter);
}
virtual bool iter_next(weld::TreeIter& rIter) const override
{
GtkInstanceTreeIter& rGtkIter = static_cast<GtkInstanceTreeIter&>(rIter);