diff options
Diffstat (limited to 'sd/source')
40 files changed, 24 insertions, 2090 deletions
diff --git a/sd/source/ui/accessibility/AccessibleTaskPane.cxx b/sd/source/ui/accessibility/AccessibleTaskPane.cxx deleted file mode 100644 index 941ca6a245ff..000000000000 --- a/sd/source/ui/accessibility/AccessibleTaskPane.cxx +++ /dev/null @@ -1,97 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: AccessibleTaskPane.cxx,v $ - * $Revision: 1.5 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sd.hxx" - -#include "AccessibleTaskPane.hxx" - -#include "AccessibleTreeNode.hxx" - -#include "taskpane/ToolPanel.hxx" -#include "taskpane/ControlContainer.hxx" -#include "taskpane/TitledControl.hxx" -#include <com/sun/star/accessibility/AccessibleRole.hpp> - -#include <vos/mutex.hxx> -#include <vcl/svapp.hxx> - -using namespace ::rtl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::accessibility; -using namespace ::com::sun::star::uno; - -namespace accessibility { - -AccessibleTaskPane::AccessibleTaskPane ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> & rxParent, - const OUString& rsName, - const OUString& rsDescription, - ::sd::toolpanel::ToolPanel& rTaskPane) - : AccessibleTreeNode( - rxParent, - rTaskPane, - rsName, - rsDescription, - AccessibleRole::PANEL) -{ -} - - - - -AccessibleTaskPane::~AccessibleTaskPane (void) -{ -} - - - - -//===== XServiceInfo ======================================================== - -OUString SAL_CALL - AccessibleTaskPane::getImplementationName (void) - throw (RuntimeException) -{ - return OUString(RTL_CONSTASCII_USTRINGPARAM("AccessibleTaskPane")); -} - - - - -void AccessibleTaskPane::UpdateStateSet (void) -{ - // The task pane itself can not be focused. - UpdateState(AccessibleStateType::FOCUSED, false); -} - - -} // end of namespace accessibility diff --git a/sd/source/ui/accessibility/makefile.mk b/sd/source/ui/accessibility/makefile.mk index f922021490a3..58f522512abb 100755 --- a/sd/source/ui/accessibility/makefile.mk +++ b/sd/source/ui/accessibility/makefile.mk @@ -60,7 +60,6 @@ SLOFILES = \ $(SLO)$/AccessibleScrollPanel.obj \ $(SLO)$/AccessibleSlideSorterView.obj \ $(SLO)$/AccessibleSlideSorterObject.obj \ - $(SLO)$/AccessibleTaskPane.obj \ $(SLO)$/AccessibleTreeNode.obj \ $(SLO)$/SdShapeTypes.obj diff --git a/sd/source/ui/app/sddll1.cxx b/sd/source/ui/app/sddll1.cxx index 00810fd53227..ec5c067a6651 100644 --- a/sd/source/ui/app/sddll1.cxx +++ b/sd/source/ui/app/sddll1.cxx @@ -53,7 +53,6 @@ #include "GraphicDocShell.hxx" #include "SlideSorterViewShell.hxx" #include "taskpane/ToolPanelViewShell.hxx" -#include "TaskPaneViewShell.hxx" #include "FactoryIds.hxx" #include "sdmod.hxx" #include "app.hrc" @@ -131,7 +130,6 @@ void SdDLL::RegisterInterfaces() // View shells for the side panes. ::sd::slidesorter::SlideSorterViewShell::RegisterInterface (pMod); - ::sd::toolpanel::TaskPaneViewShell::RegisterInterface(pMod); ::sd::toolpanel::ToolPanelViewShell::RegisterInterface(pMod); // Tell the tool panel view shell to register the interfaces of its // controls. diff --git a/sd/source/ui/app/sddll2.cxx b/sd/source/ui/app/sddll2.cxx index 6c5dd7fd187a..d5709c08aad7 100644 --- a/sd/source/ui/app/sddll2.cxx +++ b/sd/source/ui/app/sddll2.cxx @@ -158,7 +158,6 @@ void SdDLL::RegisterControllers() ::avmedia::MediaPlayer::RegisterChildWindow(0, pMod); ::sd::LeftPaneImpressChildWindow::RegisterChildWindow(0, pMod); ::sd::LeftPaneDrawChildWindow::RegisterChildWindow(0, pMod); - ::sd::RightPaneChildWindow::RegisterChildWindow(0, pMod); ::sd::ToolPanelChildWindow::RegisterChildWindow(0, pMod); SvxFillToolBoxControl::RegisterControl(0, pMod); diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx index 65485d9df447..29c8be49e033 100644 --- a/sd/source/ui/app/sdmod1.cxx +++ b/sd/source/ui/app/sdmod1.cxx @@ -71,7 +71,6 @@ #include "sdresid.hxx" #include "OutlineViewShell.hxx" #include "ViewShellBase.hxx" -#include "TaskPaneViewShell.hxx" #ifndef SD_FRAMW_VIEW_HXX #include "FrameView.hxx" #endif diff --git a/sd/source/ui/dlg/PaneChildWindows.cxx b/sd/source/ui/dlg/PaneChildWindows.cxx index 008ceb228c75..552428bfd13e 100644 --- a/sd/source/ui/dlg/PaneChildWindows.cxx +++ b/sd/source/ui/dlg/PaneChildWindows.cxx @@ -48,8 +48,7 @@ namespace sd { SFX_IMPL_DOCKINGWINDOW(LeftPaneImpressChildWindow, SID_LEFT_PANE_IMPRESS) SFX_IMPL_DOCKINGWINDOW(LeftPaneDrawChildWindow, SID_LEFT_PANE_DRAW) -SFX_IMPL_DOCKINGWINDOW(RightPaneChildWindow, SID_RIGHT_PANE) -SFX_IMPL_DOCKINGWINDOW( ToolPanelChildWindow, SID_TOOL_PANEL_PANE ) +SFX_IMPL_DOCKINGWINDOW( ToolPanelChildWindow, SID_RIGHT_PANE) //===== PaneChildWindow ======================================================= @@ -141,25 +140,6 @@ LeftPaneDrawChildWindow::LeftPaneDrawChildWindow ( -//===== RightPaneChildWindow ================================================== - -RightPaneChildWindow::RightPaneChildWindow ( - ::Window* pParentWindow, - USHORT nId, - SfxBindings* pBindings, - SfxChildWinInfo* pInfo) - : PaneChildWindow( - pParentWindow, - nId, - pBindings, - pInfo, - FLT_RIGHT_PANE_DOCKING_WINDOW, - STR_RIGHT_PANE_TITLE, - SFX_ALIGN_RIGHT) -{ -} - - //====================================================================================================================== //= ToolPanelChildWindow //====================================================================================================================== diff --git a/sd/source/ui/dlg/PaneShells.cxx b/sd/source/ui/dlg/PaneShells.cxx index 98071da3f04f..b9bc8807ffff 100644 --- a/sd/source/ui/dlg/PaneShells.cxx +++ b/sd/source/ui/dlg/PaneShells.cxx @@ -112,39 +112,6 @@ LeftDrawPaneShell::~LeftDrawPaneShell (void) -//===== RightPaneShell ======================================================== - -#undef ShellClass -#define ShellClass RightPaneShell - -SFX_SLOTMAP(RightPaneShell) -{ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } -}; - -SFX_IMPL_INTERFACE(RightPaneShell, SfxShell, SdResId(STR_RIGHT_PANE_SHELL)) -{ - SFX_CHILDWINDOW_REGISTRATION( - ::sd::RightPaneChildWindow::GetChildWindowId()); -} - -TYPEINIT1(RightPaneShell, SfxShell); - - - -RightPaneShell::RightPaneShell (void) - : SfxShell() -{ - SetName(rtl::OUString::createFromAscii("RightPane")); -} - - - - -RightPaneShell::~RightPaneShell (void) -{ -} - //===== ToolPanelPaneShell ======================================================== #undef ShellClass diff --git a/sd/source/ui/framework/factories/BasicPaneFactory.cxx b/sd/source/ui/framework/factories/BasicPaneFactory.cxx index 8e28665551fe..998cc13571f7 100644 --- a/sd/source/ui/framework/factories/BasicPaneFactory.cxx +++ b/sd/source/ui/framework/factories/BasicPaneFactory.cxx @@ -59,8 +59,7 @@ namespace { FullScreenPaneId, LeftImpressPaneId, LeftDrawPaneId, - RightPaneId, - ToolPanelPaneId + RightPaneId }; static const sal_Int32 gnConfigurationUpdateStartEvent(0); @@ -244,11 +243,6 @@ void SAL_CALL BasicPaneFactory::initialize (const Sequence<Any>& aArguments) aDescriptor.mePaneId = RightPaneId; mpPaneContainer->push_back(aDescriptor); xCC->addResourceFactory(aDescriptor.msPaneURL, this); - - aDescriptor.msPaneURL = FrameworkHelper::msToolPanelPaneURL; - aDescriptor.mePaneId = ToolPanelPaneId; - mpPaneContainer->push_back(aDescriptor); - xCC->addResourceFactory(aDescriptor.msPaneURL, this); } // Register as configuration change listener. @@ -318,7 +312,6 @@ Reference<XResource> SAL_CALL BasicPaneFactory::createResource ( case LeftImpressPaneId: case LeftDrawPaneId: case RightPaneId: - case ToolPanelPaneId: xPane = CreateChildWindowPane( rxPaneId, *iDescriptor); @@ -539,11 +532,6 @@ Reference<XResource> BasicPaneFactory::CreateChildWindowPane ( break; case RightPaneId: - pShell.reset(new RightPaneShell()); - nChildWindowId = ::sd::RightPaneChildWindow::GetChildWindowId(); - break; - - case ToolPanelPaneId: pShell.reset(new ToolPanelPaneShell()); nChildWindowId = ::sd::ToolPanelChildWindow::GetChildWindowId(); break; diff --git a/sd/source/ui/framework/factories/BasicViewFactory.cxx b/sd/source/ui/framework/factories/BasicViewFactory.cxx index c5ca7414b707..d01d923ccb1d 100644 --- a/sd/source/ui/framework/factories/BasicViewFactory.cxx +++ b/sd/source/ui/framework/factories/BasicViewFactory.cxx @@ -46,7 +46,6 @@ #include "DrawViewShell.hxx" #include "GraphicViewShell.hxx" #include "OutlineViewShell.hxx" -#include "TaskPaneViewShell.hxx" #include "taskpane/ToolPanelViewShell.hxx" #include "PresentationViewShell.hxx" #include "SlideSorterViewShell.hxx" @@ -335,7 +334,6 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) mxConfigurationController->addResourceFactory(FrameworkHelper::msHandoutViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msPresentationViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msTaskPaneURL, this); - mxConfigurationController->addResourceFactory(FrameworkHelper::msToolPanelViewURL, this); mxConfigurationController->addResourceFactory(FrameworkHelper::msSlideSorterURL, this); } catch (RuntimeException&) @@ -455,15 +453,6 @@ void SAL_CALL BasicViewFactory::initialize (const Sequence<Any>& aArguments) else if (rsViewURL.equals(FrameworkHelper::msTaskPaneURL)) { pViewShell.reset( - new ::sd::toolpanel::TaskPaneViewShell ( - &rFrame, - *mpBase, - &rWindow, - pFrameView)); - } - else if (rsViewURL.equals(FrameworkHelper::msToolPanelViewURL)) - { - pViewShell.reset( new ::sd::toolpanel::ToolPanelViewShell( &rFrame, *mpBase, @@ -546,8 +535,6 @@ bool BasicViewFactory::IsCacheable (const ::boost::shared_ptr<ViewDescriptor>& r FrameworkHelper::msSlideSorterURL, FrameworkHelper::msLeftImpressPaneURL)); maCacheableResources.push_back(pHelper->CreateResourceId( FrameworkHelper::msTaskPaneURL, FrameworkHelper::msRightPaneURL)); - maCacheableResources.push_back(pHelper->CreateResourceId( - FrameworkHelper::msToolPanelViewURL, FrameworkHelper::msToolPanelPaneURL)); } ::std::vector<Reference<XResourceId> >::const_iterator iId; diff --git a/sd/source/ui/framework/factories/TaskPanelFactory.cxx b/sd/source/ui/framework/factories/TaskPanelFactory.cxx index 1500cda89870..b04373a6d23e 100644 --- a/sd/source/ui/framework/factories/TaskPanelFactory.cxx +++ b/sd/source/ui/framework/factories/TaskPanelFactory.cxx @@ -31,7 +31,6 @@ #include "precompiled_sd.hxx" #include "TaskPanelFactory.hxx" -#include "TaskPaneViewShell.hxx" #include "taskpane/ToolPanelViewShell.hxx" #include "DrawController.hxx" #include "framework/FrameworkHelper.hxx" @@ -44,7 +43,6 @@ using namespace ::com::sun::star::drawing::framework; using ::rtl::OUString; using ::sd::framework::FrameworkHelper; -using ::sd::toolpanel::TaskPaneViewShell; namespace sd { namespace framework { @@ -265,21 +263,11 @@ Reference<XResource> SAL_CALL TaskPanelFactory::createResource ( const ::rtl::OUString sPaneURL = aResourceURLs[ aResourceURLs.size() - 1 ]; const ::boost::shared_ptr< ViewShell > pPaneViewShell( pFrameworkHelper->GetViewShell( sPaneURL ) ); - toolpanel::TaskPaneViewShell* pTaskPane = dynamic_cast< toolpanel::TaskPaneViewShell* >( pPaneViewShell.get() ); - if ( pTaskPane != NULL ) + toolpanel::ToolPanelViewShell* pToolPanel = dynamic_cast< toolpanel::ToolPanelViewShell* >( pPaneViewShell.get() ); + if ( pToolPanel != NULL ) { xResource = new TaskPanelResource( rxResourceId ); - pTaskPane->ShowPanel(ePanelId); - pTaskPane->ExpandPanel(ePanelId); - } - else - { - toolpanel::ToolPanelViewShell* pToolPanel = dynamic_cast< toolpanel::ToolPanelViewShell* >( pPaneViewShell.get() ); - if ( pToolPanel != NULL ) - { - xResource = new TaskPanelResource( rxResourceId ); - pToolPanel->ActivatePanel( ePanelId ); - } + pToolPanel->ActivatePanel( ePanelId ); } OSL_POSTCOND( xResource.is(), "TaskPanelFactory::createResource: did not find the given resource!" ); @@ -312,23 +300,13 @@ void SAL_CALL TaskPanelFactory::releaseResource ( if ( pPaneViewShell != NULL ) { toolpanel::PanelId ePanelId( lcl_getPanelId( xResourceId->getResourceURL() ) ); - toolpanel::TaskPaneViewShell* pTaskPane( dynamic_cast< toolpanel::TaskPaneViewShell* >( pPaneViewShell.get() ) ); toolpanel::ToolPanelViewShell* pToolPanel = dynamic_cast< toolpanel::ToolPanelViewShell* >( pPaneViewShell.get() ); if ( ( ePanelId != toolpanel::PID_UNKNOWN ) - && ( ( pTaskPane != NULL ) - || ( pToolPanel != NULL ) - ) + && ( pToolPanel != NULL ) ) { - if ( pTaskPane != NULL ) - { - pTaskPane->CollapsePanel( ePanelId ); - } - if ( pToolPanel != NULL ) - { - pToolPanel->DeactivatePanel( ePanelId ); - } + pToolPanel->DeactivatePanel( ePanelId ); } else { diff --git a/sd/source/ui/framework/module/ImpressModule.cxx b/sd/source/ui/framework/module/ImpressModule.cxx index 27e605d2108f..3ddd812c6e86 100644 --- a/sd/source/ui/framework/module/ImpressModule.cxx +++ b/sd/source/ui/framework/module/ImpressModule.cxx @@ -36,7 +36,6 @@ #include "ViewTabBarModule.hxx" #include "CenterViewFocusModule.hxx" #include "SlideSorterModule.hxx" -#include "TaskPaneModule.hxx" #include "ToolPanelModule.hxx" #include "ToolBarModule.hxx" #include "ShellStackGuard.hxx" @@ -58,7 +57,6 @@ void ImpressModule::Initialize (Reference<frame::XController>& rxController) new SlideSorterModule( rxController, FrameworkHelper::msLeftImpressPaneURL); - TaskPaneModule::Initialize(rxController); ToolPanelModule::Initialize(rxController); new ToolBarModule(rxController); new ShellStackGuard(rxController); diff --git a/sd/source/ui/framework/module/TaskPaneModule.cxx b/sd/source/ui/framework/module/TaskPaneModule.cxx deleted file mode 100644 index a4529c15152e..000000000000 --- a/sd/source/ui/framework/module/TaskPaneModule.cxx +++ /dev/null @@ -1,165 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: TaskPaneModule.cxx,v $ - * $Revision: 1.4 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "precompiled_sd.hxx" - -#include "TaskPaneModule.hxx" -#include "ReadOnlyModeObserver.hxx" -#include "framework/FrameworkHelper.hxx" - -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/drawing/framework/XControllerManager.hpp> - -#include <comphelper/processfactory.hxx> -#include <cppuhelper/compbase1.hxx> -#include <boost/enable_shared_from_this.hpp> - -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::drawing::framework; -using ::rtl::OUString; -using ::sd::framework::FrameworkHelper; - - -namespace sd { namespace framework { - -namespace { - -typedef ::cppu::WeakComponentImplHelper1 < - ::com::sun::star::frame::XStatusListener - > LocalReadOnlyModeObserverInterfaceBase; - -/** This local class enables or disables the ResourceManager of a - TaskPaneModule. It connects to a ReadOnlyModeObserver and is called - when the state of the .uno:EditDoc command changes. When either the - ResourceManager or the ReadOnlyModeObserver are disposed then the - LocalReadOnlyModeObserver disposes itself. The link - between the ResourceManager and the ReadOnlyModeObserver is removed and - the ReadOnlyModeObserver typically looses its last reference and is - destroyed. -*/ -class LocalReadOnlyModeObserver - : private MutexOwner, - public LocalReadOnlyModeObserverInterfaceBase -{ -public: - LocalReadOnlyModeObserver ( - const Reference<frame::XController>& rxController, - const ::rtl::Reference<ResourceManager>& rpResourceManager) - : MutexOwner(), - LocalReadOnlyModeObserverInterfaceBase(maMutex), - mpResourceManager(rpResourceManager), - mpObserver(new ReadOnlyModeObserver(rxController)) - { - mpObserver->AddStatusListener(this); - - Reference<lang::XComponent> xComponent ( - static_cast<XWeak*>(mpResourceManager.get()), UNO_QUERY); - if (xComponent.is()) - xComponent->addEventListener(this); - } - - ~LocalReadOnlyModeObserver (void) - { - } - - virtual void SAL_CALL disposing (void) - { - Reference<lang::XComponent> xComponent (static_cast<XWeak*>(mpObserver.get()), UNO_QUERY); - if (xComponent.is()) - xComponent->dispose(); - - xComponent = Reference<lang::XComponent>( - static_cast<XWeak*>(mpResourceManager.get()), UNO_QUERY); - if (xComponent.is()) - xComponent->removeEventListener(this); - - } - - virtual void SAL_CALL disposing (const com::sun::star::lang::EventObject& rEvent) - throw(RuntimeException) - { - if (rEvent.Source == Reference<XInterface>(static_cast<XWeak*>(mpObserver.get()))) - { - mpObserver = NULL; - } - else if (rEvent.Source == Reference<XInterface>( - static_cast<XWeak*>(mpResourceManager.get()))) - { - mpResourceManager = NULL; - } - dispose(); - } - - virtual void SAL_CALL statusChanged (const com::sun::star::frame::FeatureStateEvent& rEvent) - throw(RuntimeException) - { - bool bReadWrite (true); - if (rEvent.IsEnabled) - rEvent.State >>= bReadWrite; - - if (bReadWrite) - mpResourceManager->Enable(); - else - mpResourceManager->Disable(); - } - -private: - ::rtl::Reference<ResourceManager> mpResourceManager; - ::rtl::Reference<ReadOnlyModeObserver> mpObserver; - -}; -} - - - - -//===== TaskPaneModule ==================================================== - -void TaskPaneModule::Initialize (const Reference<frame::XController>& rxController) -{ - ::rtl::Reference<ResourceManager> pResourceManager ( - new ResourceManager( - rxController, - FrameworkHelper::CreateResourceId( - FrameworkHelper::msTaskPaneURL, - FrameworkHelper::msRightPaneURL))); - pResourceManager->AddActiveMainView(FrameworkHelper::msImpressViewURL); - pResourceManager->AddActiveMainView(FrameworkHelper::msNotesViewURL); - pResourceManager->AddActiveMainView(FrameworkHelper::msHandoutViewURL); - pResourceManager->AddActiveMainView(FrameworkHelper::msSlideSorterURL); - - new LocalReadOnlyModeObserver(rxController, pResourceManager); -} - - - - -} } // end of namespace sd::framework diff --git a/sd/source/ui/framework/module/TaskPaneModule.hxx b/sd/source/ui/framework/module/TaskPaneModule.hxx deleted file mode 100644 index f214a8331348..000000000000 --- a/sd/source/ui/framework/module/TaskPaneModule.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: TaskPaneModule.hxx,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SD_FRAMEWORK_TASK_PANE_MODULE_HXX -#define SD_FRAMEWORK_TASK_PANE_MODULE_HXX - -#include "ResourceManager.hxx" - -#include <rtl/ref.hxx> - -namespace sd { namespace framework { - -class ReadOnlyModeObserver; - -/** This module is responsible for showing the task pane. -*/ -class TaskPaneModule -{ -public: - static void Initialize ( - const ::com::sun::star::uno::Reference<com::sun::star::frame::XController>& rxController); -}; - -} } // end of namespace sd::framework - -#endif diff --git a/sd/source/ui/framework/module/ToolPanelModule.cxx b/sd/source/ui/framework/module/ToolPanelModule.cxx index 2741596cbfb3..888fa68ad708 100644 --- a/sd/source/ui/framework/module/ToolPanelModule.cxx +++ b/sd/source/ui/framework/module/ToolPanelModule.cxx @@ -149,8 +149,8 @@ void ToolPanelModule::Initialize (const Reference<frame::XController>& rxControl new ResourceManager( rxController, FrameworkHelper::CreateResourceId( - FrameworkHelper::msToolPanelViewURL, - FrameworkHelper::msToolPanelPaneURL))); + FrameworkHelper::msTaskPaneURL, + FrameworkHelper::msRightPaneURL))); pResourceManager->AddActiveMainView(FrameworkHelper::msImpressViewURL); pResourceManager->AddActiveMainView(FrameworkHelper::msNotesViewURL); pResourceManager->AddActiveMainView(FrameworkHelper::msHandoutViewURL); diff --git a/sd/source/ui/framework/module/ToolPanelModule.hxx b/sd/source/ui/framework/module/ToolPanelModule.hxx index 7ae815bfad5b..7d728e60e93d 100644 --- a/sd/source/ui/framework/module/ToolPanelModule.hxx +++ b/sd/source/ui/framework/module/ToolPanelModule.hxx @@ -1,14 +1,10 @@ /************************************************************************* - * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * - * Copyright 2008 by Sun Microsystems, Inc. + * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * - * $RCSfile: TaskPaneModule.hxx,v $ - * $Revision: 1.3 $ - * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify @@ -26,7 +22,7 @@ * <http://www.openoffice.org/license.html> * for a copy of the LGPLv3 License. * - ************************************************************************/ +************************************************************************/ #ifndef SD_FRAMEWORK_TOOL_PANEL_MODULE_HXX #define SD_FRAMEWORK_TOOL_PANEL_MODULE_HXX diff --git a/sd/source/ui/framework/module/makefile.mk b/sd/source/ui/framework/module/makefile.mk index 78c9e0038c8e..82da23ba2b69 100644 --- a/sd/source/ui/framework/module/makefile.mk +++ b/sd/source/ui/framework/module/makefile.mk @@ -56,7 +56,6 @@ SLOFILES = \ $(SLO)$/ResourceManager.obj \ $(SLO)$/ShellStackGuard.obj \ $(SLO)$/SlideSorterModule.obj \ - $(SLO)$/TaskPaneModule.obj \ $(SLO)$/ToolPanelModule.obj \ $(SLO)$/ToolBarModule.obj \ $(SLO)$/ViewTabBarModule.obj diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx index 0ca93f1195f6..4ce1bfebf6ee 100644 --- a/sd/source/ui/framework/tools/FrameworkHelper.cxx +++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx @@ -187,8 +187,6 @@ const OUString FrameworkHelper::msLeftDrawPaneURL( msPaneURLPrefix + OUString::createFromAscii("LeftDrawPane")); const OUString FrameworkHelper::msRightPaneURL( msPaneURLPrefix + OUString::createFromAscii("RightPane")); -const OUString FrameworkHelper::msToolPanelPaneURL( - msPaneURLPrefix + OUString::createFromAscii("ToolPanel")); // View URLs. @@ -211,8 +209,6 @@ const OUString FrameworkHelper::msPresentationViewURL( msViewURLPrefix + OUString::createFromAscii("PresentationView")); const OUString FrameworkHelper::msTaskPaneURL( msViewURLPrefix + OUString::createFromAscii("TaskPane")); -const OUString FrameworkHelper::msToolPanelViewURL( - msViewURLPrefix + OUString::createFromAscii("ToolPanelPane")); // Tool bar URLs. @@ -594,7 +590,6 @@ ViewShell::ShellType FrameworkHelper::GetViewId (const rtl::OUString& rsViewURL) (*mpViewURLMap)[msSlideSorterURL] = ViewShell::ST_SLIDE_SORTER; (*mpViewURLMap)[msPresentationViewURL] = ViewShell::ST_PRESENTATION; (*mpViewURLMap)[msTaskPaneURL] = ViewShell::ST_TASK_PANE; - (*mpViewURLMap)[msToolPanelViewURL] = ViewShell::ST_TOOL_PANEL; } ViewURLMap::const_iterator iView (mpViewURLMap->find(rsViewURL)); if (iView != mpViewURLMap->end()) @@ -618,7 +613,6 @@ ViewShell::ShellType FrameworkHelper::GetViewId (const rtl::OUString& rsViewURL) case ViewShell::ST_SLIDE_SORTER : return msSlideSorterURL; case ViewShell::ST_PRESENTATION : return msPresentationViewURL; case ViewShell::ST_TASK_PANE : return msTaskPaneURL; - case ViewShell::ST_TOOL_PANEL: return msToolPanelViewURL; default: return OUString(); } diff --git a/sd/source/ui/inc/AccessibleTaskPane.hxx b/sd/source/ui/inc/AccessibleTaskPane.hxx deleted file mode 100644 index 7167c51eaa8f..000000000000 --- a/sd/source/ui/inc/AccessibleTaskPane.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: AccessibleTaskPane.hxx,v $ - * $Revision: 1.4 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SD_ACCESSIBILITY_ACCESSIBLE_TASK_PANE_HXX -#define SD_ACCESSIBILITY_ACCESSIBLE_TASK_PANE_HXX - -#include "AccessibleTreeNode.hxx" - -namespace sd { namespace toolpanel { -class ToolPanel; -} } - - -namespace accessibility { - -/** Make the task pane as implemented by sd::toolpanel::ToolPanel - accessible. - This derived class exists in order to disable the FOCUSED state. -*/ -class AccessibleTaskPane - : public AccessibleTreeNode -{ -public: - AccessibleTaskPane ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> & rxParent, - const ::rtl::OUString& rsName, - const ::rtl::OUString& rsDescription, - ::sd::toolpanel::ToolPanel& rTaskPane); - ~AccessibleTaskPane (void); - - //===== XServiceInfo ==================================================== - - /** Returns an identifier for the implementation of this object. - */ - virtual ::rtl::OUString SAL_CALL - getImplementationName (void) - throw (::com::sun::star::uno::RuntimeException); - -protected: - virtual void UpdateStateSet (void); -}; - -} // end of namespace accessibility - -#endif diff --git a/sd/source/ui/inc/PaneChildWindows.hxx b/sd/source/ui/inc/PaneChildWindows.hxx index 0d8967f7f005..ead7c90dbedc 100644 --- a/sd/source/ui/inc/PaneChildWindows.hxx +++ b/sd/source/ui/inc/PaneChildWindows.hxx @@ -77,16 +77,6 @@ public: -class RightPaneChildWindow - : public PaneChildWindow -{ -public: - RightPaneChildWindow (::Window*, USHORT, SfxBindings*, SfxChildWinInfo*); - - SFX_DECL_CHILDWINDOW(RightPaneChildWindow); -}; - - //====================================================================================================================== //= ToolPanelChildWindow //====================================================================================================================== diff --git a/sd/source/ui/inc/PaneShells.hxx b/sd/source/ui/inc/PaneShells.hxx index 78020c9c7c6b..2e683f13d895 100644 --- a/sd/source/ui/inc/PaneShells.hxx +++ b/sd/source/ui/inc/PaneShells.hxx @@ -78,17 +78,6 @@ public: /** Shell that displays the right pane for both Impress and Draw. The shell does not do anything else and has especially no slots. */ -class RightPaneShell - : public SfxShell -{ -public: - TYPEINFO(); - SFX_DECL_INTERFACE(SD_IF_SDRIGHTPANESHELL) - - RightPaneShell (void); - virtual ~RightPaneShell (void); -}; - class ToolPanelPaneShell : public SfxShell { public: diff --git a/sd/source/ui/inc/TaskPaneViewShell.hxx b/sd/source/ui/inc/TaskPaneViewShell.hxx deleted file mode 100644 index d116b23e2140..000000000000 --- a/sd/source/ui/inc/TaskPaneViewShell.hxx +++ /dev/null @@ -1,190 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: TaskPaneViewShell.hxx,v $ - * $Revision: 1.12 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SD_TOOLPANEL_TASK_PANE_VIEW_SHELL_HXX -#define SD_TOOLPANEL_TASK_PANE_VIEW_SHELL_HXX - -#include "ViewShell.hxx" -#include "glob.hxx" -#include "framework/FrameworkHelper.hxx" -#include "taskpane/PanelId.hxx" -#include <vcl/button.hxx> -#include <sfx2/shell.hxx> -#include <sfx2/viewfac.hxx> -#include <sfx2/dockwin.hxx> - -#include <memory> -#include <boost/shared_ptr.hpp> - -class PopupMenu; - -namespace sd { namespace toolpanel { - -class TaskPaneShellManager; -class TitleToolBox; -class TitleBar; -class TitledControl; -class ToolPanel; - -/** The tool panel is a view shell for some very specific reasons: - - It fits better into the concept of panes being docking windows whose - content, a view shell, can be exchanged on runtime. - - A control in the tool panel that wants to show a context menu has to - do that over the dispatcher of a shell. These shells, usually - implemented by the controls themselves, have to be managed by someone. - If interpreted as object bars this can be handled by the - ObjectBarManager of the ViewShell. -*/ -class TaskPaneViewShell - : public ViewShell -{ -public: - TYPEINFO(); - SFX_DECL_INTERFACE(SD_IF_SDTASKPANEVIEWSHELL) - - TaskPaneViewShell ( - SfxViewFrame* pFrame, - ViewShellBase& rViewShellBase, - ::Window* pParentWindow, - FrameView* pFrameView); - virtual ~TaskPaneViewShell (void); - - virtual void GetFocus (void); - virtual void LoseFocus (void); - virtual void KeyInput (const KeyEvent& rEvent); - using sd::ViewShell::KeyInput; - - virtual SdPage* GetActualPage (void); - virtual SdPage* getCurrentPage (void) const; - - void Execute (SfxRequest& rRequest); - void GetState (SfxItemSet& rItemSet); - - virtual void ArrangeGUIElements (void); - - TaskPaneShellManager& GetSubShellManager (void) const; - - /** Called when a mouse button has been pressed but not yet - released, this handler is used to show the popup menu of the - title bar. - */ - DECL_LINK(ToolboxClickHandler, ToolBox*); - DECL_LINK(MenuSelectHandler, Menu*); - - /** Make the specified panel visible and expand it. - @param nId - The id of the panel that is to be made visible. - */ - void ShowPanel (const PanelId nId); - - /** Hide and collapse the specified panel. - @param nId - The id of the panel that is to hide. - */ - void HidePanel (const PanelId nId); - - /** Expand the specified panel. Its visibility state is not modified. - @param nId - The id of the panel that is to expand. - */ - void ExpandPanel (const PanelId nId); - - /** Collapse the specified panel. Its visibility state is not - modified. - @param nId - The id of the panel that is to collapse. - */ - void CollapsePanel (const PanelId nId); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> - CreateAccessibleDocumentView (::sd::Window* pWindow); - - virtual css::uno::Reference<css::drawing::XDrawSubController> CreateSubController (void); - - /** Relocate all toplevel controls to the given parent window. - */ - virtual bool RelocateToParentWindow (::Window* pParentWindow); - -private: - class Implementation; - ::std::auto_ptr<Implementation> mpImpl; - - ::std::auto_ptr<ToolPanel> mpTaskPane; - - bool mbIsInitialized; - - ::boost::shared_ptr<TaskPaneShellManager> mpSubShellManager; - - /** The id of the menu in the menu bar/tool box of the parent docking - window. - */ - USHORT mnMenuId; - - /** Create a popup menu. it contains three sections, one for - docking or un-docking the tool panel, one for toggling the - visibility state of the tool panel items, and one for bringing - up a customization dialog. - @param bIsDocking - According to this flag one of the lock/unlock entries is - made disabled. - */ - ::std::auto_ptr<PopupMenu> CreatePopupMenu (bool bIsDocking); - - - /** Make sure that as long as there is at least one visible - control there is exactly one expanded control. - If the currently expanded control is being hidden then try to - expand the control after the hidden one or if that does not - exist expand the one before. - */ - void EnsureExpandedControl (TitledControl* pHiddenControl); - - /** Return a pointer to the docking window that is the parent or a - predecessor of the content window. - @return - When the view shell is not placed in a docking window, e.g. when - shown in the center pane, then <NULL?> is returned. - */ - DockingWindow* GetDockingWindow (void); - - /** Initialize the task pane view shell if that has not yet been done - before. If mbIsInitialized is already set to <TRUE/> then this - method returns immediately. - */ - void Initialize (void); -}; - - - - -} } // end of namespace ::sd::toolpanel - -#endif diff --git a/sd/source/ui/inc/ViewShell.hxx b/sd/source/ui/inc/ViewShell.hxx index bf360a766dfc..395566f0cded 100644 --- a/sd/source/ui/inc/ViewShell.hxx +++ b/sd/source/ui/inc/ViewShell.hxx @@ -118,8 +118,7 @@ public: ST_OUTLINE, ST_SLIDE_SORTER, ST_PRESENTATION, - ST_TASK_PANE, - ST_TOOL_PANEL + ST_TASK_PANE }; static const int MAX_HSPLIT_CNT = 1; static const int MAX_VSPLIT_CNT = 1; diff --git a/sd/source/ui/inc/framework/FrameworkHelper.hxx b/sd/source/ui/inc/framework/FrameworkHelper.hxx index d3197ce0d44c..27ed5f6f8bef 100644 --- a/sd/source/ui/inc/framework/FrameworkHelper.hxx +++ b/sd/source/ui/inc/framework/FrameworkHelper.hxx @@ -80,7 +80,6 @@ public: static const ::rtl::OUString msLeftImpressPaneURL; static const ::rtl::OUString msLeftDrawPaneURL; static const ::rtl::OUString msRightPaneURL; - static const ::rtl::OUString msToolPanelPaneURL; // URLs of frequently used views. static const ::rtl::OUString msViewURLPrefix; @@ -92,7 +91,6 @@ public: static const ::rtl::OUString msSlideSorterURL; static const ::rtl::OUString msPresentationViewURL; static const ::rtl::OUString msTaskPaneURL; - static const ::rtl::OUString msToolPanelViewURL; // URLs of frequently used tool bars. static const ::rtl::OUString msToolBarURLPrefix; diff --git a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx index 217125e781ba..a86cc74822fd 100644 --- a/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx +++ b/sd/source/ui/inc/taskpane/ILayoutableWindow.hxx @@ -51,7 +51,7 @@ public: /** This interface has to be implemented by windows that want to be - layouted by a ToolPanel, SubToolPanel, or ScrollablePanel object. + layouted by a SubToolPanel or ScrollablePanel object. */ class ILayoutableWindow { diff --git a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx b/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx index 3bed3f41a8de..f62d1d6de5e0 100644 --- a/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx +++ b/sd/source/ui/inc/taskpane/TaskPaneTreeNode.hxx @@ -56,9 +56,9 @@ enum TreeNodeStateChangeEventId { /** Base class for all members of the object hierarchy that makes up the - tool panel. There are usually at least three levels. At the top level - is the ToolPanel with one instance: the root of the tree. At the - middle level there are SubToolPanels and Window/Control objects. At the + tool panel. In the task pane, there are multiple hierarchies of such nodes, + with every panel having an own tree. The pane node is the root of the tree, below + that there are SubToolPanels and Window/Control objects. At the lowest level there are only Window or Control objects. This class provides the means of communication between objects on @@ -146,7 +146,7 @@ public: ControlContainer& GetControlContainer (void); /** Give each node access to a shell manage. This usually is the shell - manager of the TaskPaneViewShell. + manager of the ToolPanelViewShell. At least the root node has to overwrite this method since the default implementation simply returns the shell manager of its diff --git a/sd/source/ui/inc/taskpane/ToolPanel.hxx b/sd/source/ui/inc/taskpane/ToolPanel.hxx deleted file mode 100644 index dd165e8310b9..000000000000 --- a/sd/source/ui/inc/taskpane/ToolPanel.hxx +++ /dev/null @@ -1,139 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ToolPanel.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SD_TOOL_PANEL_HXX -#define SD_TOOL_PANEL_HXX - -#include "taskpane/TaskPaneTreeNode.hxx" -#include "taskpane/TitledControl.hxx" -#include <vcl/ctrl.hxx> - -#include <vector> -#include <memory> - -class Window; - -namespace sd { namespace toolpanel { - -class TaskPaneViewShell; -class ToolPanelViewShell; -class ControlFactory; - -/** This control is basically a layout manager for the vertical - stacking of controls. At any one time there is exactly one of - them visible. For the others only their title bar is shown. - - <p>Each control is independant of both other controls and the tool - panel itself. To be usable by the tool panel they only have to be - derived from the vcl Window class.</p> -*/ -class ToolPanel - : public Control, - public TreeNode -{ -public: - /** Create a new tool panel with the given window as its parent. - This will usually be a child window. - */ - ToolPanel ( - ::Window* pParentWindow, - TaskPaneViewShell& rViewShell); - - ToolPanel ( - ::Window* pParentWindow, - ToolPanelViewShell& rViewShell); - - virtual ~ToolPanel (void); - - /** Append the given control to the end of the list of controls that are - managed by the tool panel. - @param pControlFactory - Factory that provides the control on demand, typically when it - is expanded the first time. - @param rTitle - The string that is displayed in the title bar above the control. - @param nHelpId - The help id is set at the title bar not the actual control. - @param rClickHandler - The click handler typically expands a control when the user has - clicked on its title. - */ - sal_uInt32 AddControl ( - ::std::auto_ptr<ControlFactory> pControlFactory, - const String& rTitle, - ULONG nHelpId, - const TitledControl::ClickHandler& rClickHandler); - - /** returns the area occupied by the content of the active control (i.e. the area of the active control, - minus the are for its title) - */ - Rectangle GetActiveControlContentArea() const; - - virtual void Resize (void); - - virtual Size GetPreferredSize (void); - virtual sal_Int32 GetPreferredWidth (sal_Int32 nHeight); - virtual sal_Int32 GetPreferredHeight (sal_Int32 nWidth); - virtual bool IsResizable (void); - virtual ::Window* GetWindow (void); - - virtual void RequestResize (void); - - virtual TaskPaneShellManager* GetShellManager (void); - - virtual ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent); - - using Window::GetWindow; - -protected: - /** Initiate a rearrangement of the controls. - */ - void ListHasChanged (void); - -private: - TaskPaneViewShell* mpTaskPaneViewShell; - ToolPanelViewShell* mpToolPanelViewShell; - - /// Guard against recursive calls or Rearrange(). - bool mbRearrangeActive; - - /** Calculate position, size, and visibility of the controls. - Call this method after the list of controls has changed. - */ - void Rearrange (void); -}; - - - -} } // end of namespace ::sd::toolpanel - -#endif diff --git a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx index 4aa35f91292f..75faa089c04e 100644 --- a/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsSlotManager.cxx @@ -68,7 +68,6 @@ #include "ViewShellBase.hxx" #include "ViewShellImplementation.hxx" #include "sdattr.hxx" -#include "TaskPaneViewShell.hxx" #include "FrameView.hxx" #include "zoomlist.hxx" #include "sdpage.hxx" diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx index 2a951cab82c5..16d2e1592444 100644 --- a/sd/source/ui/toolpanel/LayoutMenu.cxx +++ b/sd/source/ui/toolpanel/LayoutMenu.cxx @@ -509,7 +509,6 @@ void LayoutMenu::UpdateEnabledState (const MasterMode eMode) case ViewShell::ST_OUTLINE: case ViewShell::ST_PRESENTATION: case ViewShell::ST_TASK_PANE: - case ViewShell::ST_TOOL_PANEL: // The complete task pane is disabled for these values or // not even visible. Disabling the LayoutMenu would be // logical but unnecessary. The main disadvantage is that diff --git a/sd/source/ui/toolpanel/TaskPaneShellManager.hxx b/sd/source/ui/toolpanel/TaskPaneShellManager.hxx index 9152ea6a8bad..37b7d98cede5 100644 --- a/sd/source/ui/toolpanel/TaskPaneShellManager.hxx +++ b/sd/source/ui/toolpanel/TaskPaneShellManager.hxx @@ -49,7 +49,7 @@ namespace sd { namespace toolpanel { /** The TaskPaneShellManager implements the ViewShellManager::ShellFactory interface. However, it does not create or delete shells. It only gives the ViewShellManager access to the sub shells of the - TaskPaneViewShell. Life time control of the sub shells is managed by + ToolPanelViewShell. Life time control of the sub shells is managed by the sub shells themselves. */ class TaskPaneShellManager diff --git a/sd/source/ui/toolpanel/TaskPaneViewShell.cxx b/sd/source/ui/toolpanel/TaskPaneViewShell.cxx deleted file mode 100644 index 3c33ff41620f..000000000000 --- a/sd/source/ui/toolpanel/TaskPaneViewShell.cxx +++ /dev/null @@ -1,849 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: TaskPaneViewShell.cxx,v $ - * $Revision: 1.21 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sd.hxx" - -#include "TaskPaneViewShell.hxx" - -#include "TaskPaneShellManager.hxx" -#include "taskpane/SlideSorterCacheDisplay.hxx" -#include "taskpane/ToolPanel.hxx" -#include "taskpane/TitledControl.hxx" -#include "LayoutMenu.hxx" -#include "TaskPaneFocusManager.hxx" -#include "taskpane/SubToolPanel.hxx" -#include "taskpane/ScrollPanel.hxx" -#include "taskpane/TaskPaneControlFactory.hxx" -#include "controls/MasterPagesPanel.hxx" -#include "controls/MasterPagesSelector.hxx" -#include "controls/TableDesignPanel.hxx" -#include "controls/CustomAnimationPanel.hxx" -#include "controls/SlideTransitionPanel.hxx" -#include "TitleToolBox.hxx" -#include "taskpane/ControlContainer.hxx" -#include "FrameView.hxx" -#include "Window.hxx" -#include "PaneDockingWindow.hxx" -#include "AccessibleTaskPane.hxx" -#include "DrawSubController.hxx" -#include "sdmod.hxx" -#include "app.hrc" -#include "glob.hrc" -#include "res_bmp.hrc" -#include "helpids.h" -#include "strings.hrc" -#include "sdresid.hxx" -#include "framework/FrameworkHelper.hxx" -#include <com/sun/star/drawing/framework/XResourceId.hpp> -#include <com/sun/star/drawing/framework/ResourceActivationMode.hpp> -#include <com/sun/star/drawing/XDrawSubController.hpp> - -#include <svx/dlgctrl.hxx> -#include <sfx2/bindings.hxx> -#include <sfx2/dispatch.hxx> -#include <sfx2/viewfrm.hxx> -#include <sfx2/msg.hxx> -#include <sfx2/objface.hxx> -#include <svx/colrctrl.hxx> -#include <svx/xtable.hxx> -#include <vcl/dockwin.hxx> -#include "sdtreelb.hxx" -#include "DrawViewShell.hxx" -#include "drawdoc.hxx" -#include "ViewShellBase.hxx" -#include <svx/ruler.hxx> -#include <vcl/svapp.hxx> - -//#define SHOW_TEST_PANEL -#ifdef SHOW_TEST_PANEL -#include "TestPanel.hxx" -#endif -//#define SHOW_COLOR_MENU -#ifdef SHOW_COLOR_MENU -#include "TestMenu.hxx" -#endif - -#include <vector> -#include <boost/shared_ptr.hpp> - -using namespace ::sd::toolpanel; - -#define TaskPaneViewShell -#include "sdslots.hxx" - - -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using ::sd::framework::FrameworkHelper; - -namespace sd { namespace toolpanel { - -SFX_IMPL_INTERFACE(TaskPaneViewShell, SfxShell, SdResId(STR_TASKPANEVIEWSHELL)) -{ -} - - -TYPEINIT1(TaskPaneViewShell, ViewShell); - - -/** Inner implementation class of TaskPaneViewShell. -*/ -class TaskPaneViewShell::Implementation -{ -public: - static const sal_uInt32 mnInvalidId = 0xffffffff; - - Implementation (void); - ~Implementation (void); - - /** Here the panels are created that are shown in the task pane. - */ - void Setup (ToolPanel* pToolPanel, ViewShellBase& rBase); - - /** Make a new panel known to the translation table that translates - between internal indices as returned by - ControlContainer::AddControl() and public indices defined by - PanelId. - */ - void AddPanel (sal_uInt32 nInternalId, PanelId nPublicId); - - /** Return the public id for the given internal one. - @return - When the given public id is not known then PID_UNKNOWN is - returned. - */ - PanelId GetPublicId (sal_uInt32 nInternalId) const; - - /** Return the internal id for the given public one. - @return - When the given public id is not known then mnInvalidId is - returned. - */ - sal_uInt32 GetInternalId (PanelId nPublicId) const; - -private: - /** This map translates between internal indices returned by - ControlContainer::AddControl() and public indices defined by - PanelId. - */ - typedef ::std::vector<PanelId> InternalIdToPanelIdMap; - InternalIdToPanelIdMap maIndexMap; -}; - - - - -namespace { - -enum MenuId { - MID_UNLOCK_TASK_PANEL = 1, - MID_LOCK_TASK_PANEL = 2, - MID_CUSTOMIZE = 3, - MID_FIRST_CONTROL = 4 -}; - -/** This control is used for extracting the title string from the resource - of some dialogs that are displayed in the task pane. With this the - actual controls can be created on demand. This class only loads (a part - of) their resource. -*/ -class DummyControl : public Control -{ -public: - DummyControl (::Window* pParent, const ResId& rResId) - : Control(pParent,rResId) - { - FreeResource(); - } -}; - -class ResourceActivationClickHandler -{ -public: - ResourceActivationClickHandler ( - const ::boost::shared_ptr<FrameworkHelper>& rpFrameworkHelper, - const Reference<drawing::framework::XResourceId>& rxResourceId, - ControlContainer& rControlContainer); - void operator () (TitledControl& rTitledControl); - -private: - ::boost::shared_ptr<FrameworkHelper> mpFrameworkHelper; - Reference<drawing::framework::XResourceId> mxResourceId; - ControlContainer& mrControlContainer; -}; - -} // end of anonymouse namespace - - - - - -void TaskPaneViewShell::Implementation::Setup ( - ToolPanel* pToolPanel, - ViewShellBase& rBase) -{ - SdDrawDocument* pDocument = rBase.GetDocument(); - sal_uInt32 nId; - sal_uInt32 nIdOfControlToExpand; - - ::boost::shared_ptr<FrameworkHelper> pFrameworkHelper (FrameworkHelper::Instance(rBase)); - Reference<drawing::framework::XResourceId> xTaskPaneId (pFrameworkHelper->CreateResourceId( - FrameworkHelper::msTaskPaneURL, FrameworkHelper::msRightPaneURL)); - - // The master page controls. - nId = pToolPanel->AddControl ( - controls::MasterPagesPanel::CreateControlFactory(rBase), - SdResId(STR_TASKPANEL_MASTER_PAGE_TITLE), - HID_SD_SLIDE_DESIGNS, - ResourceActivationClickHandler( - pFrameworkHelper, - pFrameworkHelper->CreateResourceId( - FrameworkHelper::msMasterPagesTaskPanelURL, xTaskPaneId), - pToolPanel->GetControlContainer())); - AddPanel (nId, PID_MASTER_PAGES); - - // Layout Menu. - nId = pToolPanel->AddControl ( - LayoutMenu::CreateControlFactory(rBase, *pDocument->GetDocSh()), - SdResId(STR_TASKPANEL_LAYOUT_MENU_TITLE), - HID_SD_SLIDE_LAYOUTS, - ResourceActivationClickHandler( - pFrameworkHelper, - pFrameworkHelper->CreateResourceId( - FrameworkHelper::msLayoutTaskPanelURL, xTaskPaneId), - pToolPanel->GetControlContainer())); - AddPanel (nId, PID_LAYOUT); - nIdOfControlToExpand = nId; - - { - DummyControl aControl (pToolPanel, SdResId(DLG_TABLEDESIGNPANE)); - - // TableDesignPanel - nId = pToolPanel->AddControl ( - controls::TableDesignPanel::CreateControlFactory(rBase), - aControl.GetText(), - HID_SD_TABLE_DESIGN, - ResourceActivationClickHandler( - pFrameworkHelper, - pFrameworkHelper->CreateResourceId( - FrameworkHelper::msTableDesignPanelURL, xTaskPaneId), - pToolPanel->GetControlContainer())); - AddPanel (nId, PID_TABLE_DESIGN); - } - - // CustomAnimationPanel - nId = pToolPanel->AddControl ( - controls::CustomAnimationPanel::CreateControlFactory(rBase), - SdResId( STR_CUSTOMANIMATIONPANE ), - HID_SD_CUSTOM_ANIMATIONS, - ResourceActivationClickHandler( - pFrameworkHelper, - pFrameworkHelper->CreateResourceId( - FrameworkHelper::msCustomAnimationTaskPanelURL, xTaskPaneId), - pToolPanel->GetControlContainer())); - AddPanel (nId, PID_CUSTOM_ANIMATION); - - // SlideTransitionPanel - nId = pToolPanel->AddControl ( - controls::SlideTransitionPanel::CreateControlFactory(rBase), - SdResId( STR_SLIDE_TRANSITION_PANE ), - HID_SD_SLIDE_TRANSITIONS, - ResourceActivationClickHandler( - pFrameworkHelper, - pFrameworkHelper->CreateResourceId( - FrameworkHelper::msSlideTransitionTaskPanelURL, xTaskPaneId), - pToolPanel->GetControlContainer())); - AddPanel (nId, PID_SLIDE_TRANSITION); - -#ifdef SHOW_COLOR_MENU - // Test Menu. - pToolPanel->AddControl ( - ColorMenu::CreateControlFactory(), - String::CreateFromAscii ("Color Test Menu"), - 0); -#endif - -#ifdef SHOW_TEST_PANEL - // Test Panel. - pToolPanel->AddControl ( - TestPanel::CreateControlFactory(), - String::CreateFromAscii ("Test Panel"), - 0); -#endif - -#ifdef USE_SLIDE_SORTER_CACHE_DISPLAY - pToolPanel->AddControl ( - SlideSorterCacheDisplay::CreateControlFactory(pDocument), - String::CreateFromAscii("Slide Sorter Cache Status"), - 0); -#endif - - // Expand the layout menu. - pToolPanel->GetControlContainer().SetExpansionState ( - nIdOfControlToExpand, - ControlContainer::ES_EXPAND); - - pToolPanel->GetWindow()->Show(); -} - - - - -void TaskPaneViewShell::Initialize (void) -{ - if ( ! mbIsInitialized) - { - mbIsInitialized = true; - mpImpl->Setup (mpTaskPane.get(), GetViewShellBase()); - } -} - - - - -TaskPaneViewShell::TaskPaneViewShell ( - SfxViewFrame* pFrame, - ViewShellBase& rViewShellBase, - ::Window* pParentWindow, - FrameView* pFrameViewArgument) - : ViewShell (pFrame, pParentWindow, rViewShellBase), - mpImpl(NULL), - mpTaskPane(NULL), - mbIsInitialized(false), - mpSubShellManager(), - mnMenuId(0) -{ - meShellType = ST_TASK_PANE; - - mpImpl.reset (new Implementation()); - - mpContentWindow->SetCenterAllowed (false); - pParentWindow->SetStyle(pParentWindow->GetStyle() | WB_DIALOGCONTROL); - - mpTaskPane = ::std::auto_ptr<ToolPanel>(new ToolPanel ( - mpContentWindow.get(), *this)); - - GetParentWindow()->SetBackground(Wallpaper()); - mpContentWindow->SetBackground(Wallpaper()); - - GetParentWindow()->SetHelpId(HID_SD_TASK_PANE); - - PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(GetDockingWindow()); - if (pDockingWindow != NULL) - { - pDockingWindow->InitializeTitleToolBox(); - mnMenuId = pDockingWindow->AddMenu ( - String(SdResId(STR_TASKPANEL_MASTER_PAGE_MENU_TITLE)), - HID_SD_TASK_PANE_VIEW_MENU, - LINK(this, TaskPaneViewShell, ToolboxClickHandler)); - } - - // Tell the focus manager that we want to pass the focus to our - // child. - FocusManager::Instance().RegisterDownLink(pParentWindow, mpTaskPane.get()); - - SetPool (&GetDoc()->GetPool()); - - if (pFrameViewArgument != NULL) - mpFrameView = pFrameViewArgument; - else - mpFrameView = new FrameView(GetDoc()); - GetFrameView()->Connect(); - - // Hide or delete unused controls that we have inherited from the - // ViewShell base class. - mpHorizontalScrollBar.reset(); - mpVerticalScrollBar.reset(); - mpScrollBarBox.reset(); - mpHorizontalRuler.reset(); - mpVerticalRuler.reset(); - - SetName (String (RTL_CONSTASCII_USTRINGPARAM("TaskPaneViewShell"))); - - // For accessibility we have to shortly hide the content window. This - // triggers the construction of a new accessibility object for the new - // view shell. (One is created earlier while the construtor of the base - // class is executed. At that time the correct accessibility object can - // not be constructed.) - if (mpContentWindow.get() !=NULL) - { - mpContentWindow->Hide(); - mpContentWindow->Show(); - } - - // Register the shell manager as factory at the ViewShellManager. - mpSubShellManager.reset (new TaskPaneShellManager( - GetViewShellBase().GetViewShellManager(), - *this)); - GetViewShellBase().GetViewShellManager()->AddSubShellFactory(this, mpSubShellManager); -} - - - - -TaskPaneViewShell::~TaskPaneViewShell (void) -{ - GetViewShellBase().GetViewShellManager()->RemoveSubShellFactory(this, mpSubShellManager); -} - - - -void TaskPaneViewShell::ArrangeGUIElements (void) -{ - ViewShell::ArrangeGUIElements(); - - Point aOrigin (maViewPos); - Size aSize (maViewSize); - - Initialize(); - - // Place the task pane. - if (mpTaskPane.get() != NULL) - mpTaskPane->SetPosSizePixel (Point(0,0), aSize); -} - - - - -void TaskPaneViewShell::GetFocus (void) -{ - Invalidate (); -} - - - - -void TaskPaneViewShell::LoseFocus (void) -{ - Invalidate (); -} - - - - -void TaskPaneViewShell::KeyInput (const KeyEvent& rEvent) -{ - KeyCode nCode = rEvent.GetKeyCode(); - if (nCode == KEY_RETURN) - { - mpTaskPane->GrabFocus(); - } - else - ViewShell::KeyInput (rEvent, NULL); -} - - - - -IMPL_LINK(TaskPaneViewShell, ToolboxClickHandler, ToolBox*, pToolBox) -{ - if (pToolBox->GetCurItemId() == mnMenuId) - { - pToolBox->EndSelection(); - - DockingWindow* pDockingWindow = GetDockingWindow(); - ::std::auto_ptr<PopupMenu> pMenu = CreatePopupMenu ( - pDockingWindow!=NULL && !pDockingWindow->IsFloatingMode()); - pMenu->SetSelectHdl ( - LINK(this, TaskPaneViewShell, MenuSelectHandler)); - - // pass toolbox button rect so the menu can stay open on button up - Rectangle aRect = pToolBox->GetItemRect(mnMenuId); - aRect.SetPos(pToolBox->GetPosPixel() ); - pMenu->Execute (pDockingWindow, aRect, POPUPMENU_EXECUTE_DOWN); - } - - return 0; -} - - - - -IMPL_LINK(TaskPaneViewShell, MenuSelectHandler, Menu*, pMenu) -{ - if (pMenu) - { - pMenu->Deactivate(); - switch (pMenu->GetCurItemId()) - { - case MID_UNLOCK_TASK_PANEL: - { - DockingWindow* pDockingWindow = GetDockingWindow(); - if (pDockingWindow != NULL) - pDockingWindow->SetFloatingMode (TRUE); - } - break; - - case MID_LOCK_TASK_PANEL: - { - DockingWindow* pDockingWindow = GetDockingWindow(); - if (pDockingWindow != NULL) - pDockingWindow->SetFloatingMode (FALSE); - } - break; - - case MID_CUSTOMIZE: - DBG_ASSERT (0, "Customization not yet implemented"); - break; - - default: - { - sal_uInt32 nIndex (pMenu->GetUserValue(pMenu->GetCurItemId())); - mpTaskPane->GetControlContainer().SetVisibilityState ( - nIndex, - ControlContainer::VS_TOGGLE); - // mpTaskPane->Resize(); - // mpTaskPane->Invalidate(); - } - break; - } - } - - return 0; -} - - - - -::std::auto_ptr<PopupMenu> TaskPaneViewShell::CreatePopupMenu ( - bool bIsDocking) -{ - ::std::auto_ptr<PopupMenu> pMenu (new PopupMenu ()); - FloatingWindow* pFloat = static_cast<FloatingWindow*>(pMenu->GetWindow()); - if (pFloat != NULL) - { - pFloat->SetPopupModeFlags ( - pFloat->GetPopupModeFlags() - | FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE); - } - - // warning free code changes: - // FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE is 0x10000, so cast to USHORT is 0 - // so why was this used anyway? - pMenu->SetMenuFlags ( - pMenu->GetMenuFlags() /* | (USHORT)FLOATWIN_POPUPMODE_NOMOUSEUPCLOSE */ ); - - // Add one entry for every tool panel element to individually make - // them visible or hide them. - USHORT nIndex = MID_FIRST_CONTROL; - sal_uInt32 nControlIndex; - ControlContainer& rContainer (mpTaskPane->GetControlContainer()); - for (nControlIndex=0; - nControlIndex<rContainer.GetControlCount(); - nControlIndex=rContainer.GetNextIndex(nControlIndex,true,false)) - { - TreeNode* pChild = rContainer.GetControl(nControlIndex); - TitledControl* pControl - = static_cast<TitledControl*>(pChild->GetWindow()); - pMenu->InsertItem (nIndex, - pControl->GetTitle(), - MIB_CHECKABLE); - pMenu->SetUserValue (nIndex, nControlIndex); - if (pControl->IsVisible()) - pMenu->CheckItem (nIndex, TRUE); - nIndex++; - } - - pMenu->InsertSeparator (); - - // Add entry for docking or un-docking the tool panel. - if (bIsDocking) - pMenu->InsertItem ( - MID_UNLOCK_TASK_PANEL, - String(SdResId(STR_TASKPANEL_MASTER_PAGE_MENU_UNLOCK))); - else - pMenu->InsertItem ( - MID_LOCK_TASK_PANEL, - String(SdResId(STR_TASKPANEL_MASTER_PAGE_MENU_LOCK))); - pMenu->RemoveDisabledEntries (FALSE, FALSE); - - return pMenu; -} - - - - -SdPage* TaskPaneViewShell::GetActualPage (void) -{ - return NULL; -} - -SdPage* TaskPaneViewShell::getCurrentPage(void) const -{ - return NULL; -} - - - -void TaskPaneViewShell::Execute (SfxRequest& ) -{ -} - - - - -void TaskPaneViewShell::GetState (SfxItemSet& rItemSet) -{ - (void)rItemSet; -} - - - - -TaskPaneShellManager& TaskPaneViewShell::GetSubShellManager (void) const -{ - return *mpSubShellManager.get(); -} - - - - -DockingWindow* TaskPaneViewShell::GetDockingWindow (void) -{ - ::Window* pParentWindow = GetParentWindow(); - DockingWindow* pDockingWindow = NULL; - while (pParentWindow!=NULL && pDockingWindow==NULL) - { - pDockingWindow = dynamic_cast<DockingWindow*>(pParentWindow); - pParentWindow = pParentWindow->GetParent(); - } - return pDockingWindow; -} - - - - -void TaskPaneViewShell::ShowPanel (const PanelId nPublicId) -{ - Initialize(); - sal_uInt32 nId (mpImpl->GetInternalId(nPublicId)); - if (nId != Implementation::mnInvalidId) - { - mpTaskPane->GetControlContainer().SetVisibilityState ( - nId, - ControlContainer::VS_SHOW); - } -} - - - - -void TaskPaneViewShell::HidePanel (const PanelId nPublicId) -{ - Initialize(); - sal_uInt32 nId (mpImpl->GetInternalId(nPublicId)); - if (nId != Implementation::mnInvalidId) - { - mpTaskPane->GetControlContainer().SetVisibilityState ( - nId, - ControlContainer::VS_HIDE); - } -} - - - - -void TaskPaneViewShell::ExpandPanel (const PanelId nPublicId) -{ - Initialize(); - sal_uInt32 nId (mpImpl->GetInternalId(nPublicId)); - if (nId != Implementation::mnInvalidId) - { - mpTaskPane->GetControlContainer().SetExpansionState ( - nId, - ControlContainer::ES_EXPAND); - } -} - - - - -void TaskPaneViewShell::CollapsePanel (const PanelId nPublicId) -{ - Initialize(); - sal_uInt32 nId (mpImpl->GetInternalId(nPublicId)); - if (nId != Implementation::mnInvalidId) - { - mpTaskPane->GetControlContainer().SetExpansionState ( - nId, - ControlContainer::ES_COLLAPSE); - } -} - - - - -::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> - TaskPaneViewShell::CreateAccessibleDocumentView (::sd::Window* pWindow) -{ - ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> xAccessible; - - if (mpTaskPane.get()!=NULL && pWindow!=NULL) - { - // We have to call CreateAccessible directly so that we can specify - // the correct accessible parent. - ::Window* pParentWindow = pWindow->GetAccessibleParentWindow(); - if (pParentWindow != NULL) - xAccessible = mpTaskPane->CreateAccessibleObject( - pParentWindow->GetAccessible()); - } - - return xAccessible; -} - - - - -Reference<drawing::XDrawSubController> TaskPaneViewShell::CreateSubController (void) -{ - // This view shell is not designed to be the main view shell and thus - // does not support a UNO sub controller. - return Reference<drawing::XDrawSubController>(); -} - - - - -bool TaskPaneViewShell::RelocateToParentWindow (::Window* pParentWindow) -{ - ::Window* pOldParentWindow = GetParentWindow(); - FocusManager::Instance().RemoveLinks(pOldParentWindow, mpTaskPane.get()); - FocusManager::Instance().RemoveLinks(mpTaskPane.get(), pOldParentWindow); - - ViewShell::RelocateToParentWindow(pParentWindow); - - PaneDockingWindow* pDockingWindow = dynamic_cast<PaneDockingWindow*>(GetDockingWindow()); - if (pDockingWindow != NULL) - { - pDockingWindow->InitializeTitleToolBox(); - mnMenuId = pDockingWindow->AddMenu ( - String(SdResId(STR_TASKPANEL_MASTER_PAGE_MENU_TITLE)), - HID_SD_TASK_PANE_VIEW_MENU, - LINK(this, TaskPaneViewShell, ToolboxClickHandler)); - } - FocusManager::Instance().RegisterDownLink(pParentWindow, mpTaskPane.get()); - - Resize(); - - return true; -} - - - - -//===== TaskPaneViewShell::Implementation ===================================== - -TaskPaneViewShell::Implementation::Implementation (void) - : maIndexMap( - (InternalIdToPanelIdMap::size_type)PID__END, - PID_UNKNOWN) -{ -} - - - - -TaskPaneViewShell::Implementation::~Implementation (void) -{ -} - - - - -void TaskPaneViewShell::Implementation::AddPanel ( - sal_uInt32 nInternalId, - PanelId nPublicId) -{ - maIndexMap[nInternalId] = nPublicId; -} - - - - -PanelId - TaskPaneViewShell::Implementation::GetPublicId ( - sal_uInt32 nInternalId) const -{ - if (nInternalId < maIndexMap.size()) - return maIndexMap[nInternalId]; - else - return PID_UNKNOWN; -} - - - - -sal_uInt32 - TaskPaneViewShell::Implementation::GetInternalId ( - PanelId nPublicId) const -{ - sal_uInt32 nId = mnInvalidId; - for (sal_uInt32 nI=0; nI<maIndexMap.size(); nI++) - if (maIndexMap[nI] == nPublicId) - { - nId = nI; - break; - } - - return nId; -} - - - - -//===== ResourceActivationClickHandler ======================================== - -ResourceActivationClickHandler::ResourceActivationClickHandler ( - const ::boost::shared_ptr<FrameworkHelper>& rpFrameworkHelper, - const Reference<drawing::framework::XResourceId>& rxResourceId, - ControlContainer& rControlContainer) - : mpFrameworkHelper(rpFrameworkHelper), - mxResourceId(rxResourceId), - mrControlContainer(rControlContainer) -{ -} - - - - -void ResourceActivationClickHandler::operator () (TitledControl& rTitledControl) -{ - mrControlContainer.SetExpansionState ( - &rTitledControl, - ControlContainer::ES_EXPAND); - mpFrameworkHelper->GetConfigurationController()->requestResourceActivation( - mxResourceId, drawing::framework::ResourceActivationMode_REPLACE); -} - - -} } // end of namespace ::sd::toolpanel diff --git a/sd/source/ui/toolpanel/ToolPanel.cxx b/sd/source/ui/toolpanel/ToolPanel.cxx deleted file mode 100644 index 7a8a8273d53a..000000000000 --- a/sd/source/ui/toolpanel/ToolPanel.cxx +++ /dev/null @@ -1,337 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: ToolPanel.cxx,v $ - * $Revision: 1.14 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sd.hxx" - -#include "taskpane/ToolPanel.hxx" - -#include "TaskPaneFocusManager.hxx" -#include "taskpane/TitleBar.hxx" -#include "taskpane/TitledControl.hxx" -#include "taskpane/ControlContainer.hxx" -#include "TaskPaneViewShell.hxx" -#include "taskpane/ToolPanelViewShell.hxx" -#include "taskpane/TaskPaneControlFactory.hxx" -#include "AccessibleTaskPane.hxx" - -#include "strings.hrc" -#include "sdresid.hxx" -#include <vcl/decoview.hxx> -#include <vcl/menu.hxx> -#include <vcl/svapp.hxx> -#include <tools/diagnose_ex.h> - -namespace sd { namespace toolpanel { - - -/** Use WB_DIALOGCONTROL as argument for the Control constructor to - let VCL handle focus traveling. In addition the control - descriptors have to use WB_TABSTOP. -*/ -ToolPanel::ToolPanel ( - Window* pParentWindow, - TaskPaneViewShell& rViewShell) - : Control (pParentWindow, WB_DIALOGCONTROL), - TreeNode (NULL), - mpTaskPaneViewShell( &rViewShell ), - mpToolPanelViewShell( NULL ), - mbRearrangeActive(false) -{ - SetBackground (Wallpaper ()); -} - - - - -ToolPanel::ToolPanel ( - Window* pParentWindow, - ToolPanelViewShell& rViewShell) - : Control (pParentWindow, WB_DIALOGCONTROL), - TreeNode (NULL), - mpTaskPaneViewShell( NULL ), - mpToolPanelViewShell( &rViewShell ), - mbRearrangeActive(false) -{ - SetBackground (Wallpaper ()); -} - - - - -ToolPanel::~ToolPanel (void) -{ -} - - - - -sal_uInt32 ToolPanel::AddControl ( - ::std::auto_ptr<ControlFactory> pControlFactory, - const String& rTitle, - ULONG nHelpId, - const TitledControl::ClickHandler& rClickHandler) -{ - TitledControl* pTitledControl = new TitledControl ( - this, - pControlFactory, - rTitle, - rClickHandler, - TitleBar::TBT_CONTROL_TITLE); - ::std::auto_ptr<TreeNode> pChild (pTitledControl); - - // Get the (grand) parent window which is focus-wise our parent. - Window* pParent = GetParent(); - if (pParent != NULL) - pParent = pParent->GetParent(); - - FocusManager& rFocusManager (FocusManager::Instance()); - int nControlCount (mpControlContainer->GetControlCount()); - - // Add a link up from every control to the parent. A down link is added - // only for the first control so that when entering the sub tool panel - // the focus is set to the first control. - if (pParent != NULL) - { - if (nControlCount == 1) - rFocusManager.RegisterDownLink(pParent, pChild->GetWindow()); - rFocusManager.RegisterUpLink(pChild->GetWindow(), pParent); - } - - // Replace the old links for cycling between first and last child by - // current ones. - if (nControlCount > 0) - { - ::Window* pFirst = mpControlContainer->GetControl(0)->GetWindow(); - ::Window* pLast = mpControlContainer->GetControl(nControlCount-1)->GetWindow(); - rFocusManager.RemoveLinks(pFirst,pLast); - rFocusManager.RemoveLinks(pLast,pFirst); - - rFocusManager.RegisterLink(pFirst,pChild->GetWindow(), KEY_UP); - rFocusManager.RegisterLink(pChild->GetWindow(),pFirst, KEY_DOWN); - } - - pTitledControl->GetWindow()->SetHelpId(nHelpId); - - return mpControlContainer->AddControl (pChild); -} - - - - -Rectangle ToolPanel::GetActiveControlContentArea() const -{ - const Rectangle aAllRect( Point(), GetOutputSizePixel() ); - - const sal_uInt32 nActiveControlIndex( mpControlContainer->GetActiveControlIndex() ); - if ( nActiveControlIndex >= mpControlContainer->GetControlCount() ) - return aAllRect; - - TreeNode* pChild = mpControlContainer->GetControl( nActiveControlIndex ); - TitledControl* pTitledControl = dynamic_cast< TitledControl* >( pChild ); - ENSURE_OR_RETURN( pTitledControl, "invalid active child", aAllRect ); - - TreeNode* pActiveControl( pTitledControl->GetControl() ); - ENSURE_OR_RETURN( pActiveControl, "invalid active control", aAllRect ); - - return Rectangle( - ScreenToOutputPixel( pActiveControl->GetWindow()->OutputToScreenPixel( Point( 0, 0 ) ) ), - pActiveControl->GetWindow()->GetOutputSizePixel() - ); -} - - - -void ToolPanel::ListHasChanged (void) -{ - mpControlContainer->ListHasChanged (); - Rearrange (); -} - - - - -void ToolPanel::Resize (void) -{ - Control::Resize(); - Rearrange (); -} - - - - -void ToolPanel::RequestResize (void) -{ - Invalidate(); - Rearrange (); -} - - - - -/** Subtract the space for the title bars from the available space and - give the remaining space to the active control. -*/ -void ToolPanel::Rearrange (void) -{ - // Prevent recursive calls. - if ( ! mbRearrangeActive && mpControlContainer->GetVisibleControlCount()>0) - { - mbRearrangeActive = true; - - SetBackground (Wallpaper ()); - - // Make the area that is covered by the children a little bit - // smaller so that a frame is visible arround them. - Rectangle aAvailableArea (Point(0,0), GetOutputSizePixel()); - - int nWidth = aAvailableArea.GetWidth(); - sal_uInt32 nControlCount (mpControlContainer->GetControlCount()); - sal_uInt32 nActiveControlIndex ( - mpControlContainer->GetActiveControlIndex()); - - // Place title bars of controls above the active control and thereby - // determine the top of the active control. - sal_uInt32 nIndex; - for (nIndex=mpControlContainer->GetFirstIndex(); - nIndex<nActiveControlIndex; - nIndex=mpControlContainer->GetNextIndex(nIndex)) - { - TreeNode* pChild = mpControlContainer->GetControl(nIndex); - if (pChild != NULL) - { - sal_uInt32 nHeight = pChild->GetPreferredHeight (nWidth); - pChild->GetWindow()->SetPosSizePixel ( - aAvailableArea.TopLeft(), - Size(nWidth, nHeight)); - aAvailableArea.Top() += nHeight; - } - } - - // Place title bars of controls below the active control and thereby - // determine the bottom of the active control. - for (nIndex=mpControlContainer->GetLastIndex(); - nIndex<nControlCount && nIndex!=nActiveControlIndex; - nIndex=mpControlContainer->GetPreviousIndex(nIndex)) - { - TreeNode* pChild = mpControlContainer->GetControl(nIndex); - if (pChild != NULL) - { - sal_uInt32 nHeight = pChild->GetPreferredHeight (nWidth); - pChild->GetWindow()->SetPosSizePixel ( - Point(aAvailableArea.Left(), - aAvailableArea.Bottom()-nHeight+1), - Size(nWidth, nHeight)); - aAvailableArea.Bottom() -= nHeight; - } - } - - // Finally place the active control. - TreeNode* pChild = mpControlContainer->GetControl(nActiveControlIndex); - if (pChild != NULL) - pChild->GetWindow()->SetPosSizePixel ( - aAvailableArea.TopLeft(), - aAvailableArea.GetSize()); - - mbRearrangeActive = false; - } - else - SetBackground ( - Application::GetSettings().GetStyleSettings().GetDialogColor()); -} - - - - -Size ToolPanel::GetPreferredSize (void) -{ - return Size(300,300); -} - - - - -sal_Int32 ToolPanel::GetPreferredWidth (sal_Int32 ) -{ - return 300; -} - - - - -sal_Int32 ToolPanel::GetPreferredHeight (sal_Int32 ) -{ - return 300; -} - - - - -bool ToolPanel::IsResizable (void) -{ - return true; -} - - - - -::Window* ToolPanel::GetWindow (void) -{ - return this; -} - - - - -TaskPaneShellManager* ToolPanel::GetShellManager (void) -{ - if ( mpTaskPaneViewShell != NULL ) - return &mpTaskPaneViewShell->GetSubShellManager(); - if ( mpToolPanelViewShell != NULL ) - return &mpToolPanelViewShell->GetSubShellManager(); - return TreeNode::GetShellManager(); -} - - - - -::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible> ToolPanel::CreateAccessibleObject ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::accessibility::XAccessible>& rxParent) -{ - return new ::accessibility::AccessibleTaskPane ( - rxParent, - String(SdResId(STR_RIGHT_PANE_TITLE)), - String(SdResId(STR_RIGHT_PANE_TITLE)), - *this); -} - -} } // end of namespace ::sd::toolpanel diff --git a/sd/source/ui/toolpanel/ToolPanelDrawer.cxx b/sd/source/ui/toolpanel/ToolPanelDrawer.cxx index 3a938d460d5f..151fd4350790 100644 --- a/sd/source/ui/toolpanel/ToolPanelDrawer.cxx +++ b/sd/source/ui/toolpanel/ToolPanelDrawer.cxx @@ -27,7 +27,6 @@ #include "precompiled_sd.hxx" #include "ToolPanelDrawer.hxx" -#include "taskpane/ToolPanel.hxx" #include "taskpane/TitleBar.hxx" #include <tools/diagnose_ex.h> diff --git a/sd/source/ui/toolpanel/ToolPanelViewShell.cxx b/sd/source/ui/toolpanel/ToolPanelViewShell.cxx index cb85c9d49fdf..0da1da192ce1 100644 --- a/sd/source/ui/toolpanel/ToolPanelViewShell.cxx +++ b/sd/source/ui/toolpanel/ToolPanelViewShell.cxx @@ -308,7 +308,7 @@ void ToolPanelViewShell::Implementation::Setup() // compose the resource ID for the ToolPanel view ::boost::shared_ptr< FrameworkHelper > pFrameworkHelper( FrameworkHelper::Instance( m_rPanelViewShell.GetViewShellBase() ) ); - const Reference< XResourceId > xToolPanelId( pFrameworkHelper->CreateResourceId( FrameworkHelper::msToolPanelViewURL, FrameworkHelper::msToolPanelPaneURL ) ); + const Reference< XResourceId > xToolPanelId( pFrameworkHelper->CreateResourceId( FrameworkHelper::msTaskPaneURL, FrameworkHelper::msRightPaneURL ) ); // want to activate the "Layout" panel later on, need to translate its PanelId to an actual position const PanelId nPanelIdToActivate = PID_LAYOUT; @@ -410,7 +410,7 @@ ToolPanelViewShell::ToolPanelViewShell( SfxViewFrame* pFrame, ViewShellBase& rVi ,mpSubShellManager() ,mnMenuId(0) { - meShellType = ST_TOOL_PANEL; + meShellType = ST_TASK_PANE; mpContentWindow->SetCenterAllowed( false ); pParentWindow->SetStyle( pParentWindow->GetStyle() | WB_DIALOGCONTROL ); diff --git a/sd/source/ui/toolpanel/makefile.mk b/sd/source/ui/toolpanel/makefile.mk index 775ff3515f96..d364b74ea062 100644 --- a/sd/source/ui/toolpanel/makefile.mk +++ b/sd/source/ui/toolpanel/makefile.mk @@ -54,12 +54,10 @@ SLOFILES = \ $(SLO)$/TitleBar.obj \ $(SLO)$/TitleToolBox.obj \ $(SLO)$/TitledControl.obj \ - $(SLO)$/ToolPanel.obj \ $(SLO)$/TaskPaneControlFactory.obj \ $(SLO)$/TaskPaneFocusManager.obj \ $(SLO)$/TaskPaneShellManager.obj \ $(SLO)$/TaskPaneTreeNode.obj \ - $(SLO)$/TaskPaneViewShell.obj \ $(SLO)$/ToolPanelViewShell.obj \ $(SLO)$/ToolPanelDeck.obj \ $(SLO)$/ToolPanelDrawer.obj \ diff --git a/sd/source/ui/view/GraphicViewShellBase.cxx b/sd/source/ui/view/GraphicViewShellBase.cxx index 2b3b4d4d864b..ed5b77d02655 100644 --- a/sd/source/ui/view/GraphicViewShellBase.cxx +++ b/sd/source/ui/view/GraphicViewShellBase.cxx @@ -104,7 +104,6 @@ void GraphicViewShellBase::Execute (SfxRequest& rRequest) switch (nSlotId) { case SID_RIGHT_PANE: - case SID_TOOL_PANEL_PANE: case SID_NOTES_WINDOW: case SID_SLIDE_SORTER_MULTI_PANE_GUI: case SID_DIAMODE: diff --git a/sd/source/ui/view/ToolBarManager.cxx b/sd/source/ui/view/ToolBarManager.cxx index 2ca39f66436c..487794816270 100644 --- a/sd/source/ui/view/ToolBarManager.cxx +++ b/sd/source/ui/view/ToolBarManager.cxx @@ -1310,7 +1310,6 @@ void ToolBarRules::MainViewShellChanged (ViewShell::ShellType nShellType) case ViewShell::ST_NONE: case ViewShell::ST_PRESENTATION: case ViewShell::ST_TASK_PANE: - case ViewShell::ST_TOOL_PANEL: default: break; } diff --git a/sd/source/ui/view/ViewShellBase.cxx b/sd/source/ui/view/ViewShellBase.cxx index c0cf73187ef4..614afc06eece 100644 --- a/sd/source/ui/view/ViewShellBase.cxx +++ b/sd/source/ui/view/ViewShellBase.cxx @@ -67,9 +67,9 @@ #include "OutlineViewShell.hxx" #include "SlideSorterViewShell.hxx" #include "PresentationViewShell.hxx" -#include "TaskPaneViewShell.hxx" #include "FormShellManager.hxx" #include "ToolBarManager.hxx" +#include "taskpane/PanelId.hxx" #include "Window.hxx" #include "framework/ConfigurationController.hxx" #include "DocumentRenderer.hxx" @@ -823,13 +823,6 @@ void ViewShellBase::Execute (SfxRequest& rRequest) framework::FrameworkHelper::msTaskPaneURL); break; - case SID_TOOL_PANEL_PANE: - mpImpl->SetPaneVisibility( - rRequest, - framework::FrameworkHelper::msToolPanelPaneURL, - framework::FrameworkHelper::msToolPanelViewURL); - break; - case SID_NORMAL_MULTI_PANE_GUI: case SID_SLIDE_SORTER_MULTI_PANE_GUI: case SID_DRAWINGMODE: @@ -1554,11 +1547,6 @@ void ViewShellBase::Implementation::GetSlotState (SfxItemSet& rSet) xContext, FrameworkHelper::msRightPaneURL); break; - case SID_TOOL_PANEL_PANE: - xResourceId = ResourceId::create( - xContext, FrameworkHelper::msToolPanelPaneURL); - break; - case SID_NORMAL_MULTI_PANE_GUI: xResourceId = ResourceId::createWithAnchorURL( xContext, diff --git a/sd/source/ui/view/ViewShellImplementation.cxx b/sd/source/ui/view/ViewShellImplementation.cxx index eb8863cfe49c..2bb7ad697e2b 100644 --- a/sd/source/ui/view/ViewShellImplementation.cxx +++ b/sd/source/ui/view/ViewShellImplementation.cxx @@ -50,11 +50,11 @@ #include "DrawController.hxx" #include "FactoryIds.hxx" #include "slideshow.hxx" -#include "TaskPaneViewShell.hxx" #include "ViewShellBase.hxx" #include "FrameView.hxx" #include "DrawViewShell.hxx" #include "ViewShellHint.hxx" +#include "taskpane/PanelId.hxx" #include "framework/FrameworkHelper.hxx" #include <sfx2/bindings.hxx> @@ -376,7 +376,6 @@ sal_uInt16 ViewShell::Implementation::GetViewId (void) // and there is not (yet) a proper ViewShellBase sub class for the // remaining types we chose the Impress factory as a fall back. case ViewShell::ST_TASK_PANE: - case ViewShell::ST_TOOL_PANEL: case ViewShell::ST_NONE: default: return IMPRESS_FACTORY_ID; diff --git a/sd/source/ui/view/drviews6.cxx b/sd/source/ui/view/drviews6.cxx index d89bb43a0098..9d8978eadd88 100644 --- a/sd/source/ui/view/drviews6.cxx +++ b/sd/source/ui/view/drviews6.cxx @@ -84,7 +84,6 @@ #include "FrameView.hxx" #include "Window.hxx" #include "DrawDocShell.hxx" -#include "TaskPaneViewShell.hxx" #include "framework/FrameworkHelper.hxx" namespace sd { diff --git a/sd/source/ui/view/viewshe3.cxx b/sd/source/ui/view/viewshe3.cxx index 86e441939b0e..4ebe041be26a 100644 --- a/sd/source/ui/view/viewshe3.cxx +++ b/sd/source/ui/view/viewshe3.cxx @@ -72,7 +72,6 @@ #endif #include "DrawViewShell.hxx" #include "OutlineViewShell.hxx" -#include "TaskPaneViewShell.hxx" #include "drawview.hxx" #include "sdattr.hxx" @@ -83,6 +82,7 @@ #include "Window.hxx" #include "DrawDocShell.hxx" #include "FrameView.hxx" +#include "framework/FrameworkHelper.hxx" #include "optsitem.hxx" #include "sdresid.hxx" @@ -256,7 +256,7 @@ SdPage* ViewShell::CreateOrDuplicatePage ( && rBase.GetMainViewShell()->GetShellType()!=ViewShell::ST_DRAW) { framework::FrameworkHelper::Instance(GetViewShellBase())->RequestTaskPanel( - framework::FrameworkHelper::msLayoutTaskPanelURL); + framework::FrameworkHelper::msLayoutTaskPanelURL); } // AutoLayouts muessen fertig sein |