diff options
author | Kurt Zenker <kz@openoffice.org> | 2009-12-04 15:44:35 +0100 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2009-12-04 15:44:35 +0100 |
commit | 806452bde48d5fe2d73bf0c0ec3732e8c1eb6e29 (patch) | |
tree | ae6f38a942f35775f2909f717e0e50739bb8fac1 | |
parent | 21f55737884c3df09cda38b60eb90a710a912bc6 (diff) | |
parent | 5eebd655ea3ded0d9ad7b51a52845918647e75d4 (diff) |
CWS-TOOLING: integrate CWS dba32j_DEV300
-rw-r--r-- | dbaccess/source/ui/browser/brwctrlr.cxx | 3 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/controllerframe.cxx | 25 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/databaseobjectview.cxx | 49 |
3 files changed, 34 insertions, 43 deletions
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx index 147d55a8d..80c37565e 100644 --- a/dbaccess/source/ui/browser/brwctrlr.cxx +++ b/dbaccess/source/ui/browser/brwctrlr.cxx @@ -1368,7 +1368,10 @@ void SbaXDataBrowserController::errorOccured(const ::com::sun::star::sdb::SQLErr m_aCurrentError = aInfo; } else + { + m_aCurrentError = aInfo; m_aAsyncDisplayError.Call(); + } } //------------------------------------------------------------------------------ diff --git a/dbaccess/source/ui/misc/controllerframe.cxx b/dbaccess/source/ui/misc/controllerframe.cxx index b7ccf472a..3b937896a 100644 --- a/dbaccess/source/ui/misc/controllerframe.cxx +++ b/dbaccess/source/ui/misc/controllerframe.cxx @@ -44,6 +44,8 @@ #include <rtl/ref.hxx> #include <sfx2/objsh.hxx> #include <tools/diagnose_ex.h> +#include <toolkit/helper/vclunohelper.hxx> +#include <vcl/window.hxx> //........................................................................ namespace dbaui @@ -77,6 +79,7 @@ namespace dbaui using ::com::sun::star::lang::DisposedException; using ::com::sun::star::lang::EventObject; using ::com::sun::star::document::XDocumentEventBroadcaster; + using ::com::sun::star::awt::XWindow; /** === end UNO using === **/ //==================================================================== @@ -125,7 +128,7 @@ namespace dbaui ,m_xDocEventBroadcaster() ,m_pListener() ,m_bActive( false ) - ,m_bLivesInTopWindow( false ) + ,m_bIsTopLevelDocumentWindow( false ) { } @@ -134,7 +137,7 @@ namespace dbaui Reference< XDocumentEventBroadcaster > m_xDocEventBroadcaster; ::rtl::Reference< FrameWindowActivationListener > m_pListener; bool m_bActive; - bool m_bLivesInTopWindow; + bool m_bIsTopLevelDocumentWindow; }; //==================================================================== @@ -208,7 +211,7 @@ namespace dbaui if ( !xCompController.is() ) return; - if ( _rData.m_bActive && _rData.m_bLivesInTopWindow ) + if ( _rData.m_bActive && _rData.m_bIsTopLevelDocumentWindow ) { // set the "current component" at the SfxObjectShell Reference< XModel > xModel( xCompController->getModel() ); @@ -288,9 +291,21 @@ namespace dbaui void ( SAL_CALL XTopWindow::*pListenerAction )( const Reference< XTopWindowListener >& ) = _bRegister ? &XTopWindow::addTopWindowListener : &XTopWindow::removeTopWindowListener; - Reference< XTopWindow > xFrameContainer( m_pData->m_xFrame->getContainerWindow(), UNO_QUERY ); + const Reference< XWindow > xContainerWindow( m_pData->m_xFrame->getContainerWindow(), UNO_SET_THROW ); if ( _bRegister ) - m_pData->m_bLivesInTopWindow = xFrameContainer.is(); + { + const Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow ); + ENSURE_OR_THROW( pContainerWindow, "no Window implementation for the frame's container window!" ); + + /*const Window* pContainerParentWindow = pContainerWindow->GetParent(); + if ( pContainerParentWindow && ( pContainerParentWindow->GetType() == WINDOW_BORDERWINDOW ) ) + pContainerParentWindow = pContainerParentWindow->GetParent(); + m_pData->m_bIsTopLevelDocumentWindow = ( pContainerParentWindow == NULL );*/ + + m_pData->m_bIsTopLevelDocumentWindow = ( pContainerWindow->GetExtendedStyle() & WB_EXT_DOCUMENT ) != 0; + } + + const Reference< XTopWindow > xFrameContainer( xContainerWindow, UNO_QUERY ); if ( xFrameContainer.is() ) (xFrameContainer.get()->*pListenerAction)( this ); } diff --git a/dbaccess/source/ui/misc/databaseobjectview.cxx b/dbaccess/source/ui/misc/databaseobjectview.cxx index 49204a3ea..10b7e5604 100644 --- a/dbaccess/source/ui/misc/databaseobjectview.cxx +++ b/dbaccess/source/ui/misc/databaseobjectview.cxx @@ -31,66 +31,30 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_dbaccess.hxx" -#ifndef DBACCESS_DATABASE_OBJECT_VIEW_HXX #include "databaseobjectview.hxx" -#endif -#ifndef DBACCESS_SHARED_DBUSTRINGS_HRC #include "dbustrings.hrc" -#endif -#ifndef DBACCESS_ASYNCMODALDIALOG_HXX #include "asyncmodaldialog.hxx" -#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 -#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_ #include <com/sun/star/frame/XFrame.hpp> -#endif -#ifndef _COM_SUN_STAR_FRAME_XFRAMES_HPP_ #include <com/sun/star/frame/XFrames.hpp> -#endif -#ifndef _COM_SUN_STAR_FRAME_FRAMESEARCHFLAG_HPP_ #include <com/sun/star/frame/FrameSearchFlag.hpp> -#endif -#ifndef _COM_SUN_STAR_SDB_COMMANDTYPE_HPP_ #include <com/sun/star/sdb/CommandType.hpp> -#endif -#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_ #include <comphelper/extract.hxx> -#endif -#ifndef _COMPHELPER_SEQUENCE_HXX_ #include <comphelper/sequence.hxx> -#endif -#ifndef COMPHELPER_NAMEDVALUECOLLECTION_HXX #include <comphelper/namedvaluecollection.hxx> -#endif - -#ifndef _CONNECTIVITY_DBTOOLS_HXX_ #include <connectivity/dbtools.hxx> -#endif - -#ifndef _OSL_DIAGNOSE_H_ #include <osl/diagnose.h> -#endif -#ifndef TOOLS_DIAGNOSE_EX_H +#include <toolkit/helper/vclunohelper.hxx> #include <tools/diagnose_ex.h> -#endif +#include <vcl/window.hxx> // ......................................................................... namespace dbaui @@ -183,6 +147,15 @@ namespace dbaui lArgs[nArg++] <<= aProp; m_xFrameLoader.set(xFact->createInstanceWithArguments(lArgs), UNO_QUERY_THROW); + + // everything we load can be considered a "top level document", so set the respective bit at the window. + // This, amongst other things, triggers that the component in this task participates in the + // "ThisComponent"-game for the global application Basic. + const Reference< XFrame > xFrame( m_xFrameLoader, UNO_QUERY_THROW ); + const Reference< XWindow > xFrameWindow( xFrame->getContainerWindow(), UNO_SET_THROW ); + Window* pContainerWindow = VCLUnoHelper::GetWindow( xFrameWindow ); + ENSURE_OR_THROW( pContainerWindow, "no implementation access to the frame's container window!" ); + pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT ); } Reference< XComponentLoader > xFrameLoader( m_xFrameLoader, UNO_QUERY_THROW ); |