diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-04-18 16:49:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-04-27 12:41:14 +0200 |
commit | 56dd851cfc77c362c3db5c0aae4a490c7f6782cc (patch) | |
tree | 0f5f6564e0b9af8123f4cebfe9a2f55c1bbbba57 /include | |
parent | 6afbe153ffd4cab27f0a7bb77f71f25923dc2e43 (diff) |
weld cluster of change tracking dialogs
Change-Id: I42ca7acb41699df91b91a9f59fc68cd30972a397
Reviewed-on: https://gerrit.libreoffice.org/70988
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/basedlgs.hxx | 1 | ||||
-rw-r--r-- | include/sfx2/childwin.hxx | 8 | ||||
-rw-r--r-- | include/svtools/ctrlbox.hxx | 9 | ||||
-rw-r--r-- | include/svx/ctredlin.hxx | 176 | ||||
-rw-r--r-- | include/svx/sidebar/PanelLayout.hxx | 7 | ||||
-rw-r--r-- | include/svx/svxdlg.hxx | 2 | ||||
-rw-r--r-- | include/vcl/treelistbox.hxx | 2 | ||||
-rw-r--r-- | include/vcl/weld.hxx | 24 |
8 files changed, 136 insertions, 93 deletions
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx index 272ad3fae082..d2646af1d9e5 100644 --- a/include/sfx2/basedlgs.hxx +++ b/include/sfx2/basedlgs.hxx @@ -143,6 +143,7 @@ public: virtual void Activate() override; virtual void Deactivate() override; virtual void ChildWinDispose() override; + virtual void FillInfo(SfxChildWinInfo&) const; SfxBindings& GetBindings() { return *m_pBindings; } }; diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx index 0a65e3c964a6..a01881c7698a 100644 --- a/include/sfx2/childwin.hxx +++ b/include/sfx2/childwin.hxx @@ -163,6 +163,7 @@ public: void SetController(std::shared_ptr<SfxDialogController> controller) { xController = controller; } void ClearController() { xController.reset(); } std::shared_ptr<SfxDialogController>& GetController() { return xController; } + const std::shared_ptr<SfxDialogController>& GetController() const { return xController; } vcl::Window* GetParent() const { return pParent; } SfxChildAlignment GetAlignment() const @@ -297,6 +298,13 @@ public: static_cast<SfxModelessDialog*>(GetWindow())->FillInfo( aInfo ); \ return aInfo; } +#define SFX_IMPL_MODELESSDIALOGCONTOLLER_WITHID(Class, MyID) \ + SFX_IMPL_CHILDWINDOW_WITHID(Class, MyID) \ + SfxChildWinInfo Class::GetInfo() const \ + { \ + SfxChildWinInfo aInfo = SfxChildWindow::GetInfo(); \ + static_cast<const SfxModelessDialogController*>(GetController().get())->FillInfo( aInfo ); \ + return aInfo; } #define SFX_IMPL_DOCKINGWINDOW(Class, MyID) \ SFX_IMPL_CHILDWINDOW(Class, MyID) \ diff --git a/include/svtools/ctrlbox.hxx b/include/svtools/ctrlbox.hxx index 80384fd0e882..1923809ba344 100644 --- a/include/svtools/ctrlbox.hxx +++ b/include/svtools/ctrlbox.hxx @@ -300,9 +300,14 @@ public: void set_date(const Date& rDate); Date get_date() const { return m_xCalendar->get_date(); } + void set_label(const OUString& rLabel) { m_xControl->set_label(rLabel); } + OUString get_label() const { return m_xControl->get_label(); } + void set_sensitive(bool bSensitive) { m_xControl->set_sensitive(bSensitive); } bool get_sensitive() const { return m_xControl->get_sensitive(); } void grab_focus() { m_xControl->grab_focus(); } + + void connect_activated(const Link<SvtCalendarBox&, void>& rActivatedHdl) { m_aActivatedHdl = rActivatedHdl; } private: DECL_LINK(SelectHdl, weld::Calendar&, void); DECL_LINK(ActivateHdl, weld::Calendar&, void); @@ -311,6 +316,10 @@ private: std::unique_ptr<weld::Builder> m_xBuilder; std::unique_ptr<weld::Widget> m_xTopLevel; std::unique_ptr<weld::Calendar> m_xCalendar; + + Link<SvtCalendarBox&, void> m_aActivatedHdl; + + void set_label_from_date(); }; class SVT_DLLPUBLIC FontNameBox : public ComboBox diff --git a/include/svx/ctredlin.hxx b/include/svx/ctredlin.hxx index 7e2260b4f1c4..3e2e88367156 100644 --- a/include/svx/ctredlin.hxx +++ b/include/svx/ctredlin.hxx @@ -20,10 +20,12 @@ #ifndef INCLUDED_SVX_CTREDLIN_HXX #define INCLUDED_SVX_CTREDLIN_HXX +#include <comphelper/string.hxx> #include <rtl/ustring.hxx> #include <sal/types.h> #include <svx/svxdllapi.h> #include <svtools/simptabl.hxx> +#include <svtools/ctrlbox.hxx> #include <vcl/svlbitm.hxx> #include <vcl/svtabbx.hxx> #include <vcl/treelistbox.hxx> @@ -108,11 +110,13 @@ public: virtual std::unique_ptr<SvLBoxItem> Clone(SvLBoxItem const * pSource) const override; }; -class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxRedlinTable : public SvSimpleTable +class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxRedlinTable { - using SvTabListBox::InsertEntry; - private: + std::unique_ptr<comphelper::string::NaturalStringSorter> xSorter; + std::unique_ptr<weld::TreeView> xWriterTreeView; + std::unique_ptr<weld::TreeView> xCalcTreeView; + weld::TreeView* pTreeView; sal_uInt16 nDatePos; bool bAuthor; @@ -128,18 +132,18 @@ private: Image maEntryImage; OUString maEntryString; std::unique_ptr<utl::TextSearch> pCommentSearcher; - Link<const SvSortData*,sal_Int32> aColCompareLink; - -protected: - virtual sal_Int32 ColCompare(SvTreeListEntry*,SvTreeListEntry*) override; - virtual void InitEntry(SvTreeListEntry*, const OUString&, const Image&, const Image&, SvLBoxButtonKind) override; + int ColCompare(const weld::TreeIter& rLeft, const weld::TreeIter& rRight); public: + SvxRedlinTable(std::unique_ptr<weld::TreeView> xWriterControl, + std::unique_ptr<weld::TreeView> xCalcControl); - SvxRedlinTable(SvSimpleTableContainer& rParent, WinBits nBits = WB_BORDER); - virtual ~SvxRedlinTable() override; - virtual void dispose() override; + void set_size_request(int nWidth, int nHeight); + + weld::TreeView& GetWidget() { return *pTreeView; } + + ~SvxRedlinTable(); // For FilterPage only { void SetFilterDate(bool bFlag); @@ -157,80 +161,71 @@ public: // } For FilterPage only void SetCalcView(); + void SetWriterView(); bool IsValidEntry(const OUString &rAuthor, const DateTime &rDateTime, const OUString &rComment); bool IsValidEntry(const OUString &rAuthor, const DateTime &rDateTime); bool IsValidComment(const OUString &rComment); - /** Insert a redline entry. - - The rStr contains the entire redline entry; the columns are delimited by '\t'. - */ - SvTreeListEntry* InsertEntry(const OUString &rStr, std::unique_ptr<RedlinData> pUserData, - SvTreeListEntry* pParent = nullptr, sal_uLong nPos = TREELIST_APPEND); - - /** Insert a redline entry. - - The rStr contains the entire redline entry; the columns are delimited by '\t'. - */ - SvTreeListEntry* InsertEntry(const OUString &rStr, std::unique_ptr<RedlinData> pUserData, const Color&, - SvTreeListEntry* pParent, sal_uLong nPos = TREELIST_APPEND); - - /** Insert a redline entry. - - rRedlineType contains the image for this redline entry (plus for insertion, minus for deletion etc.). - rStr contains the rest of the redline entry; the columns are delimited by '\t'. - */ - SvTreeListEntry* InsertEntry(const Image &rRedlineType, const OUString &rStr, std::unique_ptr<RedlinData> pUserData, - SvTreeListEntry* pParent, sal_uLong nPos = TREELIST_APPEND); - - virtual SvTreeListEntry* CreateEntry() const override; + DECL_LINK(HeaderBarClick, int, void); +}; - void SetColCompareHdl(const Link<const SvSortData*,sal_Int32>& rLink ) { aColCompareLink = rLink; } +class SVX_DLLPUBLIC SvxTPage +{ +protected: + std::unique_ptr<weld::Builder> m_xBuilder; + std::unique_ptr<weld::Container> m_xContainer; +public: + SvxTPage(weld::Container* pParent, const OUString& rUIXMLDescription, const OString& rID); + virtual ~SvxTPage(); + virtual void ActivatePage(); + virtual void DeactivatePage(); + void Show() { m_xContainer->show(); } }; /// Tabpage with the filter text entries etc. -class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPFilter final : public TabPage +class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPFilter final : public SvxTPage { Link<SvxTPFilter*,void> aReadyLink; Link<SvxTPFilter*,void> aRefLink; - VclPtr<SvxRedlinTable> pRedlinTable; - VclPtr<CheckBox> m_pCbDate; - VclPtr<ListBox> m_pLbDate; - VclPtr<DateField> m_pDfDate; - VclPtr<TimeField> m_pTfDate; - VclPtr<PushButton> m_pIbClock; - VclPtr<FixedText> m_pFtDate2; - VclPtr<DateField> m_pDfDate2; - VclPtr<TimeField> m_pTfDate2; - VclPtr<PushButton> m_pIbClock2; - VclPtr<CheckBox> m_pCbAuthor; - VclPtr<ListBox> m_pLbAuthor; - VclPtr<CheckBox> m_pCbRange; - VclPtr<Edit> m_pEdRange; - VclPtr<PushButton> m_pBtnRange; - VclPtr<CheckBox> m_pCbAction; - VclPtr<ListBox> m_pLbAction; - VclPtr<CheckBox> m_pCbComment; - VclPtr<Edit> m_pEdComment; bool bModified; - DECL_LINK( SelDateHdl, ListBox&, void ); - DECL_LINK( RowEnableHdl, Button*, void ); - DECL_LINK( TimeHdl, Button*, void ); - DECL_LINK( ModifyHdl, Edit&, void ); - DECL_LINK( ModifyListBoxHdl, ListBox&, void ); - DECL_LINK( ModifyDate, Edit&, void ); - DECL_LINK( RefHandle, Button*, void ); + SvxRedlinTable* m_pRedlinTable; + std::unique_ptr<weld::CheckButton> m_xCbDate; + std::unique_ptr<weld::ComboBox> m_xLbDate; + std::unique_ptr<SvtCalendarBox> m_xDfDate; + std::unique_ptr<weld::TimeSpinButton> m_xTfDate; + std::unique_ptr<weld::Button> m_xIbClock; + std::unique_ptr<weld::Label> m_xFtDate2; + std::unique_ptr<SvtCalendarBox> m_xDfDate2; + std::unique_ptr<weld::TimeSpinButton> m_xTfDate2; + std::unique_ptr<weld::Button> m_xIbClock2; + std::unique_ptr<weld::CheckButton> m_xCbAuthor; + std::unique_ptr<weld::ComboBox> m_xLbAuthor; + std::unique_ptr<weld::CheckButton> m_xCbRange; + std::unique_ptr<weld::Entry> m_xEdRange; + std::unique_ptr<weld::Button> m_xBtnRange; + std::unique_ptr<weld::CheckButton> m_xCbAction; + std::unique_ptr<weld::ComboBox> m_xLbAction; + std::unique_ptr<weld::CheckButton> m_xCbComment; + std::unique_ptr<weld::Entry> m_xEdComment; + + DECL_LINK( SelDateHdl, weld::ComboBox&, void ); + DECL_LINK( RowEnableHdl, weld::Button&, void ); + DECL_LINK( TimeHdl, weld::Button&, void ); + DECL_LINK( ModifyHdl, weld::Entry&, void ); + DECL_LINK( ModifyListBoxHdl, weld::ComboBox&, void ); + DECL_LINK( ModifyDate, SvtCalendarBox&, void ); + DECL_LINK( ModifyTime, weld::TimeSpinButton&, void ); + DECL_LINK( RefHandle, weld::Button&, void ); void EnableDateLine1(bool bFlag); void EnableDateLine2(bool bFlag); public: - SvxTPFilter( vcl::Window * pParent); - virtual ~SvxTPFilter() override; - virtual void dispose() override; + SvxTPFilter(weld::Container* pParent); + virtual ~SvxTPFilter() override; virtual void DeactivatePage() override; void SetRedlinTable(SvxRedlinTable*); @@ -277,7 +272,7 @@ public: void CheckAction(bool bFlag); void CheckComment(bool bFlag); - ListBox* GetLbAction() { return m_pLbAction;} + weld::ComboBox* GetLbAction() { return m_xLbAction.get(); } void SetReadyHdl( const Link<SvxTPFilter*,void>& rLink ) { aReadyLink= rLink; } @@ -291,7 +286,7 @@ public: }; /// Tabpage with the redlining entries. -class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPView : public TabPage +class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxTPView : public SvxTPage { private: @@ -301,35 +296,34 @@ private: Link<SvxTPView*,void> RejectAllClickLk; Link<SvxTPView*,void> UndoClickLk; - VclPtr<SvxRedlinTable> m_pViewData; - VclPtr<PushButton> m_pAccept; - VclPtr<PushButton> m_pReject; - VclPtr<PushButton> m_pAcceptAll; - VclPtr<PushButton> m_pRejectAll; - VclPtr<PushButton> m_pUndo; - bool bEnableAccept; bool bEnableAcceptAll; bool bEnableReject; bool bEnableRejectAll; bool bEnableUndo; - DECL_LINK( PbClickHdl, Button*, void ); + std::unique_ptr<weld::Button> m_xAccept; + std::unique_ptr<weld::Button> m_xReject; + std::unique_ptr<weld::Button> m_xAcceptAll; + std::unique_ptr<weld::Button> m_xRejectAll; + std::unique_ptr<weld::Button> m_xUndo; + std::unique_ptr<SvxRedlinTable> m_xViewData; + + DECL_LINK( PbClickHdl, weld::Button&, void ); public: - SvxTPView(vcl::Window * pParent, VclBuilderContainer *pTopLevel); + SvxTPView(weld::Container* pParent, weld::Builder* pTopLevel); virtual ~SvxTPView() override; - virtual void dispose() override; void InsertWriterHeader(); void InsertCalcHeader(); - SvxRedlinTable* GetTableControl() { return m_pViewData;} + SvxRedlinTable* GetTableControl() { return m_xViewData.get(); } void EnableAccept(bool bFlag); void EnableAcceptAll(bool bFlag); void EnableReject(bool bFlag); void EnableRejectAll(bool bFlag); - static void EnableClearFormatButton(VclPtr<PushButton>, bool bFlag); + static void EnableClearFormatButton(weld::Button&, bool bFlag); void EnableClearFormat(bool bFlag); void EnableClearFormatAll(bool bFlag); void EnableUndo(bool bFlag=true); @@ -350,29 +344,29 @@ public: virtual void DeactivatePage() override; }; - // Redlining - Control (Accept- Changes) class SAL_WARN_UNUSED SVX_DLLPUBLIC SvxAcceptChgCtr - : public TabControl - , public VclBuilderContainer { private: + std::unique_ptr<weld::Builder> m_xBuilder; + std::unique_ptr<weld::Notebook> m_xTabCtrl; - VclPtr<SvxTPFilter> pTPFilter; - VclPtr<SvxTPView> pTPView; + std::unique_ptr<SvxTPFilter> m_xTPFilter; + std::unique_ptr<SvxTPView> m_xTPView; - sal_uInt16 m_nFilterPageId; + DECL_DLLPRIVATE_LINK(ActivatePageHdl, const OString&, void); + DECL_DLLPRIVATE_LINK(DeactivatePageHdl, const OString&, bool); public: - SvxAcceptChgCtr(vcl::Window* pParent, VclBuilderContainer* pTopLevel); - - virtual ~SvxAcceptChgCtr() override; - virtual void dispose() override; + SvxAcceptChgCtr(weld::Container* pParent, weld::Builder* pTopLevel); + ~SvxAcceptChgCtr(); void ShowFilterPage(); - SvxTPFilter* GetFilterPage() { return pTPFilter;} - SvxTPView* GetViewPage() { return pTPView;} + SvxTPFilter* GetFilterPage() { return m_xTPFilter.get(); } + SvxTPView* GetViewPage() { return m_xTPView.get(); } + + void set_help_id(const OString& rId) { m_xTabCtrl->set_help_id(rId); } }; #endif // INCLUDED_SVX_CTREDLIN_HXX diff --git a/include/svx/sidebar/PanelLayout.hxx b/include/svx/sidebar/PanelLayout.hxx index 0932fe459f40..ddb52b172b33 100644 --- a/include/svx/sidebar/PanelLayout.hxx +++ b/include/svx/sidebar/PanelLayout.hxx @@ -17,6 +17,7 @@ #include <vcl/timer.hxx> #include <vcl/idle.hxx> #include <vcl/vclptr.hxx> +#include <vcl/weld.hxx> #include <com/sun/star/beans/PropertyValue.hpp> #include <com/sun/star/frame/XFrame.hpp> @@ -24,6 +25,10 @@ /// This class is the base for the Widget Layout-based sidebar panels. class SVX_DLLPUBLIC PanelLayout : public Control, public VclBuilderContainer { +protected: + std::unique_ptr<weld::Builder> m_xBuilder; + std::unique_ptr<weld::Container> m_xContainer; + private: Idle m_aPanelLayoutIdle; bool m_bInClose; @@ -33,7 +38,7 @@ private: public: PanelLayout(vcl::Window* pParent, const OString& rID, const OUString& rUIXMLDescription, - const css::uno::Reference<css::frame::XFrame> &rFrame); + const css::uno::Reference<css::frame::XFrame> &rFrame, bool bInterimBuilder = false); virtual ~PanelLayout() override; virtual void dispose() override; diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx index 2a50a9ccde03..4926a7be9f42 100644 --- a/include/svx/svxdlg.hxx +++ b/include/svx/svxdlg.hxx @@ -428,7 +428,7 @@ public: virtual VclPtr<SfxAbstractDialog> CreateCharMapDialog(weld::Window* pParent, const SfxItemSet& rAttr, bool bInsert) = 0; virtual VclPtr<SfxAbstractDialog> CreateEventConfigDialog(weld::Window* pParent, const SfxItemSet& rAttr, const css::uno::Reference< css::frame::XFrame >& _rxFrame) = 0; - virtual VclPtr<AbstractSvxPostItDialog> CreateSvxPostItDialog(weld::Window* pParent, const SfxItemSet& rCoreSet, bool bPrevNext = false) = 0; + virtual VclPtr<AbstractSvxPostItDialog> CreateSvxPostItDialog(weld::Widget* pParent, const SfxItemSet& rCoreSet, bool bPrevNext = false) = 0; virtual VclPtr<VclAbstractDialog> CreateSvxScriptOrgDialog(weld::Window* pParent, const OUString& rLanguage) override = 0; virtual DialogGetRanges GetDialogGetRangesFunc() = 0; diff --git a/include/vcl/treelistbox.hxx b/include/vcl/treelistbox.hxx index c88ada02c74e..f0ac85bd3980 100644 --- a/include/vcl/treelistbox.hxx +++ b/include/vcl/treelistbox.hxx @@ -208,6 +208,7 @@ class VCL_DLLPUBLIC SvTreeListBox Link<SvTreeListBox*,bool> aExpandingHdl; Link<SvTreeListBox*,void> aSelectHdl; Link<SvTreeListBox*,void> aDeselectHdl; + Link<const CommandEvent&, bool> aPopupMenuHdl; Image aPrevInsertedExpBmp; Image aPrevInsertedColBmp; @@ -441,6 +442,7 @@ public: const Link<SvTreeListBox*,bool>& GetDoubleClickHdl() const { return aDoubleClickHdl; } void SetExpandingHdl(const Link<SvTreeListBox*,bool>& rNewHdl){aExpandingHdl=rNewHdl;} void SetExpandedHdl(const Link<SvTreeListBox*,void>& rNewHdl){aExpandedHdl=rNewHdl;} + void SetPopupMenuHdl(const Link<const CommandEvent&, bool>& rLink) { aPopupMenuHdl = rLink; } virtual void ExpandedHdl(); virtual bool ExpandingHdl(); diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index a5b83aadbb9d..ed3d69d5a652 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -552,6 +552,8 @@ protected: Link<const TreeIter&, bool> m_aExpandingHdl; Link<TreeView&, void> m_aVisibleRangeChangedHdl; Link<TreeView&, void> m_aModelChangedHdl; + Link<const CommandEvent&, bool> m_aPopupMenuHdl; + std::function<int(const weld::TreeIter&, const weld::TreeIter&)> m_aCustomSort; std::vector<int> m_aRadioIndexes; @@ -673,6 +675,7 @@ public: virtual OUString get_id(int pos) const = 0; virtual int find_id(const OUString& rId) const = 0; void select_id(const OUString& rId) { select(find_id(rId)); } + void remove_id(const OUString& rText) { remove(find_id(rText)); } //via iter virtual std::unique_ptr<TreeIter> make_iterator(const TreeIter* pOrig = nullptr) const = 0; @@ -702,6 +705,11 @@ public: virtual bool iter_parent(TreeIter& rIter) const = 0; virtual int get_iter_depth(const TreeIter& rIter) const = 0; virtual int get_iter_index_in_parent(const TreeIter& rIter) const = 0; + /* Compares two paths. If a appears before b in a tree, then -1 is returned. + If b appears before a , then 1 is returned. If the two nodes are equal, + then 0 is returned. + */ + virtual int iter_compare(const TreeIter& a, const TreeIter& b) const = 0; virtual bool iter_has_child(const TreeIter& rIter) const = 0; virtual void remove(const TreeIter& rIter) = 0; virtual void select(const TreeIter& rIter) = 0; @@ -721,12 +729,15 @@ public: virtual void set_image(const TreeIter& rIter, const css::uno::Reference<css::graphic::XGraphic>& rImage, int col) = 0; + virtual void set_font_color(const TreeIter& rIter, const Color& rColor) const = 0; virtual void scroll_to_row(const TreeIter& rIter) = 0; virtual bool is_selected(const TreeIter& rIter) const = 0; virtual void move_subtree(TreeIter& rNode, const TreeIter* pNewParent, int nIndexInNewParent) = 0; + //calling func on each element until func returns true or we run out of elements + virtual void all_foreach(const std::function<bool(TreeIter&)>& func) = 0; //calling func on each selected element until func returns true or we run out of elements virtual void selected_foreach(const std::function<bool(TreeIter&)>& func) = 0; //calling func on each visible element until func returns true or we run out of elements @@ -740,6 +751,11 @@ public: m_aVisibleRangeChangedHdl = rLink; } + virtual void connect_popup_menu(const Link<const CommandEvent&, bool>& rLink) + { + m_aPopupMenuHdl = rLink; + } + //all of them void select_all() { unselect(-1); } void unselect_all() { select(-1); } @@ -759,6 +775,12 @@ public: virtual int get_sort_column() const = 0; virtual void set_sort_column(int nColumn) = 0; + virtual void + set_sort_func(const std::function<int(const weld::TreeIter&, const weld::TreeIter&)>& func) + { + m_aCustomSort = func; + } + virtual void clear() = 0; virtual int get_height_rows(int nRows) const = 0; @@ -1434,6 +1456,8 @@ public: return m_xSpinButton->get_value_changed_from_saved(); } void set_position(int nCursorPos) { m_xSpinButton->set_position(nCursorPos); } + void set_text(const OUString& rText) { m_xSpinButton->set_text(rText); } + OUString get_text() const { return m_xSpinButton->get_text(); } weld::SpinButton& get_widget() { return *m_xSpinButton; } }; |