Tag: cws_src680_oj14 User: oj Date: 2006/07/04 01:25:26 Modified: dba/dbaccess/source/ui/tabledesign/TableUndo.cxx
Log: RESYNC: (1.13-1.15); FILE MERGED File Changes: Directory: /dba/dbaccess/source/ui/tabledesign/ =============================================== File [changed]: TableUndo.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableUndo.cxx?r1=1.13.6.3&r2=1.13.6.4 Delta lines: +42 -64 --------------------- --- TableUndo.cxx 25 Apr 2006 12:50:08 -0000 1.13.6.3 +++ TableUndo.cxx 4 Jul 2006 08:25:24 -0000 1.13.6.4 @@ -125,13 +125,13 @@ DBG_NAME(OTableDesignCellUndoAct); OTableDesignCellUndoAct::OTableDesignCellUndoAct( OTableRowView* pOwner, long nRowID, USHORT nColumn ) : OTableDesignUndoAct( pOwner ,STR_TABED_UNDO_CELLMODIFIED) - ,m_nRow( nRowID ) ,m_nCol( nColumn ) + ,m_nRow( nRowID ) { DBG_CTOR(OTableDesignCellUndoAct,NULL); ////////////////////////////////////////////////////////////////////// // Text an der Position (m_nRow, m_nCol) auslesen - m_sOldText = m_pTabDgnCtrl->GetData( m_nRow, m_nCol ); + m_sOldText = m_pTabDgnCtrl->GetCellData( m_nRow, m_nCol ); } //------------------------------------------------------------------------- @@ -146,8 +146,8 @@ ////////////////////////////////////////////////////////////////////// // Neuen Text der alten Zelle speichern und alten wieder einsetzen m_pTabDgnCtrl->ActivateCell( m_nRow, m_nCol ); - m_sNewText = m_pTabDgnCtrl->GetData( m_nRow, m_nCol ); - m_pTabDgnCtrl->SetData( m_nRow, m_nCol, m_sOldText ); + m_sNewText = m_pTabDgnCtrl->GetCellData( m_nRow, m_nCol ); + m_pTabDgnCtrl->SetCellData( m_nRow, m_nCol, m_sOldText ); ////////////////////////////////////////////////////////////////////// // Wenn erstes Undo zurueckgenommen wurde, ist Zelle nicht mehr modifiziert if (m_pTabDgnCtrl->GetCurUndoActId() == 1) @@ -168,7 +168,7 @@ ////////////////////////////////////////////////////////////////////// // Neuen Text wieder einseten m_pTabDgnCtrl->ActivateCell( m_nRow, m_nCol ); - m_pTabDgnCtrl->SetData( m_nRow, m_nCol, m_sNewText ); + m_pTabDgnCtrl->SetCellData( m_nRow, m_nCol, m_sNewText ); OTableDesignUndoAct::Redo(); } @@ -194,10 +194,10 @@ // class OTableEditorTypeSelUndoAct //============================================================================== DBG_NAME(OTableEditorTypeSelUndoAct); -OTableEditorTypeSelUndoAct::OTableEditorTypeSelUndoAct( OTableEditorCtrl* pOwner, long nRowID, USHORT nColumn, const TOTypeInfoSP& _pOldType ) : - OTableEditorUndoAct( pOwner ,STR_TABED_UNDO_TYPE_CHANGED) - ,m_nRow( nRowID ) +OTableEditorTypeSelUndoAct::OTableEditorTypeSelUndoAct( OTableEditorCtrl* pOwner, long nRowID, USHORT nColumn, const TOTypeInfoSP& _pOldType ) + :OTableEditorUndoAct( pOwner ,STR_TABED_UNDO_TYPE_CHANGED) ,m_nCol( nColumn ) + ,m_nRow( nRowID ) ,m_pOldType( _pOldType ) { DBG_CTOR(OTableEditorTypeSelUndoAct,NULL); @@ -221,7 +221,7 @@ m_pNewType = pFieldDesc->getTypeInfo(); else m_pNewType = TOTypeInfoSP(); - pTabEdCtrl->SetData(m_nRow,m_nCol,m_pOldType); + pTabEdCtrl->SetCellData(m_nRow,m_nCol,m_pOldType); pTabEdCtrl->SwitchType( m_pOldType ); OTableEditorUndoAct::Undo(); @@ -234,7 +234,7 @@ // Neuen Typ pTabEdCtrl->GoToRow( m_nRow ); pTabEdCtrl->GoToColumnId( m_nCol ); - pTabEdCtrl->SetData(m_nRow,m_nCol,m_pNewType); + pTabEdCtrl->SetCellData(m_nRow,m_nCol,m_pNewType); OTableEditorUndoAct::Redo(); } @@ -249,15 +249,15 @@ DBG_CTOR(OTableEditorDelUndoAct,NULL); ////////////////////////////////////////////////////////////////////// // DeletedRowList fuellen - ::std::vector<OTableRow*>* pOriginalRows = pOwner->GetRowList(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = pOwner->GetRowList(); long nIndex = pOwner->FirstSelectedRow(); - OTableRow* pOriginalRow; - OTableRow* pNewRow; + ::boost::shared_ptr<OTableRow> pOriginalRow; + ::boost::shared_ptr<OTableRow> pNewRow; while( nIndex >= 0 ) { pOriginalRow = (*pOriginalRows)[nIndex]; - pNewRow = new OTableRow( *pOriginalRow, nIndex ); + pNewRow.reset(new OTableRow( *pOriginalRow, nIndex )); m_aDeletedRows.push_back( pNewRow); nIndex = pOwner->NextSelectedRow(); @@ -268,12 +268,6 @@ OTableEditorDelUndoAct::~OTableEditorDelUndoAct() { DBG_DTOR(OTableEditorDelUndoAct,NULL); - ////////////////////////////////////////////////////////////////////// - // DeletedRowList loeschen - ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin(); - for(;aIter != m_aDeletedRows.end();++aIter) - delete *aIter; - m_aDeletedRows.clear(); } @@ -283,14 +277,14 @@ ////////////////////////////////////////////////////////////////////// // Geloeschte Zeilen wieder einfuegen ULONG nPos; - ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_aDeletedRows.begin(); - OTableRow* pNewOrigRow; - ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList(); + ::boost::shared_ptr<OTableRow> pNewOrigRow; + ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = pTabEdCtrl->GetRowList(); for(;aIter != m_aDeletedRows.end();++aIter) { - pNewOrigRow = new OTableRow( **aIter ); + pNewOrigRow.reset(new OTableRow( **aIter )); nPos = (*aIter)->GetPos(); pOriginalRows->insert( pOriginalRows->begin()+nPos,pNewOrigRow); } @@ -305,13 +299,12 @@ ////////////////////////////////////////////////////////////////////// // Zeilen wieder loeschen ULONG nPos; - ::std::vector<OTableRow*>::iterator aIter = m_aDeletedRows.begin(); - ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_aDeletedRows.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = pTabEdCtrl->GetRowList(); for(;aIter != m_aDeletedRows.end();++aIter) { nPos = (*aIter)->GetPos(); - delete (*pOriginalRows)[ nPos]; pOriginalRows->erase( pOriginalRows->begin()+nPos ); } @@ -326,10 +319,10 @@ DBG_NAME(OTableEditorInsUndoAct); OTableEditorInsUndoAct::OTableEditorInsUndoAct( OTableEditorCtrl* pOwner, long nInsertPosition , - const ::std::vector< OTableRow*>& _vInsertedRows) + const ::std::vector< ::boost::shared_ptr<OTableRow> >& _vInsertedRows) :OTableEditorUndoAct( pOwner,STR_TABED_UNDO_ROWINSERTED ) - ,m_nInsPos( nInsertPosition ) ,m_vInsertedRows(_vInsertedRows) + ,m_nInsPos( nInsertPosition ) { DBG_CTOR(OTableEditorInsUndoAct,NULL); } @@ -338,12 +331,6 @@ OTableEditorInsUndoAct::~OTableEditorInsUndoAct() { DBG_DTOR(OTableEditorInsUndoAct,NULL); - ////////////////////////////////////////////////////////////////////// - // InsertedRowList loeschen - ::std::vector<OTableRow*>::iterator aIter = m_vInsertedRows.begin(); - for(;aIter != m_vInsertedRows.end();++aIter) - delete *aIter; - m_vInsertedRows.clear(); } @@ -352,10 +339,9 @@ { ////////////////////////////////////////////////////////////////////// // Eingefuegte Zeilen wieder loeschen - ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = pTabEdCtrl->GetRowList(); for( long i=(m_nInsPos+m_vInsertedRows.size()-1); i>(m_nInsPos-1); i-- ) { - delete (*pOriginalRows)[i]; pOriginalRows->erase(pOriginalRows->begin()+i); } @@ -371,12 +357,12 @@ ////////////////////////////////////////////////////////////////////// // Zeilen wieder einfuegen long nInsertRow = m_nInsPos; - OTableRow* pRow; - ::std::vector<OTableRow*>::iterator aIter = m_vInsertedRows.begin(); - ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList(); + ::boost::shared_ptr<OTableRow> pRow; + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vInsertedRows.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = pTabEdCtrl->GetRowList(); for(;aIter != m_vInsertedRows.end();++aIter) { - pRow = new OTableRow( **aIter ); + pRow.reset(new OTableRow( **aIter )); pRowList->insert( pRowList->begin()+nInsertRow ,pRow ); nInsertRow++; } @@ -410,11 +396,10 @@ { ////////////////////////////////////////////////////////////////////// // Eingefuegte Zeilen wieder loeschen - ::std::vector<OTableRow*>* pOriginalRows = pTabEdCtrl->GetRowList(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pOriginalRows = pTabEdCtrl->GetRowList(); for( long i=(m_nInsPos+m_nInsRows-1); i>(m_nInsPos-1); i-- ) { - delete (*pOriginalRows)[i]; pOriginalRows->erase(pOriginalRows->begin()+i); } @@ -429,10 +414,10 @@ { ////////////////////////////////////////////////////////////////////// // Zeilen wieder einfuegen - ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList(); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = pTabEdCtrl->GetRowList(); for( long i=m_nInsPos; i<(m_nInsPos+m_nInsRows); i++ ) - pRowList->insert( pRowList->begin()+i,new OTableRow() ); + pRowList->insert( pRowList->begin()+i,::boost::shared_ptr<OTableRow>(new OTableRow()) ); pTabEdCtrl->RowInserted( m_nInsPos, m_nInsRows, TRUE ); pTabEdCtrl->InvalidateHandleColumn(); @@ -464,13 +449,13 @@ //------------------------------------------------------------------------- void OPrimKeyUndoAct::Undo() { - ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList(); - OTableRow* pRow = NULL; + ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = pTabEdCtrl->GetRowList(); + ::boost::shared_ptr<OTableRow> pRow; long nIndex; ////////////////////////////////////////////////////////////////////// // Die eingefuegten Keys loeschen - for( nIndex = m_aInsKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; nIndex=m_aInsKeys.NextSelected() ) + for( nIndex = m_aInsKeys.FirstSelected(); nIndex != (long)SFX_ENDOFSELECTION; nIndex=m_aInsKeys.NextSelected() ) { OSL_ENSURE(nIndex <= static_cast<long>(pRowList->size()),"Index for undo isn't valid!"); pRow = (*pRowList)[nIndex]; @@ -479,7 +464,7 @@ ////////////////////////////////////////////////////////////////////// // Die geloeschten Keys herstellen - for( nIndex = m_aDelKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; nIndex=m_aDelKeys.NextSelected() ) + for( nIndex = m_aDelKeys.FirstSelected(); nIndex != (long)SFX_ENDOFSELECTION; nIndex=m_aDelKeys.NextSelected() ) { OSL_ENSURE(nIndex <= static_cast<long>(pRowList->size()),"Index for undo isn't valid!"); pRow = (*pRowList)[nIndex]; @@ -493,25 +478,18 @@ //------------------------------------------------------------------------- void OPrimKeyUndoAct::Redo() { - ::std::vector<OTableRow*>* pRowList = pTabEdCtrl->GetRowList(); - OTableRow* pRow = NULL; + ::std::vector< ::boost::shared_ptr<OTableRow> >* pRowList = pTabEdCtrl->GetRowList(); long nIndex; ////////////////////////////////////////////////////////////////////// // Die geloeschten Keys loeschen - for( nIndex = m_aDelKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; nIndex=m_aDelKeys.NextSelected() ) - { - pRow = (*pRowList)[nIndex]; - pRow->SetPrimaryKey( FALSE ); - } + for( nIndex = m_aDelKeys.FirstSelected(); nIndex != (long)SFX_ENDOFSELECTION; nIndex=m_aDelKeys.NextSelected() ) + (*pRowList)[nIndex]->SetPrimaryKey( FALSE ); ////////////////////////////////////////////////////////////////////// // Die eingefuegten Keys herstellen - for( nIndex = m_aInsKeys.FirstSelected(); nIndex != SFX_ENDOFSELECTION; nIndex=m_aInsKeys.NextSelected() ) - { - pRow = (*pRowList)[nIndex]; - pRow->SetPrimaryKey( TRUE ); - } + for( nIndex = m_aInsKeys.FirstSelected(); nIndex != (long)SFX_ENDOFSELECTION; nIndex=m_aInsKeys.NextSelected() ) + (*pRowList)[nIndex]->SetPrimaryKey( TRUE ); m_pEditorCtrl->InvalidateHandleColumn(); OTableEditorUndoAct::Redo(); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
