Tag: cws_src680_oj14
User: oj      
Date: 2006/07/04 01:23:26

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

Log:
 RESYNC: (1.46-1.51); FILE MERGED

File Changes:

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.44.4.2&r2=1.44.4.3
Delta lines:  +57 -64
---------------------
--- TEditControl.cxx    20 Mar 2006 14:06:17 -0000      1.44.4.2
+++ TEditControl.cxx    4 Jul 2006 08:23:23 -0000       1.44.4.3
@@ -71,9 +71,6 @@
 #ifndef _DBA_DBACCESS_HELPID_HRC_
 #include "dbaccess_helpid.hrc"
 #endif
-#ifndef DBAUI_TABLEDESCRIPTIONWINDOW_HXX
-#include "TableDescWin.hxx"
-#endif
 #ifndef _COMPHELPER_TYPES_HXX_
 #include <comphelper/types.hxx>
 #endif
@@ -135,7 +132,7 @@
 
//==============================================================================
 
 //     TYPEINIT1(OTableEditorCtrl, DBView);
-DBG_NAME(OTableEditorCtrl);
+DBG_NAME(OTableEditorCtrl)
 
 
//==============================================================================
 
@@ -235,23 +232,22 @@
 //==================================================================
 OTableEditorCtrl::OTableEditorCtrl(Window* pWindow)
                                   :OTableRowView(pWindow)
-                                  ,m_aInvalidate(500,this)
                                   ,pNameCell(NULL)
                                   ,pTypeCell(NULL)
                                   ,pDescrCell(NULL)
+    ,pDescrWin(NULL)
                                   ,nIndexEvent(0)
-                                  ,nOldDataPos(-1)
-                                  ,bSaveOnMove(sal_True)
                                   ,nCutEvent(0)
                                   ,nPasteEvent(0)
                                   ,nDeleteEvent(0)
                                   ,nInsNewRowsEvent(0)
                                   ,nInvalidateTypeEvent(0)
                                   ,nEntryNotFoundEvent(0)
-                                  ,bReadOnly(sal_True)
-                                  ,pActRow(NULL)
-                                  ,pDescrWin(NULL)
                                   ,m_eChildFocus(NONE)
+    ,nOldDataPos(-1)
+    ,bSaveOnMove(sal_True)
+    ,bReadOnly(sal_True)
+    ,m_aInvalidate(500,this)
 {
        DBG_CTOR(OTableEditorCtrl,NULL);
 
@@ -344,6 +340,7 @@
        //////////////////////////////////////////////////////////////////////
        // Zelle Typ
        pTypeCell = new ListBoxControl( &GetDataWindow() );
+    pTypeCell->SetDropDownLineCount( 15 );
 
        //////////////////////////////////////////////////////////////////////
        // Zelle Beschreibung
@@ -613,7 +610,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)
@@ -756,7 +753,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, InvalidateFieldType, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, InvalidateFieldType, void*, /*EMPTYTAG*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        nInvalidateTypeEvent = 0;
@@ -766,7 +763,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, EntryNotFound, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, EntryNotFound, void*, /*EMPTYTAG*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        nEntryNotFoundEvent = 0;
@@ -881,9 +878,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() )
@@ -892,7 +889,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);
         }
        }
@@ -940,7 +937,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()));
@@ -954,13 +951,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();
@@ -972,7 +969,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++;
                        }
                }
@@ -1011,13 +1008,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();
@@ -1051,7 +1047,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 );
@@ -1106,7 +1102,7 @@
        }
 }
 
//------------------------------------------------------------------------------
-void OTableEditorCtrl::SetData( long nRow, sal_uInt16 nColId, const 
TOTypeInfoSP& _pTypeInfo )
+void OTableEditorCtrl::SetCellData( long nRow, sal_uInt16 nColId, const 
TOTypeInfoSP& _pTypeInfo )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        //////////////////////////////////////////////////////////////////////
@@ -1125,12 +1121,12 @@
                        SwitchType( _pTypeInfo );
                        break;
                default:
-                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetData: 
invalid column!");
+                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetCellData: 
invalid column!");
        }
        SetControlText(nRow,nColId,_pTypeInfo.get() ? _pTypeInfo->aUIName : 
::rtl::OUString());
 }
 
//------------------------------------------------------------------------------
-void OTableEditorCtrl::SetData( long nRow, sal_uInt16 nColId, const 
::com::sun::star::uno::Any& _rNewData )
+void OTableEditorCtrl::SetCellData( long nRow, sal_uInt16 nColId, const 
::com::sun::star::uno::Any& _rNewData )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        //////////////////////////////////////////////////////////////////////
@@ -1152,7 +1148,7 @@
                        break;
 
                case FIELD_TYPE:
-                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetData: 
invalid column!");
+                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetCellData: 
invalid column!");
                        break;
 
                case FIELD_DESCR:
@@ -1181,7 +1177,7 @@
 
                case FIELD_PROPERTY_NUMTYPE:
                        //      pFieldDescr->SetNumType( _rNewData );
-                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetData: 
invalid column!");
+                       OSL_ENSURE(sal_False, "OTableEditorCtrl::SetCellData: 
invalid column!");
                        break;
 
                case FIELD_PROPERTY_AUTOINC:
@@ -1215,7 +1211,7 @@
 }
 
 
//------------------------------------------------------------------------------
-Any OTableEditorCtrl::GetData( long nRow, sal_uInt16 nColId )
+Any OTableEditorCtrl::GetCellData( long nRow, sal_uInt16 nColId )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        OFieldDescription* pFieldDescr = GetFieldDescr( nRow );
@@ -1261,7 +1257,7 @@
                        break;
 
                case FIELD_PROPERTY_NUMTYPE:
-                       OSL_ENSURE(sal_False, "OTableEditorCtrl::GetData: 
invalid column!");
+                       OSL_ENSURE(sal_False, "OTableEditorCtrl::GetCellData: 
invalid column!");
                        //      return pFieldDescr->GetNumType();
 
                case FIELD_PROPERTY_AUTOINC:
@@ -1290,11 +1286,11 @@
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        //////////////////////////////////////////////////////////////////////
        // Text aus Dokumentdaten holen
-       return 
::comphelper::getString(const_cast<OTableEditorCtrl*>(this)->GetData( nRow, 
nColId ));
+       return 
::comphelper::getString(const_cast<OTableEditorCtrl*>(this)->GetCellData( nRow, 
nColId ));
 }
 
 
//------------------------------------------------------------------------------
-ULONG OTableEditorCtrl::GetTotalCellWidth(long nRow, sal_uInt16 nColId)
+sal_uInt32 OTableEditorCtrl::GetTotalCellWidth(long nRow, sal_uInt16 nColId)
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        return GetTextWidth(GetCellText(nRow, nColId)) + 2 * GetTextWidth('0');
@@ -1310,7 +1306,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();
@@ -1346,7 +1342,7 @@
 }
 
 
//------------------------------------------------------------------------------
-sal_Bool OTableEditorCtrl::IsCopyAllowed( long nRow )
+sal_Bool OTableEditorCtrl::IsCopyAllowed( long /*nRow*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        sal_Bool bIsCopyAllowed = sal_False;
@@ -1362,7 +1358,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()) )
                {
@@ -1380,7 +1376,7 @@
 }
 
 
//------------------------------------------------------------------------------
-sal_Bool OTableEditorCtrl::IsPasteAllowed( long nRow )
+sal_Bool OTableEditorCtrl::IsPasteAllowed( long /*nRow*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        sal_Bool bAllowed = GetView()->getController()->isAddAllowed();
@@ -1466,7 +1462,7 @@
 }
 
 
//------------------------------------------------------------------------------
-sal_Bool OTableEditorCtrl::IsDeleteAllowed( long nRow )
+sal_Bool OTableEditorCtrl::IsDeleteAllowed( long /*nRow*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
 
@@ -1502,7 +1498,7 @@
 }
 
 
//------------------------------------------------------------------------------
-sal_Bool OTableEditorCtrl::IsPrimaryKeyAllowed( long nRow )
+sal_Bool OTableEditorCtrl::IsPrimaryKeyAllowed( long /*nRow*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        if( !GetSelectRowCount() )
@@ -1537,7 +1533,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];
@@ -1625,8 +1621,6 @@
                                else
                                {
                                        PopupMenu 
aContextMenu(ModuleRes(RID_TABLEDESIGNROWPOPUPMENU));
-                                       long nSelectRowCount = 
GetSelectRowCount();
-                                       sal_Bool bRowsSelected(nSelectRowCount 
? sal_True : sal_False);
 
                                        aContextMenu.EnableItem( SID_CUT, 
IsCutAllowed(nRow) );
                                        aContextMenu.EnableItem( SID_COPY, 
IsCopyAllowed(nRow) );
@@ -1684,7 +1678,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, DelayedCut, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, DelayedCut, void*, /*EMPTYTAG*/ )
 {
        nCutEvent = 0;
        OTableRowView::cut();
@@ -1692,7 +1686,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, DelayedPaste, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, DelayedPaste, void*, /*EMPTYTAG*/ )
 {
        nPasteEvent = 0;
 
@@ -1705,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)
@@ -1722,7 +1716,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, DelayedDelete, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, DelayedDelete, void*, /*EMPTYTAG*/ )
 {
        nDeleteEvent = 0;
        DeleteRows();
@@ -1730,7 +1724,7 @@
 }
 
 
//------------------------------------------------------------------------------
-IMPL_LINK( OTableEditorCtrl, DelayedInsNewRows, void*, EMPTYTAG )
+IMPL_LINK( OTableEditorCtrl, DelayedInsNewRows, void*, /*EMPTYTAG*/ )
 {
        DBG_CHKTHIS(OTableEditorCtrl,NULL);
        nInsNewRowsEvent = 0;
@@ -1774,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();
@@ -1796,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);
@@ -1825,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() )
@@ -1856,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() )
        {
@@ -1903,7 +1897,6 @@
        OTableRowView::DeactivateCell(bUpdate);
        // now we have to deactivate the field description
        long nRow(GetCurRow());
-       sal_uInt16 nCol(GetCurColumnId());
        if (pDescrWin)
                pDescrWin->SetReadOnly(bReadOnly || !SetDataPtr(nRow) || 
GetActRow()->IsReadOnly());
 }




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

Reply via email to