LibreOffice Module svx (master)
1
|
#include <PosSizePropertyPanel.hxx>
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 |
SfxBindings * | GetBindings () |
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 |
![]() | |
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 |
![]() | |
virtual | ~IContextChangeReceiver () |
![]() | |
virtual | ~ItemUpdateReceiverInterface () |
Static Public Member Functions | |
static VclPtr< vcl::Window > | Create (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) |
Additional Inherited Members | |
![]() | |
std::unique_ptr< weld::Builder > | m_xBuilder |
VclPtr< vcl::Window > | m_xVclContentArea |
std::unique_ptr< weld::Container > | m_xContainer |
weld::Widget * | m_pInitialFocusWidget |
Definition at line 43 of file PosSizePropertyPanel.hxx.
|
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 | ||
) |
Definition at line 58 of file PosSizePropertyPanel.cxx.
References CM, DEGREE, INCH, Initialize(), maContext, mpBindings, mpView, mxFtWidth, SvxResId(), and SfxBindings::Update().
|
static |
Definition at line 257 of file PosSizePropertyPanel.cxx.
References VclPtr< reference_type >::Create().
|
overridevirtual |
Definition at line 278 of file PosSizePropertyPanel.cxx.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 950 of file PosSizePropertyPanel.cxx.
References mbAdjustEnabled, mbAutoHeight, mbAutoWidth, mbPositionProtected, mbSizeProtected, mxCbxScale, mxDial, mxFlipTbx, mxFtAngle, mxFtFlip, mxFtHeight, mxFtPosX, mxFtPosY, mxFtWidth, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, and mxMtrWidth.
Referenced by NotifyItemUpdate().
Reimplemented from PanelLayout.
Definition at line 142 of file PosSizePropertyPanel.cxx.
References SfxControllerItem::dispose(), PanelLayout::dispose(), m_aMetricCtl, maAutoHeightControl, maAutoWidthControl, maProPosControl, maProSizeControl, maRotXControl, maRotYControl, maSvxAngleControl, maTransfHeightControl, maTransfPosXControl, maTransfPosYControl, maTransfWidthControl, mxAlignDispatch, mxAlignDispatch2, mxAlignTbx, mxAlignTbx2, mxArrangeDispatch, mxArrangeDispatch2, mxArrangeTbx, mxArrangeTbx2, mxBtnEditChart, mxCbxScale, mxCtrlDial, mxDial, mxFlipDispatch, mxFlipTbx, mxFtAngle, mxFtFlip, mxFtHeight, mxFtPosX, mxFtPosY, mxFtWidth, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, and mxMtrWidth.
|
overridevirtual |
Definition at line 868 of file PosSizePropertyPanel.cxx.
References GetCurrentUnit(), meDlgUnit, mpBindings, and SfxBindings::Update().
|
private |
Definition at line 822 of file PosSizePropertyPanel.cxx.
References CombinedEnumContext, SfxDispatcher::ExecuteList(), GetBindings(), vcl::EnumContext::GetCombinedContext_DI(), SfxBindings::GetDispatcher(), SdrPaintView::GetModel(), SdrModel::GetUIScale(), OutputDevice::LogicToLogic(), LT, maContext, mePoolUnit, mpView, mxMtrHeight, and mxMtrWidth.
|
inline |
Definition at line 71 of file PosSizePropertyPanel.hxx.
References mpBindings.
Referenced by executeSize(), and UpdateUIScale().
|
overridevirtual |
Implements sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface.
Definition at line 795 of file PosSizePropertyPanel.cxx.
References weld::MetricSpinButton::get_buildable_name(), weld::MetricSpinButton::get_digits(), weld::MetricSpinButton::get_text(), weld::MetricSpinButton::get_unit(), weld::MetricSpinButton::get_value(), AllSettings::GetNeutralLocaleDataWrapper(), Application::GetSettings(), mxMtrHeight, mxMtrPosX, mxMtrPosY, and mxMtrWidth.
|
staticprivate |
Definition at line 916 of file PosSizePropertyPanel.cxx.
References SfxViewFrame::Current(), SfxShell::GetItem(), SfxObjectShell::GetModule(), SfxViewFrame::GetObjectShell(), GetValue, and SAL_WARN.
Referenced by DumpAsPropertyTree(), and MetricState().
|
overridevirtual |
Implements sfx2::sidebar::IContextChangeReceiver.
Definition at line 283 of file PosSizePropertyPanel.cxx.
References CombinedEnumContext, vcl::EnumContext::GetCombinedContext_DI(), maContext, mxArrangeTbx2, mxBtnEditChart, mxCtrlDial, mxFlipTbx, mxFtAngle, mxFtFlip, mxFtPosX, mxFtPosY, mxMtrAngle, mxMtrPosX, mxMtrPosY, and mxSidebar.
|
private |
Definition at line 215 of file PosSizePropertyPanel.cxx.
References SfxViewShell::Current(), weld::Widget::get_approximate_digit_width(), weld::Widget::get_text_height(), SfxControllerItem::GetCoreMetric(), SfxViewShell::GetDrawView(), SdrPaintView::GetModel(), SdrModel::GetUIScale(), Size::Height(), LINK, maTransfWidthControl, maUIScale, mbAdjustEnabled, mePoolUnit, mpView, mxBtnEditChart, mxCbxScale, mxCtrlDial, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, mxMtrWidth, weld::Widget::set_size_request(), and Size::Width().
Referenced by PosSizePropertyPanel().
|
private |
Definition at line 878 of file PosSizePropertyPanel.cxx.
References GetCurrentUnit(), meDlgUnit, mxMtrHeight, mxMtrPosX, mxMtrPosY, mxMtrWidth, SetFieldUnit(), and SetPosSizeMinMax().
Referenced by NotifyItemUpdate().
|
overridevirtual |
Implements sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface.
Definition at line 497 of file PosSizePropertyPanel.cxx.
References CombinedEnumContext, SfxViewShell::Current(), DisableControls(), o3tl::strong_int< UNDERLYING_TYPE, PHANTOM_TYPE >::get(), vcl::EnumContext::GetCombinedContext_DI(), SfxControllerItem::GetCoreMetric(), SfxViewShell::GetDrawView(), SdrMarkView::GetMarkedObjectList(), SdrObject::GetObjIdentifier(), SvtViewOptions::GetUserItem(), CntInt32Item::GetValue(), CntUInt32Item::GetValue(), SfxBoolItem::GetValue(), SdrAngleItem::GetValue(), maContext, maTransfWidthControl, maUIScale, mbAdjustEnabled, mbAutoHeight, mbAutoWidth, mbPositionProtected, mbSizeProtected, meDlgUnit, mePoolUnit, MetricState(), mlOldHeight, mlOldWidth, mlRotX, mlRotY, mpView, mxCbxScale, mxCtrlDial, mxDial, mxFlipTbx, mxFtAngle, mxFtFlip, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, mxMtrWidth, NormAngle36000(), OBJ_CAPTION, OBJ_EDGE, SetFieldUnit(), SetMetricValue(), UpdateUIScale(), and USERITEM_NAME.
|
private |
Definition at line 1028 of file PosSizePropertyPanel.cxx.
References vcl::unotools::b2DRectangleFromRectangle(), TransfrmHelper::ConvertRect(), vcl::ConvertValue(), basegfx::fround64(), SdrMarkView::GetAllMarkedRect(), basegfx::B2DRange::getHeight(), basegfx::B2DRange::getMaxX(), basegfx::B2DRange::getMaxY(), basegfx::B2DRange::getMinX(), basegfx::B2DRange::getMinY(), SdrPaintView::GetModel(), SdrPaintView::GetSdrPageView(), SdrModel::GetUIScale(), basegfx::B2DRange::getWidth(), SdrDragView::GetWorkArea(), SdrPageView::LogicToPagePos(), LONG_MAX, maRect, maWorkArea, meDlgUnit, mePoolUnit, mpView, mxMtrHeight, mxMtrPosX, mxMtrPosY, mxMtrWidth, and TransfrmHelper::ScaleRect().
Referenced by MetricState().
|
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().
|
private |
Definition at line 149 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 148 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 147 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 151 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), HandleContextChange(), and NotifyItemUpdate().
|
private |
Definition at line 145 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 146 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 125 of file PosSizePropertyPanel.hxx.
Referenced by SetPosSizeMinMax().
|
private |
Definition at line 143 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 144 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 142 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 140 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 137 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 138 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 139 of file PosSizePropertyPanel.hxx.
Referenced by dispose(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 132 of file PosSizePropertyPanel.hxx.
Referenced by Initialize(), NotifyItemUpdate(), and UpdateUIScale().
|
private |
Definition at line 126 of file PosSizePropertyPanel.hxx.
Referenced by SetPosSizeMinMax().
|
private |
Definition at line 158 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 157 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 156 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 155 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 154 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 134 of file PosSizePropertyPanel.hxx.
Referenced by DumpAsPropertyTree(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 133 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), Initialize(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 129 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 128 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 130 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 131 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 152 of file PosSizePropertyPanel.hxx.
Referenced by DumpAsPropertyTree(), GetBindings(), and PosSizePropertyPanel().
|
private |
Definition at line 127 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), Initialize(), NotifyItemUpdate(), SetPosSizeMinMax(), and UpdateUIScale().
|
private |
Definition at line 117 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 119 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 116 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 118 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 112 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 114 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 111 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 113 of file PosSizePropertyPanel.hxx.
Referenced by dispose(), and HandleContextChange().
|
private |
Definition at line 122 of file PosSizePropertyPanel.hxx.
Referenced by dispose(), HandleContextChange(), and Initialize().
|
private |
Definition at line 96 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 103 of file PosSizePropertyPanel.hxx.
Referenced by dispose(), HandleContextChange(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 104 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), and NotifyItemUpdate().
|
private |
Definition at line 109 of file PosSizePropertyPanel.hxx.
Referenced by dispose().
|
private |
Definition at line 108 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), HandleContextChange(), and NotifyItemUpdate().
|
private |
Definition at line 99 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), HandleContextChange(), and NotifyItemUpdate().
|
private |
Definition at line 107 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), HandleContextChange(), and NotifyItemUpdate().
|
private |
Definition at line 94 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and dispose().
|
private |
Definition at line 86 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), and HandleContextChange().
|
private |
Definition at line 88 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), and HandleContextChange().
|
private |
Definition at line 92 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), and PosSizePropertyPanel().
|
private |
Definition at line 100 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), HandleContextChange(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 95 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), executeSize(), GetControlState(), Initialize(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 87 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), GetControlState(), HandleContextChange(), Initialize(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 89 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), GetControlState(), HandleContextChange(), Initialize(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 93 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), dispose(), executeSize(), GetControlState(), Initialize(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 160 of file PosSizePropertyPanel.hxx.
Referenced by HandleContextChange().