Kaydet (Commit) 35f69899 authored tarafından Rafael Dominguez's avatar Rafael Dominguez Kaydeden (comit) Kohei Yoshida

Replace XclExpChTrTabIdBufferList with std::vector<>.

üst 54fd34f7
......@@ -313,22 +313,6 @@ public:
{ memcpy( pDest, pBuffer, sizeof(sal_uInt16) * GetBufferCount() ); }
};
//___________________________________________________________________
// XclExpChTrTabIdBufferList
class XclExpChTrTabIdBufferList : private List
{
private:
inline XclExpChTrTabIdBuffer* First() { return (XclExpChTrTabIdBuffer*) List::First(); }
inline XclExpChTrTabIdBuffer* Next() { return (XclExpChTrTabIdBuffer*) List::Next(); }
public:
virtual ~XclExpChTrTabIdBufferList();
inline void Append( XclExpChTrTabIdBuffer* pNew )
{ List::Insert( pNew, LIST_APPEND ); }
};
//___________________________________________________________________
// XclExpChTrTabId - tab id record
......@@ -656,8 +640,8 @@ class XclExpChangeTrack : protected XclExpRoot
private:
XclExpChTrRecordList aRecList;
XclExpChTrActionStack aActionStack;
XclExpChTrTabIdBufferList aTabIdBufferList;
XclExpChTrTabIdBuffer* pTabIdBuffer;
std::vector<XclExpChTrTabIdBuffer*> maBuffers;
ScDocument* pTempDoc; // empty document
......
......@@ -537,14 +537,6 @@ void XclExpChTrTabIdBuffer::Remove()
//___________________________________________________________________
XclExpChTrTabIdBufferList::~XclExpChTrTabIdBufferList()
{
for( XclExpChTrTabIdBuffer* pBuffer = First(); pBuffer; pBuffer = Next() )
delete pBuffer;
}
//___________________________________________________________________
XclExpChTrTabId::XclExpChTrTabId( const XclExpChTrTabIdBuffer& rBuffer, bool bInRevisionHeaders )
: nTabCount( rBuffer.GetBufferCount() )
, mbInRevisionHeaders( bInRevisionHeaders )
......@@ -1466,7 +1458,6 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
XclExpRoot( rRoot ),
aRecList(),
aActionStack(),
aTabIdBufferList(),
pTabIdBuffer( NULL ),
pTempDoc( NULL ),
nNewAction( 1 ),
......@@ -1482,7 +1473,7 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
return;
pTabIdBuffer = new XclExpChTrTabIdBuffer( GetTabInfo().GetXclTabCount() );
aTabIdBufferList.Append( pTabIdBuffer );
maBuffers.push_back( pTabIdBuffer );
// calculate final table order (tab id list)
const ScChangeAction* pScAction;
......@@ -1557,6 +1548,10 @@ XclExpChangeTrack::XclExpChangeTrack( const XclExpRoot& rRoot ) :
XclExpChangeTrack::~XclExpChangeTrack()
{
std::vector<XclExpChTrTabIdBuffer*>::iterator pIter;
for ( pIter = maBuffers.begin(); pIter != maBuffers.end(); ++pIter )
delete *pIter;
if( pTempDoc )
delete pTempDoc;
}
......@@ -1612,7 +1607,7 @@ void XclExpChangeTrack::PushActionRecord( const ScChangeAction& rAction )
pXclAction = new XclExpChTrInsertTab( rAction, GetRoot(), *pTabIdBuffer );
XclExpChTrTabIdBuffer* pNewBuffer = new XclExpChTrTabIdBuffer( *pTabIdBuffer );
pNewBuffer->Remove();
aTabIdBufferList.Append( pNewBuffer );
maBuffers.push_back( pNewBuffer );
pTabIdBuffer = pNewBuffer;
}
break;
......
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