bump product version to 5.0.4.1
[LibreOffice.git] / sd / source / ui / sidebar / CurrentMasterPagesSelector.hxx
blobb587a3f52aec8c440970740064131ef46f5c9e98
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SD_SOURCE_UI_SIDEBAR_CURRENTMASTERPAGESSELECTOR_HXX
21 #define INCLUDED_SD_SOURCE_UI_SIDEBAR_CURRENTMASTERPAGESSELECTOR_HXX
23 #include "MasterPagesSelector.hxx"
24 #include <com/sun/star/lang/XComponent.hpp>
27 namespace sd { namespace tools { class EventMultiplexerEvent; } }
29 namespace sd { namespace sidebar {
31 /** Show the master pages currently used by a SdDrawDocument.
33 class CurrentMasterPagesSelector
34 : public MasterPagesSelector,
35 public SfxListener
37 friend class VclPtrInstance<CurrentMasterPagesSelector>;
38 public:
39 static VclPtr<vcl::Window> Create (
40 vcl::Window* pParent,
41 ViewShellBase& rViewShellBase,
42 const css::uno::Reference<css::ui::XSidebar>& rxSidebar);
44 /** Set the selection so that the master page is selected that is
45 used by the currently selected page of the document in the
46 center pane.
48 virtual void UpdateSelection() SAL_OVERRIDE;
50 /** Copy all master pages that are to be shown into the given list.
52 virtual void Fill (ItemList& rItemList) SAL_OVERRIDE;
54 using MasterPagesSelector::Fill;
56 protected:
57 virtual ResId GetContextMenuResId() const SAL_OVERRIDE;
59 virtual void ProcessPopupMenu (Menu& rMenu) SAL_OVERRIDE;
60 virtual void ExecuteCommand (const sal_Int32 nCommandId) SAL_OVERRIDE;
62 private:
63 css::uno::Reference<css::lang::XComponent> mxListener;
65 CurrentMasterPagesSelector (
66 vcl::Window* pParent,
67 SdDrawDocument& rDocument,
68 ViewShellBase& rBase,
69 const ::boost::shared_ptr<MasterPageContainer>& rpContainer,
70 const css::uno::Reference<css::ui::XSidebar>& rxSidebar);
71 virtual ~CurrentMasterPagesSelector();
72 virtual void dispose() SAL_OVERRIDE;
74 virtual void LateInit() SAL_OVERRIDE;
76 DECL_LINK(EventMultiplexerListener,sd::tools::EventMultiplexerEvent*);
79 } } // end of namespace sd::sidebar
81 #endif
83 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */