Tag: cws_src680_hsqlcsv User: fs Date: 2008-01-17 02:58:41+0000 Modified: dba/dbaccess/source/ui/misc/databaseobjectview.cxx
Log: RESYNC: (1.3-1.6); FILE MERGED File Changes: Directory: /dba/dbaccess/source/ui/misc/ ======================================== File [changed]: databaseobjectview.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/databaseobjectview.cxx?r1=1.1.2.3&r2=1.1.2.4 Delta lines: +71 -63 --------------------- --- databaseobjectview.cxx 2006-12-18 08:19:55+0000 1.1.2.3 +++ databaseobjectview.cxx 2008-01-17 02:58:39+0000 1.1.2.4 @@ -47,6 +47,9 @@ #endif /** === begin UNO includes === **/ +#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ +#include <com/sun/star/lang/XSingleServiceFactory.hpp> +#endif #ifndef _COM_SUN_STAR_FRAME_XDISPATCHPROVIDER_HPP_ #include <com/sun/star/frame/XDispatchProvider.hpp> #endif @@ -65,6 +68,12 @@ #ifndef _COM_SUN_STAR_SDB_APPLICATION_XTABLEUIPROVIDER_HPP_ #include <com/sun/star/sdb/application/XTableUIProvider.hpp> #endif +#ifndef _COM_SUN_STAR_BEANS_NAMEDVALUE_HPP_ +#include <com/sun/star/beans/NamedValue.hpp> +#endif +#ifndef _COM_SUN_STAR_AWT_RECTANGLE_HPP_ +#include <com/sun/star/awt/Rectangle.hpp> +#endif /** === end UNO includes === **/ #ifndef _COMPHELPER_EXTRACT_HXX_ @@ -98,14 +107,19 @@ using namespace ::com::sun::star::frame; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::beans; + using namespace ::com::sun::star::awt; //====================================================================== //= DatabaseObjectView //====================================================================== DatabaseObjectView::DatabaseObjectView( const Reference< XMultiServiceFactory >& _rxORB, - const Reference< XDatabaseDocumentUI >& _rxApplication, const ::rtl::OUString& _rComponentURL ) - :m_xORB( _rxORB ) - ,m_xApplication( _rxApplication ) + const Reference< XDatabaseDocumentUI >& _rxApplication, + const Reference< XFrame >& _rxParentFrame, + const ::rtl::OUString& _rComponentURL ) + :m_xORB ( _rxORB ) + ,m_xParentFrame ( _rxParentFrame ) + ,m_xFrameLoader ( ) + ,m_xApplication ( _rxApplication ) ,m_sComponentURL( _rComponentURL ) { OSL_ENSURE( m_xORB.is(), "DatabaseObjectView::DatabaseObjectView: invalid service factory!" ); @@ -151,49 +165,34 @@ try { // get the desktop object - sal_Int32 nFrameSearchFlag = FrameSearchFlag::SELF; - ::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_self")); if ( !m_xFrameLoader.is() ) { - m_xFrameLoader.set(m_xORB->createInstance(SERVICE_FRAME_DESKTOP),UNO_QUERY); - nFrameSearchFlag = FrameSearchFlag::TASKS | FrameSearchFlag::CREATE; - sTarget = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_blank")); - } - - OSL_ENSURE( m_xFrameLoader.is(), "DatabaseObjectView::doDispatch: invalid frame loader!" ); + Reference< XSingleServiceFactory > xFact(m_xORB->createInstance(::rtl::OUString::createFromAscii("com.sun.star.frame.TaskCreator")), UNO_QUERY_THROW); + Sequence< Any > lArgs(2); + NamedValue aProp; + sal_Int32 nArg = 0; - if ( m_xFrameLoader.is() ) - { - // create a new frame and remove it from the desktop, so we care for it - Reference<XFrame> xFrame = Reference<XFrame>(m_xFrameLoader,UNO_QUERY)->findFrame(sTarget,nFrameSearchFlag); - /* - ... no ... dont remove the frame from the desktop tree. - Otherwhise it can happen that sometimes no active frame will be defined - and some funstions behind the menu of this frame cant work. + aProp.Name = ::rtl::OUString::createFromAscii("ParentFrame"); + aProp.Value <<= m_xParentFrame; + lArgs[nArg++] <<= aProp; - see #124984# for further informations - */ + aProp.Name = ::rtl::OUString::createFromAscii("TopWindow"); + aProp.Value <<= sal_True; + lArgs[nArg++] <<= aProp; - Reference<XFramesSupplier> xSup(m_xFrameLoader,UNO_QUERY); - if ( xSup.is() ) - { - Reference<XFrames> xFrames = xSup->getFrames(); - xFrames->remove(xFrame); + m_xFrameLoader.set(xFact->createInstanceWithArguments(lArgs), UNO_QUERY_THROW); } - Reference<XComponentLoader> xFrameLoad(xFrame,UNO_QUERY); - if ( xFrameLoad.is() ) - { - xReturn = xFrameLoad->loadComponentFromURL( + Reference< XComponentLoader > xFrameLoader(m_xFrameLoader, UNO_QUERY_THROW); + xReturn = xFrameLoader->loadComponentFromURL( m_sComponentURL, ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_self")), - FrameSearchFlag::SELF, + 0, _rArgs ); + if ( xReturn.is() ) - xReturn.set(xFrame,UNO_QUERY); - } - } + xReturn.set(m_xFrameLoader,UNO_QUERY); } catch(Exception&) { @@ -235,9 +234,10 @@ //====================================================================== //---------------------------------------------------------------------- QueryDesigner::QueryDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, - sal_Bool _bCreateView, sal_Bool _bPreferSQLView ) - :DatabaseObjectView( _rxORB, _rxApplication, static_cast< ::rtl::OUString >( URL_COMPONENT_QUERYDESIGN ) ) - ,m_bCreateView( _bCreateView ) + const Reference< XFrame >& _rxParentFrame, + bool _bCreateView, sal_Bool _bPreferSQLView ) + :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame, static_cast< ::rtl::OUString >( URL_COMPONENT_QUERYDESIGN ) ) + ,m_nCommandType( _bCreateView ? CommandType::TABLE : CommandType::QUERY ) ,m_bPreferSQLView( _bPreferSQLView ) { } @@ -251,18 +251,17 @@ sal_Bool bIncludeQueryName = 0 != _rObjectName.getLength(); sal_Int32 nPos = _rDispatchArguments.getLength(); - _rDispatchArguments.realloc(_rDispatchArguments.getLength() + 2 + (bIncludeQueryName ? 1 : 0) ); + _rDispatchArguments.realloc(_rDispatchArguments.getLength() + 2 + ( bIncludeQueryName ? 1 : 0 ) ); + _rDispatchArguments[nPos ].Name = PROPERTY_GRAPHICAL_DESIGN; + _rDispatchArguments[nPos++].Value <<= ::cppu::bool2any( !m_bPreferSQLView ); - _rDispatchArguments[nPos ].Name = PROPERTY_QUERYDESIGNVIEW; - _rDispatchArguments[nPos++].Value <<= ::cppu::bool2any(!m_bPreferSQLView); - - _rDispatchArguments[nPos ].Name = PROPERTY_CREATEVIEW; - _rDispatchArguments[nPos++].Value <<= ::cppu::bool2any(m_bCreateView); + _rDispatchArguments[nPos ].Name = PROPERTY_COMMANDTYPE; + _rDispatchArguments[nPos++].Value <<= m_nCommandType; - if (bIncludeQueryName) + if ( bIncludeQueryName ) { - _rDispatchArguments[nPos ].Name = PROPERTY_CURRENTQUERY; + _rDispatchArguments[nPos ].Name = PROPERTY_COMMAND; _rDispatchArguments[nPos++].Value <<= _rObjectName; } } @@ -271,8 +270,8 @@ //= TableDesigner //====================================================================== //---------------------------------------------------------------------- - TableDesigner::TableDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication ) - :DatabaseObjectView( _rxORB, _rxApplication, static_cast< ::rtl::OUString >( URL_COMPONENT_TABLEDESIGN ) ) + TableDesigner::TableDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, const Reference< XFrame >& _rxParentFrame ) + :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame, static_cast< ::rtl::OUString >( URL_COMPONENT_TABLEDESIGN ) ) { } @@ -341,9 +340,9 @@ //= ResultSetBrowser //====================================================================== //---------------------------------------------------------------------- - ResultSetBrowser::ResultSetBrowser( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, + ResultSetBrowser::ResultSetBrowser( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, const Reference< XFrame >& _rxParentFrame, sal_Bool _bTable ) - :DatabaseObjectView( _rxORB, _rxApplication, static_cast < ::rtl::OUString >( URL_COMPONENT_DATASOURCEBROWSER ) ) + :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame, static_cast < ::rtl::OUString >( URL_COMPONENT_DATASOURCEBROWSER ) ) ,m_bTable(_bTable) { } @@ -384,16 +383,25 @@ _rDispatchArguments[nPos ].Name = PROPERTY_UPDATE_TABLENAME; _rDispatchArguments[nPos++].Value <<= sTable; } - } + //====================================================================== //= RelationDesigner //====================================================================== //---------------------------------------------------------------------- - RelationDesigner::RelationDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication ) - :DatabaseObjectView( _rxORB, _rxApplication, static_cast< ::rtl::OUString >( URL_COMPONENT_RELATIONDESIGN ) ) + RelationDesigner::RelationDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication, const Reference< XFrame >& _rxParentFrame ) + :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame, static_cast< ::rtl::OUString >( URL_COMPONENT_RELATIONDESIGN ) ) { } + //====================================================================== + //= ReportDesigner + //====================================================================== + //---------------------------------------------------------------------- + ReportDesigner::ReportDesigner( const Reference< XMultiServiceFactory >& _rxORB, const Reference< XDatabaseDocumentUI >& _rxApplication , const Reference< XFrame >& _rxParentFrame) + :DatabaseObjectView( _rxORB, _rxApplication, _rxParentFrame,static_cast< ::rtl::OUString >( URL_COMPONENT_REPORTDESIGN ) ) + { + } + // ......................................................................... } // namespace dbaui --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
