1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 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/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 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 . 18 */ 19 20 #ifndef INCLUDED_SVX_GRAFCTRL_HXX 21 #define INCLUDED_SVX_GRAFCTRL_HXX 22 23 #include <svl/lstner.hxx> 24 #include <sfx2/tbxctrl.hxx> 25 #include <svx/svxdllapi.h> 26 27 28 class SvxGrafToolBoxControl : public SfxToolBoxControl 29 { 30 public: 31 SvxGrafToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 32 virtual ~SvxGrafToolBoxControl() override; 33 34 virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ) override; 35 virtual VclPtr<vcl::Window> CreateItemWindow( vcl::Window *pParent ) override; 36 }; 37 38 39 class SVX_DLLPUBLIC SvxGrafRedToolBoxControl final : public SvxGrafToolBoxControl 40 { 41 public: 42 SFX_DECL_TOOLBOX_CONTROL(); 43 SvxGrafRedToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 44 }; 45 46 47 class SVX_DLLPUBLIC SvxGrafGreenToolBoxControl final : public SvxGrafToolBoxControl 48 { 49 public: 50 SFX_DECL_TOOLBOX_CONTROL(); 51 SvxGrafGreenToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 52 }; 53 54 55 class SVX_DLLPUBLIC SvxGrafBlueToolBoxControl final : public SvxGrafToolBoxControl 56 { 57 public: 58 SFX_DECL_TOOLBOX_CONTROL(); 59 SvxGrafBlueToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 60 }; 61 62 63 class SVX_DLLPUBLIC SvxGrafLuminanceToolBoxControl final : public SvxGrafToolBoxControl 64 { 65 public: 66 SFX_DECL_TOOLBOX_CONTROL(); 67 SvxGrafLuminanceToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 68 }; 69 70 71 class SVX_DLLPUBLIC SvxGrafContrastToolBoxControl final : public SvxGrafToolBoxControl 72 { 73 public: 74 SFX_DECL_TOOLBOX_CONTROL(); 75 SvxGrafContrastToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 76 }; 77 78 79 class SVX_DLLPUBLIC SvxGrafGammaToolBoxControl final : public SvxGrafToolBoxControl 80 { 81 public: 82 SFX_DECL_TOOLBOX_CONTROL(); 83 SvxGrafGammaToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 84 }; 85 86 87 class SVX_DLLPUBLIC SvxGrafTransparenceToolBoxControl final : public SvxGrafToolBoxControl 88 { 89 public: 90 SFX_DECL_TOOLBOX_CONTROL(); 91 SvxGrafTransparenceToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 92 }; 93 94 95 class SVX_DLLPUBLIC SvxGrafModeToolBoxControl final : public SfxToolBoxControl, public SfxListener 96 { 97 public: 98 SFX_DECL_TOOLBOX_CONTROL(); 99 SvxGrafModeToolBoxControl( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ); 100 virtual ~SvxGrafModeToolBoxControl() override; 101 102 virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ) override; 103 virtual VclPtr<vcl::Window> CreateItemWindow( vcl::Window *pParent ) override; 104 }; 105 106 107 class SdrView; 108 class SfxRequest; 109 110 111 class SVX_DLLPUBLIC SvxGrafAttrHelper 112 { 113 public: 114 115 static void ExecuteGrafAttr( SfxRequest& rReq, SdrView& rView ); 116 static void GetGrafAttrState( SfxItemSet& rSet, SdrView const & rView ); 117 }; 118 119 #endif // INCLUDED_SVX_GRAFCTRL_HXX 120 121 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 122