summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-02-04 15:23:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-02-04 20:46:00 +0100
commitf69b5dd07a910dd48e087664e31642af50b5fb9a (patch)
treefdd0061b161da59e4de40f1566cc69efc2498140 /include
parentad5493c3fcbec7dfa41e57ca2f98acbbce739b85 (diff)
weld OSelectLabelDialog
Change-Id: Icbf9f05e69667cb8161942dde84ded6b3fc61138 Reviewed-on: https://gerrit.libreoffice.org/67367 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/vcl/weld.hxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index ea5576c35ce8..2649e551921a 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -463,7 +463,10 @@ protected:
void signal_changed() { m_aChangeHdl.Call(*this); }
void signal_row_activated() { m_aRowActivatedHdl.Call(*this); }
- bool signal_expanding(TreeIter& rIter) { return m_aExpandingHdl.Call(rIter); }
+ bool signal_expanding(TreeIter& rIter)
+ {
+ return !m_aExpandingHdl.IsSet() || m_aExpandingHdl.Call(rIter);
+ }
// arg is pair<row,col>
void signal_toggled(const std::pair<int, int>& rRowCol) { m_aRadioToggleHdl.Call(rRowCol); }
@@ -566,6 +569,15 @@ public:
// 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;
+ bool iter_nth_child(TreeIter& rIter, int nChild) const
+ {
+ if (!iter_children(rIter))
+ return false;
+ bool bRet = true;
+ for (int i = 0; i < nChild && bRet; ++i)
+ bRet = iter_next(rIter);
+ return bRet;
+ }
virtual bool iter_parent(TreeIter& rIter) const = 0;
virtual int get_iter_depth(const TreeIter& rIter) const = 0;
virtual bool iter_has_child(const TreeIter& rIter) const = 0;