Kaydet (Commit) 89ed0427 authored tarafından Michael Stahl's avatar Michael Stahl

sw: replace boost::ptr_vector with std::vector<std::unique_ptr>

Change-Id: Iac4d1dcab229c3236d09af4e63d9e33bc038f23d
üst 68daf1e8
......@@ -30,7 +30,6 @@
#include <sfx2/dispatch.hxx>
#include <svx/ctredlin.hxx>
#include <svx/postattr.hxx>
#include <boost/ptr_container/ptr_vector.hpp>
#include <o3tl/sorted_vector.hxx>
#include <memory>
......@@ -60,13 +59,13 @@ struct SwRedlineDataParent
class SwRedlineDataParentSortArr : public o3tl::sorted_vector<SwRedlineDataParent*, o3tl::less_ptr_to<SwRedlineDataParent> > {};
typedef boost::ptr_vector<SwRedlineDataChild> SwRedlineDataChildArr;
typedef std::vector<std::unique_ptr<SwRedlineDataChild>> SwRedlineDataChildArr;
class SW_DLLPUBLIC SwRedlineAcceptDlg
{
VclPtr<vcl::Window> pParentDlg;
std::vector<std::unique_ptr<SwRedlineDataParent>> m_RedlineParents;
SwRedlineDataChildArr aRedlineChildren;
SwRedlineDataChildArr m_RedlineChildren;
SwRedlineDataParentSortArr aUsedSeqNo;
VclPtr<SvxAcceptChgCtr> aTabPagesCTRL;
PopupMenu aPopup;
......
......@@ -235,7 +235,7 @@ void SwRedlineAcceptDlg::Init(sal_uInt16 nStart)
else
{
pTable->Clear();
aRedlineChildren.clear();
m_RedlineChildren.clear();
m_RedlineParents.erase(m_RedlineParents.begin() + nStart, m_RedlineParents.end());
}
......@@ -504,13 +504,15 @@ sal_uInt16 SwRedlineAcceptDlg::CalcDiff(sal_uInt16 nStart, bool bChild)
if (pBackupData->pTLBChild)
pTable->RemoveEntry(pBackupData->pTLBChild);
for( SwRedlineDataChildArr::iterator it = aRedlineChildren.begin();
it != aRedlineChildren.end(); ++it)
if (&*it == pBackupData)
for (SwRedlineDataChildArr::iterator it = m_RedlineChildren.begin();
it != m_RedlineChildren.end(); ++it)
{
if (it->get() == pBackupData)
{
aRedlineChildren.erase(it);
m_RedlineChildren.erase(it);
break;
}
}
pBackupData = pNext;
}
pParent->pNext = 0;
......@@ -594,7 +596,7 @@ void SwRedlineAcceptDlg::InsertChildren(SwRedlineDataParent *pParent, const SwRa
SwRedlineDataChild* pRedlineChild = new SwRedlineDataChild;
pRedlineChild->pChild = pRedlineData;
aRedlineChildren.push_back(pRedlineChild);
m_RedlineChildren.push_back(std::unique_ptr<SwRedlineDataChild>(pRedlineChild));
if ( pLastRedlineChild )
pLastRedlineChild->pNext = pRedlineChild;
......@@ -674,9 +676,10 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd)
{
SwRedlineDataChild * pChildPtr =
const_cast<SwRedlineDataChild*>(m_RedlineParents[i]->pNext);
for( SwRedlineDataChildArr::iterator it = aRedlineChildren.begin();
it != aRedlineChildren.end(); ++it)
if (&*it == pChildPtr)
for (SwRedlineDataChildArr::iterator it = m_RedlineChildren.begin();
it != m_RedlineChildren.end(); ++it)
{
if (it->get() == pChildPtr)
{
sal_uInt16 nChildren = 0;
while (pChildPtr)
......@@ -685,10 +688,11 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd)
nChildren++;
}
aRedlineChildren.erase(it, it + nChildren);
m_RedlineChildren.erase(it, it + nChildren);
bChildrenRemoved = true;
break;
}
}
}
SvTreeListEntry *const pEntry = m_RedlineParents[i]->pTLBParent;
if (pEntry)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment