include/vcl/weld/ItemView.hxx | 5 ++-- include/vcl/weld/TreeView.hxx | 3 -- vcl/inc/qt5/QtInstanceIconView.hxx | 1 vcl/inc/qt5/QtInstanceItemView.hxx | 4 ++- vcl/inc/qt5/QtInstanceTreeView.hxx | 2 - vcl/inc/salvtables.hxx | 15 ++++-------- vcl/qt5/QtInstanceIconView.cxx | 10 -------- vcl/qt5/QtInstanceItemView.cxx | 10 ++++++-- vcl/qt5/QtInstanceTreeView.cxx | 10 -------- vcl/source/app/salvtables.cxx | 45 +++++++++---------------------------- vcl/source/weld/ItemView.cxx | 14 +++++++++++ vcl/unx/gtk3/gtkinst.cxx | 35 +++------------------------- 12 files changed, 50 insertions(+), 104 deletions(-)
New commits: commit 14f49171885fdd499bae05e3032f7beab3908552 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 08:03:00 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:30:22 2025 +0100 weld: Implement index-based ItemView::{g,s}et_id in base class Now that Change-Id: I2cfda98bb30487d20d5585eb98a4d45d6692675e Author: Michael Weghorn <[email protected]> Date: Sat Dec 20 07:41:09 2025 +0100 weld: Add weld::ItemView::set_id taking iter param added a purely virtual weld::ItemView::set_id taking a weld::TreeIter param that is implemented in all the toolkit-specific subclasses, the index-based implementation can be done right in the base class, using the iter-based one, to avoid some duplication in each of the subclasses. Change-Id: Idd8f674f7852987723040e3af2335645b395fe46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195955 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/weld/ItemView.hxx b/include/vcl/weld/ItemView.hxx index 8720a2dfe341..be8f97fb3681 100644 --- a/include/vcl/weld/ItemView.hxx +++ b/include/vcl/weld/ItemView.hxx @@ -41,9 +41,9 @@ public: virtual std::unique_ptr<TreeIter> get_iterator(int nPos) const = 0; - virtual OUString get_id(int pos) const = 0; + OUString get_id(int pos) const; virtual OUString get_id(const TreeIter& rIter) const = 0; - virtual void set_id(int row, const OUString& rId) = 0; + void set_id(int pos, const OUString& rId); virtual void set_id(const TreeIter& rIter, const OUString& rId) = 0; virtual OUString get_selected_id() const = 0; diff --git a/vcl/inc/qt5/QtInstanceItemView.hxx b/vcl/inc/qt5/QtInstanceItemView.hxx index 23652af0193d..e577196c3c51 100644 --- a/vcl/inc/qt5/QtInstanceItemView.hxx +++ b/vcl/inc/qt5/QtInstanceItemView.hxx @@ -47,9 +47,9 @@ public: virtual std::unique_ptr<weld::TreeIter> get_iterator(int nPos) const override; - virtual OUString get_id(int nPos) const override; + using weld::ItemView::get_id; virtual OUString get_id(const weld::TreeIter& rIter) const override; - virtual void set_id(int pos, const OUString& rId) override; + using weld::ItemView::set_id; virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; protected: diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 8f2253d006dd..faccdee57f12 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1517,9 +1517,9 @@ public: virtual std::unique_ptr<weld::TreeIter> get_iterator(int nPos) const override; - virtual OUString get_id(int pos) const override; + using weld::ItemView::get_id; virtual OUString get_id(const weld::TreeIter& rIter) const override; - virtual void set_id(int pos, const OUString& rId) override; + using weld::ItemView::set_id; virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; virtual OUString get_selected_id() const override; diff --git a/vcl/qt5/QtInstanceItemView.cxx b/vcl/qt5/QtInstanceItemView.cxx index c5026d6758cb..43ad906a2c78 100644 --- a/vcl/qt5/QtInstanceItemView.cxx +++ b/vcl/qt5/QtInstanceItemView.cxx @@ -62,8 +62,6 @@ std::unique_ptr<weld::TreeIter> QtInstanceItemView::get_iterator(int nPos) const return {}; } -OUString QtInstanceItemView::get_id(int nPos) const { return get_id(treeIter(nPos)); } - OUString QtInstanceItemView::get_id(const weld::TreeIter& rIter) const { SolarMutexGuard g; @@ -78,8 +76,6 @@ OUString QtInstanceItemView::get_id(const weld::TreeIter& rIter) const return sId; } -void QtInstanceItemView::set_id(int nRow, const OUString& rId) { set_id(treeIter(nRow), rId); } - void QtInstanceItemView::set_id(const weld::TreeIter& rIter, const OUString& rId) { SolarMutexGuard g; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 9d2e301a43b3..63550d320a4a 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3558,14 +3558,6 @@ const OUString* SalInstanceItemView::getEntryData(int index) const return pEntry ? static_cast<const OUString*>(pEntry->GetUserData()) : nullptr; } -OUString SalInstanceItemView::get_id(int pos) const -{ - const OUString* pRet = getEntryData(pos); - if (!pRet) - return OUString(); - return *pRet; -} - OUString SalInstanceItemView::get_id(const weld::TreeIter& rIter) const { const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); @@ -3581,12 +3573,6 @@ void SalInstanceItemView::set_id(SvTreeListEntry* pEntry, const OUString& rId) pEntry->SetUserData(m_aUserData.back().get()); } -void SalInstanceItemView::set_id(int pos, const OUString& rId) -{ - SvTreeListEntry* pEntry = m_pTreeListBox->GetEntry(nullptr, pos); - set_id(pEntry, rId); -} - void SalInstanceItemView::set_id(const weld::TreeIter& rIter, const OUString& rId) { const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); diff --git a/vcl/source/weld/ItemView.cxx b/vcl/source/weld/ItemView.cxx index 710e9dd20f05..10b5d4a2ffff 100644 --- a/vcl/source/weld/ItemView.cxx +++ b/vcl/source/weld/ItemView.cxx @@ -11,6 +11,20 @@ namespace weld { +OUString ItemView::get_id(int pos) const +{ + if (std::unique_ptr<weld::TreeIter> pIter = get_iterator(pos)) + return get_id(*pIter); + + return OUString(); +} + +void ItemView::set_id(int pos, const OUString& rId) +{ + if (std::unique_ptr<weld::TreeIter> pIter = get_iterator(pos)) + return set_id(*pIter, rId); +} + void ItemView::set_cursor(const TreeIter& rIter) { disable_notify_events(); diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 3f7a88c757ca..9da061781fac 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -15616,16 +15616,6 @@ public: set_image(rGtkIter.iter, col, getPixbuf(rImage)); } - virtual OUString get_id(int pos) const override - { - return get(pos, m_nIdCol); - } - - virtual void set_id(int pos, const OUString& rId) override - { - return set(pos, m_nIdCol, rId); - } - virtual int get_iter_index_in_parent(const weld::TreeIter& rIter) const override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); @@ -16828,16 +16818,6 @@ private: return sRet; } - OUString get(int pos, int col) const - { - GtkTreeModel* pModel = GTK_TREE_MODEL(m_pTreeStore); - OUString sRet; - GtkTreeIter iter; - if (gtk_tree_model_iter_nth_child(pModel, &iter, nullptr, pos)) - sRet = get(iter, col); - return sRet; - } - tools::Rectangle get_rect(const weld::TreeIter& rIter) const override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); @@ -16887,18 +16867,6 @@ private: } } - virtual void set_id(int pos, const OUString& rId) override - { - GtkTreeModel* pModel = GTK_TREE_MODEL(m_pTreeStore); - GtkTreeIter iter; - - if (gtk_tree_model_iter_nth_child(pModel, &iter, nullptr, pos)) - { - OString aStr(OUStringToOString(rId, RTL_TEXTENCODING_UTF8)); - gtk_tree_store_set(m_pTreeStore, &iter, m_nIdCol, aStr.getStr(), -1); - } - } - virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); @@ -17298,8 +17266,6 @@ public: return get(rGtkIter.iter, m_nIdCol); } - virtual OUString get_id(int pos) const override { return get(pos, m_nIdCol); } - virtual OUString get_text(const weld::TreeIter& rIter) const override { const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); commit e75b3509f491adf5c90e31cdd1f8c2582c1394f8 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 07:41:09 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:30:15 2025 +0100 weld: Add weld::ItemView::set_id taking iter param weld::TreeView already has such a method. Move this purely virtual method to the weld::ItemView base class, which means that the weld::IconView now also has it. For the Qt and vcl implementations, move the existing logic to implement both weld::ItemView::set_id variants to the base class, which also deduplicates code. For GTK, add a new GtkInstanceIconView::set_id implementation taking a TreeIter param, based on the one taking an index. Change-Id: I2cfda98bb30487d20d5585eb98a4d45d6692675e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195954 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/weld/ItemView.hxx b/include/vcl/weld/ItemView.hxx index 1968c396ae8e..8720a2dfe341 100644 --- a/include/vcl/weld/ItemView.hxx +++ b/include/vcl/weld/ItemView.hxx @@ -44,6 +44,7 @@ public: virtual OUString get_id(int pos) const = 0; virtual OUString get_id(const TreeIter& rIter) const = 0; virtual void set_id(int row, const OUString& rId) = 0; + virtual void set_id(const TreeIter& rIter, const OUString& rId) = 0; virtual OUString get_selected_id() const = 0; virtual OUString get_selected_text() const = 0; diff --git a/include/vcl/weld/TreeView.hxx b/include/vcl/weld/TreeView.hxx index 2ee5903cf09b..b030c9313c66 100644 --- a/include/vcl/weld/TreeView.hxx +++ b/include/vcl/weld/TreeView.hxx @@ -359,9 +359,6 @@ public: // col index -1 gets the first text column virtual OUString get_text(const TreeIter& rIter, int col = -1) const = 0; - using weld::ItemView::set_id; - virtual void set_id(const TreeIter& rIter, const OUString& rId) = 0; - // col index -1 sets the expander image virtual void set_image(const TreeIter& rIter, const OUString& rImage, int col = -1) = 0; // col index -1 sets the expander image diff --git a/vcl/inc/qt5/QtInstanceIconView.hxx b/vcl/inc/qt5/QtInstanceIconView.hxx index 8384db2eca0f..6501665d874e 100644 --- a/vcl/inc/qt5/QtInstanceIconView.hxx +++ b/vcl/inc/qt5/QtInstanceIconView.hxx @@ -49,7 +49,6 @@ public: virtual void set_image(int nPos, VirtualDevice& rDevice) override; virtual void set_text(int nPos, const OUString& rText) override; - virtual void set_id(int nPos, const OUString& rId) override; virtual void set_item_accessible_name(int nPos, const OUString& rName) override; virtual void set_item_tooltip_text(int nPos, const OUString& rToolTip) override; virtual void do_remove(int pos) override; diff --git a/vcl/inc/qt5/QtInstanceItemView.hxx b/vcl/inc/qt5/QtInstanceItemView.hxx index abf7f465bd88..23652af0193d 100644 --- a/vcl/inc/qt5/QtInstanceItemView.hxx +++ b/vcl/inc/qt5/QtInstanceItemView.hxx @@ -49,6 +49,8 @@ public: virtual OUString get_id(int nPos) const override; virtual OUString get_id(const weld::TreeIter& rIter) const override; + virtual void set_id(int pos, const OUString& rId) override; + virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; protected: QModelIndex modelIndex(int nRow, int nCol = 0, diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index 4baa9060ea83..337991762d9e 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -61,7 +61,6 @@ public: virtual void set_text(int nRow, const OUString& rText, int nCol = -1) override; virtual void set_sensitive(int nRow, bool bSensitive, int nCol = -1) override; virtual bool get_sensitive(int nRow, int nCol) const override; - virtual void set_id(int row, const OUString& rId) override; virtual void set_toggle(int nRow, TriState eState, int nCol = -1) override; virtual TriState get_toggle(int nRow, int nCol = -1) const override; virtual void set_image(int nRow, const OUString& rImage, int nCol = -1) override; @@ -111,7 +110,6 @@ public: virtual void set_toggle(const weld::TreeIter& rIter, TriState eState, int nCol = -1) override; virtual TriState get_toggle(const weld::TreeIter& rIter, int nCol = -1) const override; virtual OUString get_text(const weld::TreeIter& rIter, int nCol = -1) const override; - virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; virtual void set_image(const weld::TreeIter& rIter, const OUString& rImage, int nCol = -1) override; virtual void set_image(const weld::TreeIter& rIter, VirtualDevice& rImage, diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index c2680acda4a5..8f2253d006dd 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1519,6 +1519,8 @@ public: virtual OUString get_id(int pos) const override; virtual OUString get_id(const weld::TreeIter& rIter) const override; + virtual void set_id(int pos, const OUString& rId) override; + virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; virtual OUString get_selected_id() const override; virtual OUString get_selected_text() const override; @@ -1526,7 +1528,6 @@ public: virtual int n_children() const override; protected: - using weld::ItemView::set_id; void set_id(SvTreeListEntry* pEntry, const OUString& rId); private: @@ -1750,9 +1751,6 @@ public: virtual void set_image(const weld::TreeIter& rIter, VirtualDevice& rImage, int col = -1) override; - using SalInstanceItemView::set_id; - virtual void set_id(int pos, const OUString& rId) override; - virtual int get_selected_index() const override; virtual void copy_iterator(const weld::TreeIter& rSource, weld::TreeIter& rDest) const override; @@ -1803,8 +1801,6 @@ public: virtual void set_text(const weld::TreeIter& rIter, const OUString& rText, int col = -1) override; - virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; - virtual void enable_drag_source(rtl::Reference<TransferDataContainer>& rHelper, sal_uInt8 eDNDConstants) override; @@ -1957,9 +1953,6 @@ public: virtual void set_text(int pos, const OUString& rText) override; - using SalInstanceItemView::set_id; - virtual void set_id(int pos, const OUString& rId) override; - virtual void set_item_accessible_name(int pos, const OUString& rName) override; virtual void set_item_tooltip_text(int pos, const OUString& rToolTip) override; diff --git a/vcl/qt5/QtInstanceIconView.cxx b/vcl/qt5/QtInstanceIconView.cxx index 1f655d34fcd9..c9ebd12e5411 100644 --- a/vcl/qt5/QtInstanceIconView.cxx +++ b/vcl/qt5/QtInstanceIconView.cxx @@ -164,16 +164,6 @@ void QtInstanceIconView::set_text(int nPos, const OUString& rText) }); } -void QtInstanceIconView::set_id(int nPos, const OUString& rId) -{ - SolarMutexGuard g; - - GetQtInstance().RunInMainThread([&] { - QModelIndex aIndex = modelIndex(nPos); - m_pModel->setData(aIndex, toQString(rId), ROLE_ID); - }); -} - void QtInstanceIconView::set_item_accessible_name(int nPos, const OUString& rName) { SolarMutexGuard g; diff --git a/vcl/qt5/QtInstanceItemView.cxx b/vcl/qt5/QtInstanceItemView.cxx index bb59499b736a..c5026d6758cb 100644 --- a/vcl/qt5/QtInstanceItemView.cxx +++ b/vcl/qt5/QtInstanceItemView.cxx @@ -78,6 +78,16 @@ OUString QtInstanceItemView::get_id(const weld::TreeIter& rIter) const return sId; } +void QtInstanceItemView::set_id(int nRow, const OUString& rId) { set_id(treeIter(nRow), rId); } + +void QtInstanceItemView::set_id(const weld::TreeIter& rIter, const OUString& rId) +{ + SolarMutexGuard g; + + GetQtInstance().RunInMainThread( + [&] { m_rModel.setData(modelIndex(rIter), toQString(rId), ROLE_ID); }); +} + void QtInstanceItemView::do_set_cursor(const weld::TreeIter& rIter) { SolarMutexGuard g; diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index ac04220bb817..6f87ee170423 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -181,8 +181,6 @@ bool QtInstanceTreeView::get_sensitive(int nRow, int nCol) const return get_sensitive(treeIter(nRow), nCol); } -void QtInstanceTreeView::set_id(int nRow, const OUString& rId) { set_id(treeIter(nRow), rId); } - void QtInstanceTreeView::set_toggle(int nRow, TriState eState, int nCol) { set_toggle(treeIter(nRow), eState, nCol); @@ -609,14 +607,6 @@ OUString QtInstanceTreeView::get_text(const weld::TreeIter& rIter, int nCol) con return sText; } -void QtInstanceTreeView::set_id(const weld::TreeIter& rIter, const OUString& rId) -{ - SolarMutexGuard g; - - GetQtInstance().RunInMainThread( - [&] { m_pModel->setData(modelIndex(rIter), toQString(rId), ROLE_ID); }); -} - void QtInstanceTreeView::set_image(const weld::TreeIter& rIter, const OUString& rImage, int nCol) { if (rImage.isEmpty()) diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 97cd68e50c9c..9d2e301a43b3 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3581,6 +3581,18 @@ void SalInstanceItemView::set_id(SvTreeListEntry* pEntry, const OUString& rId) pEntry->SetUserData(m_aUserData.back().get()); } +void SalInstanceItemView::set_id(int pos, const OUString& rId) +{ + SvTreeListEntry* pEntry = m_pTreeListBox->GetEntry(nullptr, pos); + set_id(pEntry, rId); +} + +void SalInstanceItemView::set_id(const weld::TreeIter& rIter, const OUString& rId) +{ + const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); + set_id(rVclIter.iter, rId); +} + OUString SalInstanceItemView::get_selected_id() const { assert(m_pTreeListBox->IsUpdateMode() && "don't request selection when frozen"); @@ -4567,12 +4579,6 @@ void SalInstanceTreeView::set_image(const weld::TreeIter& rIter, VirtualDevice& set_image(rVclIter.iter, createImage(rImage), col); } -void SalInstanceTreeView::set_id(int pos, const OUString& rId) -{ - SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos); - set_id(pEntry, rId); -} - int SalInstanceTreeView::get_selected_index() const { assert(m_xTreeView->IsUpdateMode() && "don't request selection when frozen"); @@ -4760,12 +4766,6 @@ void SalInstanceTreeView::set_text(const weld::TreeIter& rIter, const OUString& set_text(rVclIter.iter, rText, col); } -void SalInstanceTreeView::set_id(const weld::TreeIter& rIter, const OUString& rId) -{ - const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); - set_id(rVclIter.iter, rId); -} - void SalInstanceTreeView::enable_drag_source(rtl::Reference<TransferDataContainer>& rHelper, sal_uInt8 eDNDConstants) { @@ -5484,12 +5484,6 @@ void SalInstanceIconView::set_text(int pos, const OUString& rText) m_xIconView->ModelHasEntryInvalidated(aEntry); } -void SalInstanceIconView::set_id(int pos, const OUString& rId) -{ - SvTreeListEntry* pEntry = m_xIconView->GetEntry(nullptr, pos); - set_id(pEntry, rId); -} - void SalInstanceIconView::set_item_accessible_name(int pos, const OUString& rName) { SvTreeListEntry* pEntry = m_xIconView->GetEntry(pos); diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index e41143347a09..3f7a88c757ca 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -16899,6 +16899,13 @@ private: } } + virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override + { + const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); + gtk_tree_store_set(m_pTreeStore, const_cast<GtkTreeIter*>(&rGtkIter.iter), m_nIdCol, + rId.toUtf8().getStr(), -1); + } + virtual void set_item_accessible_name(int pos, const OUString& rName) override { #if GTK_CHECK_VERSION(4, 0, 0) commit 6b5d10f8b844ddcfb5eafc5feba6f9c55fbda033 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 07:19:48 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:30:08 2025 +0100 vcl weld: Move set_id helper to SalInstanceItemView This allows it to be reused in SalInstanceIconView as well. Change-Id: Ia7e901556ac13f9a90a115737d4201c6787b1a91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195953 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index f47682ca12da..c2680acda4a5 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1525,6 +1525,10 @@ public: virtual int n_children() const override; +protected: + using weld::ItemView::set_id; + void set_id(SvTreeListEntry* pEntry, const OUString& rId); + private: const OUString* getEntryData(int index) const; }; @@ -1746,8 +1750,7 @@ public: virtual void set_image(const weld::TreeIter& rIter, VirtualDevice& rImage, int col = -1) override; - void set_id(SvTreeListEntry* pEntry, const OUString& rId); - + using SalInstanceItemView::set_id; virtual void set_id(int pos, const OUString& rId) override; virtual int get_selected_index() const override; @@ -1954,6 +1957,7 @@ public: virtual void set_text(int pos, const OUString& rText) override; + using SalInstanceItemView::set_id; virtual void set_id(int pos, const OUString& rId) override; virtual void set_item_accessible_name(int pos, const OUString& rName) override; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 5f50eaab6a74..97cd68e50c9c 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3575,6 +3575,12 @@ OUString SalInstanceItemView::get_id(const weld::TreeIter& rIter) const return OUString(); } +void SalInstanceItemView::set_id(SvTreeListEntry* pEntry, const OUString& rId) +{ + m_aUserData.emplace_back(std::make_unique<OUString>(rId)); + pEntry->SetUserData(m_aUserData.back().get()); +} + OUString SalInstanceItemView::get_selected_id() const { assert(m_pTreeListBox->IsUpdateMode() && "don't request selection when frozen"); @@ -4561,12 +4567,6 @@ void SalInstanceTreeView::set_image(const weld::TreeIter& rIter, VirtualDevice& set_image(rVclIter.iter, createImage(rImage), col); } -void SalInstanceTreeView::set_id(SvTreeListEntry* pEntry, const OUString& rId) -{ - m_aUserData.emplace_back(std::make_unique<OUString>(rId)); - pEntry->SetUserData(m_aUserData.back().get()); -} - void SalInstanceTreeView::set_id(int pos, const OUString& rId) { SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos); @@ -5487,8 +5487,7 @@ void SalInstanceIconView::set_text(int pos, const OUString& rText) void SalInstanceIconView::set_id(int pos, const OUString& rId) { SvTreeListEntry* pEntry = m_xIconView->GetEntry(nullptr, pos); - m_aUserData.emplace_back(std::make_unique<OUString>(rId)); - pEntry->SetUserData(m_aUserData.back().get()); + set_id(pEntry, rId); } void SalInstanceIconView::set_item_accessible_name(int pos, const OUString& rName)
