From feecbabd01870ed83a04baa6cb13d7a8af832ac3 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 1 May 2019 15:46:06 +0100 Subject: weld FormulaDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit drop xFocusWin hack, I don't see what gain it gives Change-Id: I31952b5440797e6209ed1de6b546f1e4c0238d08 Reviewed-on: https://gerrit.libreoffice.org/71675 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- formula/source/ui/dlg/parawin.hxx | 80 +++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 36 deletions(-) (limited to 'formula/source/ui/dlg/parawin.hxx') diff --git a/formula/source/ui/dlg/parawin.hxx b/formula/source/ui/dlg/parawin.hxx index 013b9bf1fc0d..8bb6443fed64 100644 --- a/formula/source/ui/dlg/parawin.hxx +++ b/formula/source/ui/dlg/parawin.hxx @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -38,7 +39,7 @@ namespace formula class IFunctionDescription; class IControlReferenceHandler; -class ParaWin final : public TabPage +class ParaWin { private: Link aFxLink; @@ -51,31 +52,6 @@ private: vcl::Font aFntBold; vcl::Font aFntLight; - VclPtr m_pFtEditDesc; - VclPtr m_pFtArgName; - VclPtr m_pFtArgDesc; - - VclPtr m_pBtnFx1; - VclPtr m_pFtArg1; - VclPtr m_pEdArg1; - VclPtr m_pRefBtn1; - - VclPtr m_pBtnFx2; - VclPtr m_pFtArg2; - VclPtr m_pEdArg2; - VclPtr m_pRefBtn2; - - VclPtr m_pBtnFx3; - VclPtr m_pFtArg3; - VclPtr m_pEdArg3; - VclPtr m_pRefBtn3; - - VclPtr m_pBtnFx4; - VclPtr m_pFtArg4; - VclPtr m_pEdArg4; - VclPtr m_pRefBtn4; - - VclPtr m_pSlider; OUString m_sOptional; OUString m_sRequired; @@ -84,20 +60,49 @@ private: ArgInput aArgInput[4]; OUString aDefaultString; - ::std::vector - aParaArray; + ::std::vector aParaArray; + + std::unique_ptr m_xBuilder; + std::unique_ptr m_xContainer; + + std::unique_ptr m_xSlider; + std::unique_ptr m_xParamGrid; + std::unique_ptr m_xGrid; + + std::unique_ptr m_xFtEditDesc; + std::unique_ptr m_xFtArgName; + std::unique_ptr m_xFtArgDesc; - DECL_LINK( ScrollHdl, ScrollBar*, void); + std::unique_ptr m_xBtnFx1; + std::unique_ptr m_xBtnFx2; + std::unique_ptr m_xBtnFx3; + std::unique_ptr m_xBtnFx4; + + std::unique_ptr m_xFtArg1; + std::unique_ptr m_xFtArg2; + std::unique_ptr m_xFtArg3; + std::unique_ptr m_xFtArg4; + + std::unique_ptr m_xEdArg1; + std::unique_ptr m_xEdArg2; + std::unique_ptr m_xEdArg3; + std::unique_ptr m_xEdArg4; + + std::unique_ptr m_xRefBtn1; + std::unique_ptr m_xRefBtn2; + std::unique_ptr m_xRefBtn3; + std::unique_ptr m_xRefBtn4; + + DECL_LINK( ScrollHdl, weld::ScrolledWindow&, void); DECL_LINK( ModifyHdl, ArgInput&, void ); DECL_LINK( GetEdFocusHdl, ArgInput&, void ); DECL_LINK( GetFxFocusHdl, ArgInput&, void ); DECL_LINK( GetFxHdl, ArgInput&, void ); - void SliderMoved(); void ArgumentModified(); - void InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, PushButton& rBtnFx, - ArgEdit& rEdArg, RefButton& rRefBtn); + void InitArgInput(sal_uInt16 nPos, weld::Label& rFtArg, weld::Button& rBtnFx, + ArgEdit& rEdArg, WeldRefButton& rRefBtn); void SetArgumentDesc(const OUString& aText); void SetArgumentText(const OUString& aText); @@ -110,9 +115,8 @@ private: void UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i ); public: - ParaWin(vcl::Window* pParent,IControlReferenceHandler* _pDlg); - virtual ~ParaWin() override; - virtual void dispose() override; + ParaWin(weld::Container* pParent, IControlReferenceHandler* _pDlg); + ~ParaWin(); void SetFunctionDesc(const IFunctionDescription* pFDesc); void SetArgumentOffset(sal_uInt16 nOffset); @@ -122,7 +126,7 @@ public: sal_uInt16 GetActiveLine() { return nActiveLine;} void SetActiveLine(sal_uInt16 no); - RefEdit* GetActiveEdit(); + WeldRefEdit* GetActiveEdit(); OUString GetActiveArgName(); OUString GetArgument(sal_uInt16 no); @@ -135,6 +139,10 @@ public: void SetArgModifiedHdl( const Link& rLink ) { aArgModifiedLink = rLink; } void SetFxHdl( const Link& rLink ) { aFxLink = rLink; } + + void SliderMoved(); + + void Show() { m_xContainer->show(); } }; -- cgit