diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-06-15 14:03:31 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-06-17 17:12:32 +0200 |
commit | 7958091b06954a7b253fdebb9ea0313db9217959 (patch) | |
tree | 614d4582389d92afc994ae143bdc2785cf7152b4 | |
parent | d60d695fcc5064e1f16842387fdce23456a64694 (diff) |
weld SvxPageDescPage
Change-Id: I5e2457b51a294cbdacc5c78db4ec0a048567b93d
Reviewed-on: https://gerrit.libreoffice.org/55877
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | cui/source/inc/page.hxx | 125 | ||||
-rw-r--r-- | cui/source/tabpages/page.cxx | 905 | ||||
-rw-r--r-- | cui/uiconfig/ui/pageformatpage.ui | 85 | ||||
-rw-r--r-- | extras/source/glade/libreoffice-catalog.xml.in | 3 | ||||
-rw-r--r-- | include/svx/SvxNumOptionsTabPageHelper.hxx | 4 | ||||
-rw-r--r-- | include/svx/frmdirlbox.hxx | 6 | ||||
-rw-r--r-- | include/svx/pagenumberlistbox.hxx | 17 | ||||
-rw-r--r-- | include/svx/papersizelistbox.hxx | 20 | ||||
-rw-r--r-- | include/vcl/weld.hxx | 32 | ||||
-rw-r--r-- | solenv/sanitizers/ui/cui.suppr | 4 | ||||
-rw-r--r-- | svx/source/dialog/SvxNumOptionsTabPageHelper.cxx | 52 | ||||
-rw-r--r-- | svx/source/dialog/pagectrl.cxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/pagenumberlistbox.cxx | 44 | ||||
-rw-r--r-- | svx/source/dialog/papersizelistbox.cxx | 50 |
14 files changed, 699 insertions, 650 deletions
diff --git a/cui/source/inc/page.hxx b/cui/source/inc/page.hxx index 7f24edc49514..ab9f1cad1869 100644 --- a/cui/source/inc/page.hxx +++ b/cui/source/inc/page.hxx @@ -25,6 +25,7 @@ #include <vcl/group.hxx> #include <vcl/lstbox.hxx> #include <svx/pagectrl.hxx> +#include <svx/pagenumberlistbox.hxx> #include <svx/papersizelistbox.hxx> #include <svx/frmdirlbox.hxx> #include <editeng/svxenum.hxx> @@ -74,55 +75,7 @@ class SvxPageDescPage : public SfxTabPage static const sal_uInt16 pRanges[]; private: - // paper format - VclPtr<PaperSizeListBox> m_pPaperSizeBox; - - VclPtr<MetricField> m_pPaperWidthEdit; - VclPtr<MetricField> m_pPaperHeightEdit; - - VclPtr<FixedText> m_pOrientationFT; - VclPtr<RadioButton> m_pPortraitBtn; - VclPtr<RadioButton> m_pLandscapeBtn; - - VclPtr<SvxPageWindow> m_pBspWin; - - VclPtr<FixedText> m_pTextFlowLbl; - VclPtr<svx::FrameDirectionListBox> m_pTextFlowBox; - - VclPtr<ListBox> m_pPaperTrayBox; - - // Margins - VclPtr<FixedText> m_pLeftMarginLbl; - VclPtr<MetricField> m_pLeftMarginEdit; - VclPtr<FixedText> m_pRightMarginLbl; - VclPtr<MetricField> m_pRightMarginEdit; - VclPtr<MetricField> m_pTopMarginEdit; - VclPtr<MetricField> m_pBottomMarginEdit; - - // layout settings - VclPtr<FixedText> m_pPageText; - VclPtr<ListBox> m_pLayoutBox; - VclPtr<ListBox> m_pNumberFormatBox; - - //Extras Calc - VclPtr<FixedText> m_pTblAlignFT; - VclPtr<CheckBox> m_pHorzBox; - VclPtr<CheckBox> m_pVertBox; - - // Impress and Draw - VclPtr<CheckBox> m_pAdaptBox; - - //Register Writer - VclPtr<CheckBox> m_pRegisterCB; - VclPtr<FixedText> m_pRegisterFT; - VclPtr<ListBox> m_pRegisterLB; - - OUString sStandardRegister; - - VclPtr<FixedText> m_pInsideLbl; - VclPtr<FixedText> m_pOutsideLbl; - VclPtr<FixedText> m_pPrintRangeQueryText; - + OUString sStandardRegister; long nFirstLeftMargin; long nFirstRightMargin; long nFirstTopMargin; @@ -143,38 +96,76 @@ private: bool mbDelPrinter : 1; bool mbEnableDrawingLayerFillStyles : 1; + PageWindow m_aBspWin; + + // paper format + std::unique_ptr<SvxPaperSizeListBox> m_xPaperSizeBox; + std::unique_ptr<weld::MetricSpinButton> m_xPaperWidthEdit; + std::unique_ptr<weld::MetricSpinButton> m_xPaperHeightEdit; + std::unique_ptr<weld::Label> m_xOrientationFT; + std::unique_ptr<weld::RadioButton> m_xPortraitBtn; + std::unique_ptr<weld::RadioButton> m_xLandscapeBtn; + std::unique_ptr<weld::Label> m_xTextFlowLbl; + std::unique_ptr<svx::SvxFrameDirectionListBox> m_xTextFlowBox; + std::unique_ptr<weld::ComboBoxText> m_xPaperTrayBox; + // Margins + std::unique_ptr<weld::Label> m_xLeftMarginLbl; + std::unique_ptr<weld::MetricSpinButton> m_xLeftMarginEdit; + std::unique_ptr<weld::Label> m_xRightMarginLbl; + std::unique_ptr<weld::MetricSpinButton> m_xRightMarginEdit; + std::unique_ptr<weld::MetricSpinButton> m_xTopMarginEdit; + std::unique_ptr<weld::MetricSpinButton> m_xBottomMarginEdit; + // layout settings + std::unique_ptr<weld::Label> m_xPageText; + std::unique_ptr<weld::ComboBoxText> m_xLayoutBox; + std::unique_ptr<SvxPageNumberListBox> m_xNumberFormatBox; + //Extras Calc + std::unique_ptr<weld::Label> m_xTblAlignFT; + std::unique_ptr<weld::CheckButton> m_xHorzBox; + std::unique_ptr<weld::CheckButton> m_xVertBox; + // Impress and Draw + std::unique_ptr<weld::CheckButton> m_xAdaptBox; + //Register Writer + std::unique_ptr<weld::CheckButton> m_xRegisterCB; + std::unique_ptr<weld::Label> m_xRegisterFT; + std::unique_ptr<weld::ComboBoxText> m_xRegisterLB; + std::unique_ptr<weld::Label> m_xInsideLbl; + std::unique_ptr<weld::Label> m_xOutsideLbl; + std::unique_ptr<weld::Label> m_xPrintRangeQueryText; + std::unique_ptr<weld::CustomWeld> m_xBspWin; + void Init_Impl(); - DECL_LINK( LayoutHdl_Impl, ListBox&, void); - DECL_LINK( PaperBinHdl_Impl, Control&, void); - DECL_LINK( SwapOrientation_Impl, Button*, void ); - void SwapFirstValues_Impl( bool bSet ); - DECL_LINK( BorderModify_Impl, Edit&, void); - void InitHeadFoot_Impl( const SfxItemSet& rSet ); - DECL_LINK( CenterHdl_Impl, Button*, void); - void UpdateExample_Impl( bool bResetbackground = false ); + DECL_LINK(LayoutHdl_Impl, weld::ComboBoxText&, void); + DECL_LINK(PaperBinHdl_Impl, weld::ComboBoxText&, void); + DECL_LINK(SwapOrientation_Impl, weld::ToggleButton&, void); + void SwapFirstValues_Impl( bool bSet ); + DECL_LINK(BorderModify_Impl, weld::MetricSpinButton&, void); + void InitHeadFoot_Impl( const SfxItemSet& rSet ); + DECL_LINK(CenterHdl_Impl, weld::ToggleButton&, void); + void UpdateExample_Impl( bool bResetbackground = false ); - DECL_LINK( PaperSizeSelect_Impl, ListBox&, void ); - DECL_LINK( PaperSizeModify_Impl, Edit&, void); + DECL_LINK(PaperSizeSelect_Impl, weld::ComboBoxText&, void ); + DECL_LINK(PaperSizeModify_Impl, weld::MetricSpinButton&, void); - DECL_LINK( FrameDirectionModify_Impl, ListBox&, void ); + DECL_LINK(FrameDirectionModify_Impl, weld::ComboBoxText&, void ); - void ResetBackground_Impl( const SfxItemSet& rSet ); + void ResetBackground_Impl( const SfxItemSet& rSet ); - DECL_LINK( RangeHdl_Impl, Control&, void ); - void CalcMargin_Impl(); + void RangeHdl_Impl(); + void CalcMargin_Impl(); - DECL_LINK( RegisterModify, Button*, void ); + DECL_LINK(RegisterModify, weld::ToggleButton&, void); // page direction /** Disables vertical page direction entries in the text flow listbox. */ void DisableVerticalPageDir(); - bool IsPrinterRangeOverflow( MetricField& rField, long nFirstMargin, - long nLastMargin, MarginPosition nPos ); + bool IsPrinterRangeOverflow(weld::MetricSpinButton& rField, long nFirstMargin, + long nLastMargin, MarginPosition nPos); void CheckMarginEdits( bool _bClear ); bool IsMarginOutOfRange(); - SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rSet ); + SvxPageDescPage(TabPageParent pParent, const SfxItemSet& rSet); protected: virtual void ActivatePage( const SfxItemSet& rSet ) override; diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx index fea2604e4ed2..265b2d1ef72b 100644 --- a/cui/source/tabpages/page.cxx +++ b/cui/source/tabpages/page.cxx @@ -140,63 +140,51 @@ bool IsEqualSize_Impl( const SvxSizeItem* pSize, const Size& rSize ) VclPtr<SfxTabPage> SvxPageDescPage::Create( TabPageParent pParent, const SfxItemSet* rSet ) { - return VclPtr<SvxPageDescPage>::Create( pParent.pParent, *rSet ); + return VclPtr<SvxPageDescPage>::Create(pParent, *rSet); } -SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr ) : - - SfxTabPage( pParent, "PageFormatPage", "cui/ui/pageformatpage.ui", &rAttr ), - - bLandscape ( false ), - eMode ( SVX_PAGE_MODE_STANDARD ), - ePaperStart ( PAPER_A3 ), - m_nPos ( 0 ), - mpDefPrinter ( nullptr ), - mbDelPrinter ( false ), - mbEnableDrawingLayerFillStyles(false) -{ - get(m_pPaperSizeBox,"comboPageFormat"); - get(m_pPaperWidthEdit,"spinWidth"); - get(m_pPaperHeightEdit,"spinHeight"); - - get(m_pOrientationFT,"labelOrientation"); - get(m_pPortraitBtn,"radiobuttonPortrait"); - get(m_pLandscapeBtn,"radiobuttonLandscape"); - - get(m_pBspWin,"drawingareaPageDirection"); - get(m_pTextFlowLbl,"labelTextFlow"); - get(m_pTextFlowBox,"comboTextFlowBox"); - get(m_pPaperTrayBox,"comboPaperTray"); - - get(m_pLeftMarginLbl,"labelLeftMargin"); - get(m_pLeftMarginEdit,"spinMargLeft"); - get(m_pRightMarginLbl,"labelRightMargin"); - get(m_pRightMarginEdit,"spinMargRight"); - - get(m_pTopMarginEdit,"spinMargTop"); - - get(m_pBottomMarginEdit,"spinMargBot"); - - get(m_pPageText,"labelPageLayout"); - get(m_pLayoutBox,"comboPageLayout"); - get(m_pNumberFormatBox,"comboLayoutFormat"); - - get(m_pRegisterCB,"checkRegisterTrue"); - get(m_pRegisterFT,"labelRegisterStyle"); - get(m_pRegisterLB,"comboRegisterStyle"); - - get(m_pTblAlignFT,"labelTblAlign"); - get(m_pHorzBox,"checkbuttonHorz"); - get(m_pVertBox,"checkbuttonVert"); - - get(m_pAdaptBox,"checkAdaptBox"); +SvxPageDescPage::SvxPageDescPage(TabPageParent pParent, const SfxItemSet& rAttr) + : SfxTabPage(pParent, "cui/ui/pageformatpage.ui", "PageFormatPage", &rAttr) + , bLandscape(false) + , eMode(SVX_PAGE_MODE_STANDARD) + , ePaperStart(PAPER_A3) + , m_nPos(0) + , mpDefPrinter(nullptr) + , mbDelPrinter(false) + , mbEnableDrawingLayerFillStyles(false) + , m_xPaperSizeBox(new SvxPaperSizeListBox(m_xBuilder->weld_combo_box_text("comboPageFormat"))) + , m_xPaperWidthEdit(m_xBuilder->weld_metric_spin_button("spinWidth", FUNIT_CM)) + , m_xPaperHeightEdit(m_xBuilder->weld_metric_spin_button("spinHeight", FUNIT_CM)) + , m_xOrientationFT(m_xBuilder->weld_label("labelOrientation")) + , m_xPortraitBtn(m_xBuilder->weld_radio_button("radiobuttonPortrait")) + , m_xLandscapeBtn(m_xBuilder->weld_radio_button("radiobuttonLandscape")) + , m_xTextFlowLbl(m_xBuilder->weld_label("labelTextFlow")) + , m_xTextFlowBox(new svx::SvxFrameDirectionListBox(m_xBuilder->weld_combo_box_text("comboTextFlowBox"))) + , m_xPaperTrayBox(m_xBuilder->weld_combo_box_text("comboPaperTray")) + , m_xLeftMarginLbl(m_xBuilder->weld_label("labelLeftMargin")) + , m_xLeftMarginEdit(m_xBuilder->weld_metric_spin_button("spinMargLeft", FUNIT_CM)) + , m_xRightMarginLbl(m_xBuilder->weld_label("labelRightMargin")) + , m_xRightMarginEdit(m_xBuilder->weld_metric_spin_button("spinMargRight", FUNIT_CM)) + , m_xTopMarginEdit(m_xBuilder->weld_metric_spin_button("spinMargTop", FUNIT_CM)) + , m_xBottomMarginEdit(m_xBuilder->weld_metric_spin_button("spinMargBot", FUNIT_CM)) + , m_xPageText(m_xBuilder->weld_label("labelPageLayout")) + , m_xLayoutBox(m_xBuilder->weld_combo_box_text("comboPageLayout")) + , m_xNumberFormatBox(new SvxPageNumberListBox(m_xBuilder->weld_combo_box_text("comboLayoutFormat"))) + , m_xTblAlignFT(m_xBuilder->weld_label("labelTblAlign")) + , m_xHorzBox(m_xBuilder->weld_check_button("checkbuttonHorz")) + , m_xVertBox(m_xBuilder->weld_check_button("checkbuttonVert")) + , m_xAdaptBox(m_xBuilder->weld_check_button("checkAdaptBox")) + , m_xRegisterCB(m_xBuilder->weld_check_button("checkRegisterTrue")) + , m_xRegisterFT(m_xBuilder->weld_label("labelRegisterStyle")) + , m_xRegisterLB(m_xBuilder->weld_combo_box_text("comboRegisterStyle")) // Strings stored in UI - get(m_pInsideLbl,"labelInner"); - get(m_pOutsideLbl,"labelOuter"); - get(m_pPrintRangeQueryText,"labelMsg"); - + , m_xInsideLbl(m_xBuilder->weld_label("labelInner")) + , m_xOutsideLbl(m_xBuilder->weld_label("labelOuter")) + , m_xPrintRangeQueryText(m_xBuilder->weld_label("labelMsg")) + , m_xBspWin(new weld::CustomWeld(*m_xBuilder, "drawingareaPageDirection", m_aBspWin)) +{ bBorderModified = false; - m_pBspWin->EnableRTL( false ); + m_aBspWin.EnableRTL(false); // this page needs ExchangeSupport SetExchangeSupport(); @@ -215,11 +203,10 @@ SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr // fill text flow listbox with valid entries - m_pTextFlowBox->InsertEntryValue( SvxResId( RID_SVXSTR_PAGEDIR_LTR_HORI ), SvxFrameDirection::Horizontal_LR_TB ); - + m_xTextFlowBox->append(SvxFrameDirection::Horizontal_LR_TB, SvxResId(RID_SVXSTR_PAGEDIR_LTR_HORI)); - if( bCTL ) - m_pTextFlowBox->InsertEntryValue( SvxResId( RID_SVXSTR_PAGEDIR_RTL_HORI ), SvxFrameDirection::Horizontal_RL_TB ); + if (bCTL) + m_xTextFlowBox->append(SvxFrameDirection::Horizontal_RL_TB, SvxResId(RID_SVXSTR_PAGEDIR_RTL_HORI)); // #109989# do not show vertical directions in Writer/Web @@ -227,8 +214,8 @@ SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr { if( bCJK ) { - m_pTextFlowBox->InsertEntryValue( SvxResId( RID_SVXSTR_PAGEDIR_RTL_VERT ), SvxFrameDirection::Vertical_RL_TB ); - m_pTextFlowBox->InsertEntryValue( SvxResId( RID_SVXSTR_PAGEDIR_LTR_VERT ), SvxFrameDirection::Vertical_LR_TB ); + m_xTextFlowBox->append(SvxFrameDirection::Vertical_RL_TB, SvxResId(RID_SVXSTR_PAGEDIR_RTL_VERT)); + m_xTextFlowBox->append(SvxFrameDirection::Vertical_LR_TB, SvxResId(RID_SVXSTR_PAGEDIR_LTR_VERT)); } } @@ -236,21 +223,21 @@ SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr if( (bCJK || bCTL) && SfxItemState::UNKNOWN < rAttr.GetItemState(GetWhich( SID_ATTR_FRAMEDIRECTION ))) { - m_pTextFlowLbl->Show(); - m_pTextFlowBox->Show(); - m_pTextFlowBox->SetSelectHdl(LINK(this, SvxPageDescPage, FrameDirectionModify_Impl )); + m_xTextFlowLbl->show(); + m_xTextFlowBox->show(); + m_xTextFlowBox->connect_changed(LINK(this, SvxPageDescPage, FrameDirectionModify_Impl)); - m_pBspWin->EnableFrameDirection(true); + m_aBspWin.EnableFrameDirection(true); } Init_Impl(); FieldUnit eFUnit = GetModuleFieldUnit( rAttr ); - SetFieldUnit( *m_pLeftMarginEdit, eFUnit ); - SetFieldUnit( *m_pRightMarginEdit, eFUnit ); - SetFieldUnit( *m_pTopMarginEdit, eFUnit ); - SetFieldUnit( *m_pBottomMarginEdit, eFUnit ); - SetFieldUnit( *m_pPaperWidthEdit, eFUnit ); - SetFieldUnit( *m_pPaperHeightEdit, eFUnit ); + SetFieldUnit( *m_xLeftMarginEdit, eFUnit ); + SetFieldUnit( *m_xRightMarginEdit, eFUnit ); + SetFieldUnit( *m_xTopMarginEdit, eFUnit ); + SetFieldUnit( *m_xBottomMarginEdit, eFUnit ); + SetFieldUnit( *m_xPaperWidthEdit, eFUnit ); + SetFieldUnit( *m_xPaperHeightEdit, eFUnit ); if ( SfxViewShell::Current() && SfxViewShell::Current()->GetPrinter() ) { @@ -268,6 +255,7 @@ SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr // set first- and last-values for the margins Size aPaperSize = mpDefPrinter->GetPaperSize(); Size aPrintSize = mpDefPrinter->GetOutputSize(); + /* * To convert a point ( 0,0 ) into logic coordinates * looks like nonsense; but it makes sense when the @@ -277,55 +265,33 @@ SvxPageDescPage::SvxPageDescPage( vcl::Window* pParent, const SfxItemSet& rAttr mpDefPrinter->SetMapMode( aOldMode ); long nOffset = !aPrintOffset.X() && !aPrintOffset.Y() ? 0 : PRINT_OFFSET; - m_pLeftMarginEdit->SetFirst( m_pLeftMarginEdit->Normalize( aPrintOffset.X() ), FUNIT_TWIP ); - nFirstLeftMargin = static_cast<long>(m_pLeftMarginEdit->GetFirst()); - - m_pRightMarginEdit->SetFirst( m_pRightMarginEdit->Normalize( aPaperSize.Width() - aPrintSize.Width() - aPrintOffset.X() + nOffset ), FUNIT_TWIP); - nFirstRightMargin = static_cast<long>(m_pRightMarginEdit->GetFirst()); - - m_pTopMarginEdit->SetFirst( m_pTopMarginEdit->Normalize( aPrintOffset.Y() ), FUNIT_TWIP ); - nFirstTopMargin = static_cast<long>(m_pTopMarginEdit->GetFirst()); - - m_pBottomMarginEdit->SetFirst( m_pBottomMarginEdit->Normalize( aPaperSize.Height() - aPrintSize.Height() - aPrintOffset.Y() + nOffset ), FUNIT_TWIP ); - nFirstBottomMargin = static_cast<long>(m_pBottomMarginEdit->GetFirst()); - - m_pLeftMarginEdit->SetLast( m_pLeftMarginEdit->Normalize( aPrintOffset.X() + aPrintSize.Width() ), FUNIT_TWIP ); - nLastLeftMargin = static_cast<long>(m_pLeftMarginEdit->GetLast()); - - m_pRightMarginEdit->SetLast( m_pRightMarginEdit->Normalize( aPrintOffset.X() + aPrintSize.Width() ), FUNIT_TWIP ); - nLastRightMargin = static_cast<long>(m_pRightMarginEdit->GetLast()); - - m_pTopMarginEdit->SetLast( m_pTopMarginEdit->Normalize( aPrintOffset.Y() + aPrintSize.Height() ), FUNIT_TWIP ); - nLastTopMargin = static_cast<long>(m_pTopMarginEdit->GetLast()); - - m_pBottomMarginEdit->SetLast( m_pBottomMarginEdit->Normalize( aPrintOffset.Y() + aPrintSize.Height() ), FUNIT_TWIP ); - nLastBottomMargin = static_cast<long>(m_pBottomMarginEdit->GetLast()); + nFirstLeftMargin = m_xLeftMarginEdit->convert_value_from(m_xLeftMarginEdit->normalize(aPrintOffset.X()), FUNIT_TWIP); + nFirstRightMargin = m_xRightMarginEdit->convert_value_from(m_xRightMarginEdit->normalize(aPaperSize.Width() - aPrintSize.Width() - aPrintOffset.X() + nOffset), FUNIT_TWIP); + nFirstTopMargin = m_xTopMarginEdit->convert_value_from(m_xTopMarginEdit->normalize(aPrintOffset.Y() ), FUNIT_TWIP); + nFirstBottomMargin = m_xBottomMarginEdit->convert_value_from(m_xBottomMarginEdit->normalize(aPaperSize.Height() - aPrintSize.Height() - aPrintOffset.Y() + nOffset), FUNIT_TWIP ); + nLastLeftMargin = m_xLeftMarginEdit->convert_value_from(m_xLeftMarginEdit->normalize(aPrintOffset.X() + aPrintSize.Width()), FUNIT_TWIP); + nLastRightMargin = m_xRightMarginEdit->convert_value_from(m_xRightMarginEdit->normalize(aPrintOffset.X() + aPrintSize.Width()), FUNIT_TWIP); + nLastTopMargin = m_xTopMarginEdit->convert_value_from(m_xTopMarginEdit->normalize(aPrintOffset.Y() + aPrintSize.Height()), FUNIT_TWIP); + nLastBottomMargin = m_xBottomMarginEdit->convert_value_from(m_xBottomMarginEdit->normalize(aPrintOffset.Y() + aPrintSize.Height()), FUNIT_TWIP); // #i4219# get DrawingLayer options const SvtOptionsDrawinglayer aDrawinglayerOpt; // #i4219# take Maximum now from configuration (1/100th cm) // was: 11900 -> 119 cm ;new value 3 meters -> 300 cm -> 30000 - m_pPaperWidthEdit->SetMax(m_pPaperWidthEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperWidth()), FUNIT_CM); - m_pPaperWidthEdit->SetLast(m_pPaperWidthEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperWidth()), FUNIT_CM); - m_pPaperHeightEdit->SetMax(m_pPaperHeightEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperHeight()), FUNIT_CM); - m_pPaperHeightEdit->SetLast(m_pPaperHeightEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperHeight()), FUNIT_CM); + m_xPaperWidthEdit->set_max(m_xPaperWidthEdit->normalize(aDrawinglayerOpt.GetMaximumPaperWidth()), FUNIT_CM); + m_xPaperHeightEdit->set_max(m_xPaperHeightEdit->normalize(aDrawinglayerOpt.GetMaximumPaperHeight()), FUNIT_CM); // #i4219# also for margins (1/100th cm). Was: 9999, keeping. - m_pLeftMarginEdit->SetMax(m_pLeftMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperLeftMargin()), FUNIT_MM); - m_pLeftMarginEdit->SetLast(m_pLeftMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperLeftMargin()), FUNIT_MM); - m_pRightMarginEdit->SetMax(m_pRightMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperRightMargin()), FUNIT_MM); - m_pRightMarginEdit->SetLast(m_pRightMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperRightMargin()), FUNIT_MM); - m_pTopMarginEdit->SetMax(m_pTopMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperTopMargin()), FUNIT_MM); - m_pTopMarginEdit->SetLast(m_pTopMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperTopMargin()), FUNIT_MM); - m_pBottomMarginEdit->SetMax(m_pBottomMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperBottomMargin()), FUNIT_MM); - m_pBottomMarginEdit->SetLast(m_pBottomMarginEdit->Normalize(aDrawinglayerOpt.GetMaximumPaperBottomMargin()), FUNIT_MM); + m_xLeftMarginEdit->set_max(m_xLeftMarginEdit->normalize(aDrawinglayerOpt.GetMaximumPaperLeftMargin()), FUNIT_MM); + m_xRightMarginEdit->set_max(m_xRightMarginEdit->normalize(aDrawinglayerOpt.GetMaximumPaperRightMargin()), FUNIT_MM); + m_xTopMarginEdit->set_max(m_xTopMarginEdit->normalize(aDrawinglayerOpt.GetMaximumPaperTopMargin()), FUNIT_MM); + m_xBottomMarginEdit->set_max(m_xBottomMarginEdit->normalize(aDrawinglayerOpt.GetMaximumPaperBottomMargin()), FUNIT_MM); // Get the i18n framework numberings and add them to the listbox. - SvxNumOptionsTabPageHelper::GetI18nNumbering( *m_pNumberFormatBox, std::numeric_limits<sal_uInt16>::max()); + SvxNumOptionsTabPageHelper::GetI18nNumbering(m_xNumberFormatBox->get_widget(), std::numeric_limits<sal_uInt16>::max()); } - SvxPageDescPage::~SvxPageDescPage() { disposeOnce(); @@ -338,72 +304,31 @@ void SvxPageDescPage::dispose() mpDefPrinter.disposeAndClear(); mbDelPrinter = false; } - m_pPaperSizeBox.clear(); - m_pPaperWidthEdit.clear(); - m_pPaperHeightEdit.clear(); - m_pOrientationFT.clear(); - m_pPortraitBtn.clear(); - m_pLandscapeBtn.clear(); - m_pBspWin.clear(); - m_pTextFlowLbl.clear(); - m_pTextFlowBox.clear(); - m_pPaperTrayBox.clear(); - m_pLeftMarginLbl.clear(); - m_pLeftMarginEdit.clear(); - m_pRightMarginLbl.clear(); - m_pRightMarginEdit.clear(); - m_pTopMarginEdit.clear(); - m_pBottomMarginEdit.clear(); - m_pPageText.clear(); - m_pLayoutBox.clear(); - m_pNumberFormatBox.clear(); - m_pTblAlignFT.clear(); - m_pHorzBox.clear(); - m_pVertBox.clear(); - m_pAdaptBox.clear(); - m_pRegisterCB.clear(); - m_pRegisterFT.clear(); - m_pRegisterLB.clear(); - m_pInsideLbl.clear(); - m_pOutsideLbl.clear(); - m_pPrintRangeQueryText.clear(); SfxTabPage::dispose(); } - void SvxPageDescPage::Init_Impl() { - // adjust the handler - m_pLayoutBox->SetSelectHdl( LINK( this, SvxPageDescPage, LayoutHdl_Impl ) ); - m_pPaperSizeBox->SetDropDownLineCount(10); - - m_pPaperTrayBox->SetGetFocusHdl( LINK( this, SvxPageDescPage, PaperBinHdl_Impl ) ); - m_pPaperSizeBox->SetSelectHdl( LINK( this, SvxPageDescPage, PaperSizeSelect_Impl ) ); - m_pPaperWidthEdit->SetModifyHdl( LINK( this, SvxPageDescPage, PaperSizeModify_Impl ) ); - m_pPaperHeightEdit->SetModifyHdl( LINK( this, SvxPageDescPage, PaperSizeModify_Impl ) ); - m_pLandscapeBtn->SetClickHdl( LINK( this, SvxPageDescPage, SwapOrientation_Impl ) ); - m_pPortraitBtn->SetClickHdl( LINK( this, SvxPageDescPage, SwapOrientation_Impl ) ); - - Link<Edit&,void> aLink = LINK( this, SvxPageDescPage, BorderModify_Impl ); - m_pLeftMarginEdit->SetModifyHdl( aLink ); - m_pRightMarginEdit->SetModifyHdl( aLink ); - m_pTopMarginEdit->SetModifyHdl( aLink ); - m_pBottomMarginEdit->SetModifyHdl( aLink ); - - Link<Control&,void> aLink2 = LINK( this, SvxPageDescPage, RangeHdl_Impl ); - m_pPaperWidthEdit->SetLoseFocusHdl( aLink2 ); - m_pPaperHeightEdit->SetLoseFocusHdl( aLink2 ); - m_pLeftMarginEdit->SetLoseFocusHdl( aLink2 ); - m_pRightMarginEdit->SetLoseFocusHdl( aLink2 ); - m_pTopMarginEdit->SetLoseFocusHdl( aLink2 ); - m_pBottomMarginEdit->SetLoseFocusHdl( aLink2 ); - - m_pHorzBox->SetClickHdl( LINK( this, SvxPageDescPage, CenterHdl_Impl ) ); - m_pVertBox->SetClickHdl( LINK( this, SvxPageDescPage, CenterHdl_Impl ) ); - + // adjust the handler + m_xLayoutBox->connect_changed(LINK(this, SvxPageDescPage, LayoutHdl_Impl)); + + m_xPaperTrayBox->connect_changed(LINK(this, SvxPageDescPage, PaperBinHdl_Impl)); + m_xPaperSizeBox->connect_changed(LINK(this, SvxPageDescPage, PaperSizeSelect_Impl)); + m_xPaperWidthEdit->connect_value_changed( LINK(this, SvxPageDescPage, PaperSizeModify_Impl)); + m_xPaperHeightEdit->connect_value_changed(LINK(this, SvxPageDescPage, PaperSizeModify_Impl)); + m_xLandscapeBtn->connect_toggled(LINK(this, SvxPageDescPage, SwapOrientation_Impl)); + m_xPortraitBtn->connect_toggled(LINK(this, SvxPageDescPage, SwapOrientation_Impl)); + + Link<weld::MetricSpinButton&, void> aLink = LINK(this, SvxPageDescPage, BorderModify_Impl); + m_xLeftMarginEdit->connect_value_changed(aLink); + m_xRightMarginEdit->connect_value_changed(aLink); + m_xTopMarginEdit->connect_value_changed(aLink); + m_xBottomMarginEdit->connect_value_changed(aLink); + + m_xHorzBox->connect_toggled(LINK(this, SvxPageDescPage, CenterHdl_Impl)); + m_xVertBox->connect_toggled(LINK(this, SvxPageDescPage, CenterHdl_Impl)); } - void SvxPageDescPage::Reset( const SfxItemSet* rSet ) { SfxItemPool* pPool = rSet->GetPool(); @@ -416,11 +341,11 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) if ( pItem ) { const SvxLRSpaceItem& rLRSpace = static_cast<const SvxLRSpaceItem&>(*pItem); - SetMetricValue( *m_pLeftMarginEdit, rLRSpace.GetLeft(), eUnit ); - m_pBspWin->SetLeft( + SetMetricValue( *m_xLeftMarginEdit, rLRSpace.GetLeft(), eUnit ); + m_aBspWin.SetLeft( static_cast<sal_uInt16>(ConvertLong_Impl( rLRSpace.GetLeft(), eUnit )) ); - SetMetricValue( *m_pRightMarginEdit, rLRSpace.GetRight(), eUnit ); - m_pBspWin->SetRight( + SetMetricValue( *m_xRightMarginEdit, rLRSpace.GetRight(), eUnit ); + m_aBspWin.SetRight( static_cast<sal_uInt16>(ConvertLong_Impl( rLRSpace.GetRight(), eUnit )) ); } @@ -430,11 +355,11 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) if ( pItem ) { const SvxULSpaceItem& rULSpace = static_cast<const SvxULSpaceItem&>(*pItem); - SetMetricValue( *m_pTopMarginEdit, rULSpace.GetUpper(), eUnit ); - m_pBspWin->SetTop( + SetMetricValue( *m_xTopMarginEdit, rULSpace.GetUpper(), eUnit ); + m_aBspWin.SetTop( static_cast<sal_uInt16>(ConvertLong_Impl( static_cast<long>(rULSpace.GetUpper()), eUnit )) ); - SetMetricValue( *m_pBottomMarginEdit, rULSpace.GetLower(), eUnit ); - m_pBspWin->SetBottom( + SetMetricValue( *m_xBottomMarginEdit, rULSpace.GetLower(), eUnit ); + m_aBspWin.SetBottom( static_cast<sal_uInt16>(ConvertLong_Impl( static_cast<long>(rULSpace.GetLower()), eUnit )) ); } @@ -453,20 +378,22 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) } // alignment - m_pLayoutBox->SelectEntryPos( ::PageUsageToPos_Impl( nUse ) ); - m_pBspWin->SetUsage( nUse ); - LayoutHdl_Impl( *m_pLayoutBox ); + m_xLayoutBox->set_active(::PageUsageToPos_Impl(nUse)); + m_aBspWin.SetUsage( nUse ); + LayoutHdl_Impl( *m_xLayoutBox ); //adjust numeration type of the page style //Get the Position of the saved NumType - for(int i=0; i<m_pNumberFormatBox->GetEntryCount(); i++) - if(eNumType == static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pNumberFormatBox->GetEntryData(i)))) + for (int i=0; i < m_xNumberFormatBox->get_count(); ++i) + { + if (eNumType == m_xNumberFormatBox->get_id(i).toInt32()) { - m_pNumberFormatBox->SelectEntryPos( i ); + m_xNumberFormatBox->set_active(i); break; } + } - m_pPaperTrayBox->Clear(); + m_xPaperTrayBox->clear(); sal_uInt8 nPaperBin = PAPERBIN_PRINTER_SETTINGS; pItem = GetItem( *rSet, SID_ATTR_PAGE_PAPERBIN ); @@ -485,9 +412,8 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) else aBinName = mpDefPrinter->GetPaperBinName( static_cast<sal_uInt16>(nPaperBin) ); - const sal_Int32 nEntryPos = m_pPaperTrayBox->InsertEntry( aBinName ); - m_pPaperTrayBox->SetEntryData( nEntryPos, reinterpret_cast<void*>(static_cast<sal_uLong>(nPaperBin)) ); - m_pPaperTrayBox->SelectEntry( aBinName ); + m_xPaperTrayBox->append(OUString::number(nPaperBin), aBinName); + m_xPaperTrayBox->set_active_text(aBinName); Size aPaperSize = SvxPaperInfo::GetPaperSize( mpDefPrinter ); pItem = GetItem( *rSet, SID_ATTR_PAGE_SIZE ); @@ -502,10 +428,10 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) aPaperSize.Width() > aPaperSize.Height() ) bLandscape = true; - m_pLandscapeBtn->Check( bLandscape ); - m_pPortraitBtn->Check( !bLandscape ); + m_xLandscapeBtn->set_active(bLandscape); + m_xPortraitBtn->set_active(!bLandscape); - m_pBspWin->SetSize( Size( ConvertLong_Impl( aPaperSize.Width(), eUnit ), + m_aBspWin.SetSize( Size( ConvertLong_Impl( aPaperSize.Width(), eUnit ), ConvertLong_Impl( aPaperSize.Height(), eUnit ) ) ); aPaperSize = OutputDevice::LogicToLogic(aPaperSize, MapMode(eUnit), MapMode(MapUnit::Map100thMM)); @@ -522,12 +448,12 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) Swap( aPaperSize ); // write values into the edits - SetMetricValue( *m_pPaperHeightEdit, aPaperSize.Height(), MapUnit::Map100thMM ); - SetMetricValue( *m_pPaperWidthEdit, aPaperSize.Width(), MapUnit::Map100thMM ); - m_pPaperSizeBox->Clear(); + SetMetricValue( *m_xPaperHeightEdit, aPaperSize.Height(), MapUnit::Map100thMM ); + SetMetricValue( *m_xPaperWidthEdit, aPaperSize.Width(), MapUnit::Map100thMM ); + m_xPaperSizeBox->clear(); - m_pPaperSizeBox->FillPaperSizeEntries( ( ePaperStart == PAPER_A3 ) ? PaperSizeApp::Std : PaperSizeApp::Draw ); - m_pPaperSizeBox->SetSelection( ePaper ); + m_xPaperSizeBox->FillPaperSizeEntries( ( ePaperStart == PAPER_A3 ) ? PaperSizeApp::Std : PaperSizeApp::Draw ); + m_xPaperSizeBox->SetSelection( ePaper ); // application specific @@ -535,23 +461,23 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) { case SVX_PAGE_MODE_CENTER: { - m_pTblAlignFT->Show(); - m_pHorzBox->Show(); - m_pVertBox->Show(); + m_xTblAlignFT->show(); + m_xHorzBox->show(); + m_xVertBox->show(); DisableVerticalPageDir(); // horizontal alignment pItem = GetItem( *rSet, SID_ATTR_PAGE_EXT1 ); - m_pHorzBox->Check( pItem && static_cast<const SfxBoolItem*>(pItem)->GetValue() ); + m_xHorzBox->set_active(pItem && static_cast<const SfxBoolItem*>(pItem)->GetValue()); // vertical alignment pItem = GetItem( *rSet, SID_ATTR_PAGE_EXT2 ); - m_pVertBox->Check( pItem && static_cast<const SfxBoolItem*>(pItem)->GetValue() ); + m_xVertBox->set_active(pItem && static_cast<const SfxBoolItem*>(pItem)->GetValue()); // set example window on the table - m_pBspWin->SetTable( true ); - m_pBspWin->SetHorz( m_pHorzBox->IsChecked() ); - m_pBspWin->SetVert( m_pVertBox->IsChecked() ); + m_aBspWin.SetTable( true ); + m_aBspWin.SetHorz(m_xHorzBox->get_active()); + m_aBspWin.SetVert(m_xVertBox->get_active()); break; } @@ -559,14 +485,14 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) case SVX_PAGE_MODE_PRESENTATION: { DisableVerticalPageDir(); - m_pAdaptBox->Show(); + m_xAdaptBox->show(); pItem = GetItem( *rSet, SID_ATTR_PAGE_EXT1 ); - m_pAdaptBox->Check( pItem && + m_xAdaptBox->set_active( pItem && static_cast<const SfxBoolItem*>(pItem)->GetValue() ); //!!! hidden, because not implemented by StarDraw - m_pLayoutBox->Hide(); - m_pPageText->Hide(); + m_xLayoutBox->hide(); + m_xPageText->hide(); break; } @@ -577,7 +503,7 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) // display background and border in the example ResetBackground_Impl( *rSet ); //! UpdateExample_Impl(); - RangeHdl_Impl( *m_pPaperWidthEdit ); + RangeHdl_Impl(); InitHeadFoot_Impl( *rSet ); @@ -585,37 +511,37 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) SwapFirstValues_Impl( false ); UpdateExample_Impl(); - m_pLeftMarginEdit->SaveValue(); - m_pRightMarginEdit->SaveValue(); - m_pTopMarginEdit->SaveValue(); - m_pBottomMarginEdit->SaveValue(); - m_pLayoutBox->SaveValue(); - m_pNumberFormatBox->SaveValue(); - m_pPaperSizeBox->SaveValue(); - m_pPaperWidthEdit->SaveValue(); - m_pPaperHeightEdit->SaveValue(); - m_pPortraitBtn->SaveValue(); - m_pLandscapeBtn->SaveValue(); - m_pPaperTrayBox->SaveValue(); - m_pVertBox->SaveValue(); - m_pHorzBox->SaveValue(); - m_pAdaptBox->SaveValue(); + m_xLeftMarginEdit->save_value(); + m_xRightMarginEdit->save_value(); + m_xTopMarginEdit->save_value(); + m_xBottomMarginEdit->save_value(); + m_xLayoutBox->save_value(); + m_xNumberFormatBox->save_value(); + m_xPaperSizeBox->save_value(); + m_xPaperWidthEdit->save_value(); + m_xPaperHeightEdit->save_value(); + m_xPortraitBtn->save_state(); + m_xLandscapeBtn->save_state(); + m_xPaperTrayBox->save_value(); + m_xVertBox->save_state(); + m_xHorzBox->save_state(); + m_xAdaptBox->save_state(); CheckMarginEdits( true ); if(SfxItemState::SET == rSet->GetItemState(SID_SWREGISTER_MODE)) { - m_pRegisterCB->Check(static_cast<const SfxBoolItem&>(rSet->Get( - SID_SWREGISTER_MODE)).GetValue()); - m_pRegisterCB->SaveValue(); - RegisterModify(m_pRegisterCB); + m_xRegisterCB->set_active(static_cast<const SfxBoolItem&>(rSet->Get( + SID_SWREGISTER_MODE)).GetValue()); + m_xRegisterCB->save_state(); + RegisterModify(*m_xRegisterCB); } if(SfxItemState::SET == rSet->GetItemState(SID_SWREGISTER_COLLECTION)) { - m_pRegisterLB->SelectEntry( + m_xRegisterLB->set_active_text( static_cast<const SfxStringItem&>(rSet->Get(SID_SWREGISTER_COLLECTION)).GetValue()); - m_pRegisterLB->SaveValue(); + m_xRegisterLB->save_value(); } SfxItemState eState = rSet->GetItemState( GetWhich( SID_ATTR_FRAMEDIRECTION ), @@ -625,22 +551,20 @@ void SvxPageDescPage::Reset( const SfxItemSet* rSet ) SvxFrameDirection nVal = SfxItemState::SET == eState ? static_cast<const SvxFrameDirectionItem*>(pItem)->GetValue() : SvxFrameDirection::Horizontal_LR_TB; - m_pTextFlowBox->SelectEntryValue(nVal); + m_xTextFlowBox->set_active_id(nVal); - m_pTextFlowBox->SaveValue(); - m_pBspWin->SetFrameDirection(nVal); + m_xTextFlowBox->save_value(); + m_aBspWin.SetFrameDirection(nVal); } } - void SvxPageDescPage::FillUserData() { - if ( SVX_PAGE_MODE_PRESENTATION == eMode ) - SetUserData( m_pAdaptBox->IsChecked() ? OUString("1") : OUString("0") ) ; + if (SVX_PAGE_MODE_PRESENTATION == eMode) + SetUserData(m_xAdaptBox->get_active() ? OUString("1") : OUString("0")) ; } - bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) { bool bModified = false; @@ -658,20 +582,20 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) nWhich = GetWhich( SID_ATTR_ULSPACE ); SvxULSpaceItem aTopMargin( static_cast<const SvxULSpaceItem&>(rOldSet.Get( nWhich )) ); - if ( m_pLeftMarginEdit->IsValueChangedFromSaved() ) + if (m_xLeftMarginEdit->get_value_changed_from_saved()) { - aMargin.SetLeft( static_cast<sal_uInt16>(GetCoreValue( *m_pLeftMarginEdit, eUnit )) ); + aMargin.SetLeft( static_cast<sal_uInt16>(GetCoreValue( *m_xLeftMarginEdit, eUnit )) ); bModified = true; } - if ( m_pRightMarginEdit->IsValueChangedFromSaved() ) + if (m_xRightMarginEdit->get_value_changed_from_saved()) { - aMargin.SetRight( static_cast<sal_uInt16>(GetCoreValue( *m_pRightMarginEdit, eUnit )) ); + aMargin.SetRight( static_cast<sal_uInt16>(GetCoreValue( *m_xRightMarginEdit, eUnit )) ); bModified = true; } // set left and right margins - if ( bModified ) + if (bModified) { pOld = GetOldItem( *rSet, SID_ATTR_LRSPACE ); @@ -683,15 +607,15 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) bool bMod = false; - if ( m_pTopMarginEdit->IsValueChangedFromSaved() ) + if (m_xTopMarginEdit->get_value_changed_from_saved()) { - aTopMargin.SetUpper( static_cast<sal_uInt16>(GetCoreValue( *m_pTopMarginEdit, eUnit )) ); + aTopMargin.SetUpper( static_cast<sal_uInt16>(GetCoreValue( *m_xTopMarginEdit, eUnit )) ); bMod = true; } - if ( m_pBottomMarginEdit->IsValueChangedFromSaved() ) + if (m_xBottomMarginEdit->get_value_changed_from_saved()) { - aTopMargin.SetLower( static_cast<sal_uInt16>(GetCoreValue( *m_pBottomMarginEdit, eUnit )) ); + aTopMargin.SetLower( static_cast<sal_uInt16>(GetCoreValue( *m_xBottomMarginEdit, eUnit )) ); bMod = true; } @@ -710,8 +634,8 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) // paper tray nWhich = GetWhich( SID_ATTR_PAGE_PAPERBIN ); - sal_Int32 nPos = m_pPaperTrayBox->GetSelectedEntryPos(); - sal_uInt16 nBin = static_cast<sal_uInt16>(reinterpret_cast<sal_uLong>(m_pPaperTrayBox->GetEntryData( nPos ))); + sal_Int32 nPos = m_xPaperTrayBox->get_active(); + sal_uInt16 nBin = m_xPaperTrayBox->get_id(nPos).toInt32(); pOld = GetOldItem( *rSet, SID_ATTR_PAGE_PAPERBIN ); if ( !pOld || static_cast<const SvxPaperBinItem*>(pOld)->GetValue() != nBin ) @@ -720,20 +644,18 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) bModified = true; } - nPos = m_pPaperSizeBox->GetSelectedEntryPos(); - Paper ePaper = static_cast<Paper>(reinterpret_cast<sal_uLong>(m_pPaperSizeBox->GetEntryData( nPos ))); - const sal_Int32 nOld = m_pPaperSizeBox->GetSavedValue(); - bool bChecked = m_pLandscapeBtn->IsChecked(); + Paper ePaper = m_xPaperSizeBox->GetSelection(); + bool bChecked = m_xLandscapeBtn->get_active(); if ( PAPER_USER == ePaper ) { - if ( nOld != nPos || - m_pPaperWidthEdit->IsValueModified() || - m_pPaperHeightEdit->IsValueModified() || - m_pLandscapeBtn->IsValueChangedFromSaved() ) + if ( m_xPaperSizeBox->get_value_changed_from_saved() || + m_xPaperWidthEdit->get_value_changed_from_saved() || + m_xPaperHeightEdit->get_value_changed_from_saved() || + m_xLandscapeBtn->get_state_changed_from_saved() ) { - Size aSize( GetCoreValue( *m_pPaperWidthEdit, eUnit ), - GetCoreValue( *m_pPaperHeightEdit, eUnit ) ); + Size aSize( GetCoreValue( *m_xPaperWidthEdit, eUnit ), + GetCoreValue( *m_xPaperHeightEdit, eUnit ) ); pOld = GetOldItem( *rSet, SID_ATTR_PAGE_SIZE ); if ( !pOld || static_cast<const SvxSizeItem*>(pOld)->GetSize() != aSize ) @@ -745,7 +667,7 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) } else { - if ( nOld != nPos || m_pLandscapeBtn->IsValueChangedFromSaved() ) + if (m_xPaperSizeBox->get_value_changed_from_saved() || m_xLandscapeBtn->get_state_changed_from_saved()) { Size aSize( SvxPaperInfo::GetPaperSize( ePaper, eUnit ) ); @@ -764,22 +686,21 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) nWhich = GetWhich( SID_ATTR_PAGE ); SvxPageItem aPage( static_cast<const SvxPageItem&>(rOldSet.Get( nWhich )) ); - bMod = m_pLayoutBox->IsValueChangedFromSaved(); + bMod = m_xLayoutBox->get_value_changed_from_saved(); if ( bMod ) - aPage.SetPageUsage( - ::PosToPageUsage_Impl( m_pLayoutBox->GetSelectedEntryPos() ) ); + aPage.SetPageUsage(::PosToPageUsage_Impl(m_xLayoutBox->get_active())); - if ( m_pLandscapeBtn->IsValueChangedFromSaved() ) + if (m_xLandscapeBtn->get_state_changed_from_saved()) { aPage.SetLandscape(bChecked); bMod = true; } //Get the NumType value - nPos = m_pNumberFormatBox->GetSelectedEntryPos(); - SvxNumType nEntryData = static_cast<SvxNumType>(reinterpret_cast<sal_uLong>(m_pNumberFormatBox->GetEntryData(nPos))); - if ( m_pNumberFormatBox->IsValueChangedFromSaved() ) + nPos = m_xNumberFormatBox->get_active(); + SvxNumType nEntryData = static_cast<SvxNumType>(m_xNumberFormatBox->get_id(nPos).toInt32()); + if (m_xNumberFormatBox->get_value_changed_from_saved()) { aPage.SetNumType( nEntryData ); bMod = true; @@ -806,18 +727,18 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) { case SVX_PAGE_MODE_CENTER: { - if ( m_pHorzBox->IsValueChangedFromSaved() ) + if (m_xHorzBox->get_state_changed_from_saved()) { SfxBoolItem aHorz( GetWhich( SID_ATTR_PAGE_EXT1 ), - m_pHorzBox->IsChecked() ); + m_xHorzBox->get_active() ); rSet->Put( aHorz ); bModified = true; } - if ( m_pVertBox->IsValueChangedFromSaved() ) + if (m_xVertBox->get_state_changed_from_saved()) { SfxBoolItem aVert( GetWhich( SID_ATTR_PAGE_EXT2 ), - m_pVertBox->IsChecked() ); + m_xVertBox->get_active() ); rSet->Put( aVert ); bModified = true; } @@ -828,7 +749,7 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) { // always put so that draw can evaluate this rSet->Put( SfxBoolItem( GetWhich( SID_ATTR_PAGE_EXT1 ), - m_pAdaptBox->IsChecked() ) ); + m_xAdaptBox->get_active() ) ); bModified = true; break; } @@ -836,12 +757,12 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) } - if(m_pRegisterCB->IsVisible() && - (m_pRegisterCB->IsChecked() || m_pRegisterCB->IsValueChangedFromSaved())) + if (m_xRegisterCB->get_visible() && + (m_xRegisterCB->get_active() || m_xRegisterCB->get_state_changed_from_saved())) { const SfxBoolItem& rRegItem = static_cast<const SfxBoolItem&>(rOldSet.Get(SID_SWREGISTER_MODE)); std::unique_ptr<SfxBoolItem> pRegItem(static_cast<SfxBoolItem*>(rRegItem.Clone())); - bool bCheck = m_pRegisterCB->IsChecked(); + bool bCheck = m_xRegisterCB->get_active(); pRegItem->SetValue(bCheck); rSet->Put(*pRegItem); bModified = true; @@ -849,13 +770,13 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) { bModified = true; rSet->Put(SfxStringItem(SID_SWREGISTER_COLLECTION, - m_pRegisterLB->GetSelectedEntry())); + m_xRegisterLB->get_active_text())); } } - SvxFrameDirection eDirection = m_pTextFlowBox->GetSelectEntryValue(); - if( m_pTextFlowBox->IsVisible() && m_pTextFlowBox->IsValueChangedFromSaved() ) + if (m_xTextFlowBox->get_visible() && m_xTextFlowBox->get_value_changed_from_saved()) { + SvxFrameDirection eDirection = m_xTextFlowBox->get_active_id(); rSet->Put( SvxFrameDirectionItem( eDirection, GetWhich( SID_ATTR_FRAMEDIRECTION ) ) ); bModified = true; } @@ -863,86 +784,77 @@ bool SvxPageDescPage::FillItemSet( SfxItemSet* rSet ) return bModified; } - -IMPL_LINK_NOARG(SvxPageDescPage, LayoutHdl_Impl, ListBox&, void) +IMPL_LINK_NOARG(SvxPageDescPage, LayoutHdl_Impl, weld::ComboBoxText&, void) { // switch inside outside - const SvxPageUsage nUsage = PosToPageUsage_Impl( m_pLayoutBox->GetSelectedEntryPos() ); + const SvxPageUsage nUsage = PosToPageUsage_Impl(m_xLayoutBox->get_active()); - if ( nUsage == SvxPageUsage::Mirror ) + if (nUsage == SvxPageUsage::Mirror) { - m_pLeftMarginLbl->Hide(); - m_pRightMarginLbl->Hide(); - m_pInsideLbl->Show(); - m_pOutsideLbl->Show(); + m_xLeftMarginLbl->hide(); + m_xRightMarginLbl->hide(); + m_xInsideLbl->show(); + m_xOutsideLbl->show(); } else { - m_pLeftMarginLbl->Show(); - m_pRightMarginLbl->Show(); - m_pInsideLbl->Hide(); - m_pOutsideLbl->Hide(); + m_xLeftMarginLbl->show(); + m_xRightMarginLbl->show(); + m_xInsideLbl->hide(); + m_xOutsideLbl->hide(); } UpdateExample_Impl( true ); } - -IMPL_LINK_NOARG(SvxPageDescPage, PaperBinHdl_Impl, Control&, void) +IMPL_LINK_NOARG(SvxPageDescPage, PaperBinHdl_Impl, weld::ComboBoxText&, void) { - if ( m_pPaperTrayBox->GetEntryCount() > 1 ) + if (m_xPaperTrayBox->get_count() > 1) // already filled return; - OUString aOldName = m_pPaperTrayBox->GetSelectedEntry(); - m_pPaperTrayBox->SetUpdateMode( false ); - m_pPaperTrayBox->Clear(); - sal_Int32 nEntryPos = m_pPaperTrayBox->InsertEntry( - EditResId( RID_SVXSTR_PAPERBIN_SETTINGS ) ); - m_pPaperTrayBox->SetEntryData( nEntryPos, - reinterpret_cast<void*>(sal_uLong(PAPERBIN_PRINTER_SETTINGS)) ); - OUString aPaperBin( EditResId( RID_SVXSTR_PAPERBIN ) ); + OUString aOldName = m_xPaperTrayBox->get_active_text(); + m_xPaperTrayBox->freeze(); + m_xPaperTrayBox->clear(); + m_xPaperTrayBox->append(OUString::number(PAPERBIN_PRINTER_SETTINGS), EditResId(RID_SVXSTR_PAPERBIN_SETTINGS)); + OUString aPaperBin(EditResId(RID_SVXSTR_PAPERBIN)); const sal_uInt16 nBinCount = mpDefPrinter->GetPaperBinCount(); - for ( sal_uInt16 i = 0; i < nBinCount; ++i ) + for (sal_uInt16 i = 0; i < nBinCount; ++i) { OUString aName = mpDefPrinter->GetPaperBinName(i); - - if ( aName.isEmpty() ) + if (aName.isEmpty()) { aName = aPaperBin + " " + OUString::number( i+1 ); } - nEntryPos = m_pPaperTrayBox->InsertEntry( aName ); - m_pPaperTrayBox->SetEntryData( nEntryPos, reinterpret_cast<void*>(static_cast<sal_uLong>(i)) ); + m_xPaperTrayBox->append(OUString::number(i), aName); } - m_pPaperTrayBox->SelectEntry( aOldName ); - m_pPaperTrayBox->SetUpdateMode( true ); + m_xPaperTrayBox->set_active_text(aOldName); + m_xPaperTrayBox->thaw(); } - -IMPL_LINK( SvxPageDescPage, PaperSizeSelect_Impl, ListBox&, rBox, void ) +IMPL_LINK_NOARG(SvxPageDescPage, PaperSizeSelect_Impl, weld::ComboBoxText&, void) { - PaperSizeListBox& rListBox = static_cast<PaperSizeListBox&>( rBox ); - Paper ePaper = rListBox.GetSelection(); + Paper ePaper = m_xPaperSizeBox->GetSelection(); if ( ePaper != PAPER_USER ) { Size aSize( SvxPaperInfo::GetPaperSize( ePaper, MapUnit::Map100thMM ) ); - if ( m_pLandscapeBtn->IsChecked() ) + if (m_xLandscapeBtn->get_active()) Swap( aSize ); - if ( aSize.Height() < m_pPaperHeightEdit->GetMin( FUNIT_100TH_MM ) ) - m_pPaperHeightEdit->SetMin( - m_pPaperHeightEdit->Normalize( aSize.Height() ), FUNIT_100TH_MM ); - if ( aSize.Width() < m_pPaperWidthEdit->GetMin( FUNIT_100TH_MM ) ) - m_pPaperWidthEdit->SetMin( - m_pPaperWidthEdit->Normalize( aSize.Width() ), FUNIT_100TH_MM ); - SetMetricValue( *m_pPaperHeightEdit, aSize.Height(), MapUnit::Map100thMM ); - SetMetricValue( *m_pPaperWidthEdit, aSize.Width(), MapUnit::Map100thMM ); + if ( aSize.Height() < m_xPaperHeightEdit->get_min( FUNIT_100TH_MM ) ) + m_xPaperHeightEdit->set_min( + m_xPaperHeightEdit->normalize( aSize.Height() ), FUNIT_100TH_MM ); + if ( aSize.Width() < m_xPaperWidthEdit->get_min( FUNIT_100TH_MM ) ) + m_xPaperWidthEdit->set_min( + m_xPaperWidthEdit->normalize( aSize.Width() ), FUNIT_100TH_MM ); + SetMetricValue( *m_xPaperHeightEdit, aSize.Height(), MapUnit::Map100thMM ); + SetMetricValue( *m_xPaperWidthEdit, aSize.Width(), MapUnit::Map100thMM ); CalcMargin_Impl(); - RangeHdl_Impl( *m_pPaperWidthEdit ); + RangeHdl_Impl(); UpdateExample_Impl( true ); if ( eMode == SVX_PAGE_MODE_PRESENTATION ) @@ -955,91 +867,70 @@ IMPL_LINK( SvxPageDescPage, PaperSizeSelect_Impl, ListBox&, rBox, void ) // no margin if screen nTmp = 1; // accordingly 1 cm - if ( bScreen || m_pRightMarginEdit->GetValue() == 0 ) - { - SetMetricValue( *m_pRightMarginEdit, nTmp, MapUnit::MapCM ); - if ( !bScreen && - m_pRightMarginEdit->GetFirst() > m_pRightMarginEdit->GetValue() ) - m_pRightMarginEdit->SetValue( m_pRightMarginEdit->GetFirst() ); - } - if ( bScreen || m_pLeftMarginEdit->GetValue() == 0 ) - { - SetMetricValue( *m_pLeftMarginEdit, nTmp, MapUnit::MapCM ); - if ( !bScreen && - m_pLeftMarginEdit->GetFirst() > m_pLeftMarginEdit->GetValue() ) - m_pLeftMarginEdit->SetValue( m_pLeftMarginEdit->GetFirst() ); - } - if ( bScreen || m_pBottomMarginEdit->GetValue() == 0 ) - { - SetMetricValue( *m_pBottomMarginEdit, nTmp, MapUnit::MapCM ); - if ( !bScreen && - m_pBottomMarginEdit->GetFirst() > m_pBottomMarginEdit->GetValue() ) - m_pBottomMarginEdit->SetValue( m_pBottomMarginEdit->GetFirst() ); - } - if ( bScreen || m_pTopMarginEdit->GetValue() == 0 ) - { - SetMetricValue( *m_pTopMarginEdit, nTmp, MapUnit::MapCM ); - if ( !bScreen && - m_pTopMarginEdit->GetFirst() > m_pTopMarginEdit->GetValue() ) - m_pTopMarginEdit->SetValue( m_pTopMarginEdit->GetFirst() ); - } + if ( bScreen || m_xRightMarginEdit->get_value(FUNIT_NONE) == 0 ) + SetMetricValue( *m_xRightMarginEdit, nTmp, MapUnit::MapCM ); + if ( bScreen || m_xLeftMarginEdit->get_value(FUNIT_NONE) == 0 ) + SetMetricValue( *m_xLeftMarginEdit, nTmp, MapUnit::MapCM ); + if ( bScreen || m_xBottomMarginEdit->get_value(FUNIT_NONE) == 0 ) + SetMetricValue( *m_xBottomMarginEdit, nTmp, MapUnit::MapCM ); + if ( bScreen || m_xTopMarginEdit->get_value(FUNIT_NONE) == 0 ) + SetMetricValue( *m_xTopMarginEdit, nTmp, MapUnit::MapCM ); UpdateExample_Impl( true ); } } } - -IMPL_LINK_NOARG(SvxPageDescPage, PaperSizeModify_Impl, Edit&, void) +IMPL_LINK_NOARG(SvxPageDescPage, PaperSizeModify_Impl, weld::MetricSpinButton&, void) { sal_uInt16 nWhich = GetWhich( SID_ATTR_LRSPACE ); MapUnit eUnit = GetItemSet().GetPool()->GetMetric( nWhich ); - Size aSize( GetCoreValue( *m_pPaperWidthEdit, eUnit ), - GetCoreValue( *m_pPaperHeightEdit, eUnit ) ); + Size aSize( GetCoreValue( *m_xPaperWidthEdit, eUnit ), + GetCoreValue( *m_xPaperHeightEdit, eUnit ) ); if ( aSize.Width() > aSize.Height() ) { - m_pLandscapeBtn->Check(true); + m_xLandscapeBtn->set_active(true); bLandscape = true; } else { - m_pPortraitBtn->Check(true); + m_xPortraitBtn->set_active(true); bLandscape = false; } Paper ePaper = SvxPaperInfo::GetSvxPaper( aSize, eUnit ); - m_pPaperSizeBox->SetSelection( ePaper ); + m_xPaperSizeBox->SetSelection( ePaper ); UpdateExample_Impl( true ); -} + RangeHdl_Impl(); +} -IMPL_LINK( SvxPageDescPage, SwapOrientation_Impl, Button *, pBtn, void ) +IMPL_LINK(SvxPageDescPage, SwapOrientation_Impl, weld::ToggleButton&, rBtn, void) { if ( - (!bLandscape && pBtn == m_pLandscapeBtn) || - (bLandscape && pBtn == m_pPortraitBtn) + (!bLandscape && &rBtn == m_xLandscapeBtn.get()) || + (bLandscape && &rBtn == m_xPortraitBtn.get()) ) { - bLandscape = m_pLandscapeBtn->IsChecked(); + bLandscape = m_xLandscapeBtn->get_active(); - const long lWidth = GetCoreValue( *m_pPaperWidthEdit, MapUnit::Map100thMM ); - const long lHeight = GetCoreValue( *m_pPaperHeightEdit, MapUnit::Map100thMM ); + const long lWidth = GetCoreValue( *m_xPaperWidthEdit, MapUnit::Map100thMM ); + const long lHeight = GetCoreValue( *m_xPaperHeightEdit, MapUnit::Map100thMM ); // swap width and height - SetMetricValue( *m_pPaperWidthEdit, lHeight, MapUnit::Map100thMM ); - SetMetricValue( *m_pPaperHeightEdit, lWidth, MapUnit::Map100thMM ); + SetMetricValue(*m_xPaperWidthEdit, lHeight, MapUnit::Map100thMM); + SetMetricValue(*m_xPaperHeightEdit, lWidth, MapUnit::Map100thMM); // recalculate margins if necessary CalcMargin_Impl(); - PaperSizeSelect_Impl( *m_pPaperSizeBox ); - RangeHdl_Impl( *m_pPaperWidthEdit ); - SwapFirstValues_Impl( bBorderModified ); - UpdateExample_Impl( true ); + PaperSizeSelect_Impl(m_xPaperSizeBox->get_widget()); + RangeHdl_Impl(); + SwapFirstValues_Impl(bBorderModified); + UpdateExample_Impl(true); } } - void SvxPageDescPage::SwapFirstValues_Impl( bool bSet ) { MapMode aOldMode = mpDefPrinter->GetMapMode(); @@ -1063,14 +954,14 @@ void SvxPageDescPage::SwapFirstValues_Impl( bool bSet ) mpDefPrinter->SetMapMode( aOldMode ); mpDefPrinter->SetOrientation( eOldOri ); - sal_Int64 nSetL = m_pLeftMarginEdit->Denormalize( - m_pLeftMarginEdit->GetValue( FUNIT_TWIP ) ); - sal_Int64 nSetR = m_pRightMarginEdit->Denormalize( - m_pRightMarginEdit->GetValue( FUNIT_TWIP ) ); - sal_Int64 nSetT = m_pTopMarginEdit->Denormalize( - m_pTopMarginEdit->GetValue( FUNIT_TWIP ) ); - sal_Int64 nSetB = m_pBottomMarginEdit->Denormalize( - m_pBottomMarginEdit->GetValue( FUNIT_TWIP ) ); + sal_Int64 nSetL = m_xLeftMarginEdit->denormalize( + m_xLeftMarginEdit->get_value( FUNIT_TWIP ) ); + sal_Int64 nSetR = m_xRightMarginEdit->denormalize( + m_xRightMarginEdit->get_value( FUNIT_TWIP ) ); + sal_Int64 nSetT = m_xTopMarginEdit->denormalize( + m_xTopMarginEdit->get_value( FUNIT_TWIP ) ); + sal_Int64 nSetB = m_xBottomMarginEdit->denormalize( + m_xBottomMarginEdit->get_value( FUNIT_TWIP ) ); long nOffset = !aPrintOffset.X() && !aPrintOffset.Y() ? 0 : PRINT_OFFSET; long nNewL = aPrintOffset.X(); @@ -1080,59 +971,56 @@ void SvxPageDescPage::SwapFirstValues_Impl( bool bSet ) long nNewB = aPaperSize.Height() - aPrintSize.Height() - aPrintOffset.Y() + nOffset; - m_pLeftMarginEdit->SetFirst( m_pLeftMarginEdit->Normalize( nNewL ), FUNIT_TWIP ); - nFirstLeftMargin = static_cast<long>(m_pLeftMarginEdit->GetFirst()); - m_pRightMarginEdit->SetFirst( m_pRightMarginEdit->Normalize( nNewR ), FUNIT_TWIP ); - nFirstRightMargin = static_cast<long>(m_pRightMarginEdit->GetFirst()); - m_pTopMarginEdit->SetFirst( m_pTopMarginEdit->Normalize( nNewT ), FUNIT_TWIP ); - nFirstTopMargin = static_cast<long>(m_pTopMarginEdit->GetFirst()); - m_pBottomMarginEdit->SetFirst( m_pBottomMarginEdit->Normalize( nNewB ), FUNIT_TWIP ); - nFirstBottomMargin = static_cast<long>(m_pBottomMarginEdit->GetFirst()); + nFirstLeftMargin = m_xLeftMarginEdit->convert_value_from(m_xLeftMarginEdit->normalize(nNewL), FUNIT_TWIP); + nFirstRightMargin = m_xRightMarginEdit->convert_value_from(m_xRightMarginEdit->normalize(nNewR), FUNIT_TWIP); + nFirstTopMargin = m_xTopMarginEdit->convert_value_from(m_xTopMarginEdit->normalize(nNewT), FUNIT_TWIP); + nFirstBottomMargin = m_xBottomMarginEdit->convert_value_from(m_xBottomMarginEdit->normalize(nNewB), FUNIT_TWIP); if ( bSet ) { if ( nSetL < nNewL ) - m_pLeftMarginEdit->SetValue( m_pLeftMarginEdit->Normalize( nNewL ), + m_xLeftMarginEdit->set_value( m_xLeftMarginEdit->normalize( nNewL ), FUNIT_TWIP ); if ( nSetR < nNewR ) - m_pRightMarginEdit->SetValue( m_pRightMarginEdit->Normalize( nNewR ), + m_xRightMarginEdit->set_value( m_xRightMarginEdit->normalize( nNewR ), FUNIT_TWIP ); if ( nSetT < nNewT ) - m_pTopMarginEdit->SetValue( m_pTopMarginEdit->Normalize( nNewT ), + m_xTopMarginEdit->set_value( m_xTopMarginEdit->normalize( nNewT ), FUNIT_TWIP ); if ( nSetB < nNewB ) - m_pBottomMarginEdit->SetValue( m_pBottomMarginEdit->Normalize( nNewB ), + m_xBottomMarginEdit->set_value( m_xBottomMarginEdit->normalize( nNewB ), FUNIT_TWIP ); } } - -IMPL_LINK_NOARG(SvxPageDescPage, BorderModify_Impl, Edit&, void) +IMPL_LINK_NOARG(SvxPageDescPage, BorderModify_Impl, weld::MetricSpinButton&, void) { if ( !bBorderModified ) bBorderModified = true; UpdateExample_Impl(); + + RangeHdl_Impl(); } void SvxPageDescPage::UpdateExample_Impl( bool bResetbackground ) { // Size - Size aSize( GetCoreValue( *m_pPaperWidthEdit, MapUnit::MapTwip ), - GetCoreValue( *m_pPaperHeightEdit, MapUnit::MapTwip ) ); + Size aSize( GetCoreValue( *m_xPaperWidthEdit, MapUnit::MapTwip ), + GetCoreValue( *m_xPaperHeightEdit, MapUnit::MapTwip ) ); - m_pBspWin->SetSize( aSize ); + m_aBspWin.SetSize( aSize ); // Margins - m_pBspWin->SetTop( GetCoreValue( *m_pTopMarginEdit, MapUnit::MapTwip ) ); - m_pBspWin->SetBottom( GetCoreValue( *m_pBottomMarginEdit, MapUnit::MapTwip ) ); - m_pBspWin->SetLeft( GetCoreValue( *m_pLeftMarginEdit, MapUnit::MapTwip ) ); - m_pBspWin->SetRight( GetCoreValue( *m_pRightMarginEdit, MapUnit::MapTwip ) ); + m_aBspWin.SetTop( GetCoreValue( *m_xTopMarginEdit, MapUnit::MapTwip ) ); + m_aBspWin.SetBottom( GetCoreValue( *m_xBottomMarginEdit, MapUnit::MapTwip ) ); + m_aBspWin.SetLeft( GetCoreValue( *m_xLeftMarginEdit, MapUnit::MapTwip ) ); + m_aBspWin.SetRight( GetCoreValue( *m_xRightMarginEdit, MapUnit::MapTwip ) ); // Layout - m_pBspWin->SetUsage( PosToPageUsage_Impl( m_pLayoutBox->GetSelectedEntryPos() ) ); + m_aBspWin.SetUsage(PosToPageUsage_Impl(m_xLayoutBox->get_active())); if ( bResetbackground ) - m_pBspWin->ResetBackground(); - m_pBspWin->Invalidate(); + m_aBspWin.ResetBackground(); + m_aBspWin.Invalidate(); } @@ -1170,7 +1058,7 @@ void SvxPageDescPage::ResetBackground_Impl(const SfxItemSet& rSet) } } - m_pBspWin->setHeaderFillAttributes(aHeaderFillAttributes); + m_aBspWin.setHeaderFillAttributes(aHeaderFillAttributes); } } @@ -1206,7 +1094,7 @@ void SvxPageDescPage::ResetBackground_Impl(const SfxItemSet& rSet) } } - m_pBspWin->setFooterFillAttributes(aFooterFillAttributes); + m_aBspWin.setFooterFillAttributes(aFooterFillAttributes); } } @@ -1233,16 +1121,16 @@ void SvxPageDescPage::ResetBackground_Impl(const SfxItemSet& rSet) } } - m_pBspWin->setPageFillAttributes(aPageFillAttributes); + m_aBspWin.setPageFillAttributes(aPageFillAttributes); } void SvxPageDescPage::InitHeadFoot_Impl( const SfxItemSet& rSet ) { - bLandscape = m_pLandscapeBtn->IsChecked(); + bLandscape = m_xLandscapeBtn->get_active(); const SfxPoolItem* pItem = GetItem( rSet, SID_ATTR_PAGE_SIZE ); if ( pItem ) - m_pBspWin->SetSize( static_cast<const SvxSizeItem*>(pItem)->GetSize() ); + m_aBspWin.SetSize( static_cast<const SvxSizeItem*>(pItem)->GetSize() ); const SvxSetItem* pSetItem = nullptr; @@ -1263,16 +1151,16 @@ void SvxPageDescPage::InitHeadFoot_Impl( const SfxItemSet& rSet ) const SvxULSpaceItem& rUL = static_cast<const SvxULSpaceItem&>( rHeaderSet.Get( GetWhich( SID_ATTR_ULSPACE ) )); long nDist = rUL.GetLower(); - m_pBspWin->SetHdHeight( rSize.GetSize().Height() - nDist ); - m_pBspWin->SetHdDist( nDist ); + m_aBspWin.SetHdHeight( rSize.GetSize().Height() - nDist ); + m_aBspWin.SetHdDist( nDist ); const SvxLRSpaceItem& rLR = static_cast<const SvxLRSpaceItem&>( rHeaderSet.Get( GetWhich( SID_ATTR_LRSPACE ) )); - m_pBspWin->SetHdLeft( rLR.GetLeft() ); - m_pBspWin->SetHdRight( rLR.GetRight() ); - m_pBspWin->SetHeader( true ); + m_aBspWin.SetHdLeft( rLR.GetLeft() ); + m_aBspWin.SetHdRight( rLR.GetRight() ); + m_aBspWin.SetHeader( true ); } else - m_pBspWin->SetHeader( false ); + m_aBspWin.SetHeader( false ); // show background and border in the example drawinglayer::attribute::SdrAllFillAttributesHelperPtr aHeaderFillAttributes; @@ -1297,7 +1185,7 @@ void SvxPageDescPage::InitHeadFoot_Impl( const SfxItemSet& rSet ) } } - m_pBspWin->setHeaderFillAttributes(aHeaderFillAttributes); + m_aBspWin.setHeaderFillAttributes(aHeaderFillAttributes); } // evaluate footer attributes @@ -1317,16 +1205,16 @@ void SvxPageDescPage::InitHeadFoot_Impl( const SfxItemSet& rSet ) const SvxULSpaceItem& rUL = static_cast<const SvxULSpaceItem&>( rFooterSet.Get( GetWhich( SID_ATTR_ULSPACE ) )); long nDist = rUL.GetUpper(); - m_pBspWin->SetFtHeight( rSize.GetSize().Height() - nDist ); - m_pBspWin->SetFtDist( nDist ); + m_aBspWin.SetFtHeight( rSize.GetSize().Height() - nDist ); + m_aBspWin.SetFtDist( nDist ); const SvxLRSpaceItem& rLR = static_cast<const SvxLRSpaceItem&>( rFooterSet.Get( GetWhich( SID_ATTR_LRSPACE ) )); - m_pBspWin->SetFtLeft( rLR.GetLeft() ); - m_pBspWin->SetFtRight( rLR.GetRight() ); - m_pBspWin->SetFooter( true ); + m_aBspWin.SetFtLeft( rLR.GetLeft() ); + m_aBspWin.SetFtRight( rLR.GetRight() ); + m_aBspWin.SetFooter( true ); } else - m_pBspWin->SetFooter( false ); + m_aBspWin.SetFooter( false ); // show background and border in the example drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFooterFillAttributes; @@ -1351,49 +1239,47 @@ void SvxPageDescPage::InitHeadFoot_Impl( const SfxItemSet& rSet ) } } - m_pBspWin->setFooterFillAttributes(aFooterFillAttributes); + m_aBspWin.setFooterFillAttributes(aFooterFillAttributes); } } - void SvxPageDescPage::ActivatePage( const SfxItemSet& rSet ) { InitHeadFoot_Impl( rSet ); UpdateExample_Impl(); ResetBackground_Impl( rSet ); - RangeHdl_Impl( *m_pPaperWidthEdit ); + RangeHdl_Impl(); } - DeactivateRC SvxPageDescPage::DeactivatePage( SfxItemSet* _pSet ) { // Inquiry whether the page margins are beyond the printing area. // If not, ask user whether they shall be taken. // If not, stay on the TabPage. - Paper ePaper = m_pPaperSizeBox->GetSelection(); + Paper ePaper = m_xPaperSizeBox->GetSelection(); if ( ePaper != PAPER_SCREEN_4_3 && ePaper != PAPER_SCREEN_16_9 && ePaper != PAPER_SCREEN_16_10 && IsMarginOutOfRange() ) { std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(), VclMessageType::Question, VclButtonsType::YesNo, - m_pPrintRangeQueryText->GetText())); + m_xPrintRangeQueryText->get_label())); xQueryBox->set_default_response(RET_NO); if (xQueryBox->run() == RET_NO) { - MetricField* pField = nullptr; - if ( IsPrinterRangeOverflow( *m_pLeftMarginEdit, nFirstLeftMargin, nLastLeftMargin, MARGIN_LEFT ) ) - pField = m_pLeftMarginEdit; - if ( IsPrinterRangeOverflow( *m_pRightMarginEdit, nFirstRightMargin, nLastRightMargin, MARGIN_RIGHT ) + weld::MetricSpinButton* pField = nullptr; + if ( IsPrinterRangeOverflow( *m_xLeftMarginEdit, nFirstLeftMargin, nLastLeftMargin, MARGIN_LEFT ) ) + pField = m_xLeftMarginEdit.get(); + if ( IsPrinterRangeOverflow( *m_xRightMarginEdit, nFirstRightMargin, nLastRightMargin, MARGIN_RIGHT ) && !pField ) - pField = m_pRightMarginEdit; - if ( IsPrinterRangeOverflow( *m_pTopMarginEdit, nFirstTopMargin, nLastTopMargin, MARGIN_TOP ) + pField = m_xRightMarginEdit.get(); + if ( IsPrinterRangeOverflow( *m_xTopMarginEdit, nFirstTopMargin, nLastTopMargin, MARGIN_TOP ) && !pField ) - pField = m_pTopMarginEdit; - if ( IsPrinterRangeOverflow( *m_pBottomMarginEdit, nFirstBottomMargin, nLastBottomMargin, MARGIN_BOTTOM ) + pField = m_xTopMarginEdit.get(); + if ( IsPrinterRangeOverflow( *m_xBottomMarginEdit, nFirstBottomMargin, nLastBottomMargin, MARGIN_BOTTOM ) && !pField ) - pField = m_pBottomMarginEdit; + pField = m_xBottomMarginEdit.get(); if ( pField ) - pField->GrabFocus(); + pField->grab_focus(); UpdateExample_Impl(); return DeactivateRC::KeepPage; } @@ -1408,8 +1294,8 @@ DeactivateRC SvxPageDescPage::DeactivatePage( SfxItemSet* _pSet ) // put portray/landscape if applicable sal_uInt16 nWh = GetWhich( SID_ATTR_PAGE_SIZE ); MapUnit eUnit = GetItemSet().GetPool()->GetMetric( nWh ); - Size aSize( GetCoreValue( *m_pPaperWidthEdit, eUnit ), - GetCoreValue( *m_pPaperHeightEdit, eUnit ) ); + Size aSize( GetCoreValue( *m_xPaperWidthEdit, eUnit ), + GetCoreValue( *m_xPaperHeightEdit, eUnit ) ); // put, if current size is different to the value in _pSet const SvxSizeItem* pSize = GetItem( *_pSet, SID_ATTR_PAGE_SIZE ); @@ -1420,24 +1306,23 @@ DeactivateRC SvxPageDescPage::DeactivatePage( SfxItemSet* _pSet ) return DeactivateRC::LeavePage; } - -IMPL_LINK_NOARG(SvxPageDescPage, RangeHdl_Impl, Control&, void) +void SvxPageDescPage::RangeHdl_Impl() { // example window - long nHHeight = m_pBspWin->GetHdHeight(); - long nHDist = m_pBspWin->GetHdDist(); + long nHHeight = m_aBspWin.GetHdHeight(); + long nHDist = m_aBspWin.GetHdDist(); - long nFHeight = m_pBspWin->GetFtHeight(); - long nFDist = m_pBspWin->GetFtDist(); + long nFHeight = m_aBspWin.GetFtHeight(); + long nFDist = m_aBspWin.GetFtDist(); - long nHFLeft = std::max( m_pBspWin->GetHdLeft(), m_pBspWin->GetFtLeft() ); - long nHFRight = std::max( m_pBspWin->GetHdRight(), m_pBspWin->GetFtRight() ); + long nHFLeft = std::max(m_aBspWin.GetHdLeft(), m_aBspWin.GetFtLeft()); + long nHFRight = std::max(m_aBspWin.GetHdRight(), m_aBspWin.GetFtRight()); // current values for page margins - long nBT = static_cast<long>(m_pTopMarginEdit->Denormalize(m_pTopMarginEdit->GetValue(FUNIT_TWIP))); - long nBB = static_cast<long>(m_pBottomMarginEdit->Denormalize(m_pBottomMarginEdit->GetValue(FUNIT_TWIP))); - long nBL = static_cast<long>(m_pLeftMarginEdit->Denormalize(m_pLeftMarginEdit->GetValue(FUNIT_TWIP))); - long nBR = static_cast<long>(m_pRightMarginEdit->Denormalize(m_pRightMarginEdit->GetValue(FUNIT_TWIP))); + long nBT = static_cast<long>(m_xTopMarginEdit->denormalize(m_xTopMarginEdit->get_value(FUNIT_TWIP))); + long nBB = static_cast<long>(m_xBottomMarginEdit->denormalize(m_xBottomMarginEdit->get_value(FUNIT_TWIP))); + long nBL = static_cast<long>(m_xLeftMarginEdit->denormalize(m_xLeftMarginEdit->get_value(FUNIT_TWIP))); + long nBR = static_cast<long>(m_xRightMarginEdit->denormalize(m_xRightMarginEdit->get_value(FUNIT_TWIP))); // calculate width of page border const SfxItemSet* _pSet = &GetItemSet(); @@ -1458,47 +1343,46 @@ IMPL_LINK_NOARG(SvxPageDescPage, RangeHdl_Impl, Control&, void) long nMin = nHHeight + nHDist + nFDist + nFHeight + nBT + nBB + MINBODY + aBorder.Height(); - m_pPaperHeightEdit->SetMin(m_pPaperHeightEdit->Normalize(nMin), FUNIT_TWIP); + m_xPaperHeightEdit->set_min(m_xPaperHeightEdit->normalize(nMin), FUNIT_TWIP); nMin = MINBODY + nBL + nBR + aBorder.Width(); - m_pPaperWidthEdit->SetMin(m_pPaperWidthEdit->Normalize(nMin), FUNIT_TWIP); + m_xPaperWidthEdit->set_min(m_xPaperWidthEdit->normalize(nMin), FUNIT_TWIP); - long nH = static_cast<long>(m_pPaperHeightEdit->Denormalize(m_pPaperHeightEdit->GetValue(FUNIT_TWIP))); - long nW = static_cast<long>(m_pPaperWidthEdit->Denormalize(m_pPaperWidthEdit->GetValue(FUNIT_TWIP))); + long nH = static_cast<long>(m_xPaperHeightEdit->denormalize(m_xPaperHeightEdit->get_value(FUNIT_TWIP))); + long nW = static_cast<long>(m_xPaperWidthEdit->denormalize(m_xPaperWidthEdit->get_value(FUNIT_TWIP))); // Top long nMax = nH - nBB - aBorder.Height() - MINBODY - nFDist - nFHeight - nHDist - nHHeight; - m_pTopMarginEdit->SetMax(m_pTopMarginEdit->Normalize(nMax), FUNIT_TWIP); + m_xTopMarginEdit->set_max(m_xTopMarginEdit->normalize(nMax), FUNIT_TWIP); // Bottom nMax = nH - nBT - aBorder.Height() - MINBODY - nFDist - nFHeight - nHDist - nHHeight; - m_pBottomMarginEdit->SetMax(m_pTopMarginEdit->Normalize(nMax), FUNIT_TWIP); + m_xBottomMarginEdit->set_max(m_xTopMarginEdit->normalize(nMax), FUNIT_TWIP); // Left nMax = nW - nBR - MINBODY - aBorder.Width() - nHFLeft - nHFRight; - m_pLeftMarginEdit->SetMax(m_pLeftMarginEdit->Normalize(nMax), FUNIT_TWIP); + m_xLeftMarginEdit->set_max(m_xLeftMarginEdit->normalize(nMax), FUNIT_TWIP); // Right nMax = nW - nBL - MINBODY - aBorder.Width() - nHFLeft - nHFRight; - m_pRightMarginEdit->SetMax(m_pRightMarginEdit->Normalize(nMax), FUNIT_TWIP); + m_xRightMarginEdit->set_max(m_xRightMarginEdit->normalize(nMax), FUNIT_TWIP); } - void SvxPageDescPage::CalcMargin_Impl() { // current values for page margins - long nBT = GetCoreValue( *m_pTopMarginEdit, MapUnit::MapTwip ); - long nBB = GetCoreValue( *m_pBottomMarginEdit, MapUnit::MapTwip ); + long nBT = GetCoreValue( *m_xTopMarginEdit, MapUnit::MapTwip ); + long nBB = GetCoreValue( *m_xBottomMarginEdit, MapUnit::MapTwip ); - long nBL = GetCoreValue( *m_pLeftMarginEdit, MapUnit::MapTwip ); - long nBR = GetCoreValue( *m_pRightMarginEdit, MapUnit::MapTwip ); + long nBL = GetCoreValue( *m_xLeftMarginEdit, MapUnit::MapTwip ); + long nBR = GetCoreValue( *m_xRightMarginEdit, MapUnit::MapTwip ); - long nH = GetCoreValue( *m_pPaperHeightEdit, MapUnit::MapTwip ); - long nW = GetCoreValue( *m_pPaperWidthEdit, MapUnit::MapTwip ); + long nH = GetCoreValue( *m_xPaperHeightEdit, MapUnit::MapTwip ); + long nW = GetCoreValue( *m_xPaperWidthEdit, MapUnit::MapTwip ); long nWidth = nBL + nBR + MINBODY; long nHeight = nBT + nBB + MINBODY; @@ -1511,9 +1395,9 @@ void SvxPageDescPage::CalcMargin_Impl() nTmp -= nWidth - nW; if ( nBL <= nBR ) - SetMetricValue( *m_pRightMarginEdit, nTmp, MapUnit::MapTwip ); + SetMetricValue( *m_xRightMarginEdit, nTmp, MapUnit::MapTwip ); else - SetMetricValue( *m_pLeftMarginEdit, nTmp, MapUnit::MapTwip ); + SetMetricValue( *m_xLeftMarginEdit, nTmp, MapUnit::MapTwip ); } if ( nHeight > nH ) @@ -1522,18 +1406,17 @@ void SvxPageDescPage::CalcMargin_Impl() nTmp -= nHeight - nH; if ( nBT <= nBB ) - SetMetricValue( *m_pBottomMarginEdit, nTmp, MapUnit::MapTwip ); + SetMetricValue( *m_xBottomMarginEdit, nTmp, MapUnit::MapTwip ); else - SetMetricValue( *m_pTopMarginEdit, nTmp, MapUnit::MapTwip ); + SetMetricValue( *m_xTopMarginEdit, nTmp, MapUnit::MapTwip ); } } } - -IMPL_LINK_NOARG(SvxPageDescPage, CenterHdl_Impl, Button*, void) +IMPL_LINK_NOARG(SvxPageDescPage, CenterHdl_Impl, weld::ToggleButton&, void) { - m_pBspWin->SetHorz( m_pHorzBox->IsChecked() ); - m_pBspWin->SetVert( m_pVertBox->IsChecked() ); + m_aBspWin.SetHorz(m_xHorzBox->get_active()); + m_aBspWin.SetVert(m_xVertBox->get_active()); UpdateExample_Impl(); } @@ -1542,60 +1425,58 @@ void SvxPageDescPage::SetCollectionList(const std::vector<OUString> &aList) OSL_ENSURE(!aList.empty(), "Empty string list"); sStandardRegister = aList[0]; - for( size_t i = 1; i < aList.size(); i++ ) - m_pRegisterLB->InsertEntry(aList[i]); + for (size_t i = 1; i < aList.size(); ++i) + m_xRegisterLB->append_text(aList[i]); - m_pRegisterCB->Show(); - m_pRegisterFT->Show(); - m_pRegisterLB->Show(); - m_pRegisterCB->SetClickHdl(LINK(this, SvxPageDescPage, RegisterModify)); + m_xRegisterCB->show(); + m_xRegisterFT->show(); + m_xRegisterLB->show(); + m_xRegisterCB->connect_toggled(LINK(this, SvxPageDescPage, RegisterModify)); } - -IMPL_LINK( SvxPageDescPage, RegisterModify, Button*, pBox, void ) +IMPL_LINK(SvxPageDescPage, RegisterModify, weld::ToggleButton&, rBox, void) { bool bEnable = false; - if(static_cast<CheckBox*>(pBox)->IsChecked()) + if (rBox.get_active()) { bEnable = true; - if(USHRT_MAX == m_pRegisterLB->GetSelectedEntryPos()) - m_pRegisterLB->SelectEntry(sStandardRegister); + if (m_xRegisterLB->get_active() == -1) + m_xRegisterLB->set_active_text(sStandardRegister); } - m_pRegisterFT->Enable( bEnable ); - m_pRegisterLB->Enable( bEnable ); + m_xRegisterFT->set_sensitive(bEnable); + m_xRegisterLB->set_sensitive(bEnable); } - void SvxPageDescPage::DisableVerticalPageDir() { - m_pTextFlowBox->RemoveEntryValue( SvxFrameDirection::Vertical_RL_TB ); - m_pTextFlowBox->RemoveEntryValue( SvxFrameDirection::Vertical_LR_TB ); - if( m_pTextFlowBox->GetEntryCount() < 2 ) + m_xTextFlowBox->remove_id(SvxFrameDirection::Vertical_RL_TB); + m_xTextFlowBox->remove_id(SvxFrameDirection::Vertical_LR_TB); + if (m_xTextFlowBox->get_count() < 2) { - m_pTextFlowLbl->Hide(); - m_pTextFlowBox->Hide(); - m_pBspWin->EnableFrameDirection( false ); + m_xTextFlowLbl->hide(); + m_xTextFlowBox->hide(); + m_aBspWin.EnableFrameDirection( false ); } } -IMPL_LINK_NOARG( SvxPageDescPage, FrameDirectionModify_Impl, ListBox&, void) +IMPL_LINK_NOARG(SvxPageDescPage, FrameDirectionModify_Impl, weld::ComboBoxText&, void) { - m_pBspWin->SetFrameDirection( m_pTextFlowBox->GetSelectEntryValue() ); - m_pBspWin->Invalidate(); + m_aBspWin.SetFrameDirection(m_xTextFlowBox->get_active_id()); + m_aBspWin.Invalidate(); } bool SvxPageDescPage::IsPrinterRangeOverflow( - MetricField& rField, long nFirstMargin, long nLastMargin, MarginPosition nPos ) + weld::MetricSpinButton& rField, long nFirstMargin, long nLastMargin, MarginPosition nPos ) { bool bRet = false; bool bCheck = ( ( m_nPos & nPos ) == 0 ); - long nValue = static_cast<long>(rField.GetValue()); + long nValue = rField.get_value(FUNIT_NONE); if ( bCheck && ( nValue < nFirstMargin || nValue > nLastMargin ) && - rField.IsValueChangedFromSaved() ) + rField.get_value_changed_from_saved() ) { - rField.SetValue( nValue < nFirstMargin ? nFirstMargin : nLastMargin ); - bRet = true; + rField.set_value(nValue < nFirstMargin ? nFirstMargin : nLastMargin, FUNIT_NONE); + bRet = true; } return bRet; @@ -1609,16 +1490,16 @@ void SvxPageDescPage::CheckMarginEdits( bool _bClear ) if ( _bClear ) m_nPos = 0; - sal_Int64 nValue = m_pLeftMarginEdit->GetValue(); + sal_Int64 nValue = m_xLeftMarginEdit->get_value(FUNIT_NONE); if ( nValue < nFirstLeftMargin || nValue > nLastLeftMargin ) m_nPos |= MARGIN_LEFT; - nValue = m_pRightMarginEdit->GetValue(); + nValue = m_xRightMarginEdit->get_value(FUNIT_NONE); if ( nValue < nFirstRightMargin || nValue > nLastRightMargin ) m_nPos |= MARGIN_RIGHT; - nValue = m_pTopMarginEdit->GetValue(); + nValue = m_xTopMarginEdit->get_value(FUNIT_NONE); if ( nValue < nFirstTopMargin || nValue > nLastTopMargin ) m_nPos |= MARGIN_TOP; - nValue = m_pBottomMarginEdit->GetValue(); + nValue = m_xBottomMarginEdit->get_value(FUNIT_NONE); if ( nValue < nFirstBottomMargin || nValue > nLastBottomMargin ) m_nPos |= MARGIN_BOTTOM; } @@ -1626,21 +1507,21 @@ void SvxPageDescPage::CheckMarginEdits( bool _bClear ) bool SvxPageDescPage::IsMarginOutOfRange() { bool bRet = ( ( ( !( m_nPos & MARGIN_LEFT ) && - m_pLeftMarginEdit->IsValueChangedFromSaved() ) && - ( m_pLeftMarginEdit->GetValue() < nFirstLeftMargin || - m_pLeftMarginEdit->GetValue() > nLastLeftMargin ) ) || + m_xLeftMarginEdit->get_value_changed_from_saved() ) && + ( m_xLeftMarginEdit->get_value(FUNIT_NONE) < nFirstLeftMargin || + m_xLeftMarginEdit->get_value(FUNIT_NONE) > nLastLeftMargin ) ) || ( ( !( m_nPos & MARGIN_RIGHT ) && - m_pRightMarginEdit->IsValueChangedFromSaved() ) && - ( m_pRightMarginEdit->GetValue() < nFirstRightMargin || - m_pRightMarginEdit->GetValue() > nLastRightMargin ) ) || + m_xRightMarginEdit->get_value_changed_from_saved() ) && + ( m_xRightMarginEdit->get_value(FUNIT_NONE) < nFirstRightMargin || + m_xRightMarginEdit->get_value(FUNIT_NONE) > nLastRightMargin ) ) || ( ( !( m_nPos & MARGIN_TOP ) && - m_pTopMarginEdit->IsValueChangedFromSaved() ) && - ( m_pTopMarginEdit->GetValue() < nFirstTopMargin || - m_pTopMarginEdit->GetValue() > nLastTopMargin ) ) || + m_xTopMarginEdit->get_value_changed_from_saved() ) && + ( m_xTopMarginEdit->get_value(FUNIT_NONE) < nFirstTopMargin || + m_xTopMarginEdit->get_value(FUNIT_NONE) > nLastTopMargin ) ) || ( ( !( m_nPos & MARGIN_BOTTOM ) && - m_pBottomMarginEdit->IsValueChangedFromSaved() ) && - ( m_pBottomMarginEdit->GetValue() < nFirstBottomMargin || - m_pBottomMarginEdit->GetValue() > nLastBottomMargin ) ) ); + m_xBottomMarginEdit->get_value_changed_from_saved() ) && + ( m_xBottomMarginEdit->get_value(FUNIT_NONE) < nFirstBottomMargin || + m_xBottomMarginEdit->get_value(FUNIT_NONE) > nLastBottomMargin ) ) ); return bRet; } diff --git a/cui/uiconfig/ui/pageformatpage.ui b/cui/uiconfig/ui/pageformatpage.ui index c526b6d53cf7..0097688fa8f4 100644 --- a/cui/uiconfig/ui/pageformatpage.ui +++ b/cui/uiconfig/ui/pageformatpage.ui @@ -1,34 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.0 --> +<!-- Generated with glade 3.22.1 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> - <requires lib="LibreOffice" version="1.0"/> - <object class="GtkListStore" id="liststorePageLayout"> - <columns> - <!-- column-name gchararray1 --> - <column type="gchararray"/> - <!-- column-name gint1 --> - <column type="gint"/> - </columns> - <data> - <row> - <col id="0" translatable="yes" context="pageformatpage|liststorePageLayout">Right and left</col> - <col id="1">0</col> - </row> - <row> - <col id="0" translatable="yes" context="pageformatpage|liststorePageLayout">Mirrored</col> - <col id="1">0</col> - </row> - <row> - <col id="0" translatable="yes" context="pageformatpage|liststorePageLayout">Only right</col> - <col id="1">0</col> - </row> - <row> - <col id="0" translatable="yes" context="pageformatpage|liststorePageLayout">Only left</col> - <col id="1">0</col> - </row> - </data> - </object> <object class="GtkGrid" id="PageFormatPage"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -80,7 +53,7 @@ </packing> </child> <child> - <object class="svxcorelo-PaperSizeListBox" id="comboPageFormat"> + <object class="GtkComboBoxText" id="comboPageFormat"> <property name="visible">True</property> <property name="can_focus">False</property> </object> @@ -95,7 +68,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelWidth">_Width:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinWidth:0.00cm</property> + <property name="mnemonic_widget">spinWidth</property> <property name="xalign">0</property> </object> <packing> @@ -104,10 +77,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinWidth:0.00cm"> + <object class="GtkSpinButton" id="spinWidth"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="halign">start</property> + <property name="activates_default">True</property> <property name="update_policy">if-valid</property> </object> <packing> @@ -121,7 +95,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelHeight">_Height:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinHeight:0.00cm</property> + <property name="mnemonic_widget">spinHeight</property> <property name="xalign">0</property> </object> <packing> @@ -130,10 +104,11 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinHeight:0.00cm"> + <object class="GtkSpinButton" id="spinHeight"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="halign">start</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> @@ -165,7 +140,6 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> - <property name="group">radiobuttonLandscape</property> <accessibility> <relation type="member-of" target="labelOrientation"/> </accessibility> @@ -211,7 +185,7 @@ </packing> </child> <child> - <object class="svxlo-FrameDirectionListBox" id="comboTextFlowBox"> + <object class="GtkComboBoxText" id="comboTextFlowBox"> <property name="can_focus">False</property> <property name="no_show_all">True</property> </object> @@ -242,7 +216,7 @@ <property name="row_spacing">6</property> <property name="column_spacing">12</property> <child> - <object class="svxlo-SvxPageWindow" id="drawingareaPageDirection"> + <object class="GtkDrawingArea" id="drawingareaPageDirection"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">center</property> @@ -272,7 +246,7 @@ </packing> </child> <child> - <object class="GtkComboBox" id="comboPaperTray"> + <object class="GtkComboBoxText" id="comboPaperTray"> <property name="visible">True</property> <property name="can_focus">False</property> </object> @@ -343,7 +317,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelTopMargin">Top:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargTop:0.00cm</property> + <property name="mnemonic_widget">spinMargTop</property> <property name="xalign">0</property> </object> <packing> @@ -357,7 +331,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelBottomMargin">Bottom:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargBot:0.00cm</property> + <property name="mnemonic_widget">spinMargBot</property> <property name="xalign">0</property> </object> <packing> @@ -366,9 +340,10 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinMargLeft:0.00cm"> + <object class="GtkSpinButton" id="spinMargLeft"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> @@ -376,9 +351,10 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinMargRight:0.00cm"> + <object class="GtkSpinButton" id="spinMargRight"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> @@ -386,9 +362,10 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinMargTop:0.00cm"> + <object class="GtkSpinButton" id="spinMargTop"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> @@ -396,9 +373,10 @@ </packing> </child> <child> - <object class="GtkSpinButton" id="spinMargBot:0.00cm"> + <object class="GtkSpinButton" id="spinMargBot"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="left_attach">1</property> @@ -416,7 +394,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelRightMargin">Right:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargRight:0.00cm</property> + <property name="mnemonic_widget">spinMargRight</property> <property name="xalign">0</property> </object> <packing> @@ -430,7 +408,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelOuter">O_uter:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargRight:0.00cm</property> + <property name="mnemonic_widget">spinMargRight</property> <property name="xalign">0</property> </object> <packing> @@ -456,7 +434,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelLeftMargin">Left:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargLeft:0.00cm</property> + <property name="mnemonic_widget">spinMargLeft</property> <property name="xalign">0</property> </object> <packing> @@ -470,7 +448,7 @@ <property name="can_focus">False</property> <property name="label" translatable="yes" context="pageformatpage|labelInner">I_nner:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">spinMargLeft:0.00cm</property> + <property name="mnemonic_widget">spinMargLeft</property> <property name="xalign">0</property> </object> <packing> @@ -572,10 +550,15 @@ </packing> </child> <child> - <object class="GtkComboBox" id="comboPageLayout"> + <object class="GtkComboBoxText" id="comboPageLayout"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="model">liststorePageLayout</property> + <items> + <item translatable="yes" context="pageformatpage|liststorePageLayout">Right and left</item> + <item translatable="yes" context="pageformatpage|liststorePageLayout">Mirrored</item> + <item translatable="yes" context="pageformatpage|liststorePageLayout">Only right</item> + <item translatable="yes" context="pageformatpage|liststorePageLayout">Only left</item> + </items> </object> <packing> <property name="left_attach">1</property> @@ -583,7 +566,7 @@ </packing> </child> <child> - <object class="svxcorelo-PageNumberListBox" id="comboLayoutFormat"> + <object class="GtkComboBoxText" id="comboLayoutFormat"> <property name="visible">True</property> <property name="can_focus">False</property> </object> @@ -682,7 +665,7 @@ </packing> </child> <child> - <object class="GtkComboBox" id="comboRegisterStyle"> + <object class="GtkComboBoxText" id="comboRegisterStyle"> <property name="can_focus">False</property> <property name="no_show_all">True</property> </object> diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in index 5f8097ea2a2c..3dcf1294d3c6 100644 --- a/extras/source/glade/libreoffice-catalog.xml.in +++ b/extras/source/glade/libreoffice-catalog.xml.in @@ -365,9 +365,6 @@ <glade-widget-class title="Paragraph Preview" name="svxlo-SvxParaPrevWindow" generic-name="Paragraph Preview Window" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> - <glade-widget-class title="Page Preview" name="svxlo-SvxPageWindow" - generic-name="Page Preview Window" parent="GtkDrawingArea" - icon-name="widget-gtk-drawingarea"/> <glade-widget-class title="Page Preview" name="swlo-SwPageGridExample" generic-name="Grid Page Preview Window" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> diff --git a/include/svx/SvxNumOptionsTabPageHelper.hxx b/include/svx/SvxNumOptionsTabPageHelper.hxx index 19e196059ee1..0b9d5040440b 100644 --- a/include/svx/SvxNumOptionsTabPageHelper.hxx +++ b/include/svx/SvxNumOptionsTabPageHelper.hxx @@ -23,6 +23,7 @@ #include <com/sun/star/text/DefaultNumberingProvider.hpp> #include <com/sun/star/text/XNumberingTypeInfo.hpp> #include <vcl/lstbox.hxx> +#include <vcl/weld.hxx> #include <svx/svxdllapi.h> using namespace css::uno; @@ -44,7 +45,8 @@ public: Pass ::std::numeric_limits<sal_uInt16>::max() if there is no such restriction. */ - static void GetI18nNumbering( ListBox& rFmtLB, sal_uInt16 nDoNotRemove ); + static void GetI18nNumbering(ListBox& rFmtLB, sal_uInt16 nDoNotRemove); + static void GetI18nNumbering(weld::ComboBoxText& rFmtLB, sal_uInt16 nDoNotRemove); }; #endif diff --git a/include/svx/frmdirlbox.hxx b/include/svx/frmdirlbox.hxx index ddb5bafc8997..148ae7010d71 100644 --- a/include/svx/frmdirlbox.hxx +++ b/include/svx/frmdirlbox.hxx @@ -66,10 +66,14 @@ public: } bool get_visible() const { return m_xControl->get_visible(); } + void save_value() { m_xControl->save_value(); } bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); } SvxFrameDirection get_active_id() const { return static_cast<SvxFrameDirection>(m_xControl->get_active_id().toUInt32()); } void set_active_id(SvxFrameDirection eDir) { m_xControl->set_active_id(OUString::number(static_cast<sal_uInt32>(eDir))); } - void save_value() { m_xControl->save_value(); } + void remove_id(SvxFrameDirection eDir) { m_xControl->remove_id(OUString::number(static_cast<sal_uInt32>(eDir))); } + void hide() { m_xControl->hide(); } + void show() { m_xControl->show(); } + int get_count() const { return m_xControl->get_count(); } /** Inserts a string with corresponding direction enum into the listbox. */ void append(SvxFrameDirection eDirection, const OUString& rString) { diff --git a/include/svx/pagenumberlistbox.hxx b/include/svx/pagenumberlistbox.hxx index 0cc32c41ffcd..221ac9b57458 100644 --- a/include/svx/pagenumberlistbox.hxx +++ b/include/svx/pagenumberlistbox.hxx @@ -22,6 +22,7 @@ #include <svx/svxdllapi.h> #include <vcl/lstbox.hxx> +#include <vcl/weld.hxx> class SVX_DLLPUBLIC PageNumberListBox : public ListBox { @@ -33,5 +34,21 @@ public: Size GetOptimalSize() const override; }; +class SVX_DLLPUBLIC SvxPageNumberListBox +{ +private: + std::unique_ptr<weld::ComboBoxText> m_xControl; +public: + SvxPageNumberListBox(weld::ComboBoxText* pControl); + void SetSelection( sal_uInt16 ); + int get_count() const { return m_xControl->get_count(); } + OUString get_id(int pos) const { return m_xControl->get_id(pos); } + int get_active() const { return m_xControl->get_active(); } + void set_active(int pos) { m_xControl->set_active(pos); } + void save_value() { m_xControl->save_value(); } + bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); } + weld::ComboBoxText& get_widget() const { return *m_xControl; } +}; + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svx/papersizelistbox.hxx b/include/svx/papersizelistbox.hxx index b477e63eb304..d9ed3b42582d 100644 --- a/include/svx/papersizelistbox.hxx +++ b/include/svx/papersizelistbox.hxx @@ -23,6 +23,7 @@ #include <i18nutil/paper.hxx> #include <svx/svxdllapi.h> #include <vcl/lstbox.hxx> +#include <vcl/weld.hxx> enum class PaperSizeApp { @@ -42,5 +43,24 @@ public: Size GetOptimalSize() const override; }; +class SVX_DLLPUBLIC SvxPaperSizeListBox +{ +private: + std::unique_ptr<weld::ComboBoxText> m_xControl; +public: + SvxPaperSizeListBox(weld::ComboBoxText *pControl); + + void FillPaperSizeEntries(PaperSizeApp eApp); + void SetSelection(Paper eSize); + Paper GetSelection() const; + + void connect_changed(const Link<weld::ComboBoxText&, void>& rLink) { m_xControl->connect_changed(rLink); } + void clear() { m_xControl->clear(); } + void save_value() { return m_xControl->save_value(); } + bool get_value_changed_from_saved() const { return m_xControl->get_value_changed_from_saved(); } + + weld::ComboBoxText& get_widget() const { return *m_xControl; } +}; + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 8092b426f925..6fe23154177d 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -255,6 +255,7 @@ public: virtual void remove(int pos) = 0; void remove_text(const OUString& rText) { remove(find_text(rText)); } virtual int find_text(const OUString& rStr) const = 0; + void remove_id(const OUString& rId) { remove(find_id(rId)); } virtual int find_id(const OUString& rId) const = 0; virtual int get_count() const = 0; virtual void make_sorted() = 0; @@ -590,21 +591,30 @@ public: update_width_chars(); } + int convert_value_to(int nValue, FieldUnit eValueUnit) const + { + return ConvertValue(nValue, m_eSrcUnit, eValueUnit); + } + + int convert_value_from(int nValue, FieldUnit eValueUnit) const + { + return ConvertValue(nValue, eValueUnit, m_eSrcUnit); + } + void set_value(int nValue, FieldUnit eValueUnit) { - m_xSpinButton->set_value(ConvertValue(nValue, eValueUnit, m_eSrcUnit)); + m_xSpinButton->set_value(convert_value_from(nValue, eValueUnit)); } int get_value(FieldUnit eDestUnit) const { - int nValue = m_xSpinButton->get_value(); - return ConvertValue(nValue, m_eSrcUnit, eDestUnit); + return convert_value_to(m_xSpinButton->get_value(), eDestUnit); } void set_range(int min, int max, FieldUnit eValueUnit) { - min = ConvertValue(min, eValueUnit, m_eSrcUnit); - max = ConvertValue(max, eValueUnit, m_eSrcUnit); + min = convert_value_from(min, eValueUnit); + max = convert_value_from(max, eValueUnit); m_xSpinButton->set_range(min, max); update_width_chars(); } @@ -612,8 +622,8 @@ public: void get_range(int& min, int& max, FieldUnit eDestUnit) const { m_xSpinButton->get_range(min, max); - min = ConvertValue(min, m_eSrcUnit, eDestUnit); - max = ConvertValue(max, m_eSrcUnit, eDestUnit); + min = convert_value_to(min, eDestUnit); + max = convert_value_to(max, eDestUnit); } void set_min(int min, FieldUnit eValueUnit) @@ -646,16 +656,16 @@ public: void set_increments(int step, int page, FieldUnit eValueUnit) { - step = ConvertValue(step, eValueUnit, m_eSrcUnit); - page = ConvertValue(page, eValueUnit, m_eSrcUnit); + step = convert_value_from(step, eValueUnit); + page = convert_value_from(page, eValueUnit); m_xSpinButton->set_increments(step, page); } void get_increments(int& step, int& page, FieldUnit eDestUnit) const { m_xSpinButton->get_increments(step, page); - step = ConvertValue(step, m_eSrcUnit, eDestUnit); - page = ConvertValue(page, m_eSrcUnit, eDestUnit); + step = convert_value_to(step, eDestUnit); + page = convert_value_to(page, eDestUnit); } void connect_value_changed(const Link<MetricSpinButton&, void>& rLink) diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr index 2b4fa33933da..96186ebd2892 100644 --- a/solenv/sanitizers/ui/cui.suppr +++ b/solenv/sanitizers/ui/cui.suppr @@ -219,8 +219,8 @@ cui/uiconfig/ui/optsavepage.ui://GtkLabel[@id='autosave_mins'] orphan-label cui/uiconfig/ui/optviewpage.ui://GtkComboBoxText[@id='iconsize'] duplicate-mnemonic cui/uiconfig/ui/optviewpage.ui://GtkComboBoxText[@id='sidebariconsize'] no-labelled-by cui/uiconfig/ui/optviewpage.ui://GtkComboBoxText[@id='notebookbariconsize'] no-labelled-by -cui/uiconfig/ui/pageformatpage.ui://GtkSpinButton[@id='spinMargLeft:0.00cm'] duplicate-mnemonic -cui/uiconfig/ui/pageformatpage.ui://GtkSpinButton[@id='spinMargRight:0.00cm'] duplicate-mnemonic +cui/uiconfig/ui/pageformatpage.ui://GtkSpinButton[@id='spinMargLeft'] duplicate-mnemonic +cui/uiconfig/ui/pageformatpage.ui://GtkSpinButton[@id='spinMargRight'] duplicate-mnemonic cui/uiconfig/ui/paraindentspacing.ui://GtkComboBox[@id='comboLB_LINEDIST'] no-labelled-by cui/uiconfig/ui/paraindentspacing.ui://GtkLabel[@id='labelFT_LINEDIST'] orphan-label cui/uiconfig/ui/paraindentspacing.ui://GtkSpinButton[@id='spinED_LINEDISTPERCENT'] no-labelled-by diff --git a/svx/source/dialog/SvxNumOptionsTabPageHelper.cxx b/svx/source/dialog/SvxNumOptionsTabPageHelper.cxx index e8ffdc79d443..8d5ef1950153 100644 --- a/svx/source/dialog/SvxNumOptionsTabPageHelper.cxx +++ b/svx/source/dialog/SvxNumOptionsTabPageHelper.cxx @@ -89,4 +89,56 @@ void SvxNumOptionsTabPageHelper::GetI18nNumbering( ListBox& rFmtLB, sal_uInt16 n } } +void SvxNumOptionsTabPageHelper::GetI18nNumbering(weld::ComboBoxText& rFmtLB, sal_uInt16 nDoNotRemove) +{ + Reference<XDefaultNumberingProvider> xDefNum = GetNumberingProvider(); + Reference<XNumberingTypeInfo> xInfo(xDefNum, UNO_QUERY); + + // Extended numbering schemes present in the resource but not offered by + // the i18n framework per configuration must be removed from the listbox. + // Do not remove a special entry matching nDoNotRemove. + const sal_uInt16 nDontRemove = SAL_MAX_UINT16; + ::std::vector< sal_uInt16> aRemove( rFmtLB.get_count(), nDontRemove); + for (size_t i=0; i<aRemove.size(); ++i) + { + sal_uInt16 nEntryData = rFmtLB.get_id(i).toInt32(); + if (nEntryData > NumberingType::CHARS_LOWER_LETTER_N && nEntryData != nDoNotRemove) + aRemove[i] = nEntryData; + } + if(xInfo.is()) + { + Sequence<sal_Int16> aTypes = xInfo->getSupportedNumberingTypes( ); + const sal_Int16* pTypes = aTypes.getConstArray(); + for(sal_Int32 nType = 0; nType < aTypes.getLength(); nType++) + { + sal_Int16 nCurrent = pTypes[nType]; + if(nCurrent > NumberingType::CHARS_LOWER_LETTER_N) + { + bool bInsert = true; + for (int nEntry = 0; nEntry < rFmtLB.get_count(); ++nEntry) + { + sal_uInt16 nEntryData = rFmtLB.get_id(nEntry).toInt32(); + if (nEntryData == static_cast<sal_uInt16>(nCurrent)) + { + bInsert = false; + aRemove[nEntry] = nDontRemove; + break; + } + } + if(bInsert) + { + OUString aIdent = xInfo->getNumberingIdentifier( nCurrent ); + rFmtLB.append(OUString::number(nCurrent), aIdent); + } + } + } + } + for (unsigned short i : aRemove) + { + if (i == nDontRemove) + continue; + rFmtLB.remove_id(OUString::number(i)); + } +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/dialog/pagectrl.cxx b/svx/source/dialog/pagectrl.cxx index 7c3d4a7e54f4..d3fc8044231f 100644 --- a/svx/source/dialog/pagectrl.cxx +++ b/svx/source/dialog/pagectrl.cxx @@ -86,8 +86,6 @@ SvxPageWindow::~SvxPageWindow() disposeOnce(); } -VCL_BUILDER_FACTORY(SvxPageWindow) - void SvxPageWindow::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) { Fraction aXScale(aWinSize.Width(), std::max(long(aSize.Width() * 2 + aSize.Width() / 8), 1L)); diff --git a/svx/source/dialog/pagenumberlistbox.cxx b/svx/source/dialog/pagenumberlistbox.cxx index ade3baa6d0e0..904d28b16d04 100644 --- a/svx/source/dialog/pagenumberlistbox.cxx +++ b/svx/source/dialog/pagenumberlistbox.cxx @@ -74,4 +74,48 @@ Size PageNumberListBox::GetOptimalSize() const return Size(150, ListBox::GetOptimalSize().Height()); } +SvxPageNumberListBox::SvxPageNumberListBox(weld::ComboBoxText* pControl) + : m_xControl(pControl) +{ + m_xControl->set_size_request(150, -1); + + for (size_t i = 0; i < SAL_N_ELEMENTS(RID_SVXSTRARY_NUMBERINGTYPE); ++i) + { + sal_uInt16 nData = RID_SVXSTRARY_NUMBERINGTYPE[i].second; + switch (nData) + { + // String list array is also used in Writer and contains strings + // for Bullet and Graphics, ignore those here. + case css::style::NumberingType::CHAR_SPECIAL: + case css::style::NumberingType::BITMAP: + case css::style::NumberingType::BITMAP | LINK_TOKEN: + break; + default: + { + OUString aStr = SvxResId(RID_SVXSTRARY_NUMBERINGTYPE[i].first); + m_xControl->append(OUString::number(nData), aStr); + break; + } + } + } +} + +void SvxPageNumberListBox::SetSelection( sal_uInt16 nPos ) +{ + int nEntryCount = m_xControl->get_count(); + int nSelPos = -1; + + for (sal_Int32 i = 0; i < nEntryCount; ++i) + { + sal_uInt16 nTmp = static_cast<sal_uInt16>(m_xControl->get_id(i).toInt32()); + + if (nTmp == nPos) + { + nSelPos = i; + break; + } + } + m_xControl->set_active(nSelPos); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/dialog/papersizelistbox.cxx b/svx/source/dialog/papersizelistbox.cxx index 54e0743c3424..8f9807f663c5 100644 --- a/svx/source/dialog/papersizelistbox.cxx +++ b/svx/source/dialog/papersizelistbox.cxx @@ -83,5 +83,55 @@ Size PaperSizeListBox::GetOptimalSize() const { return Size(150, ListBox::GetOptimalSize().Height()); } + +SvxPaperSizeListBox::SvxPaperSizeListBox(weld::ComboBoxText* pControl) + : m_xControl(pControl) +{ + m_xControl->set_size_request(150, -1); +} + +void SvxPaperSizeListBox::FillPaperSizeEntries( PaperSizeApp eApp ) +{ + const std::pair<const char*, int>* pPaperAry = eApp == PaperSizeApp::Std ? + RID_SVXSTRARY_PAPERSIZE_STD : RID_SVXSTRARY_PAPERSIZE_DRAW; + sal_uInt32 nCnt = eApp == PaperSizeApp::Std ? + SAL_N_ELEMENTS(RID_SVXSTRARY_PAPERSIZE_STD) : SAL_N_ELEMENTS(RID_SVXSTRARY_PAPERSIZE_DRAW); + + for ( sal_uInt32 i = 0; i < nCnt; ++i ) + { + OUString aStr = SvxResId(pPaperAry[i].first); + Paper eSize = static_cast<Paper>(pPaperAry[i].second); + m_xControl->append(OUString::number(static_cast<sal_Int32>(eSize)), aStr); + } +} + +void SvxPaperSizeListBox::SetSelection( Paper ePreselectPaper ) +{ + int nEntryCount = m_xControl->get_count(); + int nSelPos = -1; + int nUserPos = -1; + + for (int i = 0; i < nEntryCount; ++i) + { + Paper eTmp = static_cast<Paper>(m_xControl->get_id(i).toInt32()); + if (eTmp == ePreselectPaper) + { + nSelPos = i; + break; + } + + if (eTmp == PAPER_USER) + nUserPos = i; + } + + // preselect current paper format - #115915#: ePaper might not be in aPaperSizeBox so use PAPER_USER instead + m_xControl->set_active((nSelPos != -1) ? nSelPos : nUserPos); +} + +Paper SvxPaperSizeListBox::GetSelection() const +{ + return static_cast<Paper>(m_xControl->get_active_id().toInt32()); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |