From 4e07b178f58b1dabbb48bc9f26155b8270a4a72d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 18 Feb 2020 10:16:40 +0000 Subject: weld WatchWindow panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Idb43d7bd168ce37fce8694946be6c7de7ca5a2c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88930 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara --- vcl/source/app/salvtables.cxx | 23 +++++++++++++++++++++++ vcl/source/treelist/svtabbx.cxx | 12 ++++++++++++ 2 files changed, 35 insertions(+) (limited to 'vcl/source') diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index de67f950cdfb..06dab9d22380 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3757,6 +3757,13 @@ public: m_xTreeView->Resize(); } + virtual void set_column_editables(const std::vector& rEditables) override + { + size_t nTabCount = rEditables.size(); + for (size_t i = 0 ; i < nTabCount; ++i) + m_xTreeView->SetTabEditable(i, rEditables[i]); + } + virtual void set_centered_column(int nCol) override { m_xTreeView->SetTabJustify(nCol, SvTabJustify::AdjustCenter); @@ -4539,6 +4546,22 @@ public: return GetPlaceHolderChild(rVclIter.iter) != nullptr; } + virtual void set_children_on_demand(const weld::TreeIter& rIter, bool bChildrenOnDemand) override + { + disable_notify_events(); + + const SalInstanceTreeIter& rVclIter = static_cast(rIter); + + SvTreeListEntry* pPlaceHolder = GetPlaceHolderChild(rVclIter.iter); + + if (bChildrenOnDemand && !pPlaceHolder) + m_xTreeView->InsertEntry("", rVclIter.iter, false, 0, nullptr); + else if (!bChildrenOnDemand && pPlaceHolder) + m_xTreeView->RemoveEntry(pPlaceHolder); + + enable_notify_events(); + } + virtual void expand_row(const weld::TreeIter& rIter) override { assert(m_xTreeView->IsUpdateMode() && "don't expand when frozen"); diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index ab4e5ba70fa1..52ade983e94a 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -426,6 +426,18 @@ void SvTabListBox::SetTabJustify( sal_uInt16 nTab, SvTabJustify eJustify) Invalidate(); } +void SvTabListBox::SetTabEditable(sal_uInt16 nTab, bool bEditable) +{ + DBG_ASSERT(nTab= mvTabList.size() ) + return; + SvLBoxTab& rTab = mvTabList[ nTab ]; + if (bEditable) + rTab.nFlags |= SvLBoxTabFlags::EDITABLE; + else + rTab.nFlags &= ~SvLBoxTabFlags::EDITABLE; +} + long SvTabListBox::GetLogicTab( sal_uInt16 nTab ) { if( SvTreeListBox::nTreeFlags & SvTreeFlags::RECALCTABS ) -- cgit