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 #ifndef INCLUDED_SVX_SOURCE_SIDEBAR_EFFECT_EFFECTPROPERTYPANEL_HXX 10 #define INCLUDED_SVX_SOURCE_SIDEBAR_EFFECT_EFFECTPROPERTYPANEL_HXX 11 12 #include <sfx2/sidebar/ControllerItem.hxx> 13 #include <sfx2/sidebar/PanelLayout.hxx> 14 15 class ColorListBox; 16 17 namespace svx::sidebar 18 { 19 class EffectPropertyPanel : public PanelLayout, 20 public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface 21 { 22 public: 23 EffectPropertyPanel(weld::Widget* pParent, SfxBindings* pBindings); 24 virtual ~EffectPropertyPanel() override; 25 26 static std::unique_ptr<PanelLayout> Create(weld::Widget* pParent, SfxBindings* pBindings); 27 28 virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState, 29 const SfxPoolItem* pState) override; 30 GetControlState(const sal_uInt16,boost::property_tree::ptree &)31 virtual void GetControlState(const sal_uInt16 /*nSId*/, 32 boost::property_tree::ptree& /*rState*/) override{}; 33 34 private: 35 sfx2::sidebar::ControllerItem maGlowColorController; 36 sfx2::sidebar::ControllerItem maGlowRadiusController; 37 sfx2::sidebar::ControllerItem maGlowTransparencyController; 38 std::unique_ptr<weld::Label> mxFTTransparency; 39 sfx2::sidebar::ControllerItem maSoftEdgeRadiusController; 40 41 SfxBindings* mpBindings; 42 43 std::unique_ptr<weld::MetricSpinButton> mxGlowRadius; 44 std::unique_ptr<ColorListBox> mxLBGlowColor; 45 std::unique_ptr<weld::MetricSpinButton> mxGlowTransparency; 46 std::unique_ptr<weld::Label> mxFTRadiusSoftEdge; 47 std::unique_ptr<weld::Label> mxFTRadiusGlow; 48 std::unique_ptr<weld::Label> mxFTColor; 49 std::unique_ptr<weld::MetricSpinButton> mxSoftEdgeRadius; 50 51 void Initialize(); 52 void UpdateControls(); 53 54 DECL_LINK(ModifyGlowColorHdl, ColorListBox&, void); 55 DECL_LINK(ModifyGlowRadiusHdl, weld::MetricSpinButton&, void); 56 DECL_LINK(ModifyGlowTransparencyHdl, weld::MetricSpinButton&, void); 57 DECL_LINK(ModifySoftEdgeRadiusHdl, weld::MetricSpinButton&, void); 58 }; 59 } 60 61 #endif 62 63 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 64