Tag: cws_src680_oj14 User: oj Date: 06/01/03 05:21:19 Modified: /dba/dbaccess/source/ui/dlg/ generalpage.cxx
Log: RESYNC: (1.44-1.46); FILE MERGED File Changes: Directory: /dba/dbaccess/source/ui/dlg/ ======================================= File [changed]: generalpage.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/dlg/generalpage.cxx?r1=1.44.6.1&r2=1.44.6.2 Delta lines: +36 -7 -------------------- --- generalpage.cxx 3 Jan 2006 07:49:09 -0000 1.44.6.1 +++ generalpage.cxx 3 Jan 2006 13:21:16 -0000 1.44.6.2 @@ -162,6 +162,27 @@ } //------------------------------------------------------------------------- + namespace + { + struct DisplayedType + { + DATASOURCE_TYPE eType; + String sDisplayName; + + DisplayedType( DATASOURCE_TYPE _eType, const String& _rDisplayName ) : eType( _eType ), sDisplayName( _rDisplayName ) { } + }; + typedef ::std::vector< DisplayedType > DisplayedTypes; + + struct DisplayedTypeLess : ::std::binary_function< DisplayedType, DisplayedType, bool > + { + bool operator() ( const DisplayedType& _rLHS, const DisplayedType& _rRHS ) + { + return _rLHS.eType < _rRHS.eType; + } + }; + } + + //------------------------------------------------------------------------- void OGeneralPage::initializeTypeList() { m_pDatasourceType->Clear(); @@ -186,6 +207,8 @@ if ( m_pCollection ) { + DisplayedTypes aDisplayedTypes; + for ( ODsnTypeCollection::TypeIterator aTypeLoop = m_pCollection->begin(); aTypeLoop != m_pCollection->end(); ++aTypeLoop @@ -205,10 +228,16 @@ if ( m_pDatasourceType->GetEntryPos( sDisplayName ) == LISTBOX_ENTRY_NOTFOUND ) { sDisplayName = VerifyDisplayName(eType, sDisplayName); - if (sDisplayName.Len() > 0) - insertDatasourceTypeEntryData(eType, sDisplayName); + if ( sDisplayName.Len() > 0 ) + aDisplayedTypes.push_back( DisplayedTypes::value_type( eType, sDisplayName ) ); } } + ::std::sort( aDisplayedTypes.begin(), aDisplayedTypes.end(), DisplayedTypeLess() ); + for ( DisplayedTypes::const_iterator loop = aDisplayedTypes.begin(); + loop != aDisplayedTypes.end(); + ++loop + ) + insertDatasourceTypeEntryData( loop->eType, loop->sDisplayName ); } } @@ -514,7 +543,7 @@ if ( bCommitTypeSelection ) { USHORT nEntry = m_pDatasourceType->GetSelectEntryPos(); - DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_Int32>(m_pDatasourceType->GetEntryData(nEntry))); + DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_IntPtr>(m_pDatasourceType->GetEntryData(nEntry))); if (m_DBWizardMode) { if ( ( m_pDatasourceType->GetSavedValue() != nEntry ) @@ -544,7 +573,7 @@ { // get the type from the entry data sal_Int16 nSelected = _pBox->GetSelectEntryPos(); - DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_Int32>(_pBox->GetEntryData(nSelected))); + DATASOURCE_TYPE eSelectedType = static_cast<DATASOURCE_TYPE>(reinterpret_cast<sal_IntPtr>(_pBox->GetEntryData(nSelected))); setParentTitle(eSelectedType); // let the impl method do all the stuff --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
