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 dispose () override
 
virtual void DataChanged (const DataChangedEvent &rEvent) 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 (vcl::Window *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 (vcl::Window *pParent, const OString &rID, const OUString &rUIXMLDescription, const css::uno::Reference< css::frame::XFrame > &rFrame)
 
virtual ~PanelLayout () override
 
virtual Size GetOptimalSize () const override
 
virtual void GetFocus () override
 
virtual void setPosSizePixel (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags=PosSizeFlags::All) override
 
virtual void queue_resize (StateChangedType eReason=StateChangedType::Layout) override
 
virtual bool EventNotify (NotifyEvent &rNEvt) override
 
- 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 VclPtr< vcl::WindowCreate (vcl::Window *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::ToggleButton &, 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 Attributes inherited from PanelLayout
std::unique_ptr< weld::Builderm_xBuilder
 
VclPtr< vcl::Windowm_xVclContentArea
 
std::unique_ptr< weld::Containerm_xContainer
 
weld::Widgetm_pInitialFocusWidget
 

Detailed Description

Definition at line 43 of file PosSizePropertyPanel.hxx.

Constructor & Destructor Documentation

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

Definition at line 137 of file PosSizePropertyPanel.cxx.

svx::sidebar::PosSizePropertyPanel::PosSizePropertyPanel ( vcl::Window pParent,
const css::uno::Reference< css::frame::XFrame > &  rxFrame,
SfxBindings pBindings,
const css::uno::Reference< css::ui::XSidebar > &  rxSidebar 
)

Member Function Documentation

VclPtr< vcl::Window > svx::sidebar::PosSizePropertyPanel::Create ( vcl::Window pParent,
const css::uno::Reference< css::frame::XFrame > &  rxFrame,
SfxBindings pBindings,
const css::uno::Reference< css::ui::XSidebar > &  rxSidebar 
)
static

Definition at line 257 of file PosSizePropertyPanel.cxx.

References VclPtr< reference_type >::Create().

void svx::sidebar::PosSizePropertyPanel::DataChanged ( const DataChangedEvent rEvent)
overridevirtual

Definition at line 278 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::ToggleButton ,
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::dispose ( void  )
overridevirtual
void svx::sidebar::PosSizePropertyPanel::DumpAsPropertyTree ( tools::JsonWriter rJsonWriter)
overridevirtual
void svx::sidebar::PosSizePropertyPanel::executeSize ( )
private
SfxBindings* svx::sidebar::PosSizePropertyPanel::GetBindings ( )
inline

Definition at line 71 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 1078 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 149 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 148 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 147 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 151 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 145 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 146 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 125 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

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

Definition at line 143 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 144 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 142 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 140 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 137 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 138 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 139 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 132 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 126 of file PosSizePropertyPanel.hxx.

Referenced by SetPosSizeMinMax().

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

Definition at line 158 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 157 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

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

Definition at line 156 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

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

Definition at line 155 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and NotifyItemUpdate().

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

Definition at line 154 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 129 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

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

Definition at line 128 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

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

Definition at line 130 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

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

Definition at line 131 of file PosSizePropertyPanel.hxx.

Referenced by NotifyItemUpdate().

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

Definition at line 152 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 117 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 119 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 116 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 118 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 112 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 114 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 111 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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

Definition at line 113 of file PosSizePropertyPanel.hxx.

Referenced by dispose(), and HandleContextChange().

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

Definition at line 122 of file PosSizePropertyPanel.hxx.

Referenced by dispose(), HandleContextChange(), and Initialize().

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

Definition at line 96 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 104 of file PosSizePropertyPanel.hxx.

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

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

Definition at line 109 of file PosSizePropertyPanel.hxx.

Referenced by dispose().

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 94 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), and dispose().

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

Definition at line 86 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), dispose(), and HandleContextChange().

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

Definition at line 88 of file PosSizePropertyPanel.hxx.

Referenced by DisableControls(), dispose(), and HandleContextChange().

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

Definition at line 92 of file PosSizePropertyPanel.hxx.

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

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 160 of file PosSizePropertyPanel.hxx.

Referenced by HandleContextChange().


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