diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2012-10-06 09:23:38 +0200 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2012-10-06 09:23:38 +0200 |
commit | 2d45ed51ead977b4ad0cbe5ff872d8510ba904e7 (patch) | |
tree | c93f1b9df5b5d341913cb324d402298f104d1a60 /sd/source/ui/framework | |
parent | 27fafb78f1d9dd59d0c4615eaf39f5e80db13753 (diff) |
Remove unused ReadOnlyModeObserver
Change-Id: I572aea574eeba411441559e538d2438de12e9581
Diffstat (limited to 'sd/source/ui/framework')
-rw-r--r-- | sd/source/ui/framework/module/ReadOnlyModeObserver.cxx | 215 | ||||
-rw-r--r-- | sd/source/ui/framework/module/ReadOnlyModeObserver.hxx | 132 |
2 files changed, 0 insertions, 347 deletions
diff --git a/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx b/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx deleted file mode 100644 index 423d503645e3..000000000000 --- a/sd/source/ui/framework/module/ReadOnlyModeObserver.cxx +++ /dev/null @@ -1,215 +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 "ReadOnlyModeObserver.hxx" - -#include <com/sun/star/drawing/framework/XControllerManager.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/util/URLTransformer.hpp> -#include <com/sun/star/util/XURLTransformer.hpp> -#include <comphelper/processfactory.hxx> -#include <cppuhelper/interfacecontainer.hxx> - -#include "tools/SlotStateListener.hxx" -#include "framework/FrameworkHelper.hxx" - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star; -using namespace ::com::sun::star::drawing::framework; -using ::rtl::OUString; - -namespace sd { namespace framework { - -class ReadOnlyModeObserver::ModifyBroadcaster - : public ::cppu::OBroadcastHelper -{ -public: - explicit ModifyBroadcaster (::osl::Mutex& rOslMutex) : ::cppu::OBroadcastHelper(rOslMutex) {} -}; - - - - -ReadOnlyModeObserver::ReadOnlyModeObserver ( - const Reference<frame::XController>& rxController) - : ReadOnlyModeObserverInterfaceBase(maMutex), - maSlotNameURL(), - mxController(rxController), - mxConfigurationController(NULL), - mxDispatch(NULL), - mpBroadcaster(new ModifyBroadcaster(maMutex)) -{ - // Create a URL object for the slot name. - maSlotNameURL.Complete = ".uno:EditDoc"; - Reference<util::XURLTransformer> xTransformer(util::URLTransformer::create(::comphelper::getProcessComponentContext())); - xTransformer->parseStrict(maSlotNameURL); - - if ( ! ConnectToDispatch()) - { - // The controller is not yet connected to a frame. This means that - // the dispatcher is not yet set up. We wait for this to happen by - // waiting for configuration updates and try again. - Reference<XControllerManager> xControllerManager (rxController, UNO_QUERY); - if (xControllerManager.is()) - { - mxConfigurationController = xControllerManager->getConfigurationController(); - if (mxConfigurationController.is()) - { - mxConfigurationController->addConfigurationChangeListener( - this, - FrameworkHelper::msConfigurationUpdateStartEvent, - Any()); - } - } - } -} - - - - -ReadOnlyModeObserver::~ReadOnlyModeObserver (void) -{ -} - - - - -void SAL_CALL ReadOnlyModeObserver::disposing (void) -{ - if (mxController.is()) - { - mxController = NULL; - } - if (mxConfigurationController.is()) - { - mxConfigurationController->removeConfigurationChangeListener(this); - mxConfigurationController = NULL; - } - if (mxDispatch.is()) - { - mxDispatch->removeStatusListener(this, maSlotNameURL); - mxDispatch = NULL; - } - - lang::EventObject aEvent; - aEvent.Source = static_cast<XWeak*>(this); - ::cppu::OInterfaceContainerHelper* pIterator - = mpBroadcaster->getContainer(getCppuType((Reference<frame::XStatusListener>*)NULL)); - pIterator->disposeAndClear(aEvent); -} - - - - -void ReadOnlyModeObserver::AddStatusListener ( - const Reference<frame::XStatusListener>& rxListener) -{ - mpBroadcaster->addListener( - getCppuType((Reference<frame::XStatusListener>*)NULL), - rxListener); -} - - - - -bool ReadOnlyModeObserver::ConnectToDispatch (void) -{ - if ( ! mxDispatch.is()) - { - // Get the dispatch object. - Reference<frame::XDispatchProvider> xProvider (mxController->getFrame(), UNO_QUERY); - if (xProvider.is()) - { - mxDispatch = xProvider->queryDispatch(maSlotNameURL, OUString(), 0); - if (mxDispatch.is()) - { - mxDispatch->addStatusListener(this, maSlotNameURL); - } - } - } - - return mxDispatch.is(); -} - - - - -void ReadOnlyModeObserver::statusChanged (const frame::FeatureStateEvent& rEvent) - throw (RuntimeException) -{ - ::cppu::OInterfaceContainerHelper* pIterator - = mpBroadcaster->getContainer(getCppuType((Reference<frame::XStatusListener>*)NULL)); - if (pIterator != NULL) - { - pIterator->notifyEach(&frame::XStatusListener::statusChanged, rEvent); - } -} - - - - -//----- XEventListener -------------------------------------------------------- - -void SAL_CALL ReadOnlyModeObserver::disposing ( - const lang::EventObject& rEvent) - throw (RuntimeException) -{ - if (rEvent.Source == mxConfigurationController) - mxConfigurationController = NULL; - else if (rEvent.Source == mxDispatch) - mxDispatch = NULL; - - dispose(); -} - - - - -void SAL_CALL ReadOnlyModeObserver::notifyConfigurationChange ( - const ConfigurationChangeEvent& rEvent) - throw (RuntimeException) -{ - if (rEvent.Type.equals(FrameworkHelper::msConfigurationUpdateStartEvent)) - { - if (mxController.is() && mxController->getFrame().is()) - { - if (ConnectToDispatch()) - { - // We have connected successfully to the dispatcher and - // therefore can disconnect from the configuration controller. - mxConfigurationController->removeConfigurationChangeListener(this); - mxConfigurationController = NULL; - } - } - } -} - -} } // end of namespace sd::framework - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/framework/module/ReadOnlyModeObserver.hxx b/sd/source/ui/framework/module/ReadOnlyModeObserver.hxx deleted file mode 100644 index c8f0ea2393d6..000000000000 --- a/sd/source/ui/framework/module/ReadOnlyModeObserver.hxx +++ /dev/null @@ -1,132 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -#ifndef SD_FRAMEWORK_READ_ONLY_MODE_OBSERVER_HXX -#define SD_FRAMEWORK_READ_ONLY_MODE_OBSERVER_HXX - -#include "MutexOwner.hxx" - -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/frame/XController.hpp> -#include <com/sun/star/frame/XStatusListener.hpp> -#include <com/sun/star/frame/XDispatch.hpp> -#include <com/sun/star/lang/XEventListener.hpp> -#include <com/sun/star/util/XModifyListener.hpp> -#include <com/sun/star/drawing/framework/XConfigurationController.hpp> -#include <com/sun/star/drawing/framework/XConfigurationChangeListener.hpp> -#include <osl/mutex.hxx> -#include <cppuhelper/compbase2.hxx> -#include <boost/function.hpp> -#include <boost/scoped_ptr.hpp> -#include <boost/shared_ptr.hpp> - -namespace { - -typedef ::cppu::WeakComponentImplHelper2 < - ::com::sun::star::drawing::framework::XConfigurationChangeListener, - ::com::sun::star::frame::XStatusListener - > ReadOnlyModeObserverInterfaceBase; - -} // end of anonymous namespace. - - - - -namespace sd { namespace framework { - -/** Wait for changes of the read-only mode. On switching between read-only - mode and read-write the registered listeners are called. - - This class handles the case that the given controller is not yet - connected to a frame and that the dispatcher is not yet set up. It - waits for this to happen and then registers at the .uno:EditDoc command - and waits for state changes. -*/ -class ReadOnlyModeObserver - : private sd::MutexOwner, - public ReadOnlyModeObserverInterfaceBase -{ -public: - /** Create a new read-only mode observer for the given controller. - */ - ReadOnlyModeObserver ( - const ::com::sun::star::uno::Reference<com::sun::star::frame::XController>& rxController); - virtual ~ReadOnlyModeObserver (void); - - virtual void SAL_CALL disposing (void); - - - /** Add a status listener that is called when the state of the - .uno:EditDoc command changes. Note that the listener has to take - into account both the IsEnabled and the State fields of the - FeatureStateEvent. Only when IsEnabled is true then the State field - is valid. - */ - void AddStatusListener ( - const ::com::sun::star::uno::Reference< - com::sun::star::frame::XStatusListener>& rxListener); - - // XEventListener - - virtual void SAL_CALL disposing ( - const com::sun::star::lang::EventObject& rEvent) - throw (com::sun::star::uno::RuntimeException); - - - // frame::XStatusListener - - /** Called by slot state change broadcasters. - @throws DisposedException - */ - virtual void SAL_CALL - statusChanged ( - const ::com::sun::star::frame::FeatureStateEvent& rState) - throw (::com::sun::star::uno::RuntimeException); - - // XConfigurationChangeListener - - virtual void SAL_CALL notifyConfigurationChange ( - const ::com::sun::star::drawing::framework::ConfigurationChangeEvent& rEvent) - throw (::com::sun::star::uno::RuntimeException); - -private: - ::com::sun::star::util::URL maSlotNameURL; - /** The XController is stored to enable repeated calls to - ConnectToDispatch() (get access to the XDispatchProvider. - */ - ::com::sun::star::uno::Reference<com::sun::star::frame::XController> - mxController; - ::com::sun::star::uno::Reference<com::sun::star::drawing::framework::XConfigurationController> - mxConfigurationController; - ::com::sun::star::uno::Reference<com::sun::star::frame::XDispatch> - mxDispatch; - class ModifyBroadcaster; - ::boost::scoped_ptr<ModifyBroadcaster> mpBroadcaster; - - /** Listen for the .uno:EditMode command. Returns <TRUE/> when the connection - has been established. - */ - bool ConnectToDispatch (void); -}; - -} } // end of namespace sd::framework - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |