diff options
Diffstat (limited to 'sd/source/ui/framework/module/CenterViewFocusModule.cxx')
-rw-r--r-- | sd/source/ui/framework/module/CenterViewFocusModule.cxx | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/sd/source/ui/framework/module/CenterViewFocusModule.cxx b/sd/source/ui/framework/module/CenterViewFocusModule.cxx deleted file mode 100644 index 0c0ff3f7c..000000000 --- a/sd/source/ui/framework/module/CenterViewFocusModule.cxx +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 "CenterViewFocusModule.hxx" - -#include "framework/ConfigurationController.hxx" -#include "framework/FrameworkHelper.hxx" -#include "framework/ViewShellWrapper.hxx" - -#include "DrawController.hxx" -#include "ViewShellBase.hxx" -#include "ViewShellManager.hxx" -#include "strings.hrc" -#include "sdresid.hxx" -#include <com/sun/star/drawing/framework/XControllerManager.hpp> -#include <com/sun/star/drawing/framework/XConfigurationController.hpp> - -#include <toolkit/awt/vclxdevice.hxx> -#include <sfx2/viewfrm.hxx> - -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 { - -//===== CenterViewFocusModule ==================================================== - -CenterViewFocusModule::CenterViewFocusModule (Reference<frame::XController>& rxController) - : CenterViewFocusModuleInterfaceBase(MutexOwner::maMutex), - mbValid(false), - mxConfigurationController(), - mpBase(NULL), - mbNewViewCreated(false) -{ - Reference<XControllerManager> xControllerManager (rxController, UNO_QUERY); - if (xControllerManager.is()) - { - mxConfigurationController = xControllerManager->getConfigurationController(); - - // Tunnel through the controller to obtain a ViewShellBase. - Reference<lang::XUnoTunnel> xTunnel (rxController, UNO_QUERY); - if (xTunnel.is()) - { - ::sd::DrawController* pController = reinterpret_cast<sd::DrawController*>( - xTunnel->getSomething(sd::DrawController::getUnoTunnelId())); - if (pController != NULL) - mpBase = pController->GetViewShellBase(); - } - - // Check, if all required objects do exist. - if (mxConfigurationController.is() && mpBase!=NULL) - { - mbValid = true; - } - } - - if (mbValid) - { - mxConfigurationController->addConfigurationChangeListener( - this, - FrameworkHelper::msConfigurationUpdateEndEvent, - Any()); - mxConfigurationController->addConfigurationChangeListener( - this, - FrameworkHelper::msResourceActivationEvent, - Any()); - } -} - - - - -CenterViewFocusModule::~CenterViewFocusModule (void) -{ -} - - - - -void SAL_CALL CenterViewFocusModule::disposing (void) -{ - if (mxConfigurationController.is()) - mxConfigurationController->removeConfigurationChangeListener(this); - - mbValid = false; - mxConfigurationController = NULL; - mpBase = NULL; -} - - - - -void SAL_CALL CenterViewFocusModule::notifyConfigurationChange ( - const ConfigurationChangeEvent& rEvent) - throw (RuntimeException) -{ - if (mbValid) - { - if (rEvent.Type.equals(FrameworkHelper::msConfigurationUpdateEndEvent)) - { - HandleNewView(rEvent.Configuration); - } - else if (rEvent.Type.equals(FrameworkHelper::msResourceActivationEvent)) - { - if (rEvent.ResourceId->getResourceURL().match(FrameworkHelper::msViewURLPrefix)) - mbNewViewCreated = true; - } - } -} - - - - -void CenterViewFocusModule::HandleNewView ( - const Reference<XConfiguration>& rxConfiguration) -{ - if (mbNewViewCreated) - { - mbNewViewCreated = false; - // Make the center pane the active one. Tunnel through the - // controller to obtain a ViewShell pointer. - - Sequence<Reference<XResourceId> > xViewIds (rxConfiguration->getResources( - FrameworkHelper::CreateResourceId(FrameworkHelper::msCenterPaneURL), - FrameworkHelper::msViewURLPrefix, - AnchorBindingMode_DIRECT)); - Reference<XView> xView; - if (xViewIds.getLength() > 0) - xView = Reference<XView>( - mxConfigurationController->getResource(xViewIds[0]),UNO_QUERY); - Reference<lang::XUnoTunnel> xTunnel (xView, UNO_QUERY); - if (xTunnel.is() && mpBase!=NULL) - { - ViewShellWrapper* pViewShellWrapper = reinterpret_cast<ViewShellWrapper*>( - xTunnel->getSomething(ViewShellWrapper::getUnoTunnelId())); - if (pViewShellWrapper != NULL) - { - ::boost::shared_ptr<ViewShell> pViewShell = pViewShellWrapper->GetViewShell(); - if (pViewShell.get() != NULL) - mpBase->GetViewShellManager()->MoveToTop(*pViewShell); - } - } - } -} - - - - -void SAL_CALL CenterViewFocusModule::disposing ( - const lang::EventObject& rEvent) - throw (RuntimeException) -{ - if (mxConfigurationController.is()) - if (rEvent.Source == mxConfigurationController) - { - mbValid = false; - mxConfigurationController = NULL; - mpBase = NULL; - } -} - - - -} } // end of namespace sd::framework - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |