Tag: cws_src680_warnings01
User: sb      
Date: 06/05/23 17:01:54

Modified:
 /dba/dbaccess/source/ui/tabledesign/
  TableController.cxx

Log:
 RESYNC: (1.101-1.103); FILE MERGED

File Changes:

Directory: /dba/dbaccess/source/ui/tabledesign/
===============================================

File [changed]: TableController.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/tabledesign/TableController.cxx?r1=1.100.4.2&r2=1.100.4.3
Delta lines:  +38 -34
---------------------
--- TableController.cxx 7 Apr 2006 20:56:11 -0000       1.100.4.2
+++ TableController.cxx 24 May 2006 00:01:52 -0000      1.100.4.3
@@ -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;
@@ -700,10 +702,13 @@
 
        vos::OGuard aSolarGuard( Application::GetSolarMutex() );
        ::osl::MutexGuard aGuard(m_aMutex);
+    if ( getView() && getView()->IsInModalMode() )
+        return sal_False;
        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 +852,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 +929,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 +988,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 +1029,7 @@
 
                        for(;pKeyBegin != pKeyEnd;++pKeyBegin)
                        {
-                               ::std::vector<OTableRow*>::iterator rowIter = 
m_vRowList.begin();
+                               ::std::vector< ::boost::shared_ptr<OTableRow> 
>::iterator rowIter = m_vRowList.begin();
                                for(;rowIter != m_vRowList.end();++rowIter)
                                {
                                        
if((*rowIter)->GetActFieldDescr()->GetName() == *pKeyBegin)
@@ -1052,7 +1054,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 +1104,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();
@@ -1110,7 +1112,7 @@
                {
                        bFoundPKey |=  (*aIter)->IsPrimaryKey();
                        // 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();
@@ -1138,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() )
@@ -1168,15 +1170,17 @@
 // 
-----------------------------------------------------------------------------
 void OTableController::alterColumns()
 {
-       Reference<XColumnsSupplier> xColSup(m_xTable,UNO_QUERY);
+       Reference<XColumnsSupplier> xColSup(m_xTable,UNO_QUERY_THROW);
        OSL_ENSURE(xColSup.is(),"What happen here?!");
 
        Reference<XNameAccess> xColumns = xColSup->getColumns();
-       Reference<XIndexAccess> xIdxColumns(xColumns,UNO_QUERY);
+       Reference<XIndexAccess> xIdxColumns(xColumns,UNO_QUERY_THROW);
        OSL_ENSURE(xColumns.is(),"No columns");
+    if ( !xColumns.is() )
+        return;
        Reference<XAlterTable> xAlter(m_xTable,UNO_QUERY);      // can be null
 
-       sal_Int32 nColumnCount = xColumns->getElementNames().getLength();
+       sal_Int32 nColumnCount = xIdxColumns->getCount();
        Reference<XDrop> xDrop(xColumns,UNO_QUERY);                     // can 
be null
        Reference<XAppend> xAppend(xColumns,UNO_QUERY);         // can be null
        Reference<XDataDescriptorFactory> xColumnFactory(xColumns,UNO_QUERY); 
// can be null
@@ -1188,8 +1192,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)
        {
@@ -1497,8 +1501,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!");
@@ -1543,7 +1547,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);
                                }
@@ -1595,7 +1599,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!");
@@ -1619,7 +1623,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();
@@ -1674,8 +1678,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() )




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to