24#include <svx/dialogs.hrc>
25#include <svx/svxids.hrc>
47 std::unique_ptr<weld::CheckButton> m_xNewStartCB;
48 std::unique_ptr<weld::CheckButton> m_xNewStartNumberCB;
49 std::unique_ptr<weld::SpinButton> m_xNewStartNF;
57 :
SfxTabPage(pPage, pController,
"modules/sdraw/ui/paranumberingtab.ui",
"DrawParaNumbering", &rAttr)
59 , m_xNewStartCB(m_xBuilder->weld_check_button(
"checkbuttonCB_NEW_START"))
60 , m_xNewStartNumberCB(m_xBuilder->weld_check_button(
"checkbuttonCB_NUMBER_NEW_START"))
61 , m_xNewStartNF(m_xBuilder->weld_spin_button(
"spinbuttonNF_NEW_START"))
63 m_xNewStartCB->connect_toggled(
LINK(
this, SdParagraphNumTabPage, ImplNewStartHdl));
64 m_xNewStartNumberCB->connect_toggled(
LINK(
this, SdParagraphNumTabPage, ImplNewStartHdl));
69 return std::make_unique<SdParagraphNumTabPage>(pPage, pController, *rAttrSet);
77bool SdParagraphNumTabPage::FillItemSet(
SfxItemSet* rSet )
79 if (m_xNewStartCB->get_state_changed_from_saved() ||
80 m_xNewStartNumberCB->get_state_changed_from_saved()||
81 m_xNewStartNF->get_value_changed_from_saved())
84 bool bNewStartChecked =
TRISTATE_TRUE == m_xNewStartCB->get_state();
85 bool bNumberNewStartChecked =
TRISTATE_TRUE == m_xNewStartNumberCB->get_state();
88 const sal_Int16 nStartAt =
static_cast<sal_Int16
>(m_xNewStartNF->get_value());
89 rSet->
Put(
SfxInt16Item(ATTR_NUMBER_NEWSTART_AT, bNumberNewStartChecked && bNewStartChecked ? nStartAt : -1));
95void SdParagraphNumTabPage::Reset(
const SfxItemSet* rSet )
98 if(eItemState > SfxItemState::DEFAULT )
101 m_xNewStartCB->set_state( rStart.
GetValue() ? TRISTATE_TRUE : TRISTATE_FALSE );
105 m_xNewStartCB->set_state(TRISTATE_INDET);
106 m_xNewStartCB->set_sensitive(
false);
108 m_xNewStartCB->save_state();
111 if( eItemState > SfxItemState::DEFAULT )
113 sal_Int16 nNewStart =
rSet->
Get(ATTR_NUMBER_NEWSTART_AT).GetValue();
114 m_xNewStartNumberCB->set_active(-1 != nNewStart);
118 m_xNewStartNF->set_value(nNewStart);
122 m_xNewStartCB->set_state(TRISTATE_INDET);
124 ImplNewStartHdl(*m_xNewStartCB);
125 m_xNewStartNF->save_value();
126 m_xNewStartNumberCB->save_state();
132 bool bEnable = m_xNewStartCB->get_active();
133 m_xNewStartNumberCB->set_sensitive(bEnable);
134 m_xNewStartNF->set_sensitive(bEnable && m_xNewStartNumberCB->get_active());
139 "DrawParagraphPropertiesDialog", pAttr)
141 AddTabPage(
"labelTP_PARA_STD", RID_SVXPAGE_STD_PARAGRAPH);
144 AddTabPage(
"labelTP_PARA_ASIAN", RID_SVXPAGE_PARA_ASIAN);
148 AddTabPage(
"labelTP_PARA_ALIGN", RID_SVXPAGE_ALIGN_PARAGRAPH);
150 static const bool bShowParaNumbering = ( getenv(
"SD_SHOW_NUMBERING_PAGE" ) != nullptr );
151 if( bShowParaNumbering )
152 AddTabPage(
"labelNUMBERING", SdParagraphNumTabPage::Create, SdParagraphNumTabPage::GetRanges );
156 AddTabPage(
"labelTP_TABULATOR", RID_SVXPAGE_TABULATOR);
162 if (rId ==
"labelTP_PARA_STD")
SdParagraphDlg(weld::Window *pParent, const SfxItemSet *pAttr)
virtual void PageCreated(const OUString &rId, SfxTabPage &rPage) override
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void AddTabPage(const OUString &rName, CreateTabPage pCreateFunc, GetTabPageRanges pRangesFunc)
void RemoveTabPage(const OUString &rName)
SfxItemSet * GetInputSetImpl()
virtual void Reset(const SfxItemSet *)
virtual void PageCreated(const SfxAllItemSet &aSet)
virtual bool FillItemSet(SfxItemSet *)
DECL_LINK(CheckNameHdl, SvxNameDialog &, bool)
constexpr tools::Long MM50
#define LINK(Instance, Class, Member)
bool IsAsianTypographyEnabled()
bool GetRanges(std::vector< std::shared_ptr< SwUnoCursor > > &rRanges, SwDoc &rDoc, SwPaM const &rDelPam)
IMPL_LINK_NOARG(SdParagraphNumTabPage, ImplNewStartHdl, weld::Toggleable &, void)