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]
