summaryrefslogtreecommitdiff
path: root/sw/source/uibase/inc
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/inc')
-rw-r--r--sw/source/uibase/inc/numberingtypelistbox.hxx3
-rw-r--r--sw/source/uibase/inc/numprevw.hxx50
-rw-r--r--sw/source/uibase/inc/outline.hxx50
3 files changed, 77 insertions, 26 deletions
diff --git a/sw/source/uibase/inc/numberingtypelistbox.hxx b/sw/source/uibase/inc/numberingtypelistbox.hxx
index 393a60df2ee7..b6c83f14e5c1 100644
--- a/sw/source/uibase/inc/numberingtypelistbox.hxx
+++ b/sw/source/uibase/inc/numberingtypelistbox.hxx
@@ -67,9 +67,12 @@ public:
NumberingTypeListBox(weld::ComboBoxText* pWidget);
~NumberingTypeListBox();
+ void connect_changed(const Link<weld::ComboBoxText&, void>& rLink) { m_xWidget->connect_changed(rLink); }
+
void Reload(SwInsertNumTypes nTypeFlags);
SvxNumType GetSelectedNumberingType();
bool SelectNumberingType(SvxNumType nType);
+ void SetNoSelection() { m_xWidget->set_active(-1); }
};
#endif
diff --git a/sw/source/uibase/inc/numprevw.hxx b/sw/source/uibase/inc/numprevw.hxx
index eb018c078bd9..b54bcf5ddbb1 100644
--- a/sw/source/uibase/inc/numprevw.hxx
+++ b/sw/source/uibase/inc/numprevw.hxx
@@ -59,6 +59,56 @@ class NumberingPreview : public vcl::Window
};
+class SwNumberingPreview
+{
+ std::unique_ptr<weld::DrawingArea> m_xDrawingArea;
+ Size m_aSize;
+ const SwNumRule* pActNum;
+ vcl::Font aStdFont;
+ long nPageWidth;
+ const OUString* pOutlineNames;
+ bool bPosition;
+ sal_uInt16 nActLevel;
+
+private:
+ DECL_LINK(DoPaint, weld::DrawingArea::draw_args, void);
+ DECL_LINK(DoResize, const Size& rSize, void);
+
+public:
+ SwNumberingPreview(weld::DrawingArea* pDrawingArea)
+ : m_xDrawingArea(pDrawingArea)
+ , pActNum(nullptr)
+ , nPageWidth(0)
+ , pOutlineNames(nullptr)
+ , bPosition(false)
+ , nActLevel(USHRT_MAX)
+ {
+ m_xDrawingArea->connect_size_allocate(LINK(this, SwNumberingPreview, DoResize));
+ m_xDrawingArea->connect_draw(LINK(this, SwNumberingPreview, DoPaint));
+ }
+
+ void queue_draw()
+ {
+ m_xDrawingArea->queue_draw();
+ }
+
+ void SetNumRule(const SwNumRule* pNum)
+ {
+ pActNum = pNum;
+ queue_draw();
+ }
+
+ void SetPageWidth(long nPgWidth)
+ {nPageWidth = nPgWidth;}
+ void SetOutlineNames(const OUString* pNames)
+ {pOutlineNames = pNames;}
+ void SetPositionMode()
+ { bPosition = true;}
+ void SetLevel(sal_uInt16 nSet) {nActLevel = nSet;}
+
+};
+
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/uibase/inc/outline.hxx b/sw/source/uibase/inc/outline.hxx
index 14583da1fd3d..e788738a2c9e 100644
--- a/sw/source/uibase/inc/outline.hxx
+++ b/sw/source/uibase/inc/outline.hxx
@@ -82,46 +82,44 @@ public:
class SwOutlineSettingsTabPage : public SfxTabPage
{
- VclPtr<ListBox> m_pLevelLB;
-
- VclPtr<ListBox> m_pCollBox;
- VclPtr<SwNumberingTypeListBox> m_pNumberBox;
- VclPtr<ListBox> m_pCharFormatLB;
- VclPtr<FixedText> m_pAllLevelFT;
- VclPtr<NumericField> m_pAllLevelNF;
- VclPtr<Edit> m_pPrefixED;
- VclPtr<Edit> m_pSuffixED;
- VclPtr<NumericField> m_pStartEdit;
- VclPtr<NumberingPreview> m_pPreviewWIN;
-
OUString aNoFormatName;
OUString aSaveCollNames[MAXLEVEL];
SwWrtShell* pSh;
SwNumRule* pNumRule;
OUString* pCollNames;
- sal_uInt16 nActLevel;
-
- DECL_LINK( LevelHdl, ListBox&, void );
- DECL_LINK( ToggleComplete, Edit&, void );
- DECL_LINK( CollSelect, ListBox&, void );
- DECL_LINK( CollSelectGetFocus, Control&, void );
- DECL_LINK( NumberSelect, ListBox&, void );
- DECL_LINK( DelimModify, Edit&, void );
- DECL_LINK( StartModified, Edit&, void );
- DECL_LINK( CharFormatHdl, ListBox&, void );
+ sal_uInt16 nActLevel;
+
+ std::unique_ptr<weld::TreeView> m_xLevelLB;
+ std::unique_ptr<weld::ComboBoxText> m_xCollBox;
+ std::unique_ptr<NumberingTypeListBox> m_xNumberBox;
+ std::unique_ptr<weld::ComboBoxText> m_xCharFormatLB;
+ std::unique_ptr<weld::Label> m_xAllLevelFT;
+ std::unique_ptr<weld::SpinButton> m_xAllLevelNF;
+ std::unique_ptr<weld::Entry> m_xPrefixED;
+ std::unique_ptr<weld::Entry> m_xSuffixED;
+ std::unique_ptr<weld::SpinButton> m_xStartEdit;
+ std::unique_ptr<SwNumberingPreview> m_xPreviewWIN;
+
+ DECL_LINK( LevelHdl, weld::TreeView&, void );
+ DECL_LINK( ToggleComplete, weld::SpinButton&, void );
+ DECL_LINK( CollSelect, weld::ComboBoxText&, void );
+ DECL_LINK( CollSelectGetFocus, weld::Widget&, void );
+ DECL_LINK( NumberSelect, weld::ComboBoxText&, void );
+ DECL_LINK( DelimModify, weld::Entry&, void );
+ DECL_LINK( StartModified, weld::SpinButton&, void );
+ DECL_LINK( CharFormatHdl, weld::ComboBoxText&, void );
void Update();
- void SetModified(){m_pPreviewWIN->Invalidate();}
+ void SetModified() { m_xPreviewWIN->queue_draw(); }
void CheckForStartValue_Impl(sal_uInt16 nNumberingType);
using SfxTabPage::ActivatePage;
using SfxTabPage::DeactivatePage;
public:
- SwOutlineSettingsTabPage(vcl::Window* pParent, const SfxItemSet& rSet);
+ SwOutlineSettingsTabPage(TabPageParent pParent, const SfxItemSet& rSet);
virtual ~SwOutlineSettingsTabPage() override;
- virtual void dispose() override;
void SetWrtShell(SwWrtShell* pShell);
@@ -135,7 +133,7 @@ public:
void SetNumRule(SwNumRule *pRule)
{
pNumRule = pRule;
- m_pPreviewWIN->SetNumRule(pNumRule);
+ m_xPreviewWIN->SetNumRule(pNumRule);
}
};