LibreOffice Module svx (master) 1
|
#include <PosSizePropertyPanel.hxx>
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 |
SfxBindings * | GetBindings () |
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< PanelLayout > | Create (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) |
Additional Inherited Members | |
Protected Member Functions inherited from PanelLayout | |
virtual void | DataChanged (const DataChangedEvent &rEvent) |
virtual void | DumpAsPropertyTree (tools::JsonWriter &) |
virtual weld::Window * | GetFrameWeld () const |
Protected Attributes inherited from PanelLayout | |
std::unique_ptr< weld::Builder > | m_xBuilder |
std::unique_ptr< weld::Container > | m_xContainer |
sfx2::sidebar::Panel * | m_pPanel |
Definition at line 43 of file PosSizePropertyPanel.hxx.
|
overridevirtual |
Definition at line 135 of file PosSizePropertyPanel.cxx.
References SfxControllerItem::dispose(), m_aMetricCtl, maAutoHeightControl, maAutoWidthControl, maProPosControl, maProSizeControl, maRotXControl, maRotYControl, maSvxAngleControl, maTransfHeightControl, maTransfPosXControl, maTransfPosYControl, maTransfWidthControl, mxAlignDispatch, mxAlignDispatch2, mxAlignTbx, mxAlignTbx2, mxArrangeDispatch, mxArrangeDispatch2, mxArrangeTbx, mxArrangeTbx2, mxBtnEditOLEObject, mxCbxScale, mxCtrlDial, mxDial, mxFlipDispatch, mxFlipTbx, mxFtAngle, mxFtFlip, mxFtHeight, mxFtPosX, mxFtPosY, mxFtWidth, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, and mxMtrWidth.
svx::sidebar::PosSizePropertyPanel::PosSizePropertyPanel | ( | weld::Widget * | pParent, |
const css::uno::Reference< css::frame::XFrame > & | rxFrame, | ||
SfxBindings * | pBindings, | ||
css::uno::Reference< css::ui::XSidebar > | xSidebar | ||
) |
Definition at line 59 of file PosSizePropertyPanel.cxx.
References CM, DEGREE, INCH, Initialize(), mpBindings, mpView, mxFtWidth, SvxResId(), and SfxBindings::Update().
|
static |
Definition at line 247 of file PosSizePropertyPanel.cxx.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 933 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().
|
overridevirtual |
Reimplemented from PanelLayout.
Definition at line 848 of file PosSizePropertyPanel.cxx.
References PanelLayout::DumpAsPropertyTree(), GetCurrentUnit(), meDlgUnit, mpBindings, and SfxBindings::Update().
|
private |
Definition at line 802 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 67 of file PosSizePropertyPanel.hxx.
References mpBindings.
Referenced by executeSize(), and UpdateUIScale().
|
overridevirtual |
Implements sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface.
Definition at line 775 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 899 of file PosSizePropertyPanel.cxx.
References SfxViewFrame::Current(), SfxShell::GetItem(), SfxObjectShell::GetModule(), SfxViewFrame::GetObjectShell(), GetValue, and SAL_WARN.
Referenced by DumpAsPropertyTree(), and MetricState().
|
overridevirtual |
Definition at line 263 of file PosSizePropertyPanel.cxx.
References CombinedEnumContext, vcl::EnumContext::GetCombinedContext_DI(), maContext, mxArrangeTbx2, mxBtnEditOLEObject, mxCtrlDial, mxFlipTbx, mxFtAngle, mxFtFlip, mxFtPosX, mxFtPosY, mxMtrAngle, mxMtrPosX, mxMtrPosY, and mxSidebar.
|
private |
Definition at line 205 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, mxBtnEditOLEObject, mxCbxScale, mxCtrlDial, mxMtrAngle, mxMtrHeight, mxMtrPosX, mxMtrPosY, mxMtrWidth, weld::Widget::set_size_request(), and Size::Width().
Referenced by PosSizePropertyPanel().
|
private |
Definition at line 858 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 477 of file PosSizePropertyPanel.cxx.
References Caption, CombinedEnumContext, SfxViewShell::Current(), DisableControls(), Edge, o3tl::strong_int< typename UNDERLYING_TYPE, typename PHANTOM_TYPE >::get(), vcl::EnumContext::GetCombinedContext_DI(), SfxControllerItem::GetCoreMetric(), SfxViewShell::GetDrawView(), SdrMarkList::GetMark(), SdrMarkList::GetMarkCount(), SdrMarkView::GetMarkedObjectList(), SdrMark::GetMarkedSdrObj(), 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(), SetFieldUnit(), SetMetricValue(), UpdateUIScale(), and USERITEM_NAME.
|
private |
Definition at line 1011 of file PosSizePropertyPanel.cxx.
References vcl::unotools::b2DRectangleFromRectangle(), TransfrmHelper::ConvertRect(), vcl::ConvertValue(), basegfx::fround64(), SdrMarkView::GetAllMarkedRect(), basegfx::Range2D< typename TYPE, typename TRAITS >::getHeight(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), SdrPaintView::GetModel(), SdrPaintView::GetSdrPageView(), SdrModel::GetUIScale(), basegfx::Range2D< typename TYPE, typename TRAITS >::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 1061 of file PosSizePropertyPanel.cxx.
References GetBindings(), SdrPaintView::GetModel(), SdrModel::GetUIScale(), SfxBindings::Invalidate(), maUIScale, and mpView.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 145 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 144 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 143 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 147 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), HandleContextChange(), and NotifyItemUpdate().
|
private |
Definition at line 141 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 142 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 121 of file PosSizePropertyPanel.hxx.
Referenced by SetPosSizeMinMax().
|
private |
Definition at line 139 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 140 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 138 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 136 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 133 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 134 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 135 of file PosSizePropertyPanel.hxx.
Referenced by Initialize(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 128 of file PosSizePropertyPanel.hxx.
Referenced by Initialize(), NotifyItemUpdate(), and UpdateUIScale().
|
private |
Definition at line 122 of file PosSizePropertyPanel.hxx.
Referenced by SetPosSizeMinMax().
|
private |
Definition at line 154 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), Initialize(), and NotifyItemUpdate().
|
private |
Definition at line 153 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 152 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 151 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 150 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and NotifyItemUpdate().
|
private |
Definition at line 130 of file PosSizePropertyPanel.hxx.
Referenced by DumpAsPropertyTree(), MetricState(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 129 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), Initialize(), NotifyItemUpdate(), and SetPosSizeMinMax().
|
private |
Definition at line 125 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 124 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 126 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 127 of file PosSizePropertyPanel.hxx.
Referenced by NotifyItemUpdate().
|
private |
Definition at line 148 of file PosSizePropertyPanel.hxx.
Referenced by DumpAsPropertyTree(), GetBindings(), and PosSizePropertyPanel().
|
private |
Definition at line 123 of file PosSizePropertyPanel.hxx.
Referenced by executeSize(), Initialize(), NotifyItemUpdate(), SetPosSizeMinMax(), and UpdateUIScale().
|
private |
Definition at line 113 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 115 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 112 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 114 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 108 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 110 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 107 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 109 of file PosSizePropertyPanel.hxx.
Referenced by HandleContextChange(), and ~PosSizePropertyPanel().
|
private |
Definition at line 118 of file PosSizePropertyPanel.hxx.
Referenced by HandleContextChange(), Initialize(), and ~PosSizePropertyPanel().
|
private |
Definition at line 92 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), Initialize(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 99 of file PosSizePropertyPanel.hxx.
Referenced by HandleContextChange(), Initialize(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 100 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 105 of file PosSizePropertyPanel.hxx.
Referenced by ~PosSizePropertyPanel().
|
private |
Definition at line 104 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 95 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 103 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 90 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), and ~PosSizePropertyPanel().
|
private |
Definition at line 82 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), and ~PosSizePropertyPanel().
|
private |
Definition at line 84 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), and ~PosSizePropertyPanel().
|
private |
Definition at line 88 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), PosSizePropertyPanel(), and ~PosSizePropertyPanel().
|
private |
Definition at line 96 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), HandleContextChange(), Initialize(), NotifyItemUpdate(), and ~PosSizePropertyPanel().
|
private |
Definition at line 91 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), executeSize(), GetControlState(), Initialize(), MetricState(), NotifyItemUpdate(), SetPosSizeMinMax(), and ~PosSizePropertyPanel().
|
private |
Definition at line 83 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), GetControlState(), HandleContextChange(), Initialize(), MetricState(), NotifyItemUpdate(), SetPosSizeMinMax(), and ~PosSizePropertyPanel().
|
private |
Definition at line 85 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), GetControlState(), HandleContextChange(), Initialize(), MetricState(), NotifyItemUpdate(), SetPosSizeMinMax(), and ~PosSizePropertyPanel().
|
private |
Definition at line 89 of file PosSizePropertyPanel.hxx.
Referenced by DisableControls(), executeSize(), GetControlState(), Initialize(), MetricState(), NotifyItemUpdate(), SetPosSizeMinMax(), and ~PosSizePropertyPanel().
|
private |
Definition at line 156 of file PosSizePropertyPanel.hxx.
Referenced by HandleContextChange().