diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-09-03 16:06:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-09-05 13:36:35 +0200 |
commit | 229483707c3ccb48d008d37f856bbeb6df199a90 (patch) | |
tree | c202bfb4777a66e6095fc971e317794f92399b4a /cui/source/inc/border.hxx | |
parent | Put the lib names one per line to match what ld's -filelist expects (diff) | |
download | core-229483707c3ccb48d008d37f856bbeb6df199a90.tar.gz core-229483707c3ccb48d008d37f856bbeb6df199a90.zip |
weld SvxBorderTabPage
Change-Id: I33f12f160ac5fea14c9a53c3846c6d31c7fd0084
Reviewed-on: https://gerrit.libreoffice.org/59954
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'cui/source/inc/border.hxx')
-rw-r--r-- | cui/source/inc/border.hxx | 133 |
1 files changed, 86 insertions, 47 deletions
diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx index e59638036e7d..80dea4edc8b0 100644 --- a/cui/source/inc/border.hxx +++ b/cui/source/inc/border.hxx @@ -19,12 +19,15 @@ #ifndef INCLUDED_CUI_SOURCE_INC_BORDER_HXX #define INCLUDED_CUI_SOURCE_INC_BORDER_HXX +#include <editeng/shaditem.hxx> #include <svtools/ctrlbox.hxx> #include <vcl/group.hxx> #include <vcl/field.hxx> #include <vcl/fixed.hxx> +#include <vcl/weld.hxx> #include <svtools/valueset.hxx> #include <sfx2/tabdlg.hxx> +#include <svx/algitem.hxx> #include <svx/colorbox.hxx> #include <svx/frmsel.hxx> #include <svx/flagsdef.hxx> @@ -38,6 +41,37 @@ namespace editeng class SvxBorderLine; } +class ShadowControlsWrapper +{ +public: + explicit ShadowControlsWrapper(SvtValueSet& rVsPos, weld::MetricSpinButton& rMfSize, ColorListBox& rLbColor); + + SvxShadowItem GetControlValue(const SvxShadowItem& rItem) const; + void SetControlValue(const SvxShadowItem& rItem); + +private: + SvtValueSet& mrVsPos; + weld::MetricSpinButton& mrMfSize; + ColorListBox& mrLbColor; +}; + +class MarginControlsWrapper +{ +public: + explicit MarginControlsWrapper(weld::MetricSpinButton& rMfLeft, weld::MetricSpinButton& rMfRight, + weld::MetricSpinButton& rMfTop, weld::MetricSpinButton& rMfBottom); + + SvxMarginItem GetControlValue(const SvxMarginItem& rItem) const; + void SetControlValue(const SvxMarginItem& rItem); + + bool get_value_changed_from_saved() const; + +private: + weld::MetricSpinButton& mrLeftWrp; + weld::MetricSpinButton& mrRightWrp; + weld::MetricSpinButton& mrTopWrp; + weld::MetricSpinButton& mrBottomWrp; +}; class SvxBorderTabPage : public SfxTabPage { @@ -65,49 +99,15 @@ protected: virtual void DataChanged( const DataChangedEvent& rDCEvt ) override; private: - SvxBorderTabPage( vcl::Window* pParent, const SfxItemSet& rCoreAttrs ); - - // Controls - VclPtr<ValueSet> m_pWndPresets; - VclPtr<FixedText> m_pUserDefFT; - VclPtr<svx::FrameSelector> m_pFrameSel; - - VclPtr<LineListBox> m_pLbLineStyle; - VclPtr<SvxColorListBox> m_pLbLineColor; - VclPtr<MetricField> m_pLineWidthMF; - - VclPtr<VclContainer> m_pSpacingFrame; - VclPtr<FixedText> m_pLeftFT; - VclPtr<MetricField> m_pLeftMF; - VclPtr<FixedText> m_pRightFT; - VclPtr<MetricField> m_pRightMF; - VclPtr<FixedText> m_pTopFT; - VclPtr<MetricField> m_pTopMF; - VclPtr<FixedText> m_pBottomFT; - VclPtr<MetricField> m_pBottomMF; - VclPtr<CheckBox> m_pSynchronizeCB; - - VclPtr<VclContainer> m_pShadowFrame; - VclPtr<ValueSet> m_pWndShadows; - VclPtr<FixedText> m_pFtShadowSize; - VclPtr<MetricField> m_pEdShadowSize; - VclPtr<FixedText> m_pFtShadowColor; - VclPtr<SvxColorListBox> m_pLbShadowColor; - - - VclPtr<VclContainer> m_pPropertiesFrame;///< properties - "Merge with next paragraph" in Writer - VclPtr<CheckBox> m_pMergeWithNextCB; - // #i29550# - VclPtr<CheckBox> m_pMergeAdjacentBordersCB; - VclPtr<CheckBox> m_pRemoveAdjcentCellBordersCB; - VclPtr<FixedText> m_pRemoveAdjcentCellBordersFT; + SvxBorderTabPage(TabPageParent pParent, const SfxItemSet& rCoreAttrs); - std::vector<BitmapEx> m_aShadowImgVec; - std::vector<BitmapEx> m_aBorderImgVec; + std::vector<BitmapEx> m_aShadowImgVec; + std::vector<BitmapEx> m_aBorderImgVec; long nMinValue; ///< minimum distance SwBorderModes nSWMode; ///< table, textframe, paragraph sal_uInt16 mnBoxSlot; + sal_uInt16 mnShadowSlot; bool mbHorEnabled; ///< true = Inner horizontal border enabled. bool mbVerEnabled; ///< true = Inner vertical border enabled. @@ -121,16 +121,55 @@ private: std::set<SvxBorderLineStyle> maUsedBorderStyles; + // Controls + svx::FrameSelector m_aFrameSel; + std::unique_ptr<SvtValueSet> m_xWndPresets; + std::unique_ptr<weld::CustomWeld> m_xWndPresetsWin; + std::unique_ptr<weld::Label> m_xUserDefFT; + std::unique_ptr<weld::CustomWeld> m_xFrameSelWin; + + std::unique_ptr<SvtLineListBox> m_xLbLineStyle; + std::unique_ptr<ColorListBox> m_xLbLineColor; + std::unique_ptr<weld::MetricSpinButton> m_xLineWidthMF; + + std::unique_ptr<weld::Container> m_xSpacingFrame; + std::unique_ptr<weld::Label> m_xLeftFT; + std::unique_ptr<weld::MetricSpinButton> m_xLeftMF; + std::unique_ptr<weld::Label> m_xRightFT; + std::unique_ptr<weld::MetricSpinButton> m_xRightMF; + std::unique_ptr<weld::Label> m_xTopFT; + std::unique_ptr<weld::MetricSpinButton> m_xTopMF; + std::unique_ptr<weld::Label> m_xBottomFT; + std::unique_ptr<weld::MetricSpinButton> m_xBottomMF; + std::unique_ptr<weld::CheckButton> m_xSynchronizeCB; + + std::unique_ptr<weld::Container> m_xShadowFrame; + std::unique_ptr<SvtValueSet> m_xWndShadows; + std::unique_ptr<weld::CustomWeld> m_xWndShadowsWin; + std::unique_ptr<weld::Label> m_xFtShadowSize; + std::unique_ptr<weld::MetricSpinButton> m_xEdShadowSize; + std::unique_ptr<weld::Label> m_xFtShadowColor; + std::unique_ptr<ColorListBox> m_xLbShadowColor; + + std::unique_ptr<weld::Container> m_xPropertiesFrame;///< properties - "Merge with next paragraph" in Writer + std::unique_ptr<weld::CheckButton> m_xMergeWithNextCB; + // #i29550# + std::unique_ptr<weld::CheckButton> m_xMergeAdjacentBordersCB; + std::unique_ptr<weld::CheckButton> m_xRemoveAdjcentCellBordersCB; + std::unique_ptr<weld::Label> m_xRemoveAdjcentCellBordersFT; + std::unique_ptr<ShadowControlsWrapper> m_xShadowControls; + std::unique_ptr<MarginControlsWrapper> m_xMarginControls; + // Handler - DECL_LINK( SelStyleHdl_Impl, ListBox&, void ); - DECL_LINK( SelColHdl_Impl, SvxColorListBox&, void ); - DECL_LINK( SelPreHdl_Impl, ValueSet*, void ); - DECL_LINK( SelSdwHdl_Impl, ValueSet*, void ); - DECL_LINK( LinesChanged_Impl, LinkParamNone*, void ); - DECL_LINK( ModifyDistanceHdl_Impl, Edit&, void); - DECL_LINK( ModifyWidthHdl_Impl, Edit&, void); - DECL_LINK( SyncHdl_Impl, Button*, void); - DECL_LINK( RemoveAdjacentCellBorderHdl_Impl, Button*, void); + DECL_LINK(SelStyleHdl_Impl, SvtLineListBox&, void); + DECL_LINK(SelColHdl_Impl, ColorListBox&, void); + DECL_LINK(SelPreHdl_Impl, SvtValueSet*, void); + DECL_LINK(SelSdwHdl_Impl, SvtValueSet*, void); + DECL_LINK(LinesChanged_Impl, LinkParamNone*, void); + DECL_LINK(ModifyDistanceHdl_Impl, weld::MetricSpinButton&, void); + DECL_LINK(ModifyWidthHdl_Impl, weld::MetricSpinButton&, void); + DECL_LINK(SyncHdl_Impl, weld::ToggleButton&, void); + DECL_LINK(RemoveAdjacentCellBorderHdl_Impl, weld::ToggleButton&, void); sal_uInt16 GetPresetImageId(sal_uInt16 nValueSetIdx) const; const char* GetPresetStringId(sal_uInt16 nValueSetIdx) const; |