LibreOffice Module svx (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
svx::sidebar::PosSizePropertyPanel Class Reference

#include <PosSizePropertyPanel.hxx>

Inheritance diagram for svx::sidebar::PosSizePropertyPanel:
[legend]
Collaboration diagram for svx::sidebar::PosSizePropertyPanel:
[legend]

Public Member Functions

virtual ~PosSizePropertyPanel () override
 
virtual void HandleContextChange (const vcl::EnumContext &rContext) override
 
virtual void NotifyItemUpdate (const sal_uInt16 nSId, const SfxItemState eState, const SfxPoolItem *pState) override
 
virtual void DumpAsPropertyTree (tools::JsonWriter &) override
 
SfxBindingsGetBindings ()
 
 PosSizePropertyPanel (weld::Widget *pParent, const css::uno::Reference< css::frame::XFrame > &rxFrame, SfxBindings *pBindings, const css::uno::Reference< css::ui::XSidebar > &rxSidebar)
 
virtual void GetControlState (const sal_uInt16 nSId, boost::property_tree::ptree &rState) override
 
- Public Member Functions inherited from PanelLayout
 PanelLayout (weld::Widget *pParent, const OString &rID, const OUString &rUIXMLDescription)
 
void SetPanel (sfx2::sidebar::Panel *pPanel)
 
virtual ~PanelLayout ()
 
Size get_preferred_size () const
 
void queue_resize ()
 
- Public Member Functions inherited from sfx2::sidebar::IContextChangeReceiver
virtual ~IContextChangeReceiver ()
 
- Public Member Functions inherited from sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
virtual ~ItemUpdateReceiverInterface ()
 

Static Public Member Functions

static std::unique_ptr< PanelLayoutCreate (weld::Widget *pParent, const css::uno::Reference< css::frame::XFrame > &rxFrame, SfxBindings *pBindings, const css::uno::Reference< css::ui::XSidebar > &rxSidebar)
 

Private Member Functions

 DECL_LINK (ChangePosXHdl, weld::MetricSpinButton &, void)
 
 DECL_LINK (ChangePosYHdl, weld::MetricSpinButton &, void)
 
 DECL_LINK (ChangeWidthHdl, weld::MetricSpinButton &, void)
 
 DECL_LINK (ChangeHeightHdl, weld::MetricSpinButton &, void)
 
 DECL_LINK (ClickAutoHdl, weld::Toggleable &, void)
 
 DECL_LINK (RotationHdl, svx::DialControl &, void)
 
 DECL_STATIC_LINK (PosSizePropertyPanel, ClickChartEditHdl, weld::Button &, void)
 
void Initialize ()
 
void executeSize ()
 
void MetricState (SfxItemState eState, const SfxPoolItem *pState)
 
void DisableControls ()
 
void SetPosSizeMinMax ()
 
void UpdateUIScale ()
 Check if the UI scale has changed and handle such a change. More...
 

Static Private Member Functions

static FieldUnit GetCurrentUnit (SfxItemState eState, const SfxPoolItem *pState)
 

Private Attributes

std::unique_ptr< weld::LabelmxFtPosX
 
std::unique_ptr< weld::MetricSpinButtonmxMtrPosX
 
std::unique_ptr< weld::LabelmxFtPosY
 
std::unique_ptr< weld::MetricSpinButtonmxMtrPosY
 
std::unique_ptr< weld::LabelmxFtWidth
 
std::unique_ptr< weld::MetricSpinButtonmxMtrWidth
 
std::unique_ptr< weld::LabelmxFtHeight
 
std::unique_ptr< weld::MetricSpinButtonmxMtrHeight
 
std::unique_ptr< weld::CheckButtonmxCbxScale
 
std::unique_ptr< weld::LabelmxFtAngle
 
std::unique_ptr< weld::MetricSpinButtonmxMtrAngle
 
std::unique_ptr< svx::DialControlmxCtrlDial
 
std::unique_ptr< weld::CustomWeldmxDial
 
std::unique_ptr< weld::LabelmxFtFlip
 
std::unique_ptr< weld::ToolbarmxFlipTbx
 
std::unique_ptr< ToolbarUnoDispatchermxFlipDispatch
 
std::unique_ptr< weld::ToolbarmxArrangeTbx
 
std::unique_ptr< ToolbarUnoDispatchermxArrangeDispatch
 
std::unique_ptr< weld::ToolbarmxArrangeTbx2
 
std::unique_ptr< ToolbarUnoDispatchermxArrangeDispatch2
 
std::unique_ptr< weld::ToolbarmxAlignTbx
 
std::unique_ptr< ToolbarUnoDispatchermxAlignDispatch
 
std::unique_ptr< weld::ToolbarmxAlignTbx2
 
std::unique_ptr< ToolbarUnoDispatchermxAlignDispatch2
 
std::unique_ptr< weld::ButtonmxBtnEditChart
 
basegfx::B2DRange maRect
 
basegfx::B2DRange maWorkArea
 
const SdrViewmpView
 
sal_uInt32 mlOldWidth
 
sal_uInt32 mlOldHeight
 
tools::Long mlRotX
 
tools::Long mlRotY
 
Fraction maUIScale
 
MapUnit mePoolUnit
 
FieldUnit meDlgUnit
 
::sfx2::sidebar::ControllerItem maTransfPosXControl
 
::sfx2::sidebar::ControllerItem maTransfPosYControl
 
::sfx2::sidebar::ControllerItem maTransfWidthControl
 
::sfx2::sidebar::ControllerItem maTransfHeightControl
 
::sfx2::sidebar::ControllerItem maSvxAngleControl
 
::sfx2::sidebar::ControllerItem maRotXControl
 
::sfx2::sidebar::ControllerItem maRotYControl
 
::sfx2::sidebar::ControllerItem maProPosControl
 
::sfx2::sidebar::ControllerItem maProSizeControl
 
::sfx2::sidebar::ControllerItem maAutoWidthControl
 
::sfx2::sidebar::ControllerItem maAutoHeightControl
 
::sfx2::sidebar::ControllerItem m_aMetricCtl
 
vcl::EnumContext maContext
 
SfxBindingsmpBindings
 
bool mbSizeProtected: 1
 
bool mbPositionProtected: 1
 
bool mbAutoWidth: 1
 
bool mbAutoHeight: 1
 
bool mbAdjustEnabled: 1
 
css::uno::Reference< css::ui::XSidebar > mxSidebar
 

Additional Inherited Members

- Protected Member Functions inherited from PanelLayout
virtual void DataChanged (const DataChangedEvent &rEvent)
 
virtual weld::WindowGetFrameWeld () const
 
- Protected Attributes inherited from PanelLayout
std::unique_ptr< weld::Builderm_xBuilder
 
std::unique_ptr< weld::Containerm_xContainer
 
sfx2::sidebar::Panelm_pPanel
 

Detailed Description

Definition at line 43 of file PosSizePropertyPanel.hxx.

Constructor & Destructor Documentation

svx::sidebar::PosSizePropertyPanel::~PosSizePropertyPanel ( )
overridevirtual
svx::sidebar::PosSizePropertyPanel::PosSizePropertyPanel ( weld::Widget pParent,
const css::uno::Reference< css::frame::XFrame > &  rxFrame,
SfxBindings pBindings,
const css::uno::Reference< css::ui::XSidebar > &  rxSidebar 
)

Member Function Documentation

std::unique_ptr< PanelLayout > svx::sidebar::PosSizePropertyPanel::Create ( weld::Widget pParent,
const css::uno::Reference< css::frame::XFrame > &  rxFrame,
SfxBindings pBindings,
const css::uno::Reference< css::ui::XSidebar > &  rxSidebar 
)
static

Definition at line 246 of file PosSizePropertyPanel.cxx.

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangePosXHdl  ,
weld::MetricSpinButton ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangePosYHdl  ,
weld::MetricSpinButton ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangeWidthHdl  ,
weld::MetricSpinButton ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangeHeightHdl  ,
weld::MetricSpinButton ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ClickAutoHdl  ,
weld::Toggleable ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_LINK ( RotationHdl  ,
svx::DialControl ,
void   
)
private
svx::sidebar::PosSizePropertyPanel::DECL_STATIC_LINK ( PosSizePropertyPanel  ,
ClickChartEditHdl  ,
weld::Button ,
void   
)
private
void svx::sidebar::PosSizePropertyPanel::DisableControls ( )
private
void svx::sidebar::PosSizePropertyPanel::DumpAsPropertyTree ( tools::JsonWriter rJsonWriter)
overridevirtual
void svx::sidebar::PosSizePropertyPanel::executeSize ( )
private
SfxBindings* svx::sidebar::PosSizePropertyPanel::GetBindings ( )
inline

Definition at line 67 of file PosSizePropertyPanel.hxx.

References mpBindings.

Referenced by executeSize(), and UpdateUIScale().

void svx::sidebar::PosSizePropertyPanel::GetControlState ( const sal_uInt16  nSId,
boost::property_tree::ptree &  rState 
)
overridevirtual
FieldUnit svx::sidebar::PosSizePropertyPanel::GetCurrentUnit ( SfxItemState  eState,
const SfxPoolItem pState 
)
staticprivate
void svx::sidebar::PosSizePropertyPanel::HandleContextChange ( const vcl::EnumContext rContext)
overridevirtual
void svx::sidebar::PosSizePropertyPanel::Initialize ( )
private
void svx::sidebar::PosSizePropertyPanel::MetricState ( SfxItemState  eState,
const SfxPoolItem pState 
)
private
void svx::sidebar::PosSizePropertyPanel::NotifyItemUpdate ( const sal_uInt16  nSId,
const SfxItemState  eState,
const SfxPoolItem pState 
)
overridevirtual
void svx::sidebar::PosSizePropertyPanel::SetPosSizeMinMax ( )
private
void svx::sidebar::PosSizePropertyPanel::UpdateUIScale ( )
private

Check if the UI scale has changed and handle such a change.

UI scale is an SD only feature. The UI scale is represented by items ATTR_OPTIONS_SCALE_X and ATTR_OPTIONS_SCALE_Y. As we have no direct access (there is no dependency of svx on sd) we have to use a small trick (aka hack): a) call this method whenever a change of the metric item is notified, b) check if the UI scale has changed (strangely, the UI scale value is available at the SdrModel. c) invalidate the items for position and size to trigger notifications of their current values.

Definition at line 1057 of file PosSizePropertyPanel.cxx.

References GetBindings(), SdrPaintView::GetModel(), SdrModel::GetUIScale(), SfxBindings::Invalidate(), maUIScale, and mpView.

Referenced by NotifyItemUpdate().

Member Data Documentation

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::m_aMetricCtl
private

Definition at line 145 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maAutoHeightControl
private

Definition at line 144 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maAutoWidthControl
private

Definition at line 143 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

vcl::EnumContext svx::sidebar::PosSizePropertyPanel::maContext
private

Definition at line 147 of file PosSizePropertyPanel.hxx.

Referenced by executeSize(), HandleContextChange(), and NotifyItemUpdate().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maProPosControl
private

Definition at line 141 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maProSizeControl
private

Definition at line 142 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

basegfx::B2DRange svx::sidebar::PosSizePropertyPanel::maRect
private

Definition at line 121 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maRotXControl
private

Definition at line 139 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maRotYControl
private

Definition at line 140 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maSvxAngleControl
private

Definition at line 138 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maTransfHeightControl
private

Definition at line 136 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maTransfPosXControl
private

Definition at line 133 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maTransfPosYControl
private

Definition at line 134 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

::sfx2::sidebar::ControllerItem svx::sidebar::PosSizePropertyPanel::maTransfWidthControl
private

Definition at line 135 of file PosSizePropertyPanel.hxx.

Referenced by Initialize(), NotifyItemUpdate(), and ~PosSizePropertyPanel().

Fraction svx::sidebar::PosSizePropertyPanel::maUIScale
private

Definition at line 128 of file PosSizePropertyPanel.hxx.

Referenced by Initialize(), NotifyItemUpdate(), and UpdateUIScale().

basegfx::B2DRange svx::sidebar::PosSizePropertyPanel::maWorkArea
private

Definition at line 122 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

bool svx::sidebar::PosSizePropertyPanel::mbAdjustEnabled
private

Definition at line 154 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), Initialize(), and NotifyItemUpdate().

bool svx::sidebar::PosSizePropertyPanel::mbAutoHeight
private

Definition at line 153 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

bool svx::sidebar::PosSizePropertyPanel::mbAutoWidth
private

Definition at line 152 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

bool svx::sidebar::PosSizePropertyPanel::mbPositionProtected
private

Definition at line 151 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

bool svx::sidebar::PosSizePropertyPanel::mbSizeProtected
private

Definition at line 150 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

FieldUnit svx::sidebar::PosSizePropertyPanel::meDlgUnit
private
MapUnit svx::sidebar::PosSizePropertyPanel::mePoolUnit
private
sal_uInt32 svx::sidebar::PosSizePropertyPanel::mlOldHeight
private

Definition at line 125 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

sal_uInt32 svx::sidebar::PosSizePropertyPanel::mlOldWidth
private

Definition at line 124 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

tools::Long svx::sidebar::PosSizePropertyPanel::mlRotX
private

Definition at line 126 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

tools::Long svx::sidebar::PosSizePropertyPanel::mlRotY
private

Definition at line 127 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

SfxBindings* svx::sidebar::PosSizePropertyPanel::mpBindings
private

Definition at line 148 of file PosSizePropertyPanel.hxx.

Referenced by DumpAsPropertyTree(), GetBindings(), and PosSizePropertyPanel().

const SdrView* svx::sidebar::PosSizePropertyPanel::mpView
private
std::unique_ptr<ToolbarUnoDispatcher> svx::sidebar::PosSizePropertyPanel::mxAlignDispatch
private

Definition at line 113 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<ToolbarUnoDispatcher> svx::sidebar::PosSizePropertyPanel::mxAlignDispatch2
private

Definition at line 115 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<weld::Toolbar> svx::sidebar::PosSizePropertyPanel::mxAlignTbx
private

Definition at line 112 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<weld::Toolbar> svx::sidebar::PosSizePropertyPanel::mxAlignTbx2
private

Definition at line 114 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<ToolbarUnoDispatcher> svx::sidebar::PosSizePropertyPanel::mxArrangeDispatch
private

Definition at line 108 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<ToolbarUnoDispatcher> svx::sidebar::PosSizePropertyPanel::mxArrangeDispatch2
private

Definition at line 110 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<weld::Toolbar> svx::sidebar::PosSizePropertyPanel::mxArrangeTbx
private

Definition at line 107 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<weld::Toolbar> svx::sidebar::PosSizePropertyPanel::mxArrangeTbx2
private

Definition at line 109 of file PosSizePropertyPanel.hxx.

Referenced by HandleContextChange(), and ~PosSizePropertyPanel().

std::unique_ptr<weld::Button> svx::sidebar::PosSizePropertyPanel::mxBtnEditChart
private
std::unique_ptr<weld::CheckButton> svx::sidebar::PosSizePropertyPanel::mxCbxScale
private
std::unique_ptr<svx::DialControl> svx::sidebar::PosSizePropertyPanel::mxCtrlDial
private
std::unique_ptr<weld::CustomWeld> svx::sidebar::PosSizePropertyPanel::mxDial
private
std::unique_ptr<ToolbarUnoDispatcher> svx::sidebar::PosSizePropertyPanel::mxFlipDispatch
private

Definition at line 105 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

std::unique_ptr<weld::Toolbar> svx::sidebar::PosSizePropertyPanel::mxFlipTbx
private
std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtAngle
private
std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtFlip
private
std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtHeight
private

Definition at line 90 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and ~PosSizePropertyPanel().

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtPosX
private
std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtPosY
private
std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtWidth
private
std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrAngle
private
std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrHeight
private
std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrPosX
private
std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrPosY
private
std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrWidth
private
css::uno::Reference<css::ui::XSidebar> svx::sidebar::PosSizePropertyPanel::mxSidebar
private

Definition at line 156 of file PosSizePropertyPanel.hxx.

Referenced by HandleContextChange().


The documentation for this class was generated from the following files: