Tag: cws_src680_dba203c User: oj Date: 06/04/13 06:57:22 Modified: /dba/dbaccess/source/ui/browser/ sbagrid.cxx /dba/dbaccess/source/ui/inc/ TableController.hxx, TableRowExchange.hxx /dba/dbaccess/source/ui/tabledesign/ TEditControl.cxx, TEditControl.hxx, TableController.cxx, TableDesignView.cxx, TableFieldControl.cxx, TableRowExchange.cxx, TableUndo.cxx, TableUndo.hxx
Log: hold TableRow now with a shared_ptr File Changes: Directory: /dba/dbaccess/source/ui/browser/ =========================================== File [changed]: sbagrid.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/browser/sbagrid.cxx?r1=1.73&r2=1.73.102.1 Delta lines: +5 -6 ------------------- --- sbagrid.cxx 23 Sep 2005 12:21:53 -0000 1.73 +++ sbagrid.cxx 13 Apr 2006 13:57:17 -0000 1.73.102.1 @@ -4,9 +4,9 @@ * * $RCSfile: sbagrid.cxx,v $ * - * $Revision: 1.73 $ + * $Revision: 1.73.102.1 $ * - * last change: $Author: hr $ $Date: 2005/09/23 12:21:53 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1017,10 +1017,9 @@ if(!xField.is()) break; - ::std::vector<OTableRow*> vClipboardList; - OTableRow* pTableRow = new OTableRow(xField); + ::std::vector< ::boost::shared_ptr<OTableRow> > vClipboardList; // send it to the clipboard - vClipboardList.push_back(pTableRow); + vClipboardList.push_back(::boost::shared_ptr<OTableRow>(new OTableRow(xField))); OTableRowExchange* pData = new OTableRowExchange(vClipboardList); Reference< ::com::sun::star::datatransfer::XTransferable> xRef = pData; #if SUPD<631 Directory: /dba/dbaccess/source/ui/inc/ ======================================= File [changed]: TableController.hxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/inc/TableController.hxx?r1=1.35&r2=1.35.110.1 Delta lines: +5 -5 ------------------- --- TableController.hxx 8 Sep 2005 15:35:28 -0000 1.35 +++ TableController.hxx 13 Apr 2006 13:57:17 -0000 1.35.110.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableController.hxx,v $ * - * $Revision: 1.35 $ + * $Revision: 1.35.110.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 15:35:28 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -75,7 +75,7 @@ class OTableController : public OTableController_BASE { private: - ::std::vector<OTableRow*> m_vRowList; + ::std::vector< ::boost::shared_ptr<OTableRow> > m_vRowList; OTypeInfoMap m_aTypeInfo; ::std::vector<OTypeInfoMap::iterator> m_aTypeInfoIndex; @@ -143,7 +143,7 @@ // const ::connectivity::OSQLParseNode* getParseTree() const { return m_aSqlIterator.getParseTree();} // need for undo's and redo's SfxUndoManager* getUndoMgr(); - inline ::std::vector<OTableRow*>* getRows() { return &m_vRowList; } + inline ::std::vector< ::boost::shared_ptr<OTableRow> >* getRows() { return &m_vRowList; } /// returns the postion of the the first empty row sal_Int32 getFirstEmptyRowPosition() const; File [changed]: TableRowExchange.hxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/inc/TableRowExchange.hxx?r1=1.2&r2=1.2.110.1 Delta lines: +6 -5 ------------------- --- TableRowExchange.hxx 8 Sep 2005 15:37:46 -0000 1.2 +++ TableRowExchange.hxx 13 Apr 2006 13:57:17 -0000 1.2.110.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableRowExchange.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.110.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 15:37:46 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:17 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -44,15 +44,16 @@ #ifndef _TRANSFER_HXX #include <svtools/transfer.hxx> #endif +#include <boost/shared_ptr.hpp> namespace dbaui { class OTableRow; class OTableRowExchange : public TransferableHelper { - ::std::vector<OTableRow*> m_vTableRow; + ::std::vector< ::boost::shared_ptr<OTableRow> > m_vTableRow; public: - OTableRowExchange(const ::std::vector<OTableRow*>& _rvTableRow); + OTableRowExchange(const ::std::vector< ::boost::shared_ptr<OTableRow> >& _rvTableRow); protected: virtual void AddSupportedFormats(); virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); Directory: /dba/dbaccess/source/ui/tabledesign/ =============================================== File [changed]: TEditControl.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TEditControl.cxx?r1=1.47&r2=1.47.4.1 Delta lines: +22 -24 --------------------- --- TEditControl.cxx 29 Mar 2006 12:39:46 -0000 1.47 +++ TEditControl.cxx 13 Apr 2006 13:57:18 -0000 1.47.4.1 @@ -4,9 +4,9 @@ * * $RCSfile: TEditControl.cxx,v $ * - * $Revision: 1.47 $ + * $Revision: 1.47.4.1 $ * - * last change: $Author: obo $ $Date: 2006/03/29 12:39:46 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:18 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -246,7 +246,6 @@ ,nInvalidateTypeEvent(0) ,nEntryNotFoundEvent(0) ,bReadOnly(sal_True) - ,pActRow(NULL) ,pDescrWin(NULL) ,m_eChildFocus(NONE) { @@ -610,7 +609,7 @@ ::comphelper::UStringMixEqual bCase(xMetaData.is() ? xMetaData->storesMixedCaseQuotedIdentifiers() : sal_True); - ::std::vector<OTableRow*>::iterator aIter = m_pRowList->begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_pRowList->begin(); OFieldDescription* pFieldDescr; sal_Int32 nCount(0); for(;aIter != m_pRowList->end();++aIter) @@ -878,9 +877,9 @@ ////////////////////////////////////////////////////////////////////// // Selektierte Zeilen in die ClipboardListe kopieren - OTableRow* pClipboardRow; - OTableRow* pRow; - ::std::vector<OTableRow*> vClipboardList; + ::boost::shared_ptr<OTableRow> pClipboardRow; + ::boost::shared_ptr<OTableRow> pRow; + ::std::vector< ::boost::shared_ptr<OTableRow> > vClipboardList; vClipboardList.reserve(GetSelectRowCount()); for( long nIndex=FirstSelectedRow(); nIndex >= 0 && nIndex < static_cast<long>(m_pRowList->size()); nIndex=NextSelectedRow() ) @@ -889,7 +888,7 @@ OSL_ENSURE(pRow,"OTableEditorCtrl::CopyRows: Row is NULL!"); if ( pRow && pRow->GetActFieldDescr() ) { - pClipboardRow = new OTableRow( *pRow ); + pClipboardRow.reset(new OTableRow( *pRow )); vClipboardList.push_back( pClipboardRow); } } @@ -937,7 +936,7 @@ { DBG_CHKTHIS(OTableEditorCtrl,NULL); - ::std::vector< OTableRow*> vInsertedUndoRedoRows; // need for undo/redo handling + ::std::vector< ::boost::shared_ptr<OTableRow> > vInsertedUndoRedoRows; // need for undo/redo handling ////////////////////////////////////////////////////////////////////// // get rows from clipboard TransferableDataHelper aTransferData(TransferableDataHelper::CreateFromSystemClipboard(GetParent())); @@ -951,13 +950,13 @@ aStreamRef->ResetError(); long nInsertRow = nRow; String aFieldName; - OTableRow* pRow; + ::boost::shared_ptr<OTableRow> pRow; sal_Int32 nSize = 0; (*aStreamRef) >> nSize; vInsertedUndoRedoRows.reserve(nSize); for(sal_Int32 i=0;i < nSize;++i) { - pRow = new OTableRow(); + pRow.reset(new OTableRow()); (*aStreamRef) >> *pRow; pRow->SetReadOnly( sal_False ); sal_Int32 nType = pRow->GetActFieldDescr()->GetType(); @@ -969,7 +968,7 @@ pRow->GetActFieldDescr()->SetName( aFieldName ); pRow->SetPos(nInsertRow); m_pRowList->insert( m_pRowList->begin()+nInsertRow,pRow ); - vInsertedUndoRedoRows.push_back(new OTableRow(*pRow)); + vInsertedUndoRedoRows.push_back(::boost::shared_ptr<OTableRow>(new OTableRow(*pRow))); nInsertRow++; } } @@ -1008,13 +1007,12 @@ { ////////////////////////////////////////////////////////////////////// // Zeile entfernen - delete (*m_pRowList)[nIndex]; m_pRowList->erase( m_pRowList->begin()+nIndex ); RowRemoved( nIndex, 1, sal_True ); ////////////////////////////////////////////////////////////////////// // Leerzeile am Ende wieder einfuegen - m_pRowList->push_back( new OTableRow()); + m_pRowList->push_back( ::boost::shared_ptr<OTableRow>(new OTableRow())); RowInserted( GetRowCount()-1, 1, sal_True ); nIndex = FirstSelectedRow(); @@ -1048,7 +1046,7 @@ ////////////////////////////////////////////////////////////////////// // Zahl der selektierten Zeilen werden neu eingefuegt for( long i=nRow; i<(nRow+nInsertRows); i++ ) - m_pRowList->insert( m_pRowList->begin()+i ,new OTableRow()); + m_pRowList->insert( m_pRowList->begin()+i ,::boost::shared_ptr<OTableRow>(new OTableRow())); RowInserted( nRow, nInsertRows, sal_True ); GetView()->getController()->setModified( sal_True ); @@ -1306,7 +1304,7 @@ OSL_ENSURE(0,"(nRow<0) || (nRow>=nListCount)"); return NULL; } - OTableRow* pRow = (*m_pRowList)[ nRow ]; + ::boost::shared_ptr<OTableRow> pRow = (*m_pRowList)[ nRow ]; if( !pRow ) return NULL; return pRow->GetActFieldDescr(); @@ -1358,7 +1356,7 @@ ////////////////////////////////////////////////////////////////////// // Wenn eine der markierten Zeilen leer ist, kein Copy moeglich - OTableRow* pRow; + ::boost::shared_ptr<OTableRow> pRow; long nIndex = FirstSelectedRow(); while( nIndex >= 0 && nIndex < static_cast<long>(m_pRowList->size()) ) { @@ -1533,7 +1531,7 @@ // - kein Eintrag vom Typ Memo oder Image ist // - kein DROP erlaubt ist (s.o.) und die Spalte noch kein Required (not null) gesetzt hatte. long nIndex = FirstSelectedRow(); - OTableRow* pRow; + ::boost::shared_ptr<OTableRow> pRow; while( nIndex >= 0 && nIndex < static_cast<long>(m_pRowList->size()) ) { pRow = (*m_pRowList)[nIndex]; @@ -1701,7 +1699,7 @@ // belegte Zeilen erscheinen sal_Int32 nFreeFromPos; // ab da nur freie Zeilen - ::std::vector<OTableRow*>::reverse_iterator aIter = m_pRowList->rbegin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::reverse_iterator aIter = m_pRowList->rbegin(); for(nFreeFromPos = m_pRowList->size(); aIter != m_pRowList->rend() && (!(*aIter) || !(*aIter)->GetActFieldDescr() || !(*aIter)->GetActFieldDescr()->GetName().getLength()); --nFreeFromPos, ++aIter) @@ -1770,7 +1768,7 @@ aDeletedPrimKeys.SetTotalRange( Range(0,GetRowCount()) ); long nIndex = 0; - ::std::vector<OTableRow*>::const_iterator aIter = m_pRowList->begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = m_pRowList->begin(); for(;aIter != m_pRowList->end();++aIter) { OFieldDescription* pFieldDescr = (*aIter)->GetActFieldDescr(); @@ -1792,7 +1790,7 @@ { ////////////////////////////////////////////////////////////////////// // Key setzen - OTableRow* pRow = (*m_pRowList)[nIndex]; + ::boost::shared_ptr<OTableRow> pRow = (*m_pRowList)[nIndex]; OFieldDescription* pFieldDescr = pRow->GetActFieldDescr(); if(pFieldDescr) AdjustFieldDescription(pFieldDescr,aInsertedPrimKeys,nIndex,sal_False,sal_True); @@ -1821,7 +1819,7 @@ ////////////////////////////////////////////////////////////////////// // Gehoeren alle markierten Felder zu einem Primary Key ? long nPrimaryKeys = 0; - ::std::vector<OTableRow*>::const_iterator aIter = m_pRowList->begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = m_pRowList->begin(); for(sal_Int32 nRow=0;aIter != m_pRowList->end();++aIter,++nRow) { if( IsRowSelected(nRow) && !(*aIter)->IsPrimaryKey() ) @@ -1852,7 +1850,7 @@ return; ////////////////////////////////////////////////////////////////////// // Neue Beschreibung darstellen - OTableRow* pRow = (*m_pRowList)[nRow]; + ::boost::shared_ptr<OTableRow> pRow = (*m_pRowList)[nRow]; pRow->SetFieldType( _pType, sal_True ); if ( _pType.get() ) { File [changed]: TEditControl.hxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TEditControl.hxx?r1=1.15&r2=1.15.4.1 Delta lines: +8 -8 ------------------- --- TEditControl.hxx 29 Mar 2006 12:39:58 -0000 1.15 +++ TEditControl.hxx 13 Apr 2006 13:57:19 -0000 1.15.4.1 @@ -4,9 +4,9 @@ * * $RCSfile: TEditControl.hxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.15.4.1 $ * - * last change: $Author: obo $ $Date: 2006/03/29 12:39:58 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -70,8 +70,8 @@ NONE }; - ::std::vector<OTableRow*> m_aUndoList; - ::std::vector<OTableRow*>* m_pRowList; + ::std::vector< ::boost::shared_ptr<OTableRow> > m_aUndoList; + ::std::vector< ::boost::shared_ptr<OTableRow> >* m_pRowList; EEditMode eEditMode; @@ -80,7 +80,7 @@ Edit* pDescrCell; OTableFieldDescWin* pDescrWin; // properties of one column - OTableRow* pActRow; + ::boost::shared_ptr<OTableRow> pActRow; ULONG nIndexEvent; ULONG nCutEvent; @@ -174,9 +174,9 @@ virtual OTableDesignView* GetView() const; - ::std::vector<OTableRow*>* GetRowList(){ return m_pRowList; } + ::std::vector< ::boost::shared_ptr<OTableRow> >* GetRowList(){ return m_pRowList; } - OTableRow* GetActRow(){ return pActRow; } + ::boost::shared_ptr<OTableRow> GetActRow(){ return pActRow; } void CellModified( long nRow, USHORT nColId ); void SetReadOnly( BOOL bRead=TRUE ); File [changed]: TableController.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableController.cxx?r1=1.101&r2=1.101.2.1 Delta lines: +33 -33 --------------------- --- TableController.cxx 29 Mar 2006 12:40:09 -0000 1.101 +++ TableController.cxx 13 Apr 2006 13:57:19 -0000 1.101.2.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableController.cxx,v $ * - * $Revision: 1.101 $ + * $Revision: 1.101.2.1 $ * - * last change: $Author: obo $ $Date: 2006/03/29 12:40:09 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -156,6 +156,7 @@ #ifndef DBAUI_TOOLS_HXX #include "UITools.hxx" #endif +#include <boost/mem_fn.hpp> extern "C" void SAL_CALL createRegistryInfo_OTableControl() { @@ -192,9 +193,9 @@ } } //------------------------------------------------------------------------------ - struct OTableRowCompare : public ::std::binary_function< OTableRow*, ::rtl::OUString, bool> + struct OTableRowCompare : public ::std::binary_function< ::boost::shared_ptr<OTableRow> , ::rtl::OUString, bool> { - bool operator() (const OTableRow* lhs, const ::rtl::OUString& rhs) const + bool operator() (const ::boost::shared_ptr<OTableRow> lhs, const ::rtl::OUString& rhs) const { OFieldDescription* pField = lhs->GetActFieldDescr(); return pField && pField->GetName() == rhs; @@ -277,9 +278,7 @@ OTableController_BASE::disposing(); m_pView = NULL; - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); - for(;aIter != m_vRowList.end();++aIter) - delete *aIter; + m_vRowList.clear(); } // ----------------------------------------------------------------------------- FeatureState OTableController::GetState(sal_uInt16 _nId) const @@ -300,7 +299,8 @@ aReturn.bEnabled = isModified(); if ( aReturn.bEnabled ) { - ::std::vector<OTableRow*>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid)); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(), + ::boost::mem_fn(&OTableRow::isValid)); aReturn.bEnabled = aIter != m_vRowList.end(); } break; @@ -308,7 +308,8 @@ aReturn.bEnabled = isConnected() && isEditable(); if ( aReturn.bEnabled ) { - ::std::vector<OTableRow*>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid)); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(), + ::boost::mem_fn(&OTableRow::isValid)); aReturn.bEnabled = aIter != m_vRowList.end(); } break; @@ -331,7 +332,8 @@ ); if ( aReturn.bEnabled ) { - ::std::vector<OTableRow*>::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid)); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(), + ::boost::mem_fn(&OTableRow::isValid)); aReturn.bEnabled = aIter != m_vRowList.end(); } break; @@ -703,7 +705,8 @@ sal_Bool bCheck = sal_True; if ( isModified() ) { - ::std::vector<OTableRow*>::iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(),::std::mem_fun(&OTableRow::isValid)); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = ::std::find_if(m_vRowList.begin(),m_vRowList.end(), + ::boost::mem_fn(&OTableRow::isValid)); if ( aIter != m_vRowList.end() ) { QueryBox aQry(getView(), ModuleRes(TABLE_DESIGN_SAVEMODIFIED)); @@ -847,8 +850,8 @@ Reference<XAppend> xAppend(xColumns,UNO_QUERY); OSL_ENSURE(xAppend.is(),"No XAppend Interface!"); - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); - ::std::vector<OTableRow*>::iterator aEnd = m_vRowList.end(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aEnd = m_vRowList.end(); for(;aIter != aEnd;++aIter) { OSL_ENSURE(*aIter,"OTableRow is null!"); @@ -924,12 +927,9 @@ { ////////////////////////////////////////////////////////////////////// // Wenn Datenstruktur bereits vorhanden, Struktur leeren - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); - for(;aIter != m_vRowList.end();++aIter) - delete *aIter; m_vRowList.clear(); - OTableRow* pTabEdRow = NULL; + ::boost::shared_ptr<OTableRow> pTabEdRow; Reference< XDatabaseMetaData> xMetaData = getMetaData( ); ////////////////////////////////////////////////////////////////////// // Datenstruktur mit Daten aus DatenDefinitionsObjekt fuellen @@ -986,7 +986,7 @@ if(xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_ALIGN)) xColumn->getPropertyValue(PROPERTY_ALIGN) >>= nAlign; - pTabEdRow = new OTableRow(); + pTabEdRow.reset(new OTableRow()); pTabEdRow->SetReadOnly(!bIsAlterAllowed); // search for type sal_Bool bForce; @@ -1027,7 +1027,7 @@ for(;pKeyBegin != pKeyEnd;++pKeyBegin) { - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); for(;aIter != m_vRowList.end();++aIter) { if((*aIter)->GetActFieldDescr()->GetName() == *pKeyBegin) @@ -1052,7 +1052,7 @@ bool bReadRow = !isAddAllowed(); for(sal_Int32 i=m_vRowList.size(); i<128; i++ ) { - pTabEdRow = new OTableRow(); + pTabEdRow.reset(new OTableRow()); pTabEdRow->SetReadOnly(bReadRow); m_vRowList.push_back( pTabEdRow); } @@ -1102,7 +1102,7 @@ Reference< XDatabaseMetaData> xMetaData = getMetaData( ); ::comphelper::UStringMixEqual bCase(xMetaData.is() ? xMetaData->supportsMixedCaseQuotedIdentifiers() : sal_True); - ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = m_vRowList.begin(); for(;aIter != m_vRowList.end();++aIter) { OFieldDescription* pFieldDesc = (*aIter)->GetActFieldDescr(); @@ -1112,7 +1112,7 @@ sal_uInt16 nErrorRes = sal_uInt16(-1); sal_uInt16 nFieldPos = sal_uInt16(-1); // first check for duplicate names - ::std::vector<OTableRow*>::const_iterator aIter2 = aIter+1; + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter2 = aIter+1; for(;aIter2 != m_vRowList.end();++aIter2) { OFieldDescription* pCompareDesc = (*aIter2)->GetActFieldDescr(); @@ -1140,7 +1140,7 @@ if (nReturn == RET_YES) { - OTableRow* pNewRow = new OTableRow(); + ::boost::shared_ptr<OTableRow> pNewRow(new OTableRow()); TOTypeInfoSP pTypeInfo = ::dbaui::queryPrimaryKeyType(m_aTypeInfo); if ( pTypeInfo.get() ) @@ -1190,8 +1190,8 @@ ::std::map< ::rtl::OUString,sal_Bool,::comphelper::UStringMixLess> aColumns(xMetaData.is() ? (xMetaData->supportsMixedCaseQuotedIdentifiers() ? true : false): sal_True); - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); - ::std::vector<OTableRow*>::iterator aEnd = m_vRowList.end(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aEnd = m_vRowList.end(); // first look for columns where something other than the name changed for(sal_Int32 nPos = 0;aIter != aEnd;++aIter,++nPos) { @@ -1500,8 +1500,8 @@ xKeyColumns = NULL; Reference<XDrop> xDrop(xKeys,UNO_QUERY); xDrop->dropByIndex(i); // delete the key - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); - ::std::vector<OTableRow*>::iterator aEnd = m_vRowList.end(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aEnd = m_vRowList.end(); for(;aIter != aEnd;++aIter) { OSL_ENSURE(*aIter,"OTableRow is null!"); @@ -1546,7 +1546,7 @@ setEditable( xMeta.is() && !xMeta->isReadOnly() && (isAlterAllowed() || isDropAllowed() || isAddAllowed()) ); if(!isEditable()) { - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); for(; aIter != m_vRowList.end(); ++aIter) (*aIter)->SetReadOnly(sal_True); } @@ -1598,7 +1598,7 @@ { sal_Bool bAlterAllowed = isAlterAllowed(); sal_Bool bAddAllowed = isAddAllowed(); - ::std::vector<OTableRow*>::iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::iterator aIter = m_vRowList.begin(); for(;aIter != m_vRowList.end();++aIter) { OSL_ENSURE(*aIter,"OTableRow is null!"); @@ -1622,7 +1622,7 @@ ::comphelper::UStringMixEqual bCase(xMetaData.is() ? xMetaData->supportsMixedCaseQuotedIdentifiers() : sal_True); - ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = m_vRowList.begin(); for(sal_Int32 i=0;aIter != m_vRowList.end();++aIter) { OFieldDescription* pFieldDesc = (*aIter)->GetActFieldDescr(); @@ -1677,8 +1677,8 @@ sal_Int32 OTableController::getFirstEmptyRowPosition() const { sal_Int32 nRet = -1; - ::std::vector<OTableRow*>::const_iterator aIter = m_vRowList.begin(); - ::std::vector<OTableRow*>::const_iterator aEnd = m_vRowList.end(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = m_vRowList.begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aEnd = m_vRowList.end(); for(;aIter != aEnd;++aIter) { if ( !*aIter || !(*aIter)->GetActFieldDescr() || !(*aIter)->GetActFieldDescr()->GetName().getLength() ) File [changed]: TableDesignView.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableDesignView.cxx?r1=1.26&r2=1.26.4.1 Delta lines: +5 -5 ------------------- --- TableDesignView.cxx 29 Mar 2006 12:40:48 -0000 1.26 +++ TableDesignView.cxx 13 Apr 2006 13:57:19 -0000 1.26.4.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableDesignView.cxx,v $ * - * $Revision: 1.26 $ + * $Revision: 1.26.4.1 $ * - * last change: $Author: obo $ $Date: 2006/03/29 12:40:48 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -305,7 +305,7 @@ } else { - OTableRow* pRow = (*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()]; + ::boost::shared_ptr<OTableRow> pRow = (*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()]; OFieldDescription* pFieldDescr = pRow ? pRow->GetActFieldDescr() : NULL; if ( pFieldDescr ) GetDescWin()->GrabFocus(); @@ -398,7 +398,7 @@ void OTableDesignView::reSync() { GetEditorCtrl()->DeactivateCell(); - OTableRow* pRow = (*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()]; + ::boost::shared_ptr<OTableRow> pRow = (*GetEditorCtrl()->GetRowList())[GetEditorCtrl()->GetCurRow()]; OFieldDescription* pFieldDescr = pRow ? pRow->GetActFieldDescr() : NULL; if ( pFieldDescr ) GetDescWin()->DisplayData(pFieldDescr); File [changed]: TableFieldControl.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableFieldControl.cxx?r1=1.9&r2=1.9.110.1 Delta lines: +4 -4 ------------------- --- TableFieldControl.cxx 8 Sep 2005 16:41:26 -0000 1.9 +++ TableFieldControl.cxx 13 Apr 2006 13:57:19 -0000 1.9.110.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableFieldControl.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.9.110.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 16:41:26 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -96,7 +96,7 @@ bRead = sal_True; else { - OTableRow* pCurRow = GetCtrl()->GetActRow(); + ::boost::shared_ptr<OTableRow> pCurRow = GetCtrl()->GetActRow(); if( pCurRow ) bRead = pCurRow->IsReadOnly(); } File [changed]: TableRowExchange.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableRowExchange.cxx?r1=1.2&r2=1.2.110.1 Delta lines: +7 -10 -------------------- --- TableRowExchange.cxx 8 Sep 2005 16:42:50 -0000 1.2 +++ TableRowExchange.cxx 13 Apr 2006 13:57:19 -0000 1.2.110.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableRowExchange.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.2.110.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 16:42:50 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -49,7 +49,7 @@ { using namespace ::com::sun::star::uno; using namespace ::com::sun::star::beans; - OTableRowExchange::OTableRowExchange(const ::std::vector<OTableRow*>& _rvTableRow) + OTableRowExchange::OTableRowExchange(const ::std::vector< ::boost::shared_ptr<OTableRow> >& _rvTableRow) : m_vTableRow(_rvTableRow) { } @@ -58,11 +58,11 @@ { if(nUserObjectId == SOT_FORMATSTR_ID_SBA_TABED) { - ::std::vector<OTableRow*>* pRows = reinterpret_cast< ::std::vector<OTableRow*>* >(pUserObject); + ::std::vector< ::boost::shared_ptr<OTableRow> >* pRows = reinterpret_cast< ::std::vector< ::boost::shared_ptr<OTableRow> >* >(pUserObject); if(pRows) { (*rxOStm) << (sal_Int32)pRows->size(); // first stream the size - ::std::vector<OTableRow*>::const_iterator aIter = pRows->begin(); + ::std::vector< ::boost::shared_ptr<OTableRow> >::const_iterator aIter = pRows->begin(); for(;aIter != pRows->end();++aIter) (*rxOStm) << *(*aIter); return sal_True; @@ -73,7 +73,7 @@ // ----------------------------------------------------------------------------- void OTableRowExchange::AddSupportedFormats() { - if(m_vTableRow.size()) + if ( !m_vTableRow.empty() ) AddFormat(SOT_FORMATSTR_ID_SBA_TABED); } // ----------------------------------------------------------------------------- @@ -87,9 +87,6 @@ // ----------------------------------------------------------------------------- void OTableRowExchange::ObjectReleased() { - ::std::vector<OTableRow*>::iterator aIter = m_vTableRow.begin(); - for(;aIter != m_vTableRow.end();++aIter) - delete *aIter; m_vTableRow.clear(); } // ----------------------------------------------------------------------------- File [changed]: TableUndo.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableUndo.cxx?r1=1.13&r2=1.13.108.1 Delta lines: +27 -49 --------------------- --- TableUndo.cxx 8 Sep 2005 16:43:12 -0000 1.13 +++ TableUndo.cxx 13 Apr 2006 13:57:19 -0000 1.13.108.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableUndo.cxx,v $ * - * $Revision: 1.13 $ + * $Revision: 1.13.108.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 16:43:12 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -252,15 +252,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(); @@ -271,12 +271,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(); } @@ -286,14 +280,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); } @@ -308,13 +302,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 ); } @@ -329,7 +322,7 @@ 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) @@ -341,12 +334,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(); } @@ -355,10 +342,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); } @@ -374,12 +360,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++; } @@ -413,11 +399,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); } @@ -432,10 +417,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(); @@ -467,8 +452,8 @@ //------------------------------------------------------------------------- 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; ////////////////////////////////////////////////////////////////////// @@ -496,25 +481,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 ); - } + (*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 ); - } + (*pRowList)[nIndex]->SetPrimaryKey( TRUE ); m_pEditorCtrl->InvalidateHandleColumn(); OTableEditorUndoAct::Redo(); File [changed]: TableUndo.hxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableUndo.hxx?r1=1.6&r2=1.6.108.1 Delta lines: +6 -6 ------------------- --- TableUndo.hxx 8 Sep 2005 16:43:26 -0000 1.6 +++ TableUndo.hxx 13 Apr 2006 13:57:19 -0000 1.6.108.1 @@ -4,9 +4,9 @@ * * $RCSfile: TableUndo.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.6.108.1 $ * - * last change: $Author: rt $ $Date: 2005/09/08 16:43:26 $ + * last change: $Author: oj $ $Date: 2006/04/13 13:57:19 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -122,7 +122,7 @@ class OTableEditorDelUndoAct : public OTableEditorUndoAct { protected: - ::std::vector<OTableRow*> m_aDeletedRows; + ::std::vector< ::boost::shared_ptr<OTableRow> > m_aDeletedRows; virtual void Undo(); virtual void Redo(); @@ -136,7 +136,7 @@ class OTableEditorInsUndoAct : public OTableEditorUndoAct { protected: - ::std::vector<OTableRow*> m_vInsertedRows; + ::std::vector< ::boost::shared_ptr<OTableRow> > m_vInsertedRows; long m_nInsPos; virtual void Undo(); @@ -145,7 +145,7 @@ TYPEINFO(); OTableEditorInsUndoAct( OTableEditorCtrl* pOwner, long nInsertPosition, - const ::std::vector< OTableRow*>& _vInsertedRows); + const ::std::vector< ::boost::shared_ptr<OTableRow> >& _vInsertedRows); virtual ~OTableEditorInsUndoAct(); }; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
