[Libreoffice-commits] core.git: include/vcl vcl/source vcl/unx

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 4 20:38:47 UTC 2020


 include/vcl/weld.hxx          |    2 ++
 vcl/source/app/salvtables.cxx |    7 +++++++
 vcl/unx/gtk3/gtk3gtkinst.cxx  |    7 +++++++
 3 files changed, 16 insertions(+)

New commits:
commit 7af11e2e051eedd790e0ed8c8ac0e1e667c1001b
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Mar 4 14:45:18 2020 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Mar 4 21:38:05 2020 +0100

    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 at redhat.com>

diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 6476695bbb27..220fabbd16fa 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 fb688c2570fe..c9c2a4cbea4e 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 d9e3320fe09a..8c384f5477df 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);


More information about the Libreoffice-commits mailing list