LibreOffice Module svx (master)  1
ShadowPropertyPanel.hxx
Go to the documentation of this file.
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_AREA_SHADOWPROPERTYPANEL_HXX
10 #define INCLUDED_SVX_SOURCE_SIDEBAR_AREA_SHADOWPROPERTYPANEL_HXX
11 
14 
15 class ColorListBox;
16 
17 namespace svx::sidebar {
18 
20 : public PanelLayout,
22 {
23 public:
24  virtual ~ShadowPropertyPanel() override;
25 
26  static std::unique_ptr<PanelLayout> Create(
27  weld::Widget* pParent,
28  SfxBindings* pBindings);
29 
30  virtual void NotifyItemUpdate(
31  const sal_uInt16 nSId,
32  const SfxItemState eState,
33  const SfxPoolItem* pState) override;
34 
35  virtual void GetControlState(
36  const sal_uInt16 /*nSId*/,
37  boost::property_tree::ptree& /*rState*/) override {};
38 
40 
41  void Initialize();
42 
44  weld::Widget* pParent,
45  SfxBindings* pBindings);
46 
47 private:
54 
57 
58  std::unique_ptr<weld::CheckButton> mxShowShadow;
59  std::unique_ptr<weld::MetricSpinButton> mxShadowDistance;
60  std::unique_ptr<ColorListBox> mxLBShadowColor;
61  std::unique_ptr<weld::ComboBox> mxShadowAngle;
62  std::unique_ptr<weld::Label> mxFTAngle;
63  std::unique_ptr<weld::Label> mxFTDistance;
64  std::unique_ptr<weld::Label> mxFTTransparency;
65  std::unique_ptr<weld::Label> mxFTBlur;
66  std::unique_ptr<weld::Label> mxFTColor;
67  std::unique_ptr<weld::Scale> mxShadowTransSlider;
68  std::unique_ptr<weld::MetricSpinButton> mxShadowTransMetric;
69  std::unique_ptr<weld::MetricSpinButton> mxShadowBlurMetric;
70 
71  void InsertAngleValues();
73  void UpdateControls();
74  void ModifyShadowDistance();
75 
76  DECL_LINK(ClickShadowHdl, weld::ToggleButton&, void);
77  DECL_LINK(ModifyShadowColorHdl, ColorListBox&, void);
78  DECL_LINK(ModifyShadowTransMetricHdl, weld::MetricSpinButton&, void);
79  DECL_LINK(ModifyShadowAngleHdl, weld::ComboBox&, void);
80  DECL_LINK(ModifyShadowDistanceHdl, weld::MetricSpinButton&, void);
81  DECL_LINK(ModifyShadowTransSliderHdl, weld::Scale&, void);
82  DECL_LINK(ModifyShadowBlurMetricHdl, weld::MetricSpinButton&, void);
83 };
84 
85 }
86 
87 #endif
88 
89 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::unique_ptr< weld::Label > mxFTDistance
std::unique_ptr< weld::CheckButton > mxShowShadow
std::unique_ptr< ColorListBox > mxLBShadowColor
::sfx2::sidebar::ControllerItem maShadowColorController
std::unique_ptr< weld::MetricSpinButton > mxShadowBlurMetric
::sfx2::sidebar::ControllerItem maShadowTransController
std::unique_ptr< weld::Label > mxFTColor
long Long
std::unique_ptr< weld::Label > mxFTTransparency
std::unique_ptr< weld::Label > mxFTAngle
::sfx2::sidebar::ControllerItem maShadowBlurController
std::unique_ptr< weld::Scale > mxShadowTransSlider
std::unique_ptr< weld::MetricSpinButton > mxShadowDistance
std::unique_ptr< weld::MetricSpinButton > mxShadowTransMetric
::sfx2::sidebar::ControllerItem maShadowXDistanceController
::sfx2::sidebar::ControllerItem maShadowController
std::unique_ptr< weld::Label > mxFTBlur
DECL_LINK(ClickShadowHdl, weld::ToggleButton &, void)
std::unique_ptr< weld::ComboBox > mxShadowAngle
SfxItemState
::sfx2::sidebar::ControllerItem maShadowYDistanceController
static std::unique_ptr< PanelLayout > Create(weld::Widget *pParent, SfxBindings *pBindings)
virtual void NotifyItemUpdate(const sal_uInt16 nSId, const SfxItemState eState, const SfxPoolItem *pState) override
virtual void GetControlState(const sal_uInt16, boost::property_tree::ptree &) override
ShadowPropertyPanel(weld::Widget *pParent, SfxBindings *pBindings)