diff options
Diffstat (limited to 'dbaccess/source/ui')
-rw-r--r-- | dbaccess/source/ui/browser/unodatbr.cxx | 20 | ||||
-rw-r--r-- | dbaccess/source/ui/control/FieldDescControl.cxx | 3 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/controllerframe.cxx | 25 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/databaseobjectview.cxx | 49 | ||||
-rw-r--r-- | dbaccess/source/ui/misc/linkeddocuments.cxx | 4 |
5 files changed, 45 insertions, 56 deletions
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx index 7619c2000042..2a930f7fe573 100644 --- a/dbaccess/source/ui/browser/unodatbr.cxx +++ b/dbaccess/source/ui/browser/unodatbr.cxx @@ -109,6 +109,7 @@ #include <comphelper/sequence.hxx> #include <comphelper/types.hxx> #include <connectivity/dbexception.hxx> +#include <cppuhelper/exc_hlp.hxx> #include <cppuhelper/implbase2.hxx> #include <cppuhelper/typeprovider.hxx> #include <sfx2/app.hxx> @@ -2275,8 +2276,6 @@ sal_Bool SbaTableQueryBrowser::implLoadAnything(const ::rtl::OUString& _rDataSou xProp->setPropertyValue(PROPERTY_ESCAPE_PROCESSING, ::cppu::bool2any(_bEscapeProcessing)); if ( m_bPreview ) { - // this be undone by the grid control in DbGridControl::RecalcRows - // xProp->setPropertyValue(PROPERTY_FETCHSIZE, makeAny(sal_Int32(20))); xProp->setPropertyValue(PROPERTY_FETCHDIRECTION, makeAny(FetchDirection::FORWARD)); } @@ -2311,21 +2310,24 @@ sal_Bool SbaTableQueryBrowser::implLoadAnything(const ::rtl::OUString& _rDataSou InvalidateAll(); return bSuccess; } - catch(SQLException& e) + catch( const SQLException& e ) { - showError(SQLExceptionInfo(e)); + Any aException( ::cppu::getCaughtException() ); + showError( SQLExceptionInfo( aException ) ); } - catch(WrappedTargetException& e) + catch( const WrappedTargetException& e ) { SQLException aSql; - if(e.TargetException >>= aSql) - showError(SQLExceptionInfo(aSql)); + if ( e.TargetException.isExtractableTo( ::cppu::UnoType< SQLException >::get() ) ) + showError( SQLExceptionInfo( e.TargetException ) ); else - OSL_ENSURE(sal_False, "SbaTableQueryBrowser::implLoadAnything: something strange happended!"); + { + DBG_UNHANDLED_EXCEPTION(); + } } catch(Exception&) { - OSL_ENSURE(sal_False, "SbaTableQueryBrowser::implLoadAnything: something strange happended!"); + DBG_UNHANDLED_EXCEPTION(); } } diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx index 7eecfced5457..e0f4e0de7666 100644 --- a/dbaccess/source/ui/control/FieldDescControl.cxx +++ b/dbaccess/source/ui/control/FieldDescControl.cxx @@ -1677,8 +1677,7 @@ void OFieldDescControl::SaveData( OFieldDescription* pFieldDescr ) ::rtl::OUString sDefault; if (pDefault) { - if ( pDefault->GetSavedValue() != pDefault->GetText() ) - sDefault = pDefault->GetText(); + sDefault = pDefault->GetText(); } else if (pBoolDefault) { diff --git a/dbaccess/source/ui/misc/controllerframe.cxx b/dbaccess/source/ui/misc/controllerframe.cxx index e20f5e04b35b..491e27fc49de 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 259834be1724..26e5b5bafd98 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 ); diff --git a/dbaccess/source/ui/misc/linkeddocuments.cxx b/dbaccess/source/ui/misc/linkeddocuments.cxx index 69ec1dcf4975..9d32d70e2c31 100644 --- a/dbaccess/source/ui/misc/linkeddocuments.cxx +++ b/dbaccess/source/ui/misc/linkeddocuments.cxx @@ -349,7 +349,7 @@ namespace dbaui //------------------------------------------------------------------ Reference< XComponent > OLinkedDocumentsAccess::newDocument( sal_Int32 _nNewFormId, Reference< XComponent >& _xDefinition, const sal_Int32 _nCommandType, const ::rtl::OUString& _sObjectName ) { - OSL_ENSURE(m_xDocumentContainer.is(), "OLinkedDocumentsAccess::OLinkedDocumentsAccess: invalid document container!"); + OSL_ENSURE(m_xDocumentContainer.is(), "OLinkedDocumentsAccess::newDocument: invalid document container!"); // determine the URL to use for the new document Sequence<sal_Int8> aClassId; switch (_nNewFormId) @@ -372,7 +372,7 @@ namespace dbaui case SID_DB_FORM_NEW_PILOT: default: - OSL_ENSURE(sal_False, "OLinkedDocumentsAccess::newForm: pleas use newFormWithPilot!"); + OSL_ENSURE(sal_False, "OLinkedDocumentsAccess::newDocument: please use newFormWithPilot!"); return Reference< XComponent >(); } |