User: obo Date: 2006/07/10 08:24:49 Modified: dba/dbaccess/source/ui/browser/unodatbr.cxx
Log: INTEGRATION: CWS qiq (1.174.10); FILE MERGED 2006/06/27 12:17:50 fs 1.174.10.4: RESYNC: (1.174-1.175); FILE MERGED 2006/06/19 09:27:51 fs 1.174.10.3: during #i51143#: A FeatureState can now transport more than one state. In particular, it has typed bChecked and sTitle members, instead of the previous unchecked aState 2006/05/24 06:49:23 fs 1.174.10.2: some refactoring of compose/quoteTableName and friends, in preparation of #i51143# 2006/05/12 13:47:00 fs 1.174.10.1: #i51143# refactoring of controller initialization, which allows accessing the load arguments even during Construct (and not only in the - later - impl_initialize) File Changes: Directory: /dba/dbaccess/source/ui/browser/ =========================================== File [changed]: unodatbr.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/browser/unodatbr.cxx?r1=1.175&r2=1.176 Delta lines: +47 -110 ---------------------- --- unodatbr.cxx 20 Jun 2006 02:58:39 -0000 1.175 +++ unodatbr.cxx 10 Jul 2006 15:24:46 -0000 1.176 @@ -99,6 +99,9 @@ #ifndef _URLOBJ_HXX //autogen #include <tools/urlobj.hxx> #endif +#ifndef TOOLS_DIAGNOSE_EX_H +#include <tools/diagnose_ex.h> +#endif #ifndef _SFXINTITEM_HXX //autogen #include <svtools/intitem.hxx> @@ -329,6 +332,7 @@ using namespace ::com::sun::star::view; using namespace ::com::sun::star::datatransfer; using namespace ::dbtools; +using namespace ::comphelper; using namespace ::svx; using ::com::sun::star::frame::XLayoutManager; // obsolete of interface is moved outside drafts @@ -553,7 +557,6 @@ m_pTreeView->setModel(m_pTreeModel); m_pTreeView->setSelectHdl(LINK(this, SbaTableQueryBrowser, OnSelectEntry)); m_pTreeView->getListBox()->SetDoubleClickHdl(LINK(this, SbaTableQueryBrowser, OnEntryDoubleClicked)); - // initializeTreeModel(); call moved to impl_initialize // TODO getBrowserView()->getVclControl()->GetDataWindow().SetUniqueId(UID_DATABROWSE_DATAWINDOW); @@ -1661,7 +1664,7 @@ case ID_BROWSER_EXPLORER: { // this slot is available even if no form is loaded aReturn.bEnabled = m_bEnableBrowser; - aReturn.aState = ::cppu::bool2any(haveExplorer()); + aReturn.bChecked = haveExplorer(); return aReturn; } case ID_BROWSER_REMOVEFILTER: @@ -1759,7 +1762,7 @@ String sObject(aName.getStr()); sTitle.SearchAndReplace('#',sObject); - aReturn.aState <<= ::rtl::OUString(sTitle); + aReturn.sTitle = sTitle; aReturn.bEnabled = sal_True; } break; @@ -3019,129 +3022,63 @@ } // ------------------------------------------------------------------------- -void SbaTableQueryBrowser::impl_initialize( const Sequence< Any >& aArguments ) +void SbaTableQueryBrowser::impl_initialize() { ::vos::OGuard aGuard(Application::GetSolarMutex()); // doin' a lot of VCL stuff here -> lock the SolarMutex // first initialize the parent - SbaXDataBrowserController::impl_initialize( aArguments ); + SbaXDataBrowserController::impl_initialize(); Reference<XConnection> xForeignConnection; Reference< XFrame > xFrame; - PropertyValue aValue; - const Any* pIter = aArguments.getConstArray(); - const Any* pEnd = pIter + aArguments.getLength(); - - ::rtl::OUString aTableName,aCatalogName,aSchemaName; + ::rtl::OUString aTableName, aCatalogName, aSchemaName; sal_Bool bEsacpeProcessing = sal_True; - sal_Bool bShow = sal_True; sal_Int32 nInitialDisplayCommandType = CommandType::COMMAND; ::rtl::OUString sInitialDataSourceName; ::rtl::OUString sInitialCommand; - for(;pIter != pEnd;++pIter) - { - if (!(*pIter >>= aValue)) - throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid type in argument list. PropertyValue expected.")),*this); + const NamedValueCollection& rArguments( getInitParams() ); - if (0 == aValue.Name.compareToAscii(PROPERTY_DATASOURCENAME)) - { - if ( !(aValue.Value >>= sInitialDataSourceName) ) + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_DATASOURCENAME, sInitialDataSourceName ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for DataSourceName.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_COMMANDTYPE)) - { - if ( !(aValue.Value >>= nInitialDisplayCommandType) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_COMMANDTYPE, nInitialDisplayCommandType ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for CommandType.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_COMMAND)) - { - if ( !(aValue.Value >>= sInitialCommand) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_COMMAND, sInitialCommand ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for Command.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_ACTIVECONNECTION)) - { - if ( !(aValue.Value >>= xForeignConnection) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_ACTIVECONNECTION, xForeignConnection ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for ActiveConnection.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_UPDATE_CATALOGNAME)) - { - if ( !(aValue.Value >>= aCatalogName) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_UPDATE_CATALOGNAME, aCatalogName ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for UpdateCatalogName.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_UPDATE_SCHEMANAME)) - { - if ( !(aValue.Value >>= aSchemaName) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_UPDATE_SCHEMANAME, aSchemaName ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for UpdateSchemaName.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_UPDATE_TABLENAME)) - { - if ( !(aValue.Value >>= aTableName) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_UPDATE_TABLENAME, aTableName ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for UpdateTableName.")),*this); - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_USE_ESCAPE_PROCESSING)) - { - if ( !(aValue.Value >>= bEsacpeProcessing) ) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_USE_ESCAPE_PROCESSING, bEsacpeProcessing ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for EscapeProcessing.")),*this); - } - else if ( 0 == aValue.Name.compareToAscii( "Frame" ) ) - { - if ( !(aValue.Value >>= xFrame) ) + + if ( !rArguments.getIfExists_ensureType( "Frame", xFrame ) ) throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for Frame.")),*this); - } - else if (0 == aValue.Name.compareToAscii("Preview")) - { - if ( ::cppu::any2bool(aValue.Value) ) - bShow = sal_False; - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_SHOWTREEVIEW)) - { - bShow = sal_False; - try - { - if(::cppu::any2bool(aValue.Value)) + + if ( !rArguments.getIfExists_ensureType( (::rtl::OUString)PROPERTY_SHOWMENU, m_bShowMenu ) ) + throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for ShowMenu.")),*this); + + sal_Bool bShowTreeView = rArguments.getOrDefault( (::rtl::OUString)PROPERTY_SHOWTREEVIEW, sal_True ); + m_bEnableBrowser = rArguments.getOrDefault( (::rtl::OUString)PROPERTY_SHOWTREEVIEWBUTTON, sal_True ); + + if ( bShowTreeView ) showExplorer(); else hideExplorer(); - } - catch(Exception&) - { - } - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_SHOWTREEVIEWBUTTON)) - { - try - { - // TODO: toolbox - if ( !::cppu::any2bool(aValue.Value) && getView() ) - { - // hide the explorer and the separator - m_bEnableBrowser = sal_False; -// getView()->getToolBox()->HideItem(ID_BROWSER_EXPLORER); -// getView()->getToolBox()->HideItem(getView()->getToolBox()->GetItemId(getView()->getToolBox()->GetItemPos(ID_BROWSER_EXPLORER)+1)); -// getView()->getToolBox()->ShowItem(ID_BROWSER_CLOSE); - } - } - catch(Exception&) - { - } - } - else if (0 == aValue.Name.compareToAscii(PROPERTY_SHOWMENU)) - { - if ( !(aValue.Value >>= m_bShowMenu) ) - throw Exception(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Invalid argument type for ShowMenu.")),*this); - } - } - - if ( bShow ) - { - m_pTreeView->Show(); - m_pSplitter->Show(); - getBrowserView()->Resize(); - } if ( m_bPreview ) { @@ -3157,7 +3094,6 @@ *pStringIter++ = PROPERTY_BORDER; *pValueIter++ <<= sal_Int16(0); - *pStringIter++ = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasNavigationBar")); *pValueIter++ <<= sal_False; *pStringIter++ = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HasRecordMarker")); @@ -3172,6 +3108,7 @@ } catch(Exception) { + DBG_UNHANDLED_EXCEPTION(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
