[ooo-build-commit] Branch 'ooo/OOO320' - dbaccess/source

Jan Holesovsky kendy at kemper.freedesktop.org
Thu Dec 3 17:09:21 PST 2009


 dbaccess/source/ui/browser/brwctrlr.cxx        |    3 +
 dbaccess/source/ui/misc/controllerframe.cxx    |   25 ++++++++++--
 dbaccess/source/ui/misc/databaseobjectview.cxx |   49 +++++--------------------
 3 files changed, 34 insertions(+), 43 deletions(-)

New commits:
commit ead723cac1ca20e81ac7f60b02fbeb7f2611faa8
Author: Oliver Bolte <obo at openoffice.org>
Date:   Tue Dec 1 08:53:35 2009 +0000

    CWS-TOOLING: integrate CWS dba32j
    2009-11-26 09:30:10 +0100 msc  r277648 : #100000 fix urgent testscript error
    2009-11-25 10:27:56 +0100 msc  r277625 : #i100000 fix urgent testscript error
    2009-11-17 22:16:46 +0100 fs  r277544 : CWS-TOOLING: rebase CWS dba32j to branches/OOO320 at 277531 (milestone: OOO320:m5)
    2009-11-17 14:26:47 +0100 fs  r277535 : ooops, didn't mean to commit this uncommented line
    2009-11-14 20:50:29 +0100 fs  r277505 : add a --disable-pango switch to SM's configure options, and add a patch which makes certain code respect it (well, respect it better than currently, by not using some pango_x_* functions, which are not always available, even when pango itself is present)
    2009-11-14 20:47:41 +0100 fs  r277504 : spelling
    2009-11-13 14:04:00 +0100 fs  r277502 : #i100764# (commit approved by ab at openoffice.org): getModelFromBasic: do not start with the parent's parent when looking for ThisComponent, but walk up the anchestor chain, starting with the immediate parent
    2009-11-13 11:04:15 +0100 fs  r277496 : #i100764# better heuristics for determining whether or not to participate in the ThisComponent game
    2009-11-13 11:02:30 +0100 fs  r277495 : #i100764# set the WB_EXT_DOCUMENT style at the backing component's container window, when creating it without the TaskCreator (which would normally do this)
    2009-11-11 13:49:11 +0100 fs  r277452 : #i106816#
    2009-11-11 13:48:53 +0100 fs  r277451 : fix the CREATETARBAL target, which is expected to create the zips used as prebuilts. The *inc.zip missed the NSS files in case NSS was built externally
    2009-11-11 12:15:34 +0100 fs  r277449 : update ignore list
    2009-11-11 12:09:23 +0100 fs  r277448 : add a link to the Mozilla build tools download location
    2009-11-11 12:07:16 +0100 fs  r277447 : add a link to the Mozilla build tools download location
    2009-11-06 16:23:12 +0100 fs  r277393 : #i106643#
    2009-11-03 23:20:29 +0100 fs  r277328 : #i106574#
    reverted the recent fix for issue #i105235#, and implemented a better one.
    2009-11-02 12:59:48 +0100 fs  r277294 : #i106550# errorOccured: also display the error when we're not in a nested form action - form actions are allowed to be triggered by other instances as well

diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 147d55a..80c3756 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 b7ccf47..3b93789 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 ca9b3d2..533fb6c 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 );


More information about the ooo-build-commit mailing list