[Libreoffice-commits] core.git: compilerplugins/clang framework/inc framework/IwyuFilter_framework.yaml framework/Library_fwm.mk framework/source framework/util officecfg/files.mk officecfg/registry postprocess/CustomTarget_registry.mk solenv/clang-format

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Tue Jan 21 15:51:12 UTC 2020


 compilerplugins/clang/constantparam.numbers.results           |    4 
 compilerplugins/clang/unusedmethods.results                   |    2 
 framework/IwyuFilter_framework.yaml                           |    1 
 framework/Library_fwm.mk                                      |    2 
 framework/inc/services.h                                      |    4 
 framework/inc/tabwin/tabwindow.hxx                            |  156 -
 framework/inc/tabwin/tabwinfactory.hxx                        |   61 
 framework/source/classes/taskcreator.cxx                      |   12 
 framework/source/register/register3rdcomponents.cxx           |    2 
 framework/source/tabwin/tabwindow.cxx                         |  854 ----------
 framework/source/tabwin/tabwinfactory.cxx                     |  139 -
 framework/util/fwm.component                                  |    3 
 officecfg/files.mk                                            |    1 
 officecfg/registry/schema/org/openoffice/Office/TabBrowse.xcs |   40 
 postprocess/CustomTarget_registry.mk                          |    1 
 solenv/clang-format/blacklist                                 |    4 
 16 files changed, 1286 deletions(-)

New commits:
commit d4cfc4d628431b2a9271eb3a194ac4557d709d2f
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Jan 20 21:16:56 2020 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Jan 21 16:50:41 2020 +0100

    remove unused GSOC 2005 "Tabbed Document Windows for OOo"
    
    this was #i54847#
    
    Change-Id: I312e3ea9b123976e9929f6601a931ff8a108d7b3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87113
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/compilerplugins/clang/constantparam.numbers.results b/compilerplugins/clang/constantparam.numbers.results
index 876f8da673f5..79d86a3a9054 100644
--- a/compilerplugins/clang/constantparam.numbers.results
+++ b/compilerplugins/clang/constantparam.numbers.results
@@ -310,10 +310,6 @@ fpicker/source/office/iodlg.hxx:228
     void SvtFileDialog::displayIOException(const class rtl::OUString &,enum com::sun::star::ucb::IOErrorCode)
     enum com::sun::star::ucb::IOErrorCode _eCode
     5
-framework/inc/tabwin/tabwindow.hxx:142
-    void framework::TabWindow::implts_SendNotification(enum framework::TabWindow::Notification,int,const class com::sun::star::uno::Sequence<struct com::sun::star::beans::NamedValue> &) const
-    enum framework::TabWindow::Notification eNotify
-    2
 framework/inc/uielement/macrosmenucontroller.hxx:63
     void framework::MacrosMenuController::addScriptItems(class PopupMenu *,unsigned short)
     unsigned short startItemId
diff --git a/compilerplugins/clang/unusedmethods.results b/compilerplugins/clang/unusedmethods.results
index 53009519ec54..c3514bb17f83 100644
--- a/compilerplugins/clang/unusedmethods.results
+++ b/compilerplugins/clang/unusedmethods.results
@@ -154,8 +154,6 @@ editeng/inc/edtspell.hxx:105
     class __gnu_debug::_Safe_iterator<class __gnu_cxx::__normal_iterator<const struct editeng::MisspellRange *, class std::__cxx1998::vector<struct editeng::MisspellRange, class std::allocator<struct editeng::MisspellRange> > >, class std::__debug::vector<struct editeng::MisspellRange, class std::allocator<struct editeng::MisspellRange> >, struct std::random_access_iterator_tag> WrongList::end() const
 extensions/source/scanner/scanner.hxx:85
     void ScannerManager::SetData(void *)
-framework/inc/tabwin/tabwindow.hxx:64
-    void framework::TabWindow::impl_initService()
 hwpfilter/source/mzstring.h:99
     class MzString & MzString::operator<<(unsigned char)
 hwpfilter/source/mzstring.h:101
diff --git a/framework/IwyuFilter_framework.yaml b/framework/IwyuFilter_framework.yaml
index 03c1788972ab..1b648d7cee43 100644
--- a/framework/IwyuFilter_framework.yaml
+++ b/framework/IwyuFilter_framework.yaml
@@ -32,7 +32,6 @@ blacklist:
     framework/inc/services/layoutmanager.hxx:
     #  Don't propose hxx -> h change in URE libs
     - cppuhelper/interfacecontainer.hxx
-    framework/inc/tabwin/tabwindow.hxx:
     #  Don't propose hxx -> h change in URE libs
     - cppuhelper/interfacecontainer.hxx
     framework/inc/uielement/statusbarmanager.hxx:
diff --git a/framework/Library_fwm.mk b/framework/Library_fwm.mk
index c671daab0b9b..fbcc26fc8e51 100644
--- a/framework/Library_fwm.mk
+++ b/framework/Library_fwm.mk
@@ -54,8 +54,6 @@ $(eval $(call gb_Library_add_exception_objects,fwm,\
     framework/source/jobs/helponstartup \
     framework/source/jobs/shelljob \
     framework/source/register/register3rdcomponents \
-    framework/source/tabwin/tabwindow \
-    framework/source/tabwin/tabwinfactory \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/framework/inc/services.h b/framework/inc/services.h
index 5c780c0c0adb..7b46271543bc 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -31,8 +31,6 @@ namespace framework{
 #define SERVICENAME_JOB                                         "com.sun.star.task.Job"
 #define SERVICENAME_PROTOCOLHANDLER                             "com.sun.star.frame.ProtocolHandler"
 #define SERVICENAME_POPUPMENUCONTROLLER                         "com.sun.star.frame.PopupMenuController"
-#define SERVICENAME_TABWINFACTORY                               "com.sun.star.frame.TabWindowFactory"
-#define SERVICENAME_TABWINDOW                                   "com.sun.star.frame.TabWindow"
 #define SERVICENAME_STRINGABBREVIATION                          "com.sun.star.util.UriAbbreviation"
 
 //  used implementationnames by framework
@@ -56,8 +54,6 @@ namespace framework{
 #define IMPLEMENTATIONNAME_HELPONSTARTUP                        "com.sun.star.comp.framework.HelpOnStartup"
 #define IMPLEMENTATIONNAME_SHELLJOB                             "com.sun.star.comp.framework.ShellJob"
 #define IMPLEMENTATIONNAME_FWK_TASKCREATOR                      "com.sun.star.comp.framework.TaskCreator"
-#define IMPLEMENTATIONNAME_TABWINFACTORY                        "com.sun.star.comp.framework.TabWindowFactory"
-#define IMPLEMENTATIONNAME_TABWINDOW                            "com.sun.star.comp.framework.TabWindow"
 #define IMPLEMENTATIONNAME_SYSTEMEXEC                           "com.sun.star.comp.framework.SystemExecute"
 #define IMPLEMENTATIONNAME_URIABBREVIATION                      "com.sun.star.comp.framework.UriAbbreviation"
 #define IMPLEMENTATIONNAME_POPUPMENUDISPATCHER                  "com.sun.star.comp.framework.PopupMenuControllerDispatcher"
diff --git a/framework/inc/tabwin/tabwindow.hxx b/framework/inc/tabwin/tabwindow.hxx
deleted file mode 100644
index c7bac5a37925..000000000000
--- a/framework/inc/tabwin/tabwindow.hxx
+++ /dev/null
@@ -1,156 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_TABWIN_TABWINDOW_HXX
-#define INCLUDED_FRAMEWORK_INC_TABWIN_TABWINDOW_HXX
-
-#include <macros/xinterface.hxx>
-#include <macros/xtypeprovider.hxx>
-#include <macros/xserviceinfo.hxx>
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/awt/XWindow.hpp>
-#include <com/sun/star/awt/XTopWindow.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/awt/XSimpleTabController.hpp>
-#include <com/sun/star/awt/XTabListener.hpp>
-
-#include <cppuhelper/basemutex.hxx>
-#include <cppuhelper/propshlp.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
-#include <cppuhelper/weak.hxx>
-#include <rtl/ustring.hxx>
-#include <vcl/tabctrl.hxx>
-
-namespace framework
-{
-
-class TabWindow final : public css::lang::XTypeProvider             ,
-                   public css::lang::XServiceInfo              ,
-                   public css::lang::XInitialization           ,
-                   public css::lang::XComponent                ,
-                   public css::awt::XWindowListener            ,
-                   public css::awt::XTopWindowListener         ,
-                   public css::awt::XSimpleTabController       ,
-                   private cppu::BaseMutex,
-                   public ::cppu::OBroadcastHelper                          ,
-                   public ::cppu::OPropertySetHelper                        ,   // => XPropertySet / XFastPropertySet / XMultiPropertySet
-                   public ::cppu::OWeakObject
-{
-    public:
-        TabWindow( const css::uno::Reference< css::uno::XComponentContext >& xContext );
-        virtual ~TabWindow() override;
-
-        //  XInterface, XTypeProvider, XServiceInfo
-        FWK_DECLARE_XINTERFACE
-        DECLARE_XSERVICEINFO_NOFACTORY
-        FWK_DECLARE_XTYPEPROVIDER
-
-        using ::cppu::OPropertySetHelper::disposing;
-        using ::cppu::OPropertySetHelper::getFastPropertyValue;
-
-        //  XInitialization
-        virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) override;
-
-        //  XComponent
-        virtual void SAL_CALL dispose() override;
-        virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) override;
-        virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) override;
-
-        //  XSimpleTabController
-        virtual ::sal_Int32 SAL_CALL insertTab() override;
-        virtual void SAL_CALL removeTab( ::sal_Int32 ID ) override;
-        virtual void SAL_CALL setTabProps( ::sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& Properties ) override;
-        virtual css::uno::Sequence< css::beans::NamedValue > SAL_CALL getTabProps( ::sal_Int32 ID ) override;
-        virtual void SAL_CALL activateTab( ::sal_Int32 ID ) override;
-        virtual ::sal_Int32 SAL_CALL getActiveTabID(  ) override;
-        virtual void SAL_CALL addTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
-        virtual void SAL_CALL removeTabListener( const css::uno::Reference< css::awt::XTabListener >& Listener ) override;
-
-        //  XEventListener
-        virtual void SAL_CALL disposing( const css::lang::EventObject& aEvent ) override;
-
-        //  XTopWindowListener
-        virtual void SAL_CALL windowOpened( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowClosing( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowClosed( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowMinimized( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowNormalized( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowActivated( const css::lang::EventObject& e ) override;
-        virtual void SAL_CALL windowDeactivated( const css::lang::EventObject& e ) override;
-
-        //  XWindowListener
-        virtual void SAL_CALL windowResized( const css::awt::WindowEvent& aEvent ) override;
-        virtual void SAL_CALL windowMoved( const css::awt::WindowEvent& aEvent ) override;
-        virtual void SAL_CALL windowShown( const css::lang::EventObject& aEvent ) override;
-        virtual void SAL_CALL windowHidden( const css::lang::EventObject& aEvent ) override;
-
-    private:
-        DECL_LINK( Activate, TabControl*, void );
-        DECL_LINK( Deactivate, TabControl*, bool );
-
-        //  OPropertySetHelper
-
-        virtual sal_Bool                                            SAL_CALL convertFastPropertyValue( css::uno::Any&        aConvertedValue ,
-                                                                                                       css::uno::Any&        aOldValue       ,
-                                                                                                       sal_Int32                        nHandle         ,
-                                                                                                       const css::uno::Any&  aValue          ) override;
-        virtual void                                                SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32                        nHandle         ,
-                                                                                                               const css::uno::Any&  aValue          ) override;
-        virtual void                                                SAL_CALL getFastPropertyValue( css::uno::Any&    aValue          ,
-                                                                                                   sal_Int32                    nHandle         ) const override;
-        virtual ::cppu::IPropertyArrayHelper&                       SAL_CALL getInfoHelper() override;
-        virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override;
-
-        static css::uno::Sequence< css::beans::Property > impl_getStaticPropertyDescriptor();
-
-        enum Notification
-        {
-            NOTIFY_INSERTED,
-            NOTIFY_REMOVED,
-            NOTIFY_CHANGED,
-            NOTIFY_ACTIVATED,
-            NOTIFY_DEACTIVATED
-        };
-
-        void        implts_LayoutWindows() const;
-        void        impl_SetTitle( const OUString& rTitle );
-        TabControl* impl_GetTabControl( const css::uno::Reference< css::awt::XWindow >& xTabControlWindow ) const;
-        void        implts_SendNotification( Notification eNotify, sal_Int32 ID ) const;
-        void        implts_SendNotification( Notification eNotify, sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& rSeq ) const;
-
-        bool                                                   m_bInitialized : 1,
-                                                               m_bDisposed : 1;
-        sal_Int32                                              m_nNextTabID;
-        OUString                                               m_aTitlePropName;
-        OUString                                               m_aPosPropName;
-        css::uno::Reference< css::uno::XComponentContext >     m_xContext;
-        css::uno::Reference< css::awt::XTopWindow >            m_xTopWindow;
-        css::uno::Reference< css::awt::XWindow >               m_xContainerWindow;
-        css::uno::Reference< css::awt::XWindow >               m_xTabControlWindow;
-        ::cppu::OMultiTypeInterfaceContainerHelper             m_aListenerContainer; // container for ALL Listener
-};
-
-}
-
-#endif // INCLUDED_FRAMEWORK_INC_TABWIN_TABWINDOW_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/inc/tabwin/tabwinfactory.hxx b/framework/inc/tabwin/tabwinfactory.hxx
deleted file mode 100644
index 53111e187055..000000000000
--- a/framework/inc/tabwin/tabwinfactory.hxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_FRAMEWORK_INC_TABWIN_TABWINFACTORY_HXX
-#define INCLUDED_FRAMEWORK_INC_TABWIN_TABWINFACTORY_HXX
-
-#include <macros/xserviceinfo.hxx>
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XSingleComponentFactory.hpp>
-#include <com/sun/star/awt/XToolkit2.hpp>
-
-#include <cppuhelper/implbase.hxx>
-
-namespace framework
-{
-
-class TabWinFactory final : public ::cppu::WeakImplHelper< css::lang::XSingleComponentFactory, css::lang::XServiceInfo>
-{
-    public:
-        TabWinFactory( const css::uno::Reference< css::uno::XComponentContext >& xContext );
-        virtual ~TabWinFactory() override;
-
-        //  XInterface, XTypeProvider, XServiceInfo
-        DECLARE_XSERVICEINFO_NOFACTORY
-        /* Helper for registry */
-        /// @throws css::uno::Exception
-        static css::uno::Reference< css::uno::XInterface >             SAL_CALL impl_createInstance                ( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager );
-        static css::uno::Reference< css::lang::XSingleServiceFactory > impl_createFactory                 ( const css::uno::Reference< css::lang::XMultiServiceFactory >& xServiceManager );
-
-        // XSingleComponentFactory
-        virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithContext( const css::uno::Reference< css::uno::XComponentContext >& Context ) override;
-        virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArgumentsAndContext( const css::uno::Sequence< css::uno::Any >& Arguments, const css::uno::Reference< css::uno::XComponentContext >& Context ) override;
-
-    private:
-        css::uno::Reference< css::uno::XComponentContext >     m_xContext;
-        css::uno::Reference< css::awt::XToolkit2 >             m_xToolkit;
-};
-
-}
-
-#endif // INCLUDED_FRAMEWORK_INC_TABWIN_TABWINFACTORY_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/classes/taskcreator.cxx b/framework/source/classes/taskcreator.cxx
index f5c90bc0cfbe..65755aa8d674 100644
--- a/framework/source/classes/taskcreator.cxx
+++ b/framework/source/classes/taskcreator.cxx
@@ -27,8 +27,6 @@
 #include <com/sun/star/lang/XSingleServiceFactory.hpp>
 #include <com/sun/star/beans/NamedValue.hpp>
 
-#include <officecfg/Office/TabBrowse.hxx>
-
 namespace framework{
 
 /*-****************************************************************************************************
@@ -62,16 +60,6 @@ css::uno::Reference< css::frame::XFrame > TaskCreator::createTask( const OUStrin
 
     try
     {
-        if (
-            ( TargetHelper::matchSpecialTarget(sName, TargetHelper::ESpecialTarget::Blank  ) ) ||
-            ( TargetHelper::matchSpecialTarget(sName, TargetHelper::ESpecialTarget::Default) )
-           )
-        {
-
-            o3tl::optional<OUString> x(officecfg::Office::TabBrowse::TaskCreatorService::ImplementationName::get(m_xContext));
-            if (x) sCreator = *x;
-        }
-
         xCreator.set( m_xContext->getServiceManager()->createInstanceWithContext(sCreator, m_xContext), css::uno::UNO_QUERY_THROW);
     }
     catch(const css::uno::Exception&)
diff --git a/framework/source/register/register3rdcomponents.cxx b/framework/source/register/register3rdcomponents.cxx
index cd963bf027b4..4878a30e393c 100644
--- a/framework/source/register/register3rdcomponents.cxx
+++ b/framework/source/register/register3rdcomponents.cxx
@@ -33,13 +33,11 @@
                              )
 =================================================================================================================*/
 #include <jobs/helponstartup.hxx>
-#include <tabwin/tabwinfactory.hxx>
 #include <dispatch/systemexec.hxx>
 #include <jobs/shelljob.hxx>
 
 COMPONENTGETFACTORY ( fwm,
                         IFFACTORY( ::framework::HelpOnStartup       ) else
-                        IFFACTORY( ::framework::TabWinFactory       ) else
                         IFFACTORY( ::framework::SystemExec          ) else
                         IFFACTORY( ::framework::ShellJob            )
                     )
diff --git a/framework/source/tabwin/tabwindow.cxx b/framework/source/tabwin/tabwindow.cxx
deleted file mode 100644
index 85ab4441e5fd..000000000000
--- a/framework/source/tabwin/tabwindow.cxx
+++ /dev/null
@@ -1,854 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <tabwin/tabwindow.hxx>
-#include <properties.h>
-#include <services.h>
-
-#include <com/sun/star/awt/Toolkit.hpp>
-#include <com/sun/star/awt/PosSize.hpp>
-#include <com/sun/star/awt/WindowDescriptor.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/lang/DisposedException.hpp>
-#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
-#include <vcl/svapp.hxx>
-#include <vcl/window.hxx>
-#include <toolkit/helper/vclunohelper.hxx>
-#include <comphelper/sequenceashashmap.hxx>
-
-//  Defines
-
-using namespace com::sun::star;
-
-namespace framework
-{
-
-//  XInterface, XTypeProvider, XServiceInfo
-
-DEFINE_XINTERFACE_11                    (   TabWindow                                                                          ,
-                                            ::cppu::OWeakObject                                                                ,
-                                            DIRECT_INTERFACE( css::lang::XTypeProvider                                        ),
-                                            DIRECT_INTERFACE( css::lang::XServiceInfo                                         ),
-                                            DIRECT_INTERFACE( css::lang::XInitialization                                      ),
-                                            DIRECT_INTERFACE( css::lang::XComponent                                           ),
-                                            DIRECT_INTERFACE( css::awt::XWindowListener                                       ),
-                                            DIRECT_INTERFACE( css::awt::XTopWindowListener                                    ),
-                                            DIRECT_INTERFACE( css::awt::XSimpleTabController                                  ),
-                                            DERIVED_INTERFACE( css::lang::XEventListener, css::awt::XWindowListener           ),
-                                            DIRECT_INTERFACE( css::beans::XMultiPropertySet                                   ),
-                                            DIRECT_INTERFACE( css::beans::XFastPropertySet                                    ),
-                                            DIRECT_INTERFACE( css::beans::XPropertySet                                        )
-                                        )
-
-DEFINE_XTYPEPROVIDER_11                 (   TabWindow                               ,
-                                            css::lang::XTypeProvider                ,
-                                            css::lang::XServiceInfo                 ,
-                                            css::lang::XInitialization              ,
-                                            css::lang::XComponent                   ,
-                                            css::awt::XWindowListener               ,
-                                            css::awt::XTopWindowListener            ,
-                                            css::awt::XSimpleTabController          ,
-                                            css::lang::XEventListener               ,
-                                            css::beans::XMultiPropertySet           ,
-                                            css::beans::XFastPropertySet            ,
-                                            css::beans::XPropertySet
-                                        )
-
-PRIVATE_DEFINE_XSERVICEINFO_BASE        (   TabWindow                           ,
-                                            ::cppu::OWeakObject                 ,
-                                            SERVICENAME_TABWINDOW               ,
-                                            IMPLEMENTATIONNAME_TABWINDOW
-                                        )
-
-DEFINE_INIT_SERVICE                     (   TabWindow, {} )
-
-TabWindow::TabWindow( const css::uno::Reference< css::uno::XComponentContext >& xContext )
-    : ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType >( m_aMutex )
-    , ::cppu::OPropertySetHelper  ( *static_cast< ::cppu::OBroadcastHelper* >(this) )
-    , m_bInitialized( false )
-    , m_bDisposed( false )
-    , m_nNextTabID( 1 )
-    , m_aTitlePropName( "Title" )
-    , m_aPosPropName( "Position" )
-    , m_xContext( xContext )
-    , m_aListenerContainer( m_aMutex )
-{
-}
-
-TabWindow::~TabWindow()
-{
-}
-
-// Helper
-
-void TabWindow::implts_LayoutWindows() const
-{
-    const sal_Int32 nTabControlHeight = 30;
-
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-    css::uno::Reference< css::awt::XDevice > xDevice( m_xTopWindow, css::uno::UNO_QUERY );
-    css::uno::Reference< css::awt::XWindow > xWindow( m_xTopWindow, css::uno::UNO_QUERY );
-    css::uno::Reference< css::awt::XWindow > xTabControlWindow( m_xTabControlWindow );
-    css::uno::Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    // Convert relative size to output size.
-    if ( xWindow.is() && xDevice.is() )
-    {
-        css::awt::Rectangle  aRectangle  = xWindow->getPosSize();
-        css::awt::DeviceInfo aInfo       = xDevice->getInfo();
-        css::awt::Size       aSize       (  aRectangle.Width  - aInfo.LeftInset - aInfo.RightInset  ,
-                                            aRectangle.Height - aInfo.TopInset  - aInfo.BottomInset );
-
-        css::awt::Size  aContainerWindowSize;
-        css::awt::Size  aTabControlSize;
-
-        aContainerWindowSize.Width = aSize.Width;
-        aTabControlSize.Width = aSize.Width;
-
-        aContainerWindowSize.Height = std::max( sal_Int32( 0 ), aSize.Height - nTabControlHeight );
-        aTabControlSize.Height = nTabControlHeight;
-
-        xContainerWindow->setPosSize( 0, 0,
-                                      aContainerWindowSize.Width, aContainerWindowSize.Height,
-                                      css::awt::PosSize::POSSIZE );
-        xTabControlWindow->setPosSize( 0, std::max( nTabControlHeight, sal_Int32( aSize.Height - nTabControlHeight)),
-                                       aTabControlSize.Width, aTabControlSize.Height,
-                                       css::awt::PosSize::POSSIZE );
-    }
-}
-
-TabControl* TabWindow::impl_GetTabControl( const css::uno::Reference< css::awt::XWindow >& rTabControlWindow ) const
-{
-    VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow( rTabControlWindow );
-    if ( pWindow )
-        return static_cast<TabControl *>(pWindow.get());
-    else
-        return nullptr;
-}
-
-void TabWindow::impl_SetTitle( const OUString& rTitle )
-{
-    if ( m_xTopWindow.is() )
-    {
-        VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow(
-                            css::uno::Reference< css::awt::XWindow >(
-                                m_xTopWindow, css::uno::UNO_QUERY ));
-        if ( pWindow )
-            pWindow->SetText( rTitle );
-    }
-}
-
-void TabWindow::implts_SendNotification( Notification eNotify, sal_Int32 ID ) const
-{
-    ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer(
-                                                        cppu::UnoType<css::awt::XTabListener>::get());
-    if (pContainer!=nullptr)
-    {
-        ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
-        while (pIterator.hasMoreElements())
-        {
-            try
-            {
-                switch ( eNotify )
-                {
-                    case NOTIFY_INSERTED:
-                        static_cast<css::awt::XTabListener*>(pIterator.next())->inserted( ID );
-                        break;
-                    case NOTIFY_REMOVED:
-                        static_cast<css::awt::XTabListener*>(pIterator.next())->removed( ID );
-                        break;
-                    case NOTIFY_ACTIVATED:
-                        static_cast<css::awt::XTabListener*>(pIterator.next())->activated( ID );
-                        break;
-                    case NOTIFY_DEACTIVATED:
-                        static_cast<css::awt::XTabListener*>(pIterator.next())->deactivated( ID );
-                        break;
-                    default:
-                        break;
-                }
-            }
-            catch( const css::uno::RuntimeException& )
-            {
-                pIterator.remove();
-            }
-        }
-    }
-}
-
-void TabWindow::implts_SendNotification( Notification eNotify, sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& rSeq ) const
-{
-    ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer(
-                                                        cppu::UnoType<css::awt::XTabListener>::get());
-    if (pContainer!=nullptr)
-    {
-        ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
-        while (pIterator.hasMoreElements())
-        {
-            try
-            {
-                switch ( eNotify )
-                {
-                    case NOTIFY_CHANGED:
-                        static_cast<css::awt::XTabListener*>(pIterator.next())->changed( ID, rSeq );
-                        break;
-                    default:
-                        break;
-                }
-            }
-            catch( const css::uno::RuntimeException& )
-            {
-                pIterator.remove();
-            }
-        }
-    }
-}
-
-// Links
-
-IMPL_LINK( TabWindow, Activate, TabControl*, pTabControl, void )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-
-    sal_Int32 nPageId = pTabControl->GetCurPageId();
-
-    const OUString& aTitle = pTabControl->GetPageText( sal_uInt16( nPageId ));
-    impl_SetTitle( aTitle );
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    implts_SendNotification( NOTIFY_ACTIVATED, nPageId );
-}
-
-IMPL_LINK( TabWindow, Deactivate, TabControl*, pTabControl, bool )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-    sal_Int32 nPageId = pTabControl->GetCurPageId();
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    implts_SendNotification( NOTIFY_DEACTIVATED, nPageId );
-
-    return true;
-}
-
-// XInitialization
-
-void SAL_CALL TabWindow::initialize( const css::uno::Sequence< css::uno::Any >& aArguments )
-{
-    const OUString aTopWindowArgName( "TopWindow" );
-    const OUString aSizeArgName( "Size" );
-
-    css::awt::Size aDefaultSize( 500, 500 );
-    css::awt::Size aSize( aDefaultSize );
-
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexResettableGuard aLock;
-    bool                                               bInitalized( m_bInitialized );
-    css::uno::Reference< css::uno::XComponentContext >     xContext( m_xContext );
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    if ( !bInitalized )
-    {
-        css::beans::PropertyValue                   aPropValue;
-        css::uno::Reference< css::awt::XTopWindow > xTopWindow;
-        css::uno::Reference< css::awt::XToolkit2 >  xToolkit;
-        css::awt::WindowDescriptor                  aDescriptor;
-
-        if ( xContext.is() )
-        {
-            try
-            {
-                xToolkit = css::awt::Toolkit::create( xContext );
-            }
-            catch ( const css::uno::RuntimeException& )
-            {
-                throw;
-            }
-            catch ( const css::uno::Exception& )
-            {
-            }
-        }
-
-        for ( int i = 0; i < aArguments.getLength(); i++ )
-        {
-            if ( aArguments[i] >>= aPropValue )
-            {
-                if ( aPropValue.Name == aTopWindowArgName )
-                    aPropValue.Value >>= xTopWindow;
-                else if ( aPropValue.Name == aSizeArgName )
-                {
-                    aPropValue.Value >>= aSize;
-                    if ( aSize.Width <= 0 )
-                        aSize.Width = aDefaultSize.Width;
-                    if ( aSize.Height <= 0 )
-                        aSize.Height = aDefaultSize.Height;
-                }
-            }
-        }
-
-        if ( xToolkit.is() )
-        {
-            if ( !xTopWindow.is() )
-            {
-                // describe top window properties.
-                aDescriptor.Type                =   css::awt::WindowClass_TOP;
-                aDescriptor.ParentIndex         =   -1;
-                aDescriptor.Parent.clear();
-                aDescriptor.Bounds              =   css::awt::Rectangle( 0, 0, aSize.Width, aSize.Height );
-                aDescriptor.WindowAttributes    =   0;
-
-                try
-                {
-                    xTopWindow.set( xToolkit->createWindow( aDescriptor ), css::uno::UNO_QUERY );
-                }
-                catch ( const css::uno::RuntimeException& )
-                {
-                    throw;
-                }
-                catch ( const css::uno::Exception& )
-                {
-                }
-            }
-
-            if ( xTopWindow.is() )
-            {
-                /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-                aLock.reset();
-                m_bInitialized = true;
-                aLock.clear();
-                /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-                css::uno::Reference< css::awt::XWindow > xWindow( xTopWindow, css::uno::UNO_QUERY );
-                xWindow->addWindowListener( css::uno::Reference< css::awt::XWindowListener >(
-                    static_cast< ::cppu::OWeakObject* >( this ), css::uno::UNO_QUERY_THROW ));
-
-                xTopWindow->addTopWindowListener( css::uno::Reference< css::awt::XTopWindowListener >(
-                    static_cast< ::cppu::OWeakObject* >( this ), css::uno::UNO_QUERY_THROW ));
-
-                css::uno::Reference< css::awt::XWindow > xContainerWindow;
-                css::uno::Reference< css::awt::XWindow > xTabControl;
-
-                // describe container window properties.
-                aDescriptor.Type                =   css::awt::WindowClass_SIMPLE;
-                aDescriptor.ParentIndex         =   -1;
-                aDescriptor.Parent.set( xTopWindow, css::uno::UNO_QUERY );
-                aDescriptor.Bounds              =   css::awt::Rectangle(0,0,0,0);
-                aDescriptor.WindowAttributes    =   0;
-
-                xContainerWindow.set( xToolkit->createWindow( aDescriptor ), css::uno::UNO_QUERY );
-
-                // create a tab control window properties
-                aDescriptor.Type                = css::awt::WindowClass_SIMPLE;
-                aDescriptor.WindowServiceName   = "tabcontrol";
-                aDescriptor.ParentIndex         = -1;
-                aDescriptor.Parent.set( xTopWindow, css::uno::UNO_QUERY );
-                aDescriptor.Bounds              = css::awt::Rectangle( 0,0,0,0 );
-                aDescriptor.WindowAttributes    = 0;
-
-                xTabControl.set( xToolkit->createWindow( aDescriptor ), css::uno::UNO_QUERY );
-
-                if ( xContainerWindow.is() && xTabControl.is() )
-                {
-                    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-                    aLock.reset();
-                    m_xTopWindow = xTopWindow;
-                    m_xContainerWindow = xContainerWindow;
-                    m_xTabControlWindow = xTabControl;
-                    aLock.clear();
-                    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-                    xWindow->setPosSize( 0, 0, aSize.Width, aSize.Height, css::awt::PosSize::POSSIZE );
-
-                    SolarMutexGuard aGuard;
-                    VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow( xWindow );
-                    if( pWindow )
-                        pWindow->Show();
-
-                    pWindow = VCLUnoHelper::GetWindow( xContainerWindow );
-                    if ( pWindow )
-                        pWindow->Show( true, ShowFlags::NoFocusChange | ShowFlags::NoActivate  );
-
-                    pWindow = VCLUnoHelper::GetWindow( xTabControl );
-                    if ( pWindow )
-                    {
-                        pWindow->Show( true, ShowFlags::NoFocusChange | ShowFlags::NoActivate  );
-                        TabControl* pTabControl = static_cast<TabControl *>(pWindow.get());
-                        pTabControl->SetActivatePageHdl( LINK( this, TabWindow, Activate ));
-                        pTabControl->SetDeactivatePageHdl( LINK( this, TabWindow, Deactivate ));
-                    }
-
-                    implts_LayoutWindows();
-                }
-            }
-        }
-    }
-}
-
-//  XComponent
-
-void SAL_CALL TabWindow::dispose()
-{
-    // Send message to all listener and forget her references.
-    css::uno::Reference< css::lang::XComponent > xThis = this;
-    css::lang::EventObject aEvent( xThis );
-
-    m_aListenerContainer.disposeAndClear( aEvent );
-
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexResettableGuard aLock;
-    css::uno::Reference< css::awt::XWindow > xTabControlWindow( m_xTabControlWindow );
-    css::uno::Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
-    css::uno::Reference< css::awt::XTopWindow > xTopWindow( m_xTopWindow );
-    m_xTabControlWindow.clear();
-    m_xContainerWindow.clear();
-    m_xTopWindow.clear();
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    if ( xTabControlWindow.is() )
-        xTabControlWindow->dispose();
-
-    if ( xContainerWindow.is() )
-        xContainerWindow->dispose();
-
-    css::uno::Reference< css::lang::XComponent > xComponent( xTopWindow, css::uno::UNO_QUERY );
-    if ( xComponent.is() )
-        xComponent->dispose();
-
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    aLock.reset();
-    m_bDisposed = true;
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-}
-
-void SAL_CALL TabWindow::addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    {
-        SolarMutexGuard aLock;
-        if (m_bDisposed)
-            return;
-    }
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    m_aListenerContainer.addInterface( cppu::UnoType<css::lang::XEventListener>::get(), xListener );
-}
-
-void SAL_CALL TabWindow::removeEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    {
-        SolarMutexGuard aLock;
-        if (m_bDisposed)
-            return;
-    }
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    m_aListenerContainer.removeInterface( cppu::UnoType<css::lang::XEventListener>::get(), xListener );
-}
-
-// XEventListener
-
-void SAL_CALL TabWindow::disposing( const css::lang::EventObject& )
-{
-}
-
-// XWindowListener
-
-void SAL_CALL TabWindow::windowResized( const css::awt::WindowEvent& )
-{
-    implts_LayoutWindows();
-}
-
-void SAL_CALL TabWindow::windowMoved( const css::awt::WindowEvent& )
-{
-}
-
-void SAL_CALL TabWindow::windowShown( const css::lang::EventObject& )
-{
-    SolarMutexGuard g;
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-        pTabControl->Show();
-
-    if ( m_xContainerWindow.is() )
-    {
-        VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
-        if ( pWindow )
-            pWindow->Show();
-    }
-}
-
-void SAL_CALL TabWindow::windowHidden( const css::lang::EventObject& )
-{
-    SolarMutexGuard g;
-    if ( m_xContainerWindow.is() )
-    {
-        VclPtr<vcl::Window> pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
-        if ( pWindow )
-            pWindow->Hide();
-    }
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-        pTabControl->Hide();
-}
-
-// XTopWindowListener
-
-void SAL_CALL TabWindow::windowOpened( const css::lang::EventObject& )
-{
-}
-
-void SAL_CALL TabWindow::windowClosing( const css::lang::EventObject& )
-{
-    css::uno::Reference< css::lang::XComponent > xComponent = this;
-    if ( xComponent.is() )
-        xComponent->dispose();
-}
-
-void SAL_CALL TabWindow::windowClosed( const css::lang::EventObject& )
-{
-}
-
-void SAL_CALL TabWindow::windowMinimized( const css::lang::EventObject& )
-{
-}
-
-void SAL_CALL TabWindow::windowNormalized( const css::lang::EventObject& )
-{
-}
-
-void SAL_CALL TabWindow::windowActivated( const css::lang::EventObject& )
-{
-}
-
-void SAL_CALL TabWindow::windowDeactivated( const css::lang::EventObject& )
-{
-}
-
-//  XSimpleTabController
-
-::sal_Int32 SAL_CALL TabWindow::insertTab()
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    sal_Int32 nNextTabID( m_nNextTabID++ );
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-        pTabControl->InsertPage( sal_uInt16( nNextTabID ), OUString() );
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    implts_SendNotification( NOTIFY_INSERTED, nNextTabID );
-
-    return nNextTabID;
-}
-
-void SAL_CALL TabWindow::removeTab( ::sal_Int32 ID )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-    {
-        sal_uInt16 nPos      = pTabControl->GetPagePos( sal_uInt16( ID ));
-        if ( nPos == TAB_PAGE_NOTFOUND )
-            throw css::lang::IndexOutOfBoundsException();
-        pTabControl->RemovePage( sal_uInt16( ID ));
-        sal_uInt16 nCurTabId = pTabControl->GetCurPageId();
-        aLock.clear();
-        /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-        implts_SendNotification( NOTIFY_REMOVED, ID );
-
-        // activate new tab if old tab was active!
-        nPos = pTabControl->GetPagePos( nCurTabId );
-        if ( nPos != TAB_PAGE_NOTFOUND && nCurTabId != ID )
-            activateTab( nCurTabId );
-    }
-}
-
-void SAL_CALL TabWindow::setTabProps( ::sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue >& Properties )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-    {
-        sal_uInt16 nPos = pTabControl->GetPagePos( sal_uInt16( ID ));
-        if ( nPos == TAB_PAGE_NOTFOUND )
-            throw css::lang::IndexOutOfBoundsException();
-
-        comphelper::SequenceAsHashMap aSeqHashMap( Properties );
-
-        OUString aTitle  = pTabControl->GetPageText( sal_uInt16( ID ));
-        sal_Int32       nNewPos = nPos;
-
-        aTitle = aSeqHashMap.getUnpackedValueOrDefault< OUString >(
-                                m_aTitlePropName, aTitle );
-        pTabControl->SetPageText( sal_uInt16( ID ), aTitle );
-        nNewPos = aSeqHashMap.getUnpackedValueOrDefault< sal_Int32 >(
-                                m_aPosPropName, nNewPos );
-        if ( nNewPos != sal_Int32( nPos ))
-        {
-            nPos = sal_uInt16( nNewPos );
-            if ( nPos >= pTabControl->GetPageCount() )
-                nPos = TAB_APPEND;
-
-            pTabControl->RemovePage( sal_uInt16( ID ));
-            pTabControl->InsertPage( sal_uInt16( ID ), aTitle, nPos );
-        }
-
-        /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-        aLock.clear();
-
-        css::uno::Sequence< css::beans::NamedValue > aNamedValueSeq = getTabProps( ID );
-        implts_SendNotification( NOTIFY_CHANGED, ID, aNamedValueSeq );
-    }
-}
-
-css::uno::Sequence< css::beans::NamedValue > SAL_CALL TabWindow::getTabProps( ::sal_Int32 ID )
-{
-    SolarMutexGuard g;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    css::uno::Sequence< css::beans::NamedValue > aNamedValueSeq;
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-    {
-        sal_uInt16 nPos = pTabControl->GetPagePos( sal_uInt16( ID ));
-        if ( nPos == TAB_PAGE_NOTFOUND )
-            throw css::lang::IndexOutOfBoundsException();
-
-        const OUString& aTitle = pTabControl->GetPageText( sal_uInt16( ID ));
-        nPos   = pTabControl->GetPagePos( sal_uInt16( ID ));
-
-        css::uno::Sequence< css::beans::NamedValue > aSeq
-        {
-            { m_aTitlePropName, css::uno::makeAny( aTitle ) },
-            { m_aPosPropName,   css::uno::makeAny( sal_Int32( nPos )) }
-        };
-        return aSeq;
-    }
-
-    return aNamedValueSeq;
-}
-
-void SAL_CALL TabWindow::activateTab( ::sal_Int32 ID )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexClearableGuard aLock;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-    {
-        sal_uInt16 nPos = pTabControl->GetPagePos( sal_uInt16( ID ));
-        if ( nPos == TAB_PAGE_NOTFOUND )
-            throw css::lang::IndexOutOfBoundsException();
-
-        sal_Int32 nOldID     = pTabControl->GetCurPageId();
-        OUString aTitle = pTabControl->GetPageText( sal_uInt16( ID ));
-        pTabControl->SetCurPageId( sal_uInt16( ID ));
-        pTabControl->SelectTabPage( sal_uInt16( ID ));
-        impl_SetTitle( aTitle );
-
-        aLock.clear();
-        /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-        if ( nOldID != TAB_PAGE_NOTFOUND )
-            implts_SendNotification( NOTIFY_DEACTIVATED, nOldID );
-        implts_SendNotification( NOTIFY_ACTIVATED, ID );
-    }
-}
-
-::sal_Int32 SAL_CALL TabWindow::getActiveTabID()
-{
-    SolarMutexGuard g;
-
-    if ( m_bDisposed )
-        throw css::lang::DisposedException();
-
-    TabControl* pTabControl = impl_GetTabControl( m_xTabControlWindow );
-    if ( pTabControl )
-    {
-        sal_uInt16 nID = pTabControl->GetCurPageId();
-        if ( nID == TAB_PAGE_NOTFOUND )
-            return -1;
-        else
-            return sal_Int32( nID );
-    }
-
-    return -1;
-}
-
-void SAL_CALL TabWindow::addTabListener(
-    const css::uno::Reference< css::awt::XTabListener >& xListener )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    {
-        SolarMutexGuard aLock;
-        if (m_bDisposed)
-            return;
-    }
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    m_aListenerContainer.addInterface(
-        cppu::UnoType<css::awt::XTabListener>::get(), xListener );
-}
-
-void SAL_CALL TabWindow::removeTabListener( const css::uno::Reference< css::awt::XTabListener >& xListener )
-{
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    {
-        SolarMutexGuard aLock;
-        if (m_bDisposed)
-            return;
-    }
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    m_aListenerContainer.removeInterface(
-        cppu::UnoType<css::awt::XTabListener>::get(), xListener );
-}
-
-//  OPropertySetHelper
-
-// XPropertySet helper
-sal_Bool SAL_CALL TabWindow::convertFastPropertyValue( css::uno::Any&       aConvertedValue ,
-                                                       css::uno::Any&       aOldValue       ,
-                                                       sal_Int32            nHandle         ,
-                                                       const css::uno::Any& aValue             )
-{
-    //  Initialize state with sal_False !!!
-    //  (Handle can be invalid)
-    bool bReturn = false;
-
-    switch( nHandle )
-    {
-        case TABWINDOW_PROPHANDLE_PARENTWINDOW :
-            bReturn = PropHelper::willPropertyBeChanged(
-                        css::uno::makeAny( m_xContainerWindow ),
-                        aValue,
-                        aOldValue,
-                        aConvertedValue);
-                break;
-
-        case TABWINDOW_PROPHANDLE_TOPWINDOW :
-            bReturn = PropHelper::willPropertyBeChanged(
-                        css::uno::makeAny( m_xTopWindow ),
-                        aValue,
-                        aOldValue,
-                        aConvertedValue);
-                break;
-    }
-
-    // Return state of operation.
-    return bReturn;
-}
-
-void SAL_CALL TabWindow::setFastPropertyValue_NoBroadcast( sal_Int32,
-                                                           const css::uno::Any&)
-{
-}
-
-void SAL_CALL TabWindow::getFastPropertyValue( css::uno::Any& aValue  ,
-                                               sal_Int32      nHandle    ) const
-{
-    switch( nHandle )
-    {
-        case TABWINDOW_PROPHANDLE_PARENTWINDOW:
-            aValue <<= m_xContainerWindow;
-            break;
-        case TABWINDOW_PROPHANDLE_TOPWINDOW:
-            aValue <<= m_xTopWindow;
-            break;
-    }
-}
-
-::cppu::IPropertyArrayHelper& SAL_CALL TabWindow::getInfoHelper()
-{
-    // Define static member to give structure of properties to baseclass "OPropertySetHelper".
-    // "impl_getStaticPropertyDescriptor" is a non exported and static function, who will define a static propertytable.
-    // "true" say: Table is sorted by name.
-    static ::cppu::OPropertyArrayHelper ourInfoHelper( impl_getStaticPropertyDescriptor(), true );
-
-    return ourInfoHelper;
-}
-
-css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL TabWindow::getPropertySetInfo()
-{
-    // Create structure of propertysetinfo for baseclass "OPropertySetHelper".
-    // (Use method "getInfoHelper()".)
-    static css::uno::Reference< css::beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
-
-    return xInfo;
-}
-
-css::uno::Sequence< css::beans::Property > TabWindow::impl_getStaticPropertyDescriptor()
-{
-    // Create property array to initialize sequence!
-    // Table of all predefined properties of this class. It's used from OPropertySetHelper-class!
-    // Don't forget to change the defines (see begin of this file), if you add, change or delete a property in this list!!!
-    // It's necessary for methods of OPropertySetHelper.
-    // ATTENTION:
-    //      YOU MUST SORT FOLLOW TABLE BY NAME ALPHABETICAL !!!
-
-    return
-    {
-        css::beans::Property( TABWINDOW_PROPNAME_PARENTWINDOW,
-                                         TABWINDOW_PROPHANDLE_PARENTWINDOW,
-                                         cppu::UnoType<css::awt::XWindow>::get(),
-                                         css::beans::PropertyAttribute::READONLY  ),
-        css::beans::Property( TABWINDOW_PROPNAME_TOPWINDOW,
-                                         TABWINDOW_PROPHANDLE_TOPWINDOW,
-                                         cppu::UnoType<css::awt::XWindow>::get(),
-                                         css::beans::PropertyAttribute::READONLY  )
-    };
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/source/tabwin/tabwinfactory.cxx b/framework/source/tabwin/tabwinfactory.cxx
deleted file mode 100644
index 1754dd5c2835..000000000000
--- a/framework/source/tabwin/tabwinfactory.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <services.h>
-#include <tabwin/tabwinfactory.hxx>
-#include <tabwin/tabwindow.hxx>
-
-#include <com/sun/star/awt/Toolkit.hpp>
-#include <com/sun/star/awt/XTopWindow.hpp>
-#include <com/sun/star/awt/WindowAttribute.hpp>
-
-#include <vcl/svapp.hxx>
-
-//  Defines
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::util;
-
-namespace framework
-{
-
-//  XInterface, XTypeProvider, XServiceInfo
-
-DEFINE_XSERVICEINFO_ONEINSTANCESERVICE_2(   TabWinFactory                                   ,
-                                            ::cppu::OWeakObject                             ,
-                                            SERVICENAME_TABWINFACTORY                       ,
-                                            IMPLEMENTATIONNAME_TABWINFACTORY
-                                        )
-
-DEFINE_INIT_SERVICE                     (   TabWinFactory, {} )
-
-TabWinFactory::TabWinFactory( const css::uno::Reference< css::uno::XComponentContext >& xContext ) :
-    m_xContext( xContext )
-{
-}
-
-TabWinFactory::~TabWinFactory()
-{
-}
-
-css::uno::Reference< css::uno::XInterface > SAL_CALL TabWinFactory::createInstanceWithContext(
-    const css::uno::Reference< css::uno::XComponentContext >& xContext )
-{
-    css::uno::Sequence< css::uno::Any > aArgs;
-
-    return createInstanceWithArgumentsAndContext( aArgs, xContext );
-}
-
-css::uno::Reference< css::uno::XInterface > SAL_CALL TabWinFactory::createInstanceWithArgumentsAndContext(
-    const css::uno::Sequence< css::uno::Any >& Arguments, const css::uno::Reference< css::uno::XComponentContext >& )
-{
-    const OUString aTopWindowArgName( "TopWindow");
-
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    SolarMutexResettableGuard aLock;
-    css::uno::Reference< css::awt::XToolkit2 > xToolkit = m_xToolkit;
-    css::uno::Reference< css::uno::XComponentContext > xContext( m_xContext );
-    aLock.clear();
-    /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
-    css::uno::Reference< css::uno::XInterface > xReturn;
-    css::uno::Reference< css::awt::XTopWindow > xTopWindow;
-    css::beans::PropertyValue                   aPropValue;
-
-    for ( sal_Int32 i = 0; i < Arguments.getLength(); i++ )
-    {
-        if ( Arguments[i] >>= aPropValue )
-        {
-            if ( aPropValue.Name == aTopWindowArgName )
-                aPropValue.Value >>= xTopWindow;
-        }
-    }
-
-    if ( !xToolkit.is() && xContext.is() )
-    {
-        xToolkit = css::awt::Toolkit::create( xContext );
-        /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-        aLock.reset();
-        m_xToolkit = xToolkit;
-        aLock.clear();
-        /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-    }
-
-    if ( !xTopWindow.is() )
-    {
-        // describe window properties.
-        css::awt::WindowDescriptor aDescriptor;
-        aDescriptor.Type                =   css::awt::WindowClass_TOP;
-        aDescriptor.ParentIndex         =   -1;
-        aDescriptor.Parent.clear();
-        aDescriptor.Bounds              =   css::awt::Rectangle(0,0,0,0);
-        aDescriptor.WindowAttributes    =   css::awt::WindowAttribute::BORDER|
-                                            css::awt::WindowAttribute::SIZEABLE|
-                                            css::awt::WindowAttribute::MOVEABLE|
-                                            css::awt::WindowAttribute::CLOSEABLE|
-                                            css::awt::WindowAttribute::MINSIZE;
-
-        // create a parent window
-        xTopWindow.set( xToolkit->createWindow( aDescriptor ), css::uno::UNO_QUERY );
-    }
-
-    if ( xTopWindow.is() )
-    {
-        TabWindow* pTabWindow = new TabWindow( xContext );
-
-        css::uno::Sequence< css::uno::Any > aArgs( 1 );
-
-        aPropValue.Name  = aTopWindowArgName;
-        aPropValue.Value <<= xTopWindow;
-        aArgs[0] <<= aPropValue;
-        pTabWindow->initialize( aArgs );
-
-        xReturn.set( static_cast< OWeakObject* >( pTabWindow ), css::uno::UNO_QUERY );
-    }
-
-    return xReturn;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/framework/util/fwm.component b/framework/util/fwm.component
index 00fc4ce3c854..4724e64697bf 100644
--- a/framework/util/fwm.component
+++ b/framework/util/fwm.component
@@ -28,7 +28,4 @@
   <implementation name="com.sun.star.comp.framework.SystemExecute">
     <service name="com.sun.star.frame.ProtocolHandler"/>
   </implementation>
-  <implementation name="com.sun.star.comp.framework.TabWindowFactory">
-    <service name="com.sun.star.frame.TabWindowFactory"/>
-  </implementation>
 </component>
diff --git a/officecfg/files.mk b/officecfg/files.mk
index 3d3a5079f622..54b875ece4ac 100644
--- a/officecfg/files.mk
+++ b/officecfg/files.mk
@@ -46,7 +46,6 @@ officecfg_XCSFILES := \
     Office/ReportDesign \
     Office/Scripting \
     Office/Security \
-    Office/TabBrowse \
     Office/TableWizard \
     Office/TypeDetection \
     Office/UI \
diff --git a/officecfg/registry/schema/org/openoffice/Office/TabBrowse.xcs b/officecfg/registry/schema/org/openoffice/Office/TabBrowse.xcs
deleted file mode 100644
index 41a7c69fc537..000000000000
--- a/officecfg/registry/schema/org/openoffice/Office/TabBrowse.xcs
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- -->
-<!DOCTYPE oor:component-schema SYSTEM "../../../../component-schema.dtd">
-<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:package="org.openoffice.Office" oor:name="TabBrowse" xml:lang="en-US">
-  <info>
-    <desc>Contain all needed properties for the tabbed document interface of OOo.</desc>
-  </info>
-  <templates/>
-  <component>
-    <group oor:name="TaskCreatorService">
-      <info>
-        <desc>The TaskCreatorService is used to create new document windows.
-          It must be replaced if the logic behind creation of such windows should be changed.</desc>
-      </info>
-      <prop oor:name="ImplementationName" oor:type="xs:string">
-        <info>
-          <desc>Because there can exists more than one implementations of such TaskCreatorService,
-            the actual one must be specified with its UNO implementation name.
-            Otherwise it's not guaranteed, which implementation is really used at runtime.</desc>
-        </info>
-      </prop>
-    </group>
-  </component>
-</oor:component-schema>
diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk
index c33417c6b2a7..b032dfd31681 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -158,7 +158,6 @@ postprocess_FILES_main := \
 	$(postprocess_XCS)/Office/Recovery.xcs \
 	$(postprocess_XCS)/Office/Scripting.xcs \
 	$(postprocess_XCS)/Office/Security.xcs \
-	$(postprocess_XCS)/Office/TabBrowse.xcs \
 	$(postprocess_XCS)/Office/TableWizard.xcs \
 	$(postprocess_XCS)/Office/TypeDetection.xcs \
 	$(postprocess_XCS)/Office/UI/BaseWindowState.xcs \
diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist
index ce28416b0cdc..be77724e432c 100644
--- a/solenv/clang-format/blacklist
+++ b/solenv/clang-format/blacklist
@@ -5079,8 +5079,6 @@ framework/inc/services/layoutmanager.hxx
 framework/inc/services/mediatypedetectionhelper.hxx
 framework/inc/services/uriabbreviation.hxx
 framework/inc/stdtypes.h
-framework/inc/tabwin/tabwindow.hxx
-framework/inc/tabwin/tabwinfactory.hxx
 framework/inc/targets.h
 framework/inc/taskcreatordefs.hxx
 framework/inc/threadhelp/gate.hxx
@@ -5268,8 +5266,6 @@ framework/source/services/substitutepathvars.cxx
 framework/source/services/taskcreatorsrv.cxx
 framework/source/services/uriabbreviation.cxx
 framework/source/services/urltransformer.cxx
-framework/source/tabwin/tabwindow.cxx
-framework/source/tabwin/tabwinfactory.cxx
 framework/source/uiconfiguration/CommandImageResolver.cxx
 framework/source/uiconfiguration/CommandImageResolver.hxx
 framework/source/uiconfiguration/ImageList.cxx


More information about the Libreoffice-commits mailing list