vcl weld: Deduplicate ItemView::get_{selected,cursor} impls
The implementations for SalInstanceTreeView and SalInstanceIconView are the same. Deduplicate by moving logic to the SalInstanceItemView base class. Change-Id: Id507c84dab211980f31826b9f09efb58e61ad538 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196038 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
@@ -1527,6 +1527,10 @@ public:
|
||||
virtual OUString get_selected_id() const override;
|
||||
virtual OUString get_selected_text() const override;
|
||||
|
||||
virtual bool get_selected(weld::TreeIter* pIter) const override;
|
||||
|
||||
virtual bool get_cursor(weld::TreeIter* pIter) const override;
|
||||
|
||||
virtual int n_children() const override;
|
||||
|
||||
private:
|
||||
@@ -1750,10 +1754,6 @@ public:
|
||||
|
||||
virtual void copy_iterator(const weld::TreeIter& rSource, weld::TreeIter& rDest) const override;
|
||||
|
||||
virtual bool get_selected(weld::TreeIter* pIter) const override;
|
||||
|
||||
virtual bool get_cursor(weld::TreeIter* pIter) const override;
|
||||
|
||||
bool get_iter_abs_pos(weld::TreeIter& rIter, int nPos) const;
|
||||
|
||||
virtual bool iter_previous_sibling(weld::TreeIter& rIter) const override;
|
||||
@@ -1932,10 +1932,6 @@ public:
|
||||
|
||||
virtual int count_selected_items() const override;
|
||||
|
||||
virtual bool get_selected(weld::TreeIter* pIter) const override;
|
||||
|
||||
virtual bool get_cursor(weld::TreeIter* pIter) const override;
|
||||
|
||||
virtual void do_scroll_to_item(const weld::TreeIter& rIter) override;
|
||||
|
||||
virtual void selected_foreach(const std::function<bool(weld::TreeIter&)>& func) override;
|
||||
|
||||
@@ -3593,6 +3593,24 @@ OUString SalInstanceItemView::get_selected_text() const
|
||||
return OUString();
|
||||
}
|
||||
|
||||
bool SalInstanceItemView::get_selected(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_pTreeListBox->FirstSelected();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
bool SalInstanceItemView::get_cursor(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_pTreeListBox->GetCurEntry();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
void SalInstanceItemView::do_select_all()
|
||||
{
|
||||
assert(m_pTreeListBox->IsUpdateMode()
|
||||
@@ -4567,24 +4585,6 @@ void SalInstanceTreeView::copy_iterator(const weld::TreeIter& rSource, weld::Tre
|
||||
rVclDest.iter = rVclSource.iter;
|
||||
}
|
||||
|
||||
bool SalInstanceTreeView::get_selected(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xTreeView->FirstSelected();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
bool SalInstanceTreeView::get_cursor(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xTreeView->GetCurEntry();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
bool SalInstanceTreeView::get_iter_abs_pos(weld::TreeIter& rIter, int nAbsPos) const
|
||||
{
|
||||
SalInstanceTreeIter& rVclIter = static_cast<SalInstanceTreeIter&>(rIter);
|
||||
@@ -5357,24 +5357,6 @@ void SalInstanceIconView::connect_get_image(
|
||||
|
||||
int SalInstanceIconView::count_selected_items() const { return m_xIconView->GetSelectionCount(); }
|
||||
|
||||
bool SalInstanceIconView::get_selected(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xIconView->FirstSelected();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
bool SalInstanceIconView::get_cursor(weld::TreeIter* pIter) const
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_xIconView->GetCurEntry();
|
||||
auto pVclIter = static_cast<SalInstanceTreeIter*>(pIter);
|
||||
if (pVclIter)
|
||||
pVclIter->iter = pEntry;
|
||||
return pEntry != nullptr;
|
||||
}
|
||||
|
||||
void SalInstanceIconView::do_scroll_to_item(const weld::TreeIter& rIter)
|
||||
{
|
||||
assert(m_xIconView->IsUpdateMode()
|
||||
|
||||
Reference in New Issue
Block a user