cui/uiconfig/ui/optadvancedpage.ui | 2 include/sfx2/sidebar/SidebarChildWindow.hxx | 2 include/sfx2/viewfrm.hxx | 3 sc/source/ui/app/scdll.cxx | 2 sd/source/ui/app/sddll2.cxx | 2 sd/source/ui/framework/module/ImpressModule.cxx | 14 - sd/source/ui/framework/tools/FrameworkHelper.cxx | 16 - sd/source/ui/sidebar/PanelFactory.cxx | 14 + sd/source/ui/sidebar/SidebarFactory.cxx | 236 ----------------------- sd/source/ui/sidebar/SidebarFactory.hxx | 116 ----------- sfx2/source/sidebar/SidebarChildWindow.cxx | 8 sfx2/source/view/viewfrm.cxx | 51 ++++ sw/source/ui/app/swmodule.cxx | 2 13 files changed, 86 insertions(+), 382 deletions(-)
New commits: commit 689b27e446b697bc73b3a4c58c0afc1a536862da Author: Michael Meeks <[email protected]> Date: Fri May 17 20:32:16 2013 +0100 Only register and use the Sidebar if it is globally enabled. diff --git a/include/sfx2/sidebar/SidebarChildWindow.hxx b/include/sfx2/sidebar/SidebarChildWindow.hxx index 194f098..0d9739d 100644 --- a/include/sfx2/sidebar/SidebarChildWindow.hxx +++ b/include/sfx2/sidebar/SidebarChildWindow.hxx @@ -39,6 +39,8 @@ public: SfxBindings* pBindings, SfxChildWinInfo* pInfo); + static void RegisterChildWindowIfEnabled (sal_Bool bVisible=sal_False, SfxModule *pMod=NULL, sal_uInt16 nFlags=0); + SFX_DECL_CHILDWINDOW_WITHID(SidebarChildWindow); static sal_Int32 GetDefaultWidth (Window* pWindow); diff --git a/sc/source/ui/app/scdll.cxx b/sc/source/ui/app/scdll.cxx index 897a59f..981df14 100644 --- a/sc/source/ui/app/scdll.cxx +++ b/sc/source/ui/app/scdll.cxx @@ -229,7 +229,7 @@ void ScDLL::Init() // common SFX controller ::sfx2::TaskPaneWrapper::RegisterChildWindow( false, pMod ); - ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindow(false, pMod); + ::sfx2::sidebar::SidebarChildWindowIfEnabled::RegisterChildWindow(false, pMod); // Svx-StatusBar-Controller SvxInsertStatusBarControl ::RegisterControl(SID_ATTR_INSERT, pMod); diff --git a/sd/source/ui/app/sddll2.cxx b/sd/source/ui/app/sddll2.cxx index d28257d..78c78ea 100644 --- a/sd/source/ui/app/sddll2.cxx +++ b/sd/source/ui/app/sddll2.cxx @@ -127,7 +127,7 @@ void SdDLL::RegisterControllers() ::sd::LeftPaneImpressChildWindow::RegisterChildWindow(0, pMod); ::sd::LeftPaneDrawChildWindow::RegisterChildWindow(0, pMod); ::sd::ToolPanelChildWindow::RegisterChildWindow(0, pMod); - ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindow(0, pMod); + ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindowIfEnabled(0, pMod); SvxFillToolBoxControl::RegisterControl(0, pMod); SvxLineStyleToolBoxControl::RegisterControl(0, pMod); diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx index cb001ce..dfaff1e 100644 --- a/sfx2/source/sidebar/SidebarChildWindow.cxx +++ b/sfx2/source/sidebar/SidebarChildWindow.cxx @@ -22,6 +22,7 @@ #include "sfx2/sfxsids.hrc" #include "helpid.hrc" #include "sfx2/dockwin.hxx" +#include "sfx2/viewfrm.hxx" #include <sfx2/sidebar/ResourceDefinitions.hrc> @@ -73,5 +74,12 @@ sal_Int32 SidebarChildWindow::GetDefaultWidth (Window* pWindow) return 0; } +void SidebarChildWindow::RegisterChildWindowIfEnabled (sal_Bool bVisible, + SfxModule *pMod, + sal_uInt16 nFlags) +{ + if ( SfxViewFrame::IsSidebarEnabled() ) + RegisterChildWindow( bVisible, pMod, nFlags ); +} } } // end of namespace sfx2::sidebar diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index b8a9fb6..219f5dc 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -30,6 +30,7 @@ #include <com/sun/star/frame/XLoadable.hpp> #include <com/sun/star/frame/XLayoutManager.hpp> #include <com/sun/star/frame/XComponentLoader.hpp> +#include <com/sun/star/ui/UIElementFactoryManager.hpp> #include <toolkit/unohlp.hxx> #include <vcl/splitwin.hxx> @@ -3410,13 +3411,32 @@ bool SfxViewFrame::IsSidebarEnabled() if (!bInitialized) { bInitialized = true; + css::uno::Reference< css::uno::XComponentContext > xContext; + xContext = ::comphelper::getProcessComponentContext(); try { - bEnabled = officecfg::Office::Common::Misc::ExperimentalSidebar::get( - comphelper::getProcessComponentContext()); + bEnabled = officecfg::Office::Common::Misc::ExperimentalSidebar::get( xContext ); } catch (const uno::Exception &e) { SAL_WARN("sfx2.view", "don't have experimental sidebar option installed"); } + + // rip out the services from framework/ for good measure + if( !bEnabled ) + { + try + { + uno::Reference< ui::XUIElementFactoryManager > xUIElementFactory = ui::UIElementFactoryManager::create( xContext ); + xUIElementFactory->deregisterFactory( "toolpanel", "ScPanelFactory", "" ); + xUIElementFactory->deregisterFactory( "toolpanel", "SwPanelFactory", "" ); + xUIElementFactory->deregisterFactory( "toolpanel", "SvxPanelFactory", "" ); + xUIElementFactory->deregisterFactory( "toolpanel", "SdPanelFactory", "" ); + } + catch ( const uno::Exception &e ) + { + SAL_WARN( "sfx2.view", "Exception de-registering sidebar factories " << e.Message ); + } + } } + return bEnabled; } diff --git a/sw/source/ui/app/swmodule.cxx b/sw/source/ui/app/swmodule.cxx index 126cea5..fb53d18 100644 --- a/sw/source/ui/app/swmodule.cxx +++ b/sw/source/ui/app/swmodule.cxx @@ -400,7 +400,7 @@ void SwDLL::RegisterControls() ::avmedia::MediaPlayer::RegisterChildWindow(0, pMod); SvxSmartTagsControl::RegisterControl(SID_OPEN_SMARTTAGMENU, pMod); - ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindow(0, pMod); + ::sfx2::sidebar::SidebarChildWindow::RegisterChildWindowIfEnabled(0, pMod); ::sfx2::TaskPaneWrapper::RegisterChildWindow(0, pMod); } commit 075755886200c94131415a3040b13eec54d33c3d Author: Michael Meeks <[email protected]> Date: Fri May 17 20:07:29 2013 +0100 disable sidebar menu option if it is disabled. diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 801b08c..b8a9fb6 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -3220,7 +3220,7 @@ void SfxViewFrame::ChildWindowState( SfxItemSet& rState ) } else if ( nSID == SID_TASKPANE ) { - if ( !KnowsChildWindow( nSID ) ) + if ( !KnowsChildWindow( nSID ) ) { OSL_FAIL( "SID_TASKPANE state requested, but no task pane child window exists for this ID!" ); rState.DisableItem( nSID ); @@ -3236,6 +3236,11 @@ void SfxViewFrame::ChildWindowState( SfxItemSet& rState ) } else if ( nSID == SID_SIDEBAR ) { + if ( !IsSidebarEnabled() ) + { + rState.DisableItem( nSID ); + rState.Put( SfxVisibilityItem( nSID, sal_False ) ); + } if ( !KnowsChildWindow( nSID ) ) { OSL_ENSURE( false, "SID_TASKPANE state requested, but no task pane child window exists for this ID!" ); commit 2ffd6e90c6c44fdb68e9e6873e5c42df4320e044 Author: Michael Meeks <[email protected]> Date: Fri May 17 20:01:01 2013 +0100 Make clear changing sidebar enablement requires a re-start. diff --git a/cui/uiconfig/ui/optadvancedpage.ui b/cui/uiconfig/ui/optadvancedpage.ui index 8fac290..1c54497 100644 --- a/cui/uiconfig/ui/optadvancedpage.ui +++ b/cui/uiconfig/ui/optadvancedpage.ui @@ -341,7 +341,7 @@ </child> <child> <object class="GtkCheckButton" id="exp_sidebar"> - <property name="label" translatable="yes">Enable experimental sidebar</property> + <property name="label" translatable="yes">Enable experimental sidebar (on restart)</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> diff --git a/include/sfx2/viewfrm.hxx b/include/sfx2/viewfrm.hxx index 522b471..c31681b 100644 --- a/include/sfx2/viewfrm.hxx +++ b/include/sfx2/viewfrm.hxx @@ -152,6 +152,9 @@ public: static void ActivateToolPanel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame, const OUString& i_rPanelURL ); + /// is the new sidebar enabled for the app as a whole ? + static bool IsSidebarEnabled(); + // interne Handler SAL_DLLPRIVATE virtual sal_Bool SetBorderPixelImpl( const SfxViewShell *pSh, const SvBorder &rBorder ); SAL_DLLPRIVATE virtual const SvBorder& GetBorderPixelImpl( const SfxViewShell *pSh ) const; diff --git a/sd/source/ui/framework/module/ImpressModule.cxx b/sd/source/ui/framework/module/ImpressModule.cxx index 2c2ac43..cd41764 100644 --- a/sd/source/ui/framework/module/ImpressModule.cxx +++ b/sd/source/ui/framework/module/ImpressModule.cxx @@ -17,10 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <comphelper/processfactory.hxx> -#include <comphelper/configuration.hxx> -#include "officecfg/Office/Common.hxx" - +#include "sfx2/viewfrm.hxx" #include "framework/ImpressModule.hxx" #include "framework/FrameworkHelper.hxx" @@ -49,14 +46,7 @@ void ImpressModule::Initialize (Reference<frame::XController>& rxController) rxController, FrameworkHelper::msLeftImpressPaneURL); - // MMeeks ... - bool bSidebar = false; - try { - bSidebar = officecfg::Office::Common::Misc::ExperimentalSidebar::get( - comphelper::getProcessComponentContext()); - } catch (const uno::Exception &e) { - SAL_WARN("sd", "don't have experimental sidebar option installed"); - } + bool bSidebar = SfxViewFrame::IsSidebarEnabled(); new ToolPanelModule( rxController, bSidebar ? FrameworkHelper::msSidebarViewURL : diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx index 9ea22bf..19bcabb 100644 --- a/sd/source/ui/framework/tools/FrameworkHelper.cxx +++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx @@ -19,10 +19,7 @@ #include <osl/time.h> -#include <comphelper/processfactory.hxx> -#include <comphelper/configuration.hxx> -#include "officecfg/Office/Common.hxx" - +#include "sfx2/viewfrm.hxx" #include "framework/FrameworkHelper.hxx" #include "framework/ConfigurationController.hxx" @@ -615,16 +612,9 @@ Reference<XResourceId> FrameworkHelper::RequestSidebarPanel ( const OUString& rsTaskPanelURL, const bool bEnsureTaskPaneIsVisible) { - // MMeeks ... - bool bSidebar = false; - try { - bSidebar = officecfg::Office::Common::Misc::ExperimentalSidebar::get( - comphelper::getProcessComponentContext()); - } catch (const uno::Exception &e) { - SAL_WARN("sd", "don't have experimental sidebar option installed"); - } - OUString aViewURL, aPaneURL; + bool bSidebar = SfxViewFrame::IsSidebarEnabled(); + aViewURL = bSidebar ? FrameworkHelper::msSidebarViewURL : FrameworkHelper::msTaskPaneURL; aPaneURL = bSidebar ? FrameworkHelper::msSidebarPaneURL : diff --git a/sd/source/ui/sidebar/PanelFactory.cxx b/sd/source/ui/sidebar/PanelFactory.cxx index 193468a..2b45781 100644 --- a/sd/source/ui/sidebar/PanelFactory.cxx +++ b/sd/source/ui/sidebar/PanelFactory.cxx @@ -1,3 +1,4 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * @@ -34,6 +35,10 @@ #include <vcl/window.hxx> #include <toolkit/helper/vclunohelper.hxx> +#include <comphelper/processfactory.hxx> +#include <comphelper/configuration.hxx> +#include "officecfg/Office/Common.hxx" + using namespace css; using namespace cssu; using namespace ::sd::framework; @@ -71,6 +76,13 @@ Reference<lang::XEventListener> mxControllerDisposeListener; Reference<XInterface> SAL_CALL PanelFactory_createInstance ( const Reference<XComponentContext>& rxContext) { + bool bSidebar = SfxViewFrame::IsSidebarEnabled(); + if (!bSidebar) + { + SAL_WARN( "sd", "Creating a disabled sidebar factory" ); + return NULL; + } + return Reference<XInterface>(static_cast<XWeak*>(new PanelFactory(rxContext))); } @@ -205,3 +217,5 @@ Reference<ui::XUIElement> SAL_CALL PanelFactory::createUIElement ( } } // end of namespace sd::sidebar + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 4faf84f..801b08c 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -92,6 +92,10 @@ #include <svtools/svtresid.hxx> #include <framework/framelistanalyzer.hxx> +#include <comphelper/processfactory.hxx> +#include <comphelper/configuration.hxx> +#include "officecfg/Office/Common.hxx" + #include <boost/optional.hpp> using namespace ::com::sun::star; @@ -3391,4 +3395,24 @@ void SfxViewFrame::RemoveInfoBar( const OUString& sId ) } } +bool SfxViewFrame::IsSidebarEnabled() +{ + static bool bInitialized = false; + static bool bEnabled = false; + + // read the setting once at start, and that's what we + // stick with for now. + if (!bInitialized) + { + bInitialized = true; + try { + bEnabled = officecfg::Office::Common::Misc::ExperimentalSidebar::get( + comphelper::getProcessComponentContext()); + } catch (const uno::Exception &e) { + SAL_WARN("sfx2.view", "don't have experimental sidebar option installed"); + } + } + return bEnabled; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 9139398752814bb318d6e395faa85e8c848a5c3c Author: Michael Meeks <[email protected]> Date: Fri May 17 17:39:09 2013 +0100 remove apparently un-used SidebarFactory modules Seems that PanelFactory contains duplicate code for these. diff --git a/sd/source/ui/sidebar/SidebarFactory.cxx b/sd/source/ui/sidebar/SidebarFactory.cxx deleted file mode 100644 index cea2e14b..0000000 --- a/sd/source/ui/sidebar/SidebarFactory.cxx +++ /dev/null @@ -1,236 +0,0 @@ -/* - * 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 "precompiled_sd.hxx" - -#include "SidebarFactory.hxx" -#include "framework/Pane.hxx" -#include "ViewShellBase.hxx" -#include "DrawController.hxx" -#include "LayoutMenu.hxx" -#include "CurrentMasterPagesSelector.hxx" -#include "RecentMasterPagesSelector.hxx" -#include "AllMasterPagesSelector.hxx" -#include "CustomAnimationPanel.hxx" -#include "TableDesignPanel.hxx" -#include "SlideTransitionPanel.hxx" - -#include <sfx2/viewfrm.hxx> -#include <sfx2/sidebar/SidebarPanelBase.hxx> -#include <comphelper/namedvaluecollection.hxx> -#include <vcl/window.hxx> -#include <toolkit/helper/vclunohelper.hxx> - -using namespace css; -using namespace cssu; -using namespace ::sd::framework; -using ::rtl::OUString; - -#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString))) - -namespace sd { namespace sidebar { - -namespace { - /** Note that these names have to be identical to (the tail of) - the entries in officecfg/registry/data/org/openoffice/Office/Impress.xcu - for the TaskPanelFactory. - */ - const static char* gsResourceNameCustomAnimations = "/CustomAnimations"; - const static char* gsResourceNameLayouts = "/Layouts"; - const static char* gsResourceNameAllMasterPages = "/AllMasterPages"; - const static char* gsResourceNameRecentMasterPages = "/RecentMasterPages"; - const static char* gsResourceNameUsedMasterPages = "/UsedMasterPages"; - const static char* gsResourceNameSlideTransitions = "/SlideTransitions"; - const static char* gsResourceNameTableDesign = "/TableDesign"; -} - -Reference<lang::XEventListener> mxControllerDisposeListener; - - - -// ----- Service functions ---------------------------------------------------- - -Reference<XInterface> SAL_CALL SidebarFactory_createInstance ( - const Reference<XComponentContext>& rxContext) -{ - return Reference<XInterface>(static_cast<XWeak*>(new SidebarFactory(rxContext))); -} - - - - -::rtl::OUString SidebarFactory_getImplementationName (void) throw(RuntimeException) -{ - return ::rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("org.openoffice.comp.Draw.framework.SidebarFactory")); -} - - - - -Sequence<rtl::OUString> SAL_CALL SidebarFactory_getSupportedServiceNames (void) - throw (RuntimeException) -{ - static const ::rtl::OUString sServiceName( - ::rtl::OUString::createFromAscii("com.sun.star.drawing.framework.SidebarFactory")); - return Sequence<rtl::OUString>(&sServiceName, 1); -} - - - - -//----- SidebarFactory -------------------------------------------------------- - -SidebarFactory::SidebarFactory( - const css::uno::Reference<css::uno::XComponentContext>& rxContext) - : SidebarFactoryInterfaceBase(m_aMutex) -{ -} - - - - -SidebarFactory::~SidebarFactory (void) -{ -} - - - - -void SAL_CALL SidebarFactory::disposing (void) -{ -} - - - - -// XInitialization - -void SAL_CALL SidebarFactory::initialize (const Sequence<Any>& aArguments) - throw (Exception, RuntimeException) -{ -} - - - - -// XUIElementFactory - -Reference<ui::XUIElement> SAL_CALL SidebarFactory::createUIElement ( - const ::rtl::OUString& rsUIElementResourceURL, - const ::cssu::Sequence<css::beans::PropertyValue>& rArguments) - throw( - css::container::NoSuchElementException, - css::lang::IllegalArgumentException, - cssu::RuntimeException) -{ - // Process arguments. - const ::comphelper::NamedValueCollection aArguments (rArguments); - Reference<frame::XFrame> xFrame (aArguments.getOrDefault("Frame", Reference<frame::XFrame>())); - Reference<awt::XWindow> xParentWindow (aArguments.getOrDefault("ParentWindow", Reference<awt::XWindow>())); - Reference<ui::XSidebar> xSidebar (aArguments.getOrDefault("Sidebar", Reference<ui::XSidebar>())); - - // Throw exceptions when the arguments are not as expected. - ::Window* pParentWindow = VCLUnoHelper::GetWindow(xParentWindow); - if ( ! xParentWindow.is() || pParentWindow==NULL) - throw RuntimeException( - A2S("SidebarFactory::createUIElement called without ParentWindow"), - NULL); - if ( ! xFrame.is()) - throw RuntimeException( - A2S("SidebarFactory::createUIElement called without XFrame"), - NULL); - - // Tunnel through the controller to obtain a ViewShellBase. - ViewShellBase* pBase = NULL; - Reference<lang::XUnoTunnel> xTunnel (xFrame->getController(), UNO_QUERY); - if (xTunnel.is()) - { - ::sd::DrawController* pController = reinterpret_cast<sd::DrawController*>( - xTunnel->getSomething(sd::DrawController::getUnoTunnelId())); - if (pController != NULL) - pBase = pController->GetViewShellBase(); - } - if (pBase == NULL) - throw RuntimeException(A2S("can not get ViewShellBase for frame"), NULL); - - // Create a framework view. - ::Window* pControl = NULL; - -#define EndsWith(s,t) s.endsWithAsciiL(t,strlen(t)) - if (EndsWith(rsUIElementResourceURL, gsResourceNameCustomAnimations)) - pControl = new CustomAnimationPanel(pParentWindow, *pBase); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameLayouts)) - pControl = new LayoutMenu(pParentWindow, *pBase, xSidebar); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameAllMasterPages)) - pControl = AllMasterPagesSelector::Create(pParentWindow, *pBase, xSidebar); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameRecentMasterPages)) - pControl = RecentMasterPagesSelector::Create(pParentWindow, *pBase, xSidebar); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameUsedMasterPages)) - pControl = CurrentMasterPagesSelector::Create(pParentWindow, *pBase, xSidebar); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameSlideTransitions)) - pControl = new SlideTransitionPanel(pParentWindow, *pBase); - else if (EndsWith(rsUIElementResourceURL, gsResourceNameTableDesign)) - pControl = new TableDesignPanel(pParentWindow, *pBase); -#undef EndsWith - - if (pControl == NULL) - throw lang::IllegalArgumentException(); - - // Create a wrapper around pane and view and return it as - // XUIElement. - Reference<ui::XUIElement> xUIElement; - try - { - xUIElement.set( - sfx2::sidebar::SidebarPanelBase::Create( - rsUIElementResourceURL, - xFrame, - pControl, - ui::LayoutSize(-1,-1,-1))); - } - catch(Exception& rException) - { - // Creation of XUIElement failed. mxUIElement remains empty. - } - - Reference<lang::XComponent> xComponent (xUIElement, UNO_QUERY); - if (xComponent.is()) - xComponent->addEventListener(this); - - return xUIElement; -} - - - - -void SAL_CALL SidebarFactory::disposing (const ::css::lang::EventObject& rEvent) - throw(cssu::RuntimeException) -{ - /* - if (mpImplementation - && rEvent.Source == mpImplementation->mxUIElement) - { - mpImplementation->mxUIElement.clear(); - } - */ -} - - - - -} } // end of namespace sd::sidebar diff --git a/sd/source/ui/sidebar/SidebarFactory.hxx b/sd/source/ui/sidebar/SidebarFactory.hxx deleted file mode 100644 index daf1e4c..0000000 --- a/sd/source/ui/sidebar/SidebarFactory.hxx +++ /dev/null @@ -1,116 +0,0 @@ -/* - * 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 SD_SIDEBAR_FACTORY_HXX -#define SD_SIDEBAR_FACTORY_HXX - -#include <cppuhelper/compbase4.hxx> -#include <cppuhelper/basemutex.hxx> -#include <rtl/ref.hxx> -#include "framework/Pane.hxx" - -#include <com/sun/star/ui/XUIElementFactory.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/lang/XInitialization.hpp> - -#include <map> -#include <boost/noncopyable.hpp> -#include <boost/shared_ptr.hpp> - - -namespace css = ::com::sun::star; -namespace cssu = ::com::sun::star::uno; - - -namespace sd { - class ViewShellBase; -} - -namespace sd { namespace sidebar { - -namespace -{ - typedef ::cppu::WeakComponentImplHelper3 < - css::lang::XInitialization, - css::ui::XUIElementFactory, - css::lang::XEventListener - > SidebarFactoryInterfaceBase; -} - - -/** This factory creates both XUIElements (for sidebar panels) and - a drawing framework pane. - - The drawing framework pane is a container for the SidebarViewShell - which is necessary to run the legacy implementations of the task - pane panels. - - Control and information flow is like this: - - When one of the old task panels is requested to be displayed in - the sidebar this factory is called for - XUIElementFactory::createUIElement(). - One of the arguments, the window, is then exported into the - drawing framework as pane. After this the drawing framework is - used to create the SidebarViewShell (once known as - TaskPaneViewShell or ToolPanelViewShell) and the requested panel. -*/ -class SidebarFactory - : private ::boost::noncopyable, - private ::cppu::BaseMutex, - public SidebarFactoryInterfaceBase -{ -public: - static ::rtl::OUString SAL_CALL getImplementationName (void); - static cssu::Reference<cssu::XInterface> SAL_CALL createInstance ( - const cssu::Reference<css::lang::XMultiServiceFactory>& rxFactory); - static cssu::Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames (void); - - SidebarFactory (const cssu::Reference<cssu::XComponentContext>& rxContext); - virtual ~SidebarFactory (void); - - virtual void SAL_CALL disposing (void); - - - // XInitialization - - virtual void SAL_CALL initialize( - const css::uno::Sequence<css::uno::Any>& aArguments) - throw (css::uno::Exception, css::uno::RuntimeException); - - - // XUIElementFactory - - cssu::Reference<css::ui::XUIElement> SAL_CALL createUIElement ( - const ::rtl::OUString& rsResourceURL, - const ::cssu::Sequence<css::beans::PropertyValue>& rArguments) - throw( - css::container::NoSuchElementException, - css::lang::IllegalArgumentException, - cssu::RuntimeException); - - - // XEventListener - - virtual void SAL_CALL disposing (const ::css::lang::EventObject& rEvent) - throw(cssu::RuntimeException); -}; - - -} } // end of namespace sd::sidebar - -#endif _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
