Kaydet (Commit) a27ae800 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld SvxSingleNumPickTabPage

Change-Id: I6d8cf1d63b30472072e2d464c3ba6f173f4d030f
Reviewed-on: https://gerrit.libreoffice.org/60264
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 17cbd1dc
...@@ -88,7 +88,6 @@ class SvxSingleNumPickTabPage final : public SfxTabPage ...@@ -88,7 +88,6 @@ class SvxSingleNumPickTabPage final : public SfxTabPage
using TabPage::ActivatePage; using TabPage::ActivatePage;
using TabPage::DeactivatePage; using TabPage::DeactivatePage;
VclPtr<SvxNumValueSet> m_pExamplesVS;
SvxNumSettingsArr_Impl aNumSettingsArr; SvxNumSettingsArr_Impl aNumSettingsArr;
std::unique_ptr<SvxNumRule> pActNum; std::unique_ptr<SvxNumRule> pActNum;
std::unique_ptr<SvxNumRule> pSaveNum; std::unique_ptr<SvxNumRule> pSaveNum;
...@@ -98,12 +97,14 @@ class SvxSingleNumPickTabPage final : public SfxTabPage ...@@ -98,12 +97,14 @@ class SvxSingleNumPickTabPage final : public SfxTabPage
sal_uInt16 nNumItemId; sal_uInt16 nNumItemId;
DECL_LINK(NumSelectHdl_Impl, ValueSet*, void); std::unique_ptr<NumValueSet> m_xExamplesVS;
DECL_LINK(DoubleClickHdl_Impl, ValueSet*, void); std::unique_ptr<weld::CustomWeld> m_xExamplesVSWin;
DECL_LINK(NumSelectHdl_Impl, SvtValueSet*, void);
DECL_LINK(DoubleClickHdl_Impl, SvtValueSet*, void);
public: public:
SvxSingleNumPickTabPage(vcl::Window* pParent, SvxSingleNumPickTabPage(TabPageParent pParent, const SfxItemSet& rSet);
const SfxItemSet& rSet);
virtual ~SvxSingleNumPickTabPage() override; virtual ~SvxSingleNumPickTabPage() override;
virtual void dispose() override; virtual void dispose() override;
...@@ -116,7 +117,6 @@ public: ...@@ -116,7 +117,6 @@ public:
virtual void Reset( const SfxItemSet* rSet ) override; virtual void Reset( const SfxItemSet* rSet ) override;
}; };
class SvxBulletPickTabPage final : public SfxTabPage class SvxBulletPickTabPage final : public SfxTabPage
{ {
using TabPage::ActivatePage; using TabPage::ActivatePage;
......
...@@ -170,19 +170,19 @@ static const vcl::Font& lcl_GetDefaultBulletFont() ...@@ -170,19 +170,19 @@ static const vcl::Font& lcl_GetDefaultBulletFont()
return aDefBulletFont; return aDefBulletFont;
} }
SvxSingleNumPickTabPage::SvxSingleNumPickTabPage(vcl::Window* pParent, SvxSingleNumPickTabPage::SvxSingleNumPickTabPage(TabPageParent pParent, const SfxItemSet& rSet)
const SfxItemSet& rSet) : SfxTabPage(pParent, "cui/ui/picknumberingpage.ui", "PickNumberingPage", &rSet)
: SfxTabPage(pParent, "PickNumberingPage", "cui/ui/picknumberingpage.ui", &rSet)
, nActNumLvl(SAL_MAX_UINT16) , nActNumLvl(SAL_MAX_UINT16)
, bModified(false) , bModified(false)
, bPreset(false) , bPreset(false)
, nNumItemId(SID_ATTR_NUMBERING_RULE) , nNumItemId(SID_ATTR_NUMBERING_RULE)
, m_xExamplesVS(new NumValueSet)
, m_xExamplesVSWin(new weld::CustomWeld(*m_xBuilder, "valueset", *m_xExamplesVS))
{ {
SetExchangeSupport(); SetExchangeSupport();
get(m_pExamplesVS, "valueset"); m_xExamplesVS->init(NumberingPageType::SINGLENUM);
m_pExamplesVS->init(NumberingPageType::SINGLENUM); m_xExamplesVS->SetSelectHdl(LINK(this, SvxSingleNumPickTabPage, NumSelectHdl_Impl));
m_pExamplesVS->SetSelectHdl(LINK(this, SvxSingleNumPickTabPage, NumSelectHdl_Impl)); m_xExamplesVS->SetDoubleClickHdl(LINK(this, SvxSingleNumPickTabPage, DoubleClickHdl_Impl));
m_pExamplesVS->SetDoubleClickHdl(LINK(this, SvxSingleNumPickTabPage, DoubleClickHdl_Impl));
Reference<XDefaultNumberingProvider> xDefNum = SvxNumOptionsTabPageHelper::GetNumberingProvider(); Reference<XDefaultNumberingProvider> xDefNum = SvxNumOptionsTabPageHelper::GetNumberingProvider();
if(xDefNum.is()) if(xDefNum.is())
...@@ -208,7 +208,7 @@ SvxSingleNumPickTabPage::SvxSingleNumPickTabPage(vcl::Window* pParent, ...@@ -208,7 +208,7 @@ SvxSingleNumPickTabPage::SvxSingleNumPickTabPage(vcl::Window* pParent,
{ {
} }
Reference<XNumberingFormatter> xFormat(xDefNum, UNO_QUERY); Reference<XNumberingFormatter> xFormat(xDefNum, UNO_QUERY);
m_pExamplesVS->SetNumberingSettings(aNumberings, xFormat, rLocale); m_xExamplesVS->SetNumberingSettings(aNumberings, xFormat, rLocale);
} }
} }
...@@ -219,16 +219,15 @@ SvxSingleNumPickTabPage::~SvxSingleNumPickTabPage() ...@@ -219,16 +219,15 @@ SvxSingleNumPickTabPage::~SvxSingleNumPickTabPage()
void SvxSingleNumPickTabPage::dispose() void SvxSingleNumPickTabPage::dispose()
{ {
pActNum.reset(); m_xExamplesVSWin.reset();
pSaveNum.reset(); m_xExamplesVS.reset();
m_pExamplesVS.clear();
SfxTabPage::dispose(); SfxTabPage::dispose();
} }
VclPtr<SfxTabPage> SvxSingleNumPickTabPage::Create( TabPageParent pParent, VclPtr<SfxTabPage> SvxSingleNumPickTabPage::Create(TabPageParent pParent,
const SfxItemSet* rAttrSet) const SfxItemSet* rAttrSet)
{ {
return VclPtr<SvxSingleNumPickTabPage>::Create(pParent.pParent, *rAttrSet); return VclPtr<SvxSingleNumPickTabPage>::Create(pParent, *rAttrSet);
} }
bool SvxSingleNumPickTabPage::FillItemSet( SfxItemSet* rSet ) bool SvxSingleNumPickTabPage::FillItemSet( SfxItemSet* rSet )
...@@ -263,13 +262,13 @@ void SvxSingleNumPickTabPage::ActivatePage(const SfxItemSet& rSet) ...@@ -263,13 +262,13 @@ void SvxSingleNumPickTabPage::ActivatePage(const SfxItemSet& rSet)
if(pActNum && *pSaveNum != *pActNum) if(pActNum && *pSaveNum != *pActNum)
{ {
*pActNum = *pSaveNum; *pActNum = *pSaveNum;
m_pExamplesVS->SetNoSelection(); m_xExamplesVS->SetNoSelection();
} }
if(pActNum && (!lcl_IsNumFmtSet(pActNum.get(), nActNumLvl) || bIsPreset)) if(pActNum && (!lcl_IsNumFmtSet(pActNum.get(), nActNumLvl) || bIsPreset))
{ {
m_pExamplesVS->SelectItem(1); m_xExamplesVS->SelectItem(1);
NumSelectHdl_Impl(m_pExamplesVS); NumSelectHdl_Impl(m_xExamplesVS.get());
bPreset = true; bPreset = true;
} }
bPreset |= bIsPreset; bPreset |= bIsPreset;
...@@ -310,13 +309,13 @@ void SvxSingleNumPickTabPage::Reset( const SfxItemSet* rSet ) ...@@ -310,13 +309,13 @@ void SvxSingleNumPickTabPage::Reset( const SfxItemSet* rSet )
*pActNum = *pSaveNum; *pActNum = *pSaveNum;
} }
IMPL_LINK_NOARG(SvxSingleNumPickTabPage, NumSelectHdl_Impl, ValueSet*, void) IMPL_LINK_NOARG(SvxSingleNumPickTabPage, NumSelectHdl_Impl, SvtValueSet*, void)
{ {
if(pActNum) if(pActNum)
{ {
bPreset = false; bPreset = false;
bModified = true; bModified = true;
sal_uInt16 nIdx = m_pExamplesVS->GetSelectedItemId() - 1; sal_uInt16 nIdx = m_xExamplesVS->GetSelectedItemId() - 1;
DBG_ASSERT(aNumSettingsArr.size() > nIdx, "wrong index"); DBG_ASSERT(aNumSettingsArr.size() > nIdx, "wrong index");
if(aNumSettingsArr.size() <= nIdx) if(aNumSettingsArr.size() <= nIdx)
return; return;
...@@ -349,14 +348,13 @@ IMPL_LINK_NOARG(SvxSingleNumPickTabPage, NumSelectHdl_Impl, ValueSet*, void) ...@@ -349,14 +348,13 @@ IMPL_LINK_NOARG(SvxSingleNumPickTabPage, NumSelectHdl_Impl, ValueSet*, void)
} }
} }
IMPL_LINK_NOARG(SvxSingleNumPickTabPage, DoubleClickHdl_Impl, ValueSet*, void) IMPL_LINK_NOARG(SvxSingleNumPickTabPage, DoubleClickHdl_Impl, SvtValueSet*, void)
{ {
NumSelectHdl_Impl(m_pExamplesVS); NumSelectHdl_Impl(m_xExamplesVS.get());
PushButton& rOk = GetTabDialog()->GetOKButton(); PushButton& rOk = GetTabDialog()->GetOKButton();
rOk.GetClickHdl().Call(&rOk); rOk.GetClickHdl().Call(&rOk);
} }
SvxBulletPickTabPage::SvxBulletPickTabPage(TabPageParent pParent, const SfxItemSet& rSet) SvxBulletPickTabPage::SvxBulletPickTabPage(TabPageParent pParent, const SfxItemSet& rSet)
: SfxTabPage(pParent, "cui/ui/pickbulletpage.ui", "PickBulletPage", &rSet) : SfxTabPage(pParent, "cui/ui/pickbulletpage.ui", "PickBulletPage", &rSet)
, nActNumLvl(SAL_MAX_UINT16) , nActNumLvl(SAL_MAX_UINT16)
......
...@@ -18,11 +18,29 @@ ...@@ -18,11 +18,29 @@
<property name="top_padding">6</property> <property name="top_padding">6</property>
<property name="left_padding">12</property> <property name="left_padding">12</property>
<child> <child>
<object class="svxlo-SvxNumValueSet" id="valueset"> <object class="GtkScrolledWindow" id="valuesetwin">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">never</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkDrawingArea" id="valueset">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
</object>
</child>
</object>
</child>
</object> </object>
</child> </child>
</object> </object>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment