diff options
author | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-01-15 09:16:51 +0100 |
---|---|---|
committer | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-01-15 09:16:51 +0100 |
commit | 890251245c4589f0b710f21d41c9eea22104a40b (patch) | |
tree | e819a6acb9919eebabe5151b5f2a2cd87ec5cb4b /dbaccess/source/ui/inc | |
parent | 9b251503202b1197a16f6f66adf262e68427c3f5 (diff) | |
parent | 2241dfcdf029fcce801d65f4277131e0a5871f72 (diff) |
dba33b: merge m69
Diffstat (limited to 'dbaccess/source/ui/inc')
-rw-r--r-- | dbaccess/source/ui/inc/TypeInfo.hxx | 1 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/dsitems.hxx | 108 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/dsmeta.hxx | 114 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/exsrcbrw.hxx | 11 | ||||
-rw-r--r-- | dbaccess/source/ui/inc/unodatbr.hxx | 20 |
5 files changed, 175 insertions, 79 deletions
diff --git a/dbaccess/source/ui/inc/TypeInfo.hxx b/dbaccess/source/ui/inc/TypeInfo.hxx index b44daeba3beb..ee5a5235da68 100644 --- a/dbaccess/source/ui/inc/TypeInfo.hxx +++ b/dbaccess/source/ui/inc/TypeInfo.hxx @@ -83,6 +83,7 @@ const sal_uInt16 TYPE_BLOB = 27; const sal_uInt16 TYPE_CLOB = 28; const sal_uInt16 TYPE_REF = 29; const sal_uInt16 TYPE_OTHER = 30; +const sal_uInt16 TYPE_BIT = 31; class OTypeInfo { diff --git a/dbaccess/source/ui/inc/dsitems.hxx b/dbaccess/source/ui/inc/dsitems.hxx new file mode 100644 index 000000000000..20a6f4d83a8e --- /dev/null +++ b/dbaccess/source/ui/inc/dsitems.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: dsitems.hxx,v $ + * $Revision: 1.26 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _DBAUI_DATASOURCEITEMS_HXX_ +#define _DBAUI_DATASOURCEITEMS_HXX_ + +typedef sal_Int32 ItemID; + +//======================================================================== +//= item ids for the data source administration dialog + +#define DSID_NAME 1 // name of a data source, SfxStringItem +#define DSID_ORIGINALNAME 2 // orginal name, internal, SfxStringItem +#define DSID_CONNECTURL 3 // connection URL, SfxStringItem +#define DSID_TABLEFILTER 4 // table filter, OStringListItem +#define DSID_TYPECOLLECTION 5 // collection of data source types, ODsnTypeCollection +#define DSID_INVALID_SELECTION 6 // is the selection (thus the set data) invalid?, SfxBoolItem +#define DSID_READONLY 7 // is the selection (thus the set data) readonly?, SfxBoolItem +#define DSID_USER 8 // the user name used for logon, SfxStringItem +#define DSID_PASSWORD 9 // the password used for logon, SfxStringItem +#define DSID_ADDITIONALOPTIONS 10 // additional options used for connecting, SfxStringItem +#define DSID_CHARSET 11 // character set to use, SfxStringItem by now +#define DSID_PASSWORDREQUIRED 12 // is the password required to connect?, SfxBoolItem +#define DSID_SHOWDELETEDROWS 13 // show deleted rows?, SfxBoolItem +#define DSID_ALLOWLONGTABLENAMES 14 // allow tables names longer than 8.3?, SfxBoolItem +#define DSID_JDBCDRIVERCLASS 15 // JDBC driver class, SfxStringItem +#define DSID_FIELDDELIMITER 16 // field delimiter, SfxUInt16Item +#define DSID_TEXTDELIMITER 17 // text delimiter, SfxUInt16Item +#define DSID_DECIMALDELIMITER 18 // decimal delimiter, SfxUInt16Item +#define DSID_THOUSANDSDELIMITER 19 // thousands delimiter, SfxUInt16Item +#define DSID_TEXTFILEEXTENSION 20 // extension for text files, SfxStringItem +#define DSID_TEXTFILEHEADER 21 // the text file contains a header?, SfxBoolItem +#define DSID_PARAMETERNAMESUBST 22 +#define DSID_CONN_PORTNUMBER 23 +#define DSID_SUPPRESSVERSIONCL 24 // meta data: sal_True if the data source described by the set is to-be-deleted +#define DSID_DATASOURCE_UNO 25 // meta data: OPropertySetItem, the data source the set represents +#define DSID_CONN_SHUTSERVICE 26 +#define DSID_CONN_DATAINC 27 +#define DSID_CONN_CACHESIZE 28 +#define DSID_CONN_CTRLUSER 29 +#define DSID_CONN_CTRLPWD 30 +#define DSID_USECATALOG 31 // should the driver use the catalog name when the database is filebased +#define DSID_CONN_HOSTNAME 32 +#define DSID_CONN_LDAP_BASEDN 33 +#define DSID_CONN_LDAP_PORTNUMBER 34 +#define DSID_CONN_LDAP_ROWCOUNT 35 +#define DSID_SQL92CHECK 36 +#define DSID_AUTOINCREMENTVALUE 37 +#define DSID_AUTORETRIEVEVALUE 38 +#define DSID_AUTORETRIEVEENABLED 39 +#define DSID_APPEND_TABLE_ALIAS 40 +#define DSID_MYSQL_PORTNUMBER 41 +#define DSID_IGNOREDRIVER_PRIV 42 +#define DSID_BOOLEANCOMPARISON 43 +#define DSID_ORACLE_PORTNUMBER 44 +#define DSID_ENABLEOUTERJOIN 45 +#define DSID_CATALOG 46 +#define DSID_SCHEMA 47 +#define DSID_INDEXAPPENDIX 48 +#define DSID_CONN_LDAP_USESSL 49 +#define DSID_DOCUMENT_URL 50 +#define DSID_DOSLINEENDS 51 +#define DSID_DATABASENAME 52 +#define DSID_AS_BEFORE_CORRNAME 53 +#define DSID_CHECK_REQUIRED_FIELDS 54 +#define DSID_IGNORECURRENCY 55 +#define DSID_CONN_SOCKET 56 +#define DSID_ESCAPE_DATETIME 57 +#define DSID_NAMED_PIPE 58 +#define DSID_PRIMARY_KEY_SUPPORT 59 + // don't forget to adjust DSID_LAST_ITEM_ID below! + + +//======================================================================== +//= item range. Adjust this if you introduce new items above + +#define DSID_FIRST_ITEM_ID DSID_NAME +#define DSID_LAST_ITEM_ID DSID_PRIMARY_KEY_SUPPORT + +#endif // _DBAUI_DATASOURCEITEMS_HXX_ + diff --git a/dbaccess/source/ui/inc/dsmeta.hxx b/dbaccess/source/ui/inc/dsmeta.hxx index 5372c201e0c8..78ba0db1272e 100644 --- a/dbaccess/source/ui/inc/dsmeta.hxx +++ b/dbaccess/source/ui/inc/dsmeta.hxx @@ -32,6 +32,7 @@ #define DBACCESS_DSMETA_HXX #include "dsntypes.hxx" +#include "dsitems.hxx" /** === begin UNO includes === **/ /** === end UNO includes === **/ @@ -56,7 +57,7 @@ namespace dbaui //==================================================================== //= DataSourceMetaData //==================================================================== - struct AdvancedSettingsSupport; + class FeatureSet; class DataSourceMetaData_Impl; /** encapsulates meta data for a data source @@ -74,7 +75,7 @@ namespace dbaui ~DataSourceMetaData(); /// returns a struct describing this data source type's support for our known advanced settings - const AdvancedSettingsSupport& getAdvancedSettingsSupport() const; + const FeatureSet& getFeatureSet() const; /// determines whether or not the data source requires authentication static AuthenticationMode getAuthentication( const ::rtl::OUString& _sURL ); @@ -84,77 +85,56 @@ namespace dbaui }; //==================================================================== - //= AdvancedSettingsSupport + //= FeatureSet //==================================================================== - /// struct taking flags for the supported advanced settings - struct AdvancedSettingsSupport + /** can be used to ask for (UI) support for certain advanced features + */ + class FeatureSet { - // auto-generated values - bool bGeneratedValues; - // various settings as found on the "Special Settings" page in the UI - bool bUseSQL92NamingConstraints; - bool bAppendTableAliasInSelect; - bool bUseKeywordAsBeforeAlias; - bool bUseBracketedOuterJoinSyntax; - bool bIgnoreDriverPrivileges; - bool bParameterNameSubstitution; - bool bDisplayVersionColumns; - bool bUseCatalogInSelect; - bool bUseSchemaInSelect; - bool bUseIndexDirectionKeyword; - bool bUseDOSLineEnds; - bool bBooleanComparisonMode; - bool bFormsCheckRequiredFields; - bool bIgnoreCurrency; - bool bEscapeDateTime; - - // Note: If you extend this list, you need to adjust the ctor (of course) - // and (maybe) the implementation of supportsAnySpecialSetting - - AdvancedSettingsSupport() - :bGeneratedValues ( true ) - ,bUseSQL92NamingConstraints ( true ) - ,bAppendTableAliasInSelect ( true ) - ,bUseKeywordAsBeforeAlias ( true ) - ,bUseBracketedOuterJoinSyntax ( true ) - ,bIgnoreDriverPrivileges ( true ) - ,bParameterNameSubstitution ( true ) - ,bDisplayVersionColumns ( true ) - ,bUseCatalogInSelect ( true ) - ,bUseSchemaInSelect ( true ) - ,bUseIndexDirectionKeyword ( true ) - ,bUseDOSLineEnds ( true ) - ,bBooleanComparisonMode ( true ) - ,bFormsCheckRequiredFields ( true ) - ,bIgnoreCurrency ( false ) - ,bEscapeDateTime ( false ) - { - } - - /** determines whether there is support for any of the settings found on the "Special Settings" - UI - */ - inline bool supportsAnySpecialSetting() const; + public: + typedef ::std::set< ItemID >::const_iterator const_iterator; + + public: + inline FeatureSet() { } + + inline void put( const ItemID _id ) { m_aContent.insert( _id ); } + inline bool has( const ItemID _id ) const { return m_aContent.find( _id ) != m_aContent.end(); } + + inline bool supportsAnySpecialSetting() const; + inline bool supportsGeneratedValues() const; + + inline const_iterator begin() const { return m_aContent.begin(); } + inline const_iterator end() const { return m_aContent.end(); } + + private: + ::std::set< ItemID > m_aContent; }; //-------------------------------------------------------------------- - inline bool AdvancedSettingsSupport::supportsAnySpecialSetting() const + inline bool FeatureSet::supportsGeneratedValues() const + { + return has( DSID_AUTORETRIEVEENABLED ); + } + + //-------------------------------------------------------------------- + inline bool FeatureSet::supportsAnySpecialSetting() const { - return ( bUseSQL92NamingConstraints == true ) - || ( bAppendTableAliasInSelect == true ) - || ( bUseKeywordAsBeforeAlias == true ) - || ( bUseBracketedOuterJoinSyntax == true ) - || ( bIgnoreDriverPrivileges == true ) - || ( bParameterNameSubstitution == true ) - || ( bDisplayVersionColumns == true ) - || ( bUseCatalogInSelect == true ) - || ( bUseSchemaInSelect == true ) - || ( bUseIndexDirectionKeyword == true ) - || ( bUseDOSLineEnds == true ) - || ( bBooleanComparisonMode == true ) - || ( bFormsCheckRequiredFields == true ) - || ( bIgnoreCurrency == true ) - || ( bEscapeDateTime == true ) + return has( DSID_SQL92CHECK ) + || has( DSID_APPEND_TABLE_ALIAS ) + || has( DSID_AS_BEFORE_CORRNAME ) + || has( DSID_ENABLEOUTERJOIN ) + || has( DSID_IGNOREDRIVER_PRIV ) + || has( DSID_PARAMETERNAMESUBST ) + || has( DSID_SUPPRESSVERSIONCL ) + || has( DSID_CATALOG ) + || has( DSID_SCHEMA ) + || has( DSID_INDEXAPPENDIX ) + || has( DSID_DOSLINEENDS ) + || has( DSID_BOOLEANCOMPARISON ) + || has( DSID_CHECK_REQUIRED_FIELDS ) + || has( DSID_IGNORECURRENCY ) + || has( DSID_ESCAPE_DATETIME ) + || has( DSID_PRIMARY_KEY_SUPPORT ) ; } diff --git a/dbaccess/source/ui/inc/exsrcbrw.hxx b/dbaccess/source/ui/inc/exsrcbrw.hxx index f8c8dc54688b..d4783560732a 100644 --- a/dbaccess/source/ui/inc/exsrcbrw.hxx +++ b/dbaccess/source/ui/inc/exsrcbrw.hxx @@ -31,18 +31,11 @@ #ifndef _SBA_EXTCTRLR_HXX #define _SBA_EXTCTRLR_HXX -#ifndef _SBA_BWRCTRLR_HXX #include "brwctrlr.hxx" -#endif -#ifndef _COM_SUN_STAR_FORM_XFORMCONTROLLER_HPP_ -#include <com/sun/star/form/XFormController.hpp> -#endif -#ifndef _COMPHELPER_UNO3_HXX_ + #include <comphelper/uno3.hxx> -#endif -#ifndef _CPPUHELPER_IMPLBASE2_HXX_ #include <cppuhelper/implbase2.hxx> -#endif + //============================================================================== //= SbaExternalSourceBrowser //============================================================================== diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx index c6315cc1db22..23d9cfd5b542 100644 --- a/dbaccess/source/ui/inc/unodatbr.hxx +++ b/dbaccess/source/ui/inc/unodatbr.hxx @@ -70,8 +70,11 @@ #ifndef _COM_SUN_STAR_SDB_APPLICATION_DATABASEOBJECTCONTAINER_HPP_ #include <com/sun/star/sdb/application/DatabaseObjectContainer.hpp> #endif -#ifndef _CPPUHELPER_IMPLBASE4_HXX_ -#include <cppuhelper/implbase4.hxx> +#ifndef _COM_SUN_STAR_SDB_DATABASEOBJECTCONTAINER_HPP_ +#include <com/sun/star/sdb/XDatabaseRegistrationsListener.hpp> +#endif +#ifndef _CPPUHELPER_IMPLBASE5_HXX_ +#include <cppuhelper/implbase5.hxx> #endif #ifndef _DBACCESS_UI_CALLBACKS_HXX_ #include "callbacks.hxx" @@ -113,10 +116,11 @@ namespace dbaui class ImageProvider; // ===================================================================== - typedef ::cppu::ImplHelper4 < ::com::sun::star::frame::XStatusListener + typedef ::cppu::ImplHelper5 < ::com::sun::star::frame::XStatusListener , ::com::sun::star::view::XSelectionSupplier , ::com::sun::star::document::XScriptInvocationContext , ::com::sun::star::ui::XContextMenuInterception + , ::com::sun::star::sdb::XDatabaseRegistrationsListener > SbaTableQueryBrowser_Base; class SbaTableQueryBrowser :public SbaXDataBrowserController @@ -256,6 +260,11 @@ namespace dbaui virtual void SAL_CALL registerContextMenuInterceptor( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor >& Interceptor ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL releaseContextMenuInterceptor( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XContextMenuInterceptor >& Interceptor ) throw (::com::sun::star::uno::RuntimeException); + // XDatabaseRegistrationsListener + virtual void SAL_CALL registeredDatabaseLocation( const ::com::sun::star::sdb::DatabaseRegistrationEvent& Event ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL revokedDatabaseLocation( const ::com::sun::star::sdb::DatabaseRegistrationEvent& Event ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL changedDatabaseLocation( const ::com::sun::star::sdb::DatabaseRegistrationEvent& Event ) throw (::com::sun::star::uno::RuntimeException); + protected: // SbaXDataBrowserController overridables virtual sal_Bool InitializeForm(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > & xForm); @@ -339,6 +348,11 @@ namespace dbaui const SharedConnection& _rxConnection ); + void implAddDatasource( const String& _rDataSourceName, const SharedConnection& _rxConnection ); + + /// removes (and cleans up) the entry for the given data source + void impl_cleanupDataSourceEntry( const String& _rDataSourceName ); + /// clears the tree list box void clearTreeModel(); |