summaryrefslogtreecommitdiff
path: root/svtools/source
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2012-11-27 14:11:30 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2012-11-28 10:01:32 -0500
commit8369a21642c3f7abd3b3784ee1a27b5cc02562e0 (patch)
treeecf5d692d9132945c2e66b5877f90dfe6d59f3a3 /svtools/source
parentc391ebbf8c8472911af52bbf3ff028ccee5155be (diff)
Use std::vector over c-style pointer array.
Change-Id: I91ab1fb269070deb8389cf4e8473a223c1bbca1d
Diffstat (limited to 'svtools/source')
-rw-r--r--svtools/source/contnr/treelistbox.cxx8
-rw-r--r--svtools/source/contnr/viewdataentry.cxx17
2 files changed, 18 insertions, 7 deletions
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index f7fe4d8f42bc..296a036c2009 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -947,9 +947,8 @@ const SvViewDataItem* SvTreeListBox::GetViewDataItem(const SvTreeListEntry* pEnt
{
const SvViewDataEntry* pEntryData = (const SvViewDataEntry*)SvListView::GetViewData(pEntry);
DBG_ASSERT(pEntryData,"Entry not in View");
- DBG_ASSERT(pEntryData->pItemData,"No ItemData");
sal_uInt16 nItemPos = pEntry->GetPos(pItem);
- return (pEntryData->pItemData + nItemPos);
+ return pEntryData->GetItem(nItemPos);
}
SvViewData* SvTreeListBox::CreateViewData( SvTreeListEntry* )
@@ -965,14 +964,13 @@ void SvTreeListBox::InitViewData( SvViewData* pData, SvTreeListEntry* pEntry )
SvTreeListEntry* pInhEntry = (SvTreeListEntry*)pEntry;
SvViewDataEntry* pEntryData = (SvViewDataEntry*)pData;
- pEntryData->pItemData = new SvViewDataItem[ pInhEntry->ItemCount() ];
- SvViewDataItem* pItemData = pEntryData->pItemData;
- pEntryData->nItmCnt = pInhEntry->ItemCount(); // number of items to delete
+ pEntryData->Init(pInhEntry->ItemCount());
sal_uInt16 nCount = pInhEntry->ItemCount();
sal_uInt16 nCurPos = 0;
while( nCurPos < nCount )
{
SvLBoxItem* pItem = pInhEntry->GetItem( nCurPos );
+ SvViewDataItem* pItemData = pEntryData->GetItem(nCurPos);
pItem->InitViewData( this, pInhEntry, pItemData );
pItemData++;
nCurPos++;
diff --git a/svtools/source/contnr/viewdataentry.cxx b/svtools/source/contnr/viewdataentry.cxx
index 3b35c7578d1d..0fda3dd7e594 100644
--- a/svtools/source/contnr/viewdataentry.cxx
+++ b/svtools/source/contnr/viewdataentry.cxx
@@ -107,13 +107,26 @@ SvViewDataEntry::SvViewDataEntry()
: SvViewData()
{
DBG_CTOR(SvViewDataEntry,0);
- pItemData = 0;
}
SvViewDataEntry::~SvViewDataEntry()
{
DBG_DTOR(SvViewDataEntry,0);
- delete [] pItemData;
+}
+
+void SvViewDataEntry::Init(size_t nSize)
+{
+ maItems.resize(nSize);
+}
+
+const SvViewDataItem* SvViewDataEntry::GetItem(size_t nPos) const
+{
+ return &maItems[nPos];
+}
+
+SvViewDataItem* SvViewDataEntry::GetItem(size_t nPos)
+{
+ return &maItems[nPos];
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */