summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc/MasterPageObserver.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/inc/MasterPageObserver.hxx')
-rw-r--r--sd/source/ui/inc/MasterPageObserver.hxx137
1 files changed, 0 insertions, 137 deletions
diff --git a/sd/source/ui/inc/MasterPageObserver.hxx b/sd/source/ui/inc/MasterPageObserver.hxx
deleted file mode 100644
index 821d2703f..000000000
--- a/sd/source/ui/inc/MasterPageObserver.hxx
+++ /dev/null
@@ -1,137 +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.
- *
- ************************************************************************/
-
-#ifndef SD_VIEW_MASTER_PAGE_OBSERVER_HXX
-#define SD_VIEW_MASTER_PAGE_OBSERVER_HXX
-
-#include "tools/SdGlobalResourceContainer.hxx"
-#include <osl/mutex.hxx>
-#include <tools/link.hxx>
-#include <memory>
-#include <set>
-
-class SdDrawDocument;
-class String;
-
-namespace sd {
-
-/** This singleton observes all registered documents for changes in the used
- master pages and in turn informs its listeners about it. One such
- listener is the master page selector control in the tool panel that
- shows the recently used master pages.
-*/
-class MasterPageObserver
- : public SdGlobalResource
-{
-public:
- typedef ::std::set<String> MasterPageNameSet;
-
- /** Return the single instance of this class.
- */
- static MasterPageObserver& Instance (void);
-
- /** The master page observer will listen to events of this document and
- detect changes of the use of master pages.
- */
- void RegisterDocument (SdDrawDocument& rDocument);
-
- /** The master page observer will stop to listen to events of this
- document.
- */
- void UnregisterDocument (SdDrawDocument& rDocument);
-
- /** Add a listener that is informed of master pages that are newly
- assigned to slides or become unassigned.
- @param rEventListener
- The event listener to call for future events. Call
- RemoveEventListener() before the listener is destroyed.
- */
- void AddEventListener (const Link& rEventListener);
-
- /** Remove the given listener from the list of listeners.
- @param rEventListener
- After this method returns the given listener is not called back
- from this object. Passing a listener that has not
- been registered before is safe and is silently ignored.
- */
- void RemoveEventListener (const Link& rEventListener);
-
-private:
- static ::osl::Mutex maMutex;
-
- class Implementation;
- ::std::auto_ptr<Implementation> mpImpl;
-
- MasterPageObserver (void);
- virtual ~MasterPageObserver (void);
-
- /// The copy constructor is not implemented. Do not use!
- MasterPageObserver (const MasterPageObserver&);
-
- /// The assignment operator is not implemented. Do not use!
- MasterPageObserver& operator= (const MasterPageObserver&);
-};
-
-
-
-
-/** Objects of this class are sent to listeners of the MasterPageObserver
- singleton when the list of master pages of one document has changed.
-*/
-class MasterPageObserverEvent
-{
-public:
- enum EventType {
- /// Master page already exists when document is registered.
- ET_MASTER_PAGE_EXISTS,
- /// Master page has been added to a document.
- ET_MASTER_PAGE_ADDED,
- /// Master page has been removed from to a document.
- ET_MASTER_PAGE_REMOVED
- };
-
- EventType meType;
- SdDrawDocument& mrDocument;
- const String& mrMasterPageName;
-
- MasterPageObserverEvent (
- EventType eType,
- SdDrawDocument& rDocument,
- const String& rMasterPageName)
- : meType(eType),
- mrDocument(rDocument),
- mrMasterPageName(rMasterPageName)
- {}
-
-};
-
-} // end of namespace sd
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */