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, css::uno::Reference< css::ui::XSidebar > xSidebar)
 
virtual void GetControlState (const sal_uInt16 nSId, boost::property_tree::ptree &rState) override
 
- Public Member Functions inherited from PanelLayout
 PanelLayout (weld::Widget *pParent, const OUString &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::ControllerItem::ItemUpdateReceiverInterface
virtual void NotifyItemUpdate (const sal_uInt16 nSId, const SfxItemState eState, const SfxPoolItem *pState)=0
 
virtual void GetControlState (const sal_uInt16 nSId, boost::property_tree::ptree &rState)=0
 
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, ClickObjectEditHdl, 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::ButtonmxBtnEditOLEObject
 
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 void DumpAsPropertyTree (tools::JsonWriter &)
 
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

◆ ~PosSizePropertyPanel()

svx::sidebar::PosSizePropertyPanel::~PosSizePropertyPanel ( )
overridevirtual

◆ PosSizePropertyPanel()

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

Member Function Documentation

◆ Create()

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 247 of file PosSizePropertyPanel.cxx.

◆ DECL_LINK() [1/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangeHeightHdl  ,
weld::MetricSpinButton ,
void   
)
private

◆ DECL_LINK() [2/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangePosXHdl  ,
weld::MetricSpinButton ,
void   
)
private

◆ DECL_LINK() [3/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangePosYHdl  ,
weld::MetricSpinButton ,
void   
)
private

◆ DECL_LINK() [4/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ChangeWidthHdl  ,
weld::MetricSpinButton ,
void   
)
private

◆ DECL_LINK() [5/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( ClickAutoHdl  ,
weld::Toggleable ,
void   
)
private

◆ DECL_LINK() [6/6]

svx::sidebar::PosSizePropertyPanel::DECL_LINK ( RotationHdl  ,
svx::DialControl ,
void   
)
private

◆ DECL_STATIC_LINK()

svx::sidebar::PosSizePropertyPanel::DECL_STATIC_LINK ( PosSizePropertyPanel  ,
ClickObjectEditHdl  ,
weld::Button ,
void   
)
private

◆ DisableControls()

void svx::sidebar::PosSizePropertyPanel::DisableControls ( )
private

◆ DumpAsPropertyTree()

void svx::sidebar::PosSizePropertyPanel::DumpAsPropertyTree ( tools::JsonWriter rJsonWriter)
overridevirtual

◆ executeSize()

void svx::sidebar::PosSizePropertyPanel::executeSize ( )
private

◆ GetBindings()

SfxBindings * svx::sidebar::PosSizePropertyPanel::GetBindings ( )
inline

Definition at line 67 of file PosSizePropertyPanel.hxx.

References mpBindings.

Referenced by executeSize(), and UpdateUIScale().

◆ GetControlState()

void svx::sidebar::PosSizePropertyPanel::GetControlState ( const sal_uInt16  nSId,
boost::property_tree::ptree &  rState 
)
overridevirtual

◆ GetCurrentUnit()

FieldUnit svx::sidebar::PosSizePropertyPanel::GetCurrentUnit ( SfxItemState  eState,
const SfxPoolItem pState 
)
staticprivate

◆ HandleContextChange()

void svx::sidebar::PosSizePropertyPanel::HandleContextChange ( const vcl::EnumContext rContext)
overridevirtual

◆ Initialize()

void svx::sidebar::PosSizePropertyPanel::Initialize ( )
private

◆ MetricState()

void svx::sidebar::PosSizePropertyPanel::MetricState ( SfxItemState  eState,
const SfxPoolItem pState 
)
private

◆ NotifyItemUpdate()

void svx::sidebar::PosSizePropertyPanel::NotifyItemUpdate ( const sal_uInt16  nSId,
const SfxItemState  eState,
const SfxPoolItem pState 
)
overridevirtual

◆ SetPosSizeMinMax()

void svx::sidebar::PosSizePropertyPanel::SetPosSizeMinMax ( )
private

◆ UpdateUIScale()

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 1061 of file PosSizePropertyPanel.cxx.

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

Referenced by NotifyItemUpdate().

Member Data Documentation

◆ m_aMetricCtl

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

Definition at line 145 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maAutoHeightControl

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

Definition at line 144 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maAutoWidthControl

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

Definition at line 143 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maContext

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

Definition at line 147 of file PosSizePropertyPanel.hxx.

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

◆ maProPosControl

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

Definition at line 141 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maProSizeControl

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

Definition at line 142 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maRect

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

Definition at line 121 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

◆ maRotXControl

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

Definition at line 139 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maRotYControl

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

Definition at line 140 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maSvxAngleControl

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

Definition at line 138 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maTransfHeightControl

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

Definition at line 136 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maTransfPosXControl

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

Definition at line 133 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maTransfPosYControl

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

Definition at line 134 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ maTransfWidthControl

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

Definition at line 135 of file PosSizePropertyPanel.hxx.

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

◆ maUIScale

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

Definition at line 128 of file PosSizePropertyPanel.hxx.

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

◆ maWorkArea

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

Definition at line 122 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

◆ mbAdjustEnabled

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

Definition at line 154 of file PosSizePropertyPanel.hxx.

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

◆ mbAutoHeight

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

Definition at line 153 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

◆ mbAutoWidth

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

Definition at line 152 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

◆ mbPositionProtected

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

Definition at line 151 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

◆ mbSizeProtected

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

Definition at line 150 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

◆ meDlgUnit

FieldUnit svx::sidebar::PosSizePropertyPanel::meDlgUnit
private

◆ mePoolUnit

MapUnit svx::sidebar::PosSizePropertyPanel::mePoolUnit
private

◆ mlOldHeight

sal_uInt32 svx::sidebar::PosSizePropertyPanel::mlOldHeight
private

Definition at line 125 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

◆ mlOldWidth

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

Definition at line 124 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

◆ mlRotX

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

Definition at line 126 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

◆ mlRotY

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

Definition at line 127 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

◆ mpBindings

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

Definition at line 148 of file PosSizePropertyPanel.hxx.

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

◆ mpView

const SdrView* svx::sidebar::PosSizePropertyPanel::mpView
private

◆ mxAlignDispatch

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

Definition at line 113 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxAlignDispatch2

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

Definition at line 115 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxAlignTbx

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

Definition at line 112 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxAlignTbx2

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

Definition at line 114 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxArrangeDispatch

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

Definition at line 108 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxArrangeDispatch2

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

Definition at line 110 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxArrangeTbx

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

Definition at line 107 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxArrangeTbx2

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

Definition at line 109 of file PosSizePropertyPanel.hxx.

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

◆ mxBtnEditOLEObject

std::unique_ptr<weld::Button> svx::sidebar::PosSizePropertyPanel::mxBtnEditOLEObject
private

◆ mxCbxScale

std::unique_ptr<weld::CheckButton> svx::sidebar::PosSizePropertyPanel::mxCbxScale
private

◆ mxCtrlDial

std::unique_ptr<svx::DialControl> svx::sidebar::PosSizePropertyPanel::mxCtrlDial
private

◆ mxDial

std::unique_ptr<weld::CustomWeld> svx::sidebar::PosSizePropertyPanel::mxDial
private

◆ mxFlipDispatch

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

Definition at line 105 of file PosSizePropertyPanel.hxx.

Referenced by ~PosSizePropertyPanel().

◆ mxFlipTbx

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

◆ mxFtAngle

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtAngle
private

◆ mxFtFlip

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtFlip
private

◆ mxFtHeight

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtHeight
private

Definition at line 90 of file PosSizePropertyPanel.hxx.

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

◆ mxFtPosX

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtPosX
private

◆ mxFtPosY

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtPosY
private

◆ mxFtWidth

std::unique_ptr<weld::Label> svx::sidebar::PosSizePropertyPanel::mxFtWidth
private

◆ mxMtrAngle

std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrAngle
private

◆ mxMtrHeight

std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrHeight
private

◆ mxMtrPosX

std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrPosX
private

◆ mxMtrPosY

std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrPosY
private

◆ mxMtrWidth

std::unique_ptr<weld::MetricSpinButton> svx::sidebar::PosSizePropertyPanel::mxMtrWidth
private

◆ mxSidebar

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: