[Libreoffice-commits] core.git: extras/source formula/Module_formula.mk formula/source formula/uiconfig formula/UIConfig_formula.mk include/formula

Szymon KÅ‚os eszkadev at gmail.com
Tue Jun 17 12:42:37 PDT 2014


 extras/source/glade/libreoffice-catalog.xml.in |   16 
 formula/Module_formula.mk                      |    1 
 formula/UIConfig_formula.mk                    |   19 
 formula/source/ui/dlg/ControlHelper.hxx        |   12 
 formula/source/ui/dlg/formdlgs.hrc             |   24 -
 formula/source/ui/dlg/formdlgs.src             |  293 ++------------
 formula/source/ui/dlg/formula.cxx              |  354 +++++++++--------
 formula/source/ui/dlg/funcpage.cxx             |   82 ++--
 formula/source/ui/dlg/funcpage.hxx             |    8 
 formula/source/ui/dlg/funcutl.cxx              |   78 +--
 formula/source/ui/dlg/parawin.cxx              |  155 ++++---
 formula/source/ui/dlg/parawin.hrc              |   44 --
 formula/source/ui/dlg/parawin.hxx              |   54 +-
 formula/source/ui/dlg/parawin.src              |  147 -------
 formula/source/ui/dlg/structpg.cxx             |   54 +-
 formula/source/ui/dlg/structpg.hxx             |    5 
 formula/source/ui/inc/ForResId.hrc             |   16 
 formula/uiconfig/ui/formuladialog.ui           |  496 +++++++++++++++++++++++++
 formula/uiconfig/ui/functionpage.ui            |   77 +++
 formula/uiconfig/ui/parameter.ui               |  367 ++++++++++++++++++
 formula/uiconfig/ui/structpage.ui              |   46 ++
 include/formula/funcutl.hxx                    |    4 
 22 files changed, 1507 insertions(+), 845 deletions(-)

New commits:
commit 0cf14968aacfbf2e51f884242a1c243a645cb7fc
Author: Szymon KÅ‚os <eszkadev at gmail.com>
Date:   Mon Jun 16 14:30:55 2014 +0200

    RID_FORMULADLG_FORMULA conversion to .ui
    
    Change-Id: I098c9ee9d22ac0401faf7fc6d65e91bf5b4b2bf8
    Reviewed-on: https://gerrit.libreoffice.org/9797
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 4a16e41..9c2806b 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -608,6 +608,15 @@
     <glade-widget-class title="Reference Edit" name="foruilo-RefEdit"
                         generic-name="Reference Edit" parent="GtkEntry"
                         icon-name="widget-gtk-textentry"/>
+    <glade-widget-class title="Edit" name="foruilo-ArgEdit"
+                        generic-name="Edit" parent="GtkEntry"
+                        icon-name="widget-gtk-textentry"/>
+    <glade-widget-class title="Value entry" name="foruilo-ValWnd"
+                        generic-name="Value entry" parent="GtkEntry"
+                        icon-name="widget-gtk-textentry"/>
+    <glade-widget-class title="Edit Box" name="foruilo-EditBox"
+                        generic-name="Edit Box" parent="GtkTextView"
+                        icon-name="widget-gtk-textview"/>
 
     <glade-widget-class title="Another NoSpace Edit" name="cuilo-SvxNoSpaceEdit"
                         generic-name="Another NoSpace Edit" parent="GtkEntry"
@@ -712,5 +721,12 @@
                         generic-name="DriverListControl" parent="GtkEntry"
                         icon-name="widget-gtk-combobox"/>
 
+    <glade-widget-class title="Formula ListBox" name="foruilo-FormulaListBox"
+                        generic-name="Formula ListBox" parent="GtkTreeView"
+                        icon-name="widget-gtk-treeview"/>
+    <glade-widget-class title="Formula ListBox" name="foruilo-StructListBox"
+                        generic-name="Formula ListBox" parent="GtkTreeView"
+                        icon-name="widget-gtk-treeview"/>
+
   </glade-widget-classes>
 </glade-catalog>
diff --git a/formula/Module_formula.mk b/formula/Module_formula.mk
index fcfb8b7..2b0513b 100644
--- a/formula/Module_formula.mk
+++ b/formula/Module_formula.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_Module_add_targets,formula,\
 $(eval $(call gb_Module_add_l10n_targets,formula,\
     AllLangResTarget_for \
     AllLangResTarget_forui \
+    UIConfig_formula \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/formula/UIConfig_formula.mk b/formula/UIConfig_formula.mk
new file mode 100644
index 0000000..1153c24
--- /dev/null
+++ b/formula/UIConfig_formula.mk
@@ -0,0 +1,19 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_UIConfig_UIConfig,formula))
+
+$(eval $(call gb_UIConfig_add_uifiles,formula,\
+	formula/uiconfig/ui/formuladialog \
+	formula/uiconfig/ui/functionpage \
+	formula/uiconfig/ui/structpage \
+	formula/uiconfig/ui/parameter \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/formula/source/ui/dlg/ControlHelper.hxx b/formula/source/ui/dlg/ControlHelper.hxx
index 3d753d0..16ce61d 100644
--- a/formula/source/ui/dlg/ControlHelper.hxx
+++ b/formula/source/ui/dlg/ControlHelper.hxx
@@ -29,12 +29,14 @@ namespace formula
 class ValWnd : public Window
 {
 public:
-            ValWnd( Window* pParent, const ResId& rId );
+            ValWnd( Window* pParent, WinBits nBits );
 
     void    SetValue( const OUString& rStrVal );
 
 protected:
     virtual void    Paint( const Rectangle& rRect ) SAL_OVERRIDE;
+    virtual void    Resize() SAL_OVERRIDE;
+    virtual Size    GetOptimalSize() const SAL_OVERRIDE;
 
 private:
     OUString    aStrValue;
@@ -62,7 +64,7 @@ protected:
 
 
 public:
-                    EditBox( Window* pParent, const ResId& rResId );
+                    EditBox( Window* pParent, WinBits nBits );
 
                     virtual ~EditBox();
 
@@ -80,7 +82,7 @@ public:
 class ArgEdit : public RefEdit
 {
 public:
-            ArgEdit( Window* pParent, const ResId& rResId );
+            ArgEdit( Window* pParent, WinBits nBits );
 
     void    Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
                   ScrollBar& rArgSlider, sal_uInt16 nArgCount );
@@ -111,7 +113,7 @@ private:
     Link            aEdModifyLink;
 
     FixedText*      pFtArg;
-    ImageButton*    pBtnFx;
+    PushButton*    pBtnFx;
     ArgEdit*        pEdArg;
     RefButton*  pRefBtn;
 
@@ -138,7 +140,7 @@ public:
     virtual ~ArgInput() {}
 
     void        InitArgInput (  FixedText*      pftArg,
-                                ImageButton*    pbtnFx,
+                                PushButton*    pbtnFx,
                                 ArgEdit*        pedArg,
                                 RefButton*  prefBtn);
 
diff --git a/formula/source/ui/dlg/formdlgs.hrc b/formula/source/ui/dlg/formdlgs.hrc
index 8a4c92d..84a20f9 100644
--- a/formula/source/ui/dlg/formdlgs.hrc
+++ b/formula/source/ui/dlg/formdlgs.hrc
@@ -20,8 +20,6 @@
 #define FT_RESULT           1
 #define WND_RESULT          2
 #define FT_EDITNAME         3
-#define STR_TITLE1          4
-#define STR_TITLE2          5
 #define BTN_HELP            6
 #define BTN_CANCEL          7
 #define BTN_BACKWARD        8
@@ -39,29 +37,9 @@
 #define RB_REF              20
 #define FT_FORMULA_RESULT   21
 #define WND_FORMULA_RESULT  22
-#define STR_END             23
+
 // Fuer Tabpage
 #define TP_FUNCTION         1
 #define TP_STRUCT           2
 
-// Funktions-Tabpage
-#define FT_FUNCTION         1
-#define FT_CATEGORY         2
-#define LB_CATEGORY         3
-#define LB_FUNCTION         4
-
-// Struktur-Tabpage
-#define FT_STRUCT           1
-#define TLB_STRUCT          2
-
-// Bitmaps
-#define BMP_STR_CLOSE       1
-#define BMP_STR_OPEN        2
-#define BMP_STR_END         3
-#define BMP_STR_ERROR       4
-
-// Texte
-#define STR_STRUCT_ERR1     1
-#define STR_STRUCT_ERR2     2
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/formdlgs.src b/formula/source/ui/dlg/formdlgs.src
index c7f268c..0ddc9bb 100644
--- a/formula/source/ui/dlg/formdlgs.src
+++ b/formula/source/ui/dlg/formdlgs.src
@@ -23,97 +23,40 @@
 
 #define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; }
 
-TabPage RID_FORMULATAB_FUNCTION
+Image BMP_STR_CLOSE
 {
-    Hide = TRUE ;
-    Size = MAP_APPFONT ( 96 , 180 ) ;
-    HelpId = HID_FORMULATAB_FUNCTION ;
-     // Titel wird dynamisch gesetzt (s.u.)
-     // 1. Seite
-    ListBox LB_CATEGORY
-    {
-        HelpId = HID_FORMULA_LB_CATEGORY;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 14 ) ;
-        Size = MAP_APPFONT ( 86 , 112 ) ;
-        DropDown = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Last Used" ; Default ; > ;
-            < "All" ; Default ; > ;
-        };
-    };
-    ListBox LB_FUNCTION
-    {
-        HelpId = HID_FORMULA_LB_FUNCTION;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 43 ) ;
-        Size = MAP_APPFONT ( 86 , 133 ) ;
-        Sort = TRUE;
-    };
-    FixedText FT_CATEGORY
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 84 , 8 ) ;
-        Text [ en-US ] = "~Category" ;
-    };
-    FixedText FT_FUNCTION
-    {
-        Pos = MAP_APPFONT ( 6 , 32 ) ;
-        Size = MAP_APPFONT ( 72 , 8 ) ;
-        Text [ en-US ] = "~Function" ;
-    };
+    ImageBitmap = Bitmap { File = "fapclose.bmp"; };
+    MaskColor = STD_MASKCOLOR;
 };
-TabPage RID_FORMULATAB_STRUCT
+
+Image BMP_STR_OPEN
 {
-    Hide = TRUE ;
-    Size = MAP_APPFONT ( 96 , 180 ) ;
-    HelpId = HID_FORMULATAB_STRUCT ;
-     // Titel wird dynamisch gesetzt (s.u.)
-     // 1. Seite
-    Control TLB_STRUCT
-    {
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 14 ) ;
-        Size = MAP_APPFONT ( 86 , 162 ) ;
-        HelpId = HID_FORMULA_FAP_STRUCT ;
-    };
-    FixedText FT_STRUCT
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 86 , 8 ) ;
-        Text [ en-US ] = "~Structure" ;
-    };
-    Image BMP_STR_CLOSE
-    {
-        ImageBitmap = Bitmap { File = "fapclose.bmp"; };
-        MaskColor = STD_MASKCOLOR;
-    };
-    Image BMP_STR_OPEN
-    {
-        ImageBitmap = Bitmap { File = "fapopen.bmp"; };
-        MaskColor = STD_MASKCOLOR;
-    };
-    Image BMP_STR_END
-    {
-        ImageBitmap = Bitmap { File = "fapok.bmp"; };
-        MaskColor = STD_MASKCOLOR;
-    };
-    Image BMP_STR_ERROR
-    {
-        ImageBitmap = Bitmap { File = "faperror.bmp"; };
-        MaskColor = STD_MASKCOLOR;
-    };
-    String STR_STRUCT_ERR1
-    {
-        Text [ en-US ] = "=?" ;
-    };
-    String STR_STRUCT_ERR2
-    {
-        Text [ en-US ] = "Error" ;
-    };
+    ImageBitmap = Bitmap { File = "fapopen.bmp"; };
+    MaskColor = STD_MASKCOLOR;
+};
+
+Image BMP_STR_END
+{
+    ImageBitmap = Bitmap { File = "fapok.bmp"; };
+    MaskColor = STD_MASKCOLOR;
+};
+
+Image BMP_STR_ERROR
+{
+    ImageBitmap = Bitmap { File = "faperror.bmp"; };
+    MaskColor = STD_MASKCOLOR;
+};
+
+String STR_STRUCT_ERR1
+{
+    Text [ en-US ] = "=?" ;
+};
+
+String STR_STRUCT_ERR2
+{
+    Text [ en-US ] = "Error" ;
 };
+
 ModalDialog RID_FORMULADLG_FORMULA_MODAL
 {
     SVLook = TRUE ;
@@ -280,170 +223,20 @@ ModalDialog RID_FORMULADLG_FORMULA_MODAL
     };
 
 };
-ModelessDialog RID_FORMULADLG_FORMULA
+
+String STR_TITLE1
 {
-    Hide = TRUE ;
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( 321 , 228 ) ;
-    HelpId = HID_FORMULADLG_FORMULA ;
-    Moveable = TRUE ;
-    TabControl TC_FUNCTION
-    {
-        HelpID = "formula:TabControl:RID_FORMULADLG_FORMULA:TC_FUNCTION";
-        Pos = MAP_APPFONT ( 6 , 5 ) ;
-        Size = MAP_APPFONT ( 102 , 199 ) ;
-        PageList =
-        {
-            PageItem
-            {
-                Identifier = TP_FUNCTION ;
-                Text [ en-US ] = "Functions" ;
-            };
-            PageItem
-            {
-                Identifier = TP_STRUCT ;
-                Text [ en-US ] = "Structure" ;
-            };
-        };
-    };
-    FixedText FT_HEADLINE
-    {
-        Pos = MAP_APPFONT ( 115 , 24 ) ;
-        Size = MAP_APPFONT ( 194 , 8 ) ;
-        WordBreak = TRUE ;
-    };
-    FixedText FT_FUNCNAME
-    {
-        Pos = MAP_APPFONT ( 115 , 38 ) ;
-        Size = MAP_APPFONT ( 194 , 24 ) ;
-        WordBreak = TRUE ;
-    };
-    FixedText FT_FUNCDESC
-    {
-        Pos = MAP_APPFONT ( 115 , 68 ) ;
-        Size = MAP_APPFONT ( 194 , 64 ) ;
-        WordBreak = TRUE ;
-    };
-    FixedText FT_EDITNAME
-    {
-        Pos = MAP_APPFONT ( 113 , 6 ) ;
-        Size = MAP_APPFONT ( 83 , 10 ) ;
-    };
-    GroupBox GB_EDIT
-    {
-        Pos = MAP_APPFONT ( 112 , 18 ) ;
-        Size = MAP_APPFONT ( 203 , 128 ) ;
-    };
-    FixedText FT_FORMULA
-    {
-        Pos = MAP_APPFONT ( 112 , 151 ) ;
-        Size = MAP_APPFONT ( 50 , 10 ) ;
-        WordBreak = TRUE ;
-        Text [ en-US ] = "For~mula" ;
-    };
-    Control ED_FORMULA
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 112 , 161 ) ;
-        Size = MAP_APPFONT ( 203 , 43 ) ;
-        HelpId = HID_FORMULA_FAP_FORMULA ;
-    };
-    FixedText FT_RESULT
-    {
-        Pos = MAP_APPFONT ( 198 , 6 ) ;
-        Size = MAP_APPFONT ( 55 , 10 ) ;
-        Right = TRUE ;
-        Text [ en-US ] = "Function result" ;
-    };
-    Window WND_RESULT
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 255 , 4 ) ;
-        Size = MAP_APPFONT ( 60 , 12 ) ;
-    };
-    FixedText FT_FORMULA_RESULT
-    {
-        Pos = MAP_APPFONT ( 217 , 149 ) ;
-        Size = MAP_APPFONT ( 35 , 10 ) ;
-        Text [ en-US ] = "Result" ;
-        Right = TRUE ;
-    };
-    Window WND_FORMULA_RESULT
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 255 , 147 ) ;
-        Size = MAP_APPFONT ( 60 , 12 ) ;
-    };
-    CheckBox BTN_MATRIX
-    {
-        HelpID = "formula:CheckBox:RID_FORMULADLG_FORMULA:BTN_MATRIX";
-        Pos = MAP_APPFONT ( 6 , 208 ) ;
-        Size = MAP_APPFONT ( 50 , 10 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "Array" ;
-    };
-    Edit ED_REF
-    {
-        HelpID = "formula:Edit:RID_FORMULADLG_FORMULA:ED_REF";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 76 , 205 ) ;
-        Size = MAP_APPFONT ( 66 , 12 ) ;
-    };
-    ImageButton RB_REF
-    {
-        HelpID = "formula:ImageButton:RID_FORMULADLG_FORMULA:RB_REF";
-        Pos = MAP_APPFONT ( 144 , 205 ) ;
-        Size = MAP_APPFONT ( 13 , 15 ) ;
-        TabStop = FALSE ;
-        QuickHelpText [ en-US ] = "Maximize" ;
-    };
-    HelpButton BTN_HELP
-    {
-        Pos = MAP_APPFONT ( 72 , 208 ) ;
-        Size = MAP_APPFONT ( 45 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    CancelButton BTN_CANCEL
-    {
-        Pos = MAP_APPFONT ( 121 , 208 ) ;
-        Size = MAP_APPFONT ( 45 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    PushButton BTN_BACKWARD
-    {
-        HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_BACKWARD";
-        Pos = MAP_APPFONT ( 171 , 208 ) ;
-        Size = MAP_APPFONT ( 45 , 14 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "<< ~Back" ;
-    };
-    PushButton BTN_FORWARD
-    {
-        HelpID = "formula:PushButton:RID_FORMULADLG_FORMULA:BTN_FORWARD";
-        Pos = MAP_APPFONT ( 219 , 208 ) ;
-        Size = MAP_APPFONT ( 45 , 14 ) ;
-        TabStop = TRUE ;
-        Text [ en-US ] = "~Next >>" ;
-    };
-    OKButton BTN_END
-    {
-        Pos = MAP_APPFONT ( 270 , 208 ) ;
-        Size = MAP_APPFONT ( 45 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    String STR_TITLE1
-    {
-        Text [ en-US ] = "Function Wizard" ;
-    };
-    String STR_TITLE2
-    {
-        Text [ en-US ] = "Function Wizard  -" ;
-    };
-    String STR_END
-    {
-        Text [ en-US ] = "~End" ;
-    };
+    Text [ en-US ] = "Function Wizard" ;
+};
+
+String STR_TITLE2
+{
+    Text [ en-US ] = "Function Wizard  -" ;
+};
+
+String STR_END
+{
+    Text [ en-US ] = "~End" ;
 };
 
 Image RID_BMP_REFBTN1
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index 58f5a85..49f1ac5 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -27,6 +27,7 @@
 #include <vcl/lstbox.hxx>
 #include <vcl/group.hxx>
 #include <vcl/wall.hxx>
+#include <vcl/layout.hxx>
 
 #include <svtools/stdctrl.hxx>
 #include <svtools/svmedit.hxx>
@@ -146,34 +147,33 @@ namespace formula
         IFormulaEditorHelper*                                   m_pHelper;
         Dialog*  m_pParent;
         IControlReferenceHandler*  m_pDlg;
-        TabControl      aTabCtrl;
-        GroupBox        aGEdit;     //! MUST be placed before pParaWin for initializing
+        TabControl      *m_pTabCtrl;
+        VclVBox         *m_pParaWinBox;
         ParaWin*        pParaWin;
-        FixedText       aFtHeadLine;
-        FixedInfo       aFtFuncName;
-        FixedInfo       aFtFuncDesc;
+        FixedText       *m_pFtHeadLine;
+        FixedText       *m_pFtFuncName;
+        FixedText       *m_pFtFuncDesc;
 
-        FixedText       aFtEditName;
+        FixedText       *m_pFtEditName;
 
-        FixedText       aFtResult;
-        ValWnd          aWndResult;
+        FixedText       *m_pFtResult;
+        ValWnd          *m_pWndResult;
 
-        FixedText       aFtFormula;
-        EditBox         aMEFormula;
+        FixedText       *m_pFtFormula;
+        EditBox         *m_pMEFormula;
 
-        CheckBox        aBtnMatrix;
-        HelpButton      aBtnHelp;
-        CancelButton    aBtnCancel;
+        CheckBox        *m_pBtnMatrix;
+        CancelButton    *m_pBtnCancel;
 
-        PushButton      aBtnBackward;
-        PushButton      aBtnForward;
-        OKButton        aBtnEnd;
+        PushButton      *m_pBtnBackward;
+        PushButton      *m_pBtnForward;
+        OKButton        *m_pBtnEnd;
 
-        RefEdit     aEdRef;
-        RefButton   aRefBtn;
+        RefEdit         *m_pEdRef;
+        RefButton       *m_pRefBtn;
 
-        FixedText       aFtFormResult;
-        ValWnd          aWndFormResult;
+        FixedText       *m_pFtFormResult;
+        ValWnd          *m_pWndFormResult;
 
         RefEdit*        pTheRefEdit;
         RefButton*      pTheRefButton;
@@ -188,7 +188,7 @@ namespace formula
         const OUString  aTitle1;
         const OUString  aTitle2;
         const OUString  aTxtEnd;
-        const OUString  aTxtOk;     // behind aBtnEnd
+        OUString  aTxtOk;     // behind aBtnEnd
         FormulaHelper   m_aFormulaHelper;
 
         OString    m_aEditHelpId;
@@ -233,96 +233,111 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent
     m_pHelper       (_pHelper),
     m_pParent       (pParent),
     m_pDlg          (_pDlg),
-    aTabCtrl        ( pParent, ModuleRes( TC_FUNCTION ) ),
-    aGEdit          ( pParent, ModuleRes( GB_EDIT ) ),
-    aFtHeadLine     ( pParent, ModuleRes( FT_HEADLINE ) ),
-    aFtFuncName     ( pParent, ModuleRes( FT_FUNCNAME ) ),
-    aFtFuncDesc     ( pParent, ModuleRes( FT_FUNCDESC ) ),
-    aFtEditName     ( pParent, ModuleRes( FT_EDITNAME ) ),
-    aFtResult       ( pParent, ModuleRes( FT_RESULT ) ),
-    aWndResult      ( pParent, ModuleRes( WND_RESULT ) ),
-
-    aFtFormula      ( pParent, ModuleRes( FT_FORMULA ) ),
-    aMEFormula      ( pParent, ModuleRes( ED_FORMULA ) ),
-    aBtnMatrix      ( pParent, ModuleRes( BTN_MATRIX ) ),
-    aBtnHelp        ( pParent, ModuleRes( BTN_HELP ) ),
-    aBtnCancel      ( pParent, ModuleRes( BTN_CANCEL ) ),
-    aBtnBackward    ( pParent, ModuleRes( BTN_BACKWARD ) ),
-    aBtnForward     ( pParent, ModuleRes( BTN_FORWARD ) ),
-    aBtnEnd         ( pParent, ModuleRes( BTN_END ) ),
-    aEdRef          ( pParent, _pDlg, &aFtEditName, ModuleRes( ED_REF) ),
-    aRefBtn         ( pParent, ModuleRes( RB_REF), &aEdRef, _pDlg ),
-    aFtFormResult   ( pParent, ModuleRes( FT_FORMULA_RESULT)),
-    aWndFormResult  ( pParent, ModuleRes( WND_FORMULA_RESULT)),
     pTheRefEdit     (NULL),
     pTheRefButton   (NULL),
     pMEdit          (NULL),
     bUserMatrixFlag (false),
-    aTitle1         ( ModuleRes( STR_TITLE1 ) ),        // local resource
-    aTitle2         ( ModuleRes( STR_TITLE2 ) ),        // local resource
-    aTxtEnd         ( ModuleRes( STR_END ) ),           // local resource
-    aTxtOk          ( aBtnEnd.GetText() ),
+    aTitle1         ( ModuleRes( STR_TITLE1 ) ),
+    aTitle2         ( ModuleRes( STR_TITLE2 ) ),
+    aTxtEnd         ( ModuleRes( STR_END ) ),
     m_aFormulaHelper(_pFunctionMgr),
     bIsShutDown     (false),
     nEdFocus        (0),
     pFuncDesc       (NULL),
     nArgs           (0)
 {
-    pParaWin = new ParaWin( pParent,_pDlg, aGEdit.GetPosPixel());
-    aGEdit.Hide();
-    pParaWin->Hide();
-    aFtEditName.Hide();
-    aEdRef.Hide();
-    aRefBtn.Hide();
-
-    pMEdit = aMEFormula.GetEdit();
-
-    aMEFormula.SetAccessibleName(aFtFormula.GetText());
-    pMEdit->SetAccessibleName(aFtFormula.GetText());
+    pParent->get(m_pParaWinBox, "BOX");
+    pParent->get(m_pTabCtrl, "tabs");
+    pParent->get(m_pFtHeadLine, "headline");
+    pParent->get(m_pFtFuncName, "funcname");
+    pParent->get(m_pFtFuncDesc, "funcdesc");
+    pParent->get(m_pFtEditName, "editname");
+    pParent->get(m_pFtResult, "label2");
+    pParent->get(m_pWndResult, "result");
+    pParent->get(m_pFtFormula, "formula");
+
+    //Space for two lines of text
+    m_pFtHeadLine->SetText("X\nX\n");
+    long nHeight = m_pFtHeadLine->GetOptimalSize().Height();
+    m_pFtHeadLine->set_height_request(nHeight);
+    m_pFtHeadLine->SetText("");
+
+    m_pFtFuncName->SetText("X\nX\n");
+    nHeight = m_pFtFuncName->GetOptimalSize().Height();
+    m_pFtFuncName->set_height_request(nHeight);
+    m_pFtFuncDesc->set_height_request(nHeight);
+    m_pFtFuncName->SetText("");
+
+    pParent->get(m_pMEFormula, "ed_formula");
+    Size aSize(pParent->LogicToPixel(Size(203, 43), MAP_APPFONT));
+    m_pMEFormula->set_height_request(aSize.Height());
+    m_pMEFormula->set_width_request(aSize.Width());
+    pParent->get(m_pBtnMatrix, "array");
+    pParent->get(m_pBtnCancel, "cancel");
+    pParent->get(m_pBtnBackward, "back");
+    pParent->get(m_pBtnForward, "next");
+    pParent->get(m_pBtnEnd, "ok");
+    aTxtOk = m_pBtnEnd->GetText();
+    pParent->get(m_pFtFormResult, "label1");
+    pParent->get(m_pWndFormResult, "formula_result");
+    pParent->get(m_pEdRef, "ED_REF");
+    m_pEdRef->SetReferences(_pDlg, m_pFtEditName);
+    pParent->get(m_pRefBtn, "RB_REF");
+    m_pRefBtn->SetReferences(_pDlg, m_pEdRef);
+
+    pParaWin = new ParaWin(m_pParaWinBox, _pDlg);
+    pParaWin->Show();
+    m_pParaWinBox->Hide();
+    m_pFtEditName->Hide();
+    m_pEdRef->Hide();
+    m_pRefBtn->Hide();
+
+    pMEdit = m_pMEFormula->GetEdit();
+
+    m_pMEFormula->SetAccessibleName(m_pFtFormula->GetText());
+    pMEdit->SetAccessibleName(m_pFtFormula->GetText());
 
     m_aEditHelpId = pMEdit->GetHelpId();
     pMEdit->SetUniqueId( m_aEditHelpId );
 
     bEditFlag=false;
     bStructUpdate=true;
-    Point aPos=aGEdit.GetPosPixel();
-    pParaWin->SetPosPixel(aPos);
     pParaWin->SetArgModifiedHdl(LINK( this, FormulaDlg_Impl, ModifyHdl ) );
     pParaWin->SetFxHdl(LINK( this, FormulaDlg_Impl, FxHdl ) );
 
-    pFuncPage= new FuncPage( &aTabCtrl,_pFunctionMgr);
-    pStructPage= new StructPage( &aTabCtrl);
+    pFuncPage= new FuncPage( m_pTabCtrl,_pFunctionMgr);
+    pStructPage= new StructPage( m_pTabCtrl);
     pFuncPage->Hide();
     pStructPage->Hide();
-    aTabCtrl.SetTabPage( TP_FUNCTION, pFuncPage);
-    aTabCtrl.SetTabPage( TP_STRUCT, pStructPage);
+    m_pTabCtrl->SetTabPage( TP_FUNCTION, pFuncPage);
+    m_pTabCtrl->SetTabPage( TP_STRUCT, pStructPage);
 
     aOldHelp = pParent->GetHelpId();                // HelpId from resource always for "Page 1"
     aOldUnique = pParent->GetUniqueId();
 
-    aFtResult.Show( _bSupportResult );
-    aWndResult.Show( _bSupportResult );
+    m_pFtResult->Show( _bSupportResult );
+    m_pWndResult->Show( _bSupportResult );
 
-    aFtFormResult.Show( _bSupportFunctionResult );
-    aWndFormResult.Show( _bSupportFunctionResult );
+    m_pFtFormResult->Show( _bSupportFunctionResult );
+    m_pWndFormResult->Show( _bSupportFunctionResult );
 
     if ( _bSupportMatrix )
-        aBtnMatrix.SetClickHdl(LINK( this, FormulaDlg_Impl, MatrixHdl ) );
+        m_pBtnMatrix->SetClickHdl(LINK( this, FormulaDlg_Impl, MatrixHdl ) );
     else
-        aBtnMatrix.Hide();
+        m_pBtnMatrix->Hide();
 
-    aBtnCancel  .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
-    aBtnEnd     .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
-    aBtnForward .SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
-    aBtnBackward.SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
+    m_pBtnCancel  ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
+    m_pBtnEnd     ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
+    m_pBtnForward ->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
+    m_pBtnBackward->SetClickHdl( LINK( this, FormulaDlg_Impl, BtnHdl ) );
 
     pFuncPage->SetDoubleClickHdl( LINK( this, FormulaDlg_Impl, DblClkHdl ) );
     pFuncPage->SetSelectHdl( LINK( this, FormulaDlg_Impl, FuncSelHdl) );
     pStructPage->SetSelectionHdl( LINK( this, FormulaDlg_Impl, StructSelHdl ) );
     pMEdit->SetModifyHdl( LINK( this, FormulaDlg_Impl, FormulaHdl ) );
-    aMEFormula.SetSelChangedHdl( LINK( this, FormulaDlg_Impl, FormulaCursorHdl ) );
+    m_pMEFormula->SetSelChangedHdl( LINK( this, FormulaDlg_Impl, FormulaCursorHdl ) );
 
-    aFntLight = aFtFormula.GetFont();
+    aFntLight = m_pFtFormula->GetFont();
     aFntLight.SetTransparent( true );
     aFntBold = aFntLight;
     aFntBold.SetWeight( WEIGHT_BOLD );
@@ -331,9 +346,9 @@ FormulaDlg_Impl::FormulaDlg_Impl(Dialog* pParent
 
     //  function description for choosing a function is no longer in a different color
 
-    aFtHeadLine.SetFont(aFntBold);
-    aFtFuncName.SetFont(aFntLight);
-    aFtFuncDesc.SetFont(aFntLight);
+    m_pFtHeadLine->SetFont(aFntBold);
+    m_pFtFuncName->SetFont(aFntLight);
+    m_pFtFuncDesc->SetFont(aFntLight);
 }
 
 FormulaDlg_Impl::~FormulaDlg_Impl()
@@ -345,8 +360,8 @@ FormulaDlg_Impl::~FormulaDlg_Impl()
     }// if(aTimer.IsActive())
     bIsShutDown=true;// Set it in order to PreNotify not to save GetFocus.
 
-    aTabCtrl.RemovePage(TP_FUNCTION);
-    aTabCtrl.RemovePage(TP_STRUCT);
+    m_pTabCtrl->RemovePage(TP_FUNCTION);
+    m_pTabCtrl->RemovePage(TP_STRUCT);
 
     delete pStructPage;
     delete pFuncPage;
@@ -361,12 +376,12 @@ void FormulaDlg_Impl::StoreFormEditData(FormEditData* pData)
         pData->SetFStart(pMEdit->GetSelection().Min());
         pData->SetSelection(pMEdit->GetSelection());
 
-        if(aTabCtrl.GetCurPageId()==TP_FUNCTION)
+        if(m_pTabCtrl->GetCurPageId()==TP_FUNCTION)
             pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_FORMULA );
         else
             pData->SetMode( (sal_uInt16) FORMULA_FORMDLG_EDIT );
         pData->SetUndoStr(pMEdit->GetText());
-        pData->SetMatrixFlag(aBtnMatrix.IsChecked());
+        pData->SetMatrixFlag(m_pBtnMatrix->IsChecked());
     }
 }
 
@@ -480,7 +495,7 @@ sal_Int32 FormulaDlg_Impl::GetFunctionPos(sal_Int32 nPos)
 
             if( !bUserMatrixFlag && FormulaCompiler::IsMatrixFunction((OpCode)eOp) )
             {
-                aBtnMatrix.Check();
+                m_pBtnMatrix->Check();
             }
 
             if( eOp == m_aSpecialOpCodes[sheet::FormulaMapGroupSpecialOffset::PUSH].Token.OpCode ||
@@ -582,15 +597,15 @@ void FormulaDlg_Impl::UpdateValues()
     OUString aStrResult;
 
     if ( CalcValue( pFuncDesc->getFormula( m_aArguments ), aStrResult ) )
-        aWndResult.SetValue( aStrResult );
+        m_pWndResult->SetValue( aStrResult );
 
     aStrResult = "";
     if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     else
     {
         aStrResult = "";
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     }
     CalcStruct(pMEdit->GetText());
 }
@@ -618,7 +633,7 @@ bool FormulaDlg_Impl::CalcStruct( const OUString& rStrExp)
             OUString aStrResult;
 
             if ( CalcValue(aString, aStrResult ) )
-                aWndFormResult.SetValue( aStrResult );
+                m_pWndFormResult->SetValue( aStrResult );
 
             UpdateTokenArray(aString);
             fillTree(pStructPage);
@@ -754,18 +769,18 @@ void FormulaDlg_Impl::FillDialog(bool nFlag)
     FillListboxes();
     if(nFlag)
     {
-        aBtnBackward.Enable(bPrev);
-        aBtnForward.Enable(bNext);
+        m_pBtnBackward->Enable(bPrev);
+        m_pBtnForward->Enable(bNext);
     }
 
     OUString aStrResult;
 
     if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     else
     {
         aStrResult = "";
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     }
 }
 
@@ -826,13 +841,13 @@ void FormulaDlg_Impl::FillControls(bool &rbNext, bool &rbPrev)
         bTestFlag = (pOldFuncDesc != pFuncDesc);
         if(bTestFlag)
         {
-            aFtHeadLine.Hide();
-            aFtFuncName.Hide();
-            aFtFuncDesc.Hide();
+            m_pFtHeadLine->Hide();
+            m_pFtFuncName->Hide();
+            m_pFtFuncDesc->Hide();
             pParaWin->SetFunctionDesc(pFuncDesc);
-            aFtEditName.SetText( pFuncDesc->getFunctionName() );
-            aFtEditName.Show();
-            pParaWin->Show();
+            m_pFtEditName->SetText( pFuncDesc->getFunctionName() );
+            m_pFtEditName->Show();
+            m_pParaWinBox->Show();
             const OString aHelpId = pFuncDesc->getHelpId();
             if ( !aHelpId.isEmpty() )
                 pMEdit->SetHelpId(aHelpId);
@@ -889,7 +904,7 @@ void FormulaDlg_Impl::FillControls(bool &rbNext, bool &rbPrev)
     }
     else
     {
-        aFtEditName.SetText("");
+        m_pFtEditName->SetText("");
         pMEdit->SetHelpId( m_aEditHelpId );
     }
         //  Test, ob vorne/hinten noch mehr Funktionen sind
@@ -907,19 +922,19 @@ void FormulaDlg_Impl::ClearAllParas()
     DeleteArgs();
     pFuncDesc = NULL;
     pParaWin->ClearAll();
-    aWndResult.SetValue(OUString());
-    aFtFuncName.SetText(OUString());
+    m_pWndResult->SetValue(OUString());
+    m_pFtFuncName->SetText(OUString());
     FuncSelHdl(NULL);
 
-    if(pFuncPage->IsVisible())
+    if (pFuncPage->IsVisible())
     {
-        aFtEditName.Hide();
-        pParaWin->Hide();
+        m_pFtEditName->Hide();
+        m_pParaWinBox->Hide();
 
-        aBtnForward.Enable(true); //@new
-        aFtHeadLine.Show();
-        aFtFuncName.Show();
-        aFtFuncDesc.Show();
+        m_pBtnForward->Enable(true); //@new
+        m_pFtHeadLine->Show();
+        m_pFtFuncName->Show();
+        m_pFtFuncDesc->Show();
     }
 }
 OUString FormulaDlg_Impl::RepairFormula(const OUString& aFormula)
@@ -961,7 +976,7 @@ void FormulaDlg_Impl::DoEnter(bool bOk)
 
     m_pHelper->switchBack();
 
-    m_pHelper->dispatch(bOk,aBtnMatrix.IsChecked());
+    m_pHelper->dispatch(bOk,m_pBtnMatrix->IsChecked());
     //  Clear data
     m_pHelper->deleteFormData();
 
@@ -972,15 +987,15 @@ void FormulaDlg_Impl::DoEnter(bool bOk)
 
 IMPL_LINK( FormulaDlg_Impl, BtnHdl, PushButton*, pBtn )
 {
-    if ( pBtn == &aBtnCancel )
+    if ( pBtn == m_pBtnCancel )
     {
         DoEnter(false);                 // closes the Dialog
     }
-    else if ( pBtn == &aBtnEnd )
+    else if ( pBtn == m_pBtnEnd )
     {
         DoEnter(true);                  // closes the Dialog
     }
-    else if ( pBtn == &aBtnForward )
+    else if ( pBtn == m_pBtnForward )
     {
         const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() );
 
@@ -989,16 +1004,16 @@ IMPL_LINK( FormulaDlg_Impl, BtnHdl, PushButton*, pBtn )
         else
         {
             DblClkHdl(pFuncPage);      //new
-            aBtnForward.Enable(false); //new
+            m_pBtnForward->Enable(false); //new
         }
     }
-    else if ( pBtn == &aBtnBackward )
+    else if ( pBtn == m_pBtnBackward )
     {
         bEditFlag=false;
-        aBtnForward.Enable(true);
+        m_pBtnForward->Enable(true);
         EditNextFunc( false );
-        aMEFormula.Invalidate();
-        aMEFormula.Update();
+        m_pMEFormula->Invalidate();
+        m_pMEFormula->Update();
     }
 
 
@@ -1038,11 +1053,11 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, DblClkHdl)
 
     if(nArgs==0)
     {
-        BtnHdl(&aBtnBackward);
+        BtnHdl(m_pBtnBackward);
     }
 
     pParaWin->SetEdFocus(0);
-    aBtnForward.Enable(false); //@New
+    m_pBtnForward->Enable(false); //@New
 
     return 0;
 }
@@ -1066,7 +1081,7 @@ void FormulaDlg_Impl::SetData(sal_Int32 nFStart, sal_Int32 nNextFStart, sal_Int3
     if(!bEditFlag)
     {
         pMEdit->SetSelection( Selection(PrivStart, PrivEnd));
-        aMEFormula.UpdateOldSel();
+        m_pMEFormula->UpdateOldSel();
     }
 
     FormEditData* pData = m_pHelper->getFormEditData();
@@ -1182,8 +1197,8 @@ IMPL_LINK( FormulaDlg_Impl, FxHdl, ParaWin*, pPtr )
 {
     if(pPtr==pParaWin)
     {
-        aBtnForward.Enable(true); //@ In order to be able to input another function.
-        aTabCtrl.SetCurPageId(TP_FUNCTION);
+        m_pBtnForward->Enable(true); //@ In order to be able to input another function.
+        m_pTabCtrl->SetCurPageId(TP_FUNCTION);
 
         OUString aUndoStr = m_pHelper->getCurrentFormula();       // it will be added before a ";"
         FormEditData* pData = m_pHelper->getFormEditData();
@@ -1266,11 +1281,11 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FormulaHdl)
     OUString aStrResult;
 
     if ( CalcValue(m_pHelper->getCurrentFormula(), aStrResult ) )
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     else
     {
         aStrResult = "";
-        aWndFormResult.SetValue( aStrResult );
+        m_pWndFormResult->SetValue( aStrResult );
     }
     CalcStruct(aString);
 
@@ -1385,36 +1400,36 @@ void FormulaDlg_Impl::UpdateSelection()
     Selection aSel(nArgPos,nArgPos+nLength);
     m_pHelper->setSelection((sal_uInt16)nArgPos,(sal_uInt16)(nArgPos+nLength));
     pMEdit->SetSelection(aSel);
-    aMEFormula.UpdateOldSel();
+    m_pMEFormula->UpdateOldSel();
 }
 ::std::pair<RefButton*,RefEdit*> FormulaDlg_Impl::RefInputStartBefore( RefEdit* pEdit, RefButton* pButton )
 {
-    aEdRef.Show();
+    m_pEdRef->Show();
     pTheRefEdit = pEdit;
     pTheRefButton = pButton;
 
     if( pTheRefEdit )
     {
-        aEdRef.SetRefString( pTheRefEdit->GetText() );
-        aEdRef.SetSelection( pTheRefEdit->GetSelection() );
-        aEdRef.SetHelpId( pTheRefEdit->GetHelpId() );
-        aEdRef.SetUniqueId( pTheRefEdit->GetUniqueId() );
+        m_pEdRef->SetRefString( pTheRefEdit->GetText() );
+        m_pEdRef->SetSelection( pTheRefEdit->GetSelection() );
+        m_pEdRef->SetHelpId( pTheRefEdit->GetHelpId() );
+        m_pEdRef->SetUniqueId( pTheRefEdit->GetUniqueId() );
     }
 
-    aRefBtn.Show( pButton != NULL );
+    m_pRefBtn->Show( pButton != NULL );
 
     ::std::pair<RefButton*,RefEdit*> aPair;
-    aPair.first = pButton ? &aRefBtn : NULL;
-    aPair.second = &aEdRef;
+    aPair.first = pButton ? m_pRefBtn : NULL;
+    aPair.second = m_pEdRef;
     return aPair;
 }
 void FormulaDlg_Impl::RefInputStartAfter( RefEdit* /*pEdit*/, RefButton* /*pButton*/ )
 {
-    aRefBtn.SetEndImage();
+    m_pRefBtn->SetEndImage();
 
     if( pTheRefEdit )
     {
-        OUString aStr = aTitle2 + " " + aFtEditName.GetText() + "( ";
+        OUString aStr = aTitle2 + " " + m_pFtEditName->GetText() + "( ";
 
         if( pParaWin->GetActiveLine() > 0 )
             aStr += "...; ";
@@ -1428,21 +1443,21 @@ void FormulaDlg_Impl::RefInputStartAfter( RefEdit* /*pEdit*/, RefButton* /*pButt
 }
 void FormulaDlg_Impl::RefInputDoneAfter( bool bForced )
 {
-    aRefBtn.SetStartImage();
-    if( bForced || !aRefBtn.IsVisible() )
+    m_pRefBtn->SetStartImage();
+    if( bForced || !m_pRefBtn->IsVisible() )
     {
-        aEdRef.Hide();
-        aRefBtn.Hide();
+        m_pEdRef->Hide();
+        m_pRefBtn->Hide();
         if( pTheRefEdit )
         {
-            pTheRefEdit->SetRefString( aEdRef.GetText() );
+            pTheRefEdit->SetRefString( m_pEdRef->GetText() );
             pTheRefEdit->GrabFocus();
 
             if( pTheRefButton )
                 pTheRefButton->SetStartImage();
 
             sal_uInt16 nPrivActiv = pParaWin->GetActiveLine();
-            pParaWin->SetArgument( nPrivActiv, aEdRef.GetText() );
+            pParaWin->SetArgument( nPrivActiv, m_pEdRef->GetText() );
             ModifyHdl( pParaWin );
             pTheRefEdit = NULL;
         }
@@ -1451,7 +1466,7 @@ void FormulaDlg_Impl::RefInputDoneAfter( bool bForced )
 }
 RefEdit* FormulaDlg_Impl::GetCurrRefEdit()
 {
-    return aEdRef.IsVisible() ? &aEdRef : pParaWin->GetActiveEdit();
+    return m_pEdRef->IsVisible() ? m_pEdRef : pParaWin->GetActiveEdit();
 }
 void FormulaDlg_Impl::Update()
 {
@@ -1459,13 +1474,13 @@ void FormulaDlg_Impl::Update()
     const OUString sExpression = pMEdit->GetText();
     aOldFormula = "";
     UpdateTokenArray(sExpression);
-    FormulaCursorHdl(&aMEFormula);
+    FormulaCursorHdl(m_pMEFormula);
     CalcStruct(sExpression);
     if(pData->GetMode() == FORMULA_FORMDLG_FORMULA)
-        aTabCtrl.SetCurPageId(TP_FUNCTION);
+        m_pTabCtrl->SetCurPageId(TP_FUNCTION);
     else
-        aTabCtrl.SetCurPageId(TP_STRUCT);
-    aBtnMatrix.Check(pData->GetMatrixFlag());
+        m_pTabCtrl->SetCurPageId(TP_STRUCT);
+    m_pBtnMatrix->Check(pData->GetMatrixFlag());
 }
 void FormulaDlg_Impl::Update(const OUString& _sExp)
 {
@@ -1478,7 +1493,7 @@ void FormulaDlg_Impl::SetMeText(const OUString& _sText)
     FormEditData* pData = m_pHelper->getFormEditData();
     pMEdit->SetText(_sText);
     pMEdit->SetSelection( pData->GetSelection());
-    aMEFormula.UpdateOldSel();
+    m_pMEFormula->UpdateOldSel();
 }
 FormulaDlgMode FormulaDlg_Impl::SetMeText(const OUString& _sText, sal_Int32 PrivStart, sal_Int32 PrivEnd, bool bMatrix, bool _bSelect, bool _bUpdate)
 {
@@ -1490,12 +1505,12 @@ FormulaDlgMode FormulaDlg_Impl::SetMeText(const OUString& _sText, sal_Int32 Priv
         pMEdit->SetSelection( Selection(PrivStart, PrivEnd));
     if ( _bUpdate )
     {
-        aMEFormula.UpdateOldSel();
+        m_pMEFormula->UpdateOldSel();
         pMEdit->Invalidate();
         m_pHelper->showReference(pMEdit->GetSelected());
         eMode = FORMULA_FORMDLG_EDIT;
 
-        aBtnMatrix.Check( bMatrix );
+        m_pBtnMatrix->Check( bMatrix );
     } // if ( _bUpdate )
     return eMode;
 }
@@ -1510,17 +1525,17 @@ bool FormulaDlg_Impl::CheckMatrix(OUString& aFormula)
     if ( bMatrix )
     {
         aFormula = aFormula.copy( 1, aFormula.getLength()-2 );
-        aBtnMatrix.Check( bMatrix );
-        aBtnMatrix.Disable();
+        m_pBtnMatrix->Check( bMatrix );
+        m_pBtnMatrix->Disable();
     } // if ( bMatrix )
 
-    aTabCtrl.SetCurPageId(TP_STRUCT);
+    m_pTabCtrl->SetCurPageId(TP_STRUCT);
     return bMatrix;
 }
 IMPL_LINK_NOARG(FormulaDlg_Impl, StructSelHdl)
 {
     bStructUpdate=false;
-    if(pStructPage->IsVisible())    aBtnForward.Enable(false); //@New
+    if(pStructPage->IsVisible())    m_pBtnForward->Enable(false); //@New
 
     bStructUpdate=true;
     return 0;
@@ -1543,23 +1558,23 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FuncSelHdl)
     {
         const IFunctionDescription* pDesc =pFuncPage->GetFuncDesc( pFuncPage->GetFunction() );
 
-        if(pDesc!=pFuncDesc) aBtnForward.Enable(true); //new
+        if(pDesc!=pFuncDesc) m_pBtnForward->Enable(true); //new
 
         if (pDesc)
         {
             pDesc->initArgumentInfo();      // full argument info is needed
 
             OUString aSig = pDesc->getSignature();
-            aFtHeadLine.SetText( pDesc->getFunctionName() );
-            aFtFuncName.SetText( aSig );
-            aFtFuncDesc.SetText( pDesc->getDescription() );
+            m_pFtHeadLine->SetText( pDesc->getFunctionName() );
+            m_pFtFuncName->SetText( aSig );
+            m_pFtFuncDesc->SetText( pDesc->getDescription() );
         }
     }
     else
     {
-        aFtHeadLine.SetText( OUString() );
-        aFtFuncName.SetText( OUString() );
-        aFtFuncDesc.SetText( OUString() );
+        m_pFtHeadLine->SetText( OUString() );
+        m_pFtFuncName->SetText( OUString() );
+        m_pFtFuncDesc->SetText( OUString() );
     }
     return 0;
 }
@@ -1567,15 +1582,15 @@ IMPL_LINK_NOARG(FormulaDlg_Impl, FuncSelHdl)
 void FormulaDlg_Impl::UpdateParaWin(const Selection& _rSelection, const OUString& _sRefStr)
 {
     Selection theSel = _rSelection;
-    aEdRef.ReplaceSelected( _sRefStr );
+    m_pEdRef->ReplaceSelected( _sRefStr );
     theSel.Max() = theSel.Min() + _sRefStr.getLength();
-    aEdRef.SetSelection( theSel );
+    m_pEdRef->SetSelection( theSel );
 
 
     // Manual Update of the results' fields:
 
     sal_uInt16 nPrivActiv = pParaWin->GetActiveLine();
-    pParaWin->SetArgument(nPrivActiv,aEdRef.GetText());
+    pParaWin->SetArgument(nPrivActiv,m_pEdRef->GetText());
     pParaWin->UpdateParas();
 
     Edit* pEd = GetCurrRefEdit();
@@ -1595,14 +1610,14 @@ bool FormulaDlg_Impl::UpdateParaWin(Selection& _rSelection)
         _rSelection=pEd->GetSelection();
         _rSelection.Justify();
         aStrEd=pEd->GetText();
-        aEdRef.SetRefString(aStrEd);
-        aEdRef.SetSelection( _rSelection );
+        m_pEdRef->SetRefString(aStrEd);
+        m_pEdRef->SetSelection( _rSelection );
     }
     else
     {
-        _rSelection=aEdRef.GetSelection();
+        _rSelection=m_pEdRef->GetSelection();
         _rSelection.Justify();
-        aStrEd= aEdRef.GetText();
+        aStrEd= m_pEdRef->GetText();
     }
     return pTheRefEdit == NULL;
 }
@@ -1612,7 +1627,7 @@ void FormulaDlg_Impl::SetEdSelection()
     Edit* pEd = GetCurrRefEdit()/*aScParaWin.GetActiveEdit()*/;
     if( pEd )
     {
-        Selection theSel = aEdRef.GetSelection();
+        Selection theSel = m_pEdRef->GetSelection();
         //  Edit may have the focus -> call ModifyHdl in addition
         //  to what's happening in GetFocus
         pEd->GetModifyHdl().Call(pEd);
@@ -1714,13 +1729,12 @@ FormulaDlg::FormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
                             , bool _bSupportResult
                             , bool _bSupportMatrix
                             , IFunctionManager* _pFunctionMgr, IControlReferenceHandler* _pDlg ) :
-        SfxModelessDialog( pB, pCW, pParent, ModuleRes(RID_FORMULADLG_FORMULA) ),
+        SfxModelessDialog( pB, pCW, pParent, "FormulaDialog", "formula/ui/formuladialog.ui" ),
         m_pImpl( new FormulaDlg_Impl(this, _bSupportFunctionResult
                                             , _bSupportResult
                                             , _bSupportMatrix
                                             , this, _pFunctionMgr, _pDlg))
 {
-    FreeResource();
     //undo SfxModelessDialog HelpId clear hack
     reverseUniqueHelpIdHack(*this);
     SetText(m_pImpl->aTitle1);
@@ -1809,7 +1823,7 @@ bool FormulaDlg::PreNotify( NotifyEvent& rNEvt )
 
 void FormulaDlg::disableOk()
 {
-    m_pImpl->aBtnEnd.Disable();
+    m_pImpl->m_pBtnEnd->Disable();
 }
 
 void FormulaDlg::StoreFormEditData(FormEditData* pData)
diff --git a/formula/source/ui/dlg/funcpage.cxx b/formula/source/ui/dlg/funcpage.cxx
index 252e461..f8c9e6d 100644
--- a/formula/source/ui/dlg/funcpage.cxx
+++ b/formula/source/ui/dlg/funcpage.cxx
@@ -31,8 +31,8 @@
 namespace formula
 {
 
-FormulaListBox::FormulaListBox( Window* pParent, const ResId& rResId ):
-    ListBox(pParent,rResId)
+FormulaListBox::FormulaListBox( Window* pParent, WinBits nBits ):
+    ListBox(pParent, nBits)
 {}
 
 void FormulaListBox::KeyInput( const KeyEvent& rKEvt )
@@ -57,6 +57,11 @@ bool FormulaListBox::PreNotify( NotifyEvent& rNEvt )
     return nResult;
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeFormulaListBox(Window *pParent, VclBuilder::stringmap &)
+{
+    return new FormulaListBox(pParent, WB_BORDER | WB_SORT);
+}
+
 inline sal_uInt16 Lb2Cat( sal_uInt16 nLbPos )
 {
     // Category 0 == LRU, otherwise Categories == LbPos-1
@@ -67,16 +72,17 @@ inline sal_uInt16 Lb2Cat( sal_uInt16 nLbPos )
 }
 
 FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager):
-    TabPage(pParent,ModuleRes(RID_FORMULATAB_FUNCTION)),
-    aFtCategory     ( this, ModuleRes( FT_CATEGORY ) ),
-    aLbCategory     ( this, ModuleRes( LB_CATEGORY ) ),
-    aFtFunction     ( this, ModuleRes( FT_FUNCTION ) ),
-    aLbFunction     ( this, ModuleRes( LB_FUNCTION ) ),
+    TabPage(pParent, "FunctionPage", "formula/ui/functionpage.ui"),
     m_pFunctionManager(_pFunctionManager)
 {
-    FreeResource();
-    m_aHelpId = aLbFunction.GetHelpId();
-    aLbFunction.SetUniqueId(m_aHelpId);
+    get(m_pLbCategory, "category");
+    get(m_pLbFunction, "function");
+    m_pLbFunction->SetStyle(m_pLbFunction->GetStyle() | WB_SORT);
+    Size aSize(LogicToPixel(Size(86 , 133), MAP_APPFONT));
+    m_pLbFunction->set_height_request(aSize.Height());
+    m_pLbFunction->set_width_request(aSize.Width());
+    m_aHelpId = m_pLbFunction->GetHelpId();
+    m_pLbFunction->SetUniqueId(m_aHelpId);
 
     InitLRUList();
 
@@ -84,14 +90,14 @@ FuncPage::FuncPage(Window* pParent,const IFunctionManager* _pFunctionManager):
     for(sal_uInt32 j= 0; j < nCategoryCount; ++j)
     {
         const IFunctionCategory* pCategory = m_pFunctionManager->getCategory(j);
-        aLbCategory.SetEntryData(aLbCategory.InsertEntry(pCategory->getName()),(void*)pCategory);
+        m_pLbCategory->SetEntryData(m_pLbCategory->InsertEntry(pCategory->getName()),(void*)pCategory);
     }
 
-    aLbCategory.SelectEntryPos(1);
+    m_pLbCategory->SelectEntryPos(1);
     UpdateFunctionList();
-    aLbCategory.SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
-    aLbFunction.SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
-    aLbFunction.SetDoubleClickHdl( LINK( this, FuncPage, DblClkHdl ) );
+    m_pLbCategory->SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
+    m_pLbFunction->SetSelectHdl( LINK( this, FuncPage, SelHdl ) );
+    m_pLbFunction->SetDoubleClickHdl( LINK( this, FuncPage, DblClkHdl ) );
 }
 
 void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory)
@@ -100,22 +106,22 @@ void FuncPage::impl_addFunctions(const IFunctionCategory* _pCategory)
     for(sal_uInt32 i = 0 ; i < nCount; ++i)
     {
         TFunctionDesc pDesc(_pCategory->getFunction(i));
-        aLbFunction.SetEntryData(
-            aLbFunction.InsertEntry(pDesc->getFunctionName() ),(void*)pDesc );
+        m_pLbFunction->SetEntryData(
+            m_pLbFunction->InsertEntry(pDesc->getFunctionName() ),(void*)pDesc );
     }
 }
 
 void FuncPage::UpdateFunctionList()
 {
-    sal_Int32  nSelPos   = aLbCategory.GetSelectEntryPos();
-    const IFunctionCategory* pCategory = static_cast<const IFunctionCategory*>(aLbCategory.GetEntryData(nSelPos));
+    sal_Int32  nSelPos   = m_pLbCategory->GetSelectEntryPos();
+    const IFunctionCategory* pCategory = static_cast<const IFunctionCategory*>(m_pLbCategory->GetEntryData(nSelPos));
     sal_Int32  nCategory = ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
                             ? Lb2Cat( nSelPos ) : 0;
 
     (void)nCategory;
 
-    aLbFunction.Clear();
-    aLbFunction.SetUpdateMode( false );
+    m_pLbFunction->Clear();
+    m_pLbFunction->SetUpdateMode( false );
 
 
     if ( nSelPos > 0 )
@@ -143,35 +149,35 @@ void FuncPage::UpdateFunctionList()
             const IFunctionDescription* pDesc = *aIter;
             if (pDesc)  // may be null if a function is no longer available
             {
-                aLbFunction.SetEntryData(
-                    aLbFunction.InsertEntry( pDesc->getFunctionName() ), (void*)pDesc );
+                m_pLbFunction->SetEntryData(
+                    m_pLbFunction->InsertEntry( pDesc->getFunctionName() ), (void*)pDesc );
             }
         }
     }
 
 
-    aLbFunction.SetUpdateMode( true );
-    aLbFunction.SelectEntryPos(0);
+    m_pLbFunction->SetUpdateMode( true );
+    m_pLbFunction->SelectEntryPos(0);
 
-    if(IsVisible()) SelHdl(&aLbFunction);
+    if(IsVisible()) SelHdl(m_pLbFunction);
 }
 
 IMPL_LINK( FuncPage, SelHdl, ListBox*, pLb )
 {
-    if(pLb==&aLbFunction)
+    if(pLb==m_pLbFunction)
     {
         const IFunctionDescription* pDesc = GetFuncDesc( GetFunction() );
         if ( pDesc )
         {
             const OString sHelpId = pDesc->getHelpId();
             if ( !sHelpId.isEmpty() )
-                aLbFunction.SetHelpId(sHelpId);
+                m_pLbFunction->SetHelpId(sHelpId);
         }
         aSelectionLink.Call(this);
     }
     else
     {
-        aLbFunction.SetHelpId(m_aHelpId);
+        m_pLbFunction->SetHelpId(m_aHelpId);
         UpdateFunctionList();
     }
     return 0;
@@ -185,49 +191,49 @@ IMPL_LINK_NOARG(FuncPage, DblClkHdl)
 
 void FuncPage::SetCategory(sal_Int32 nCat)
 {
-    aLbCategory.SelectEntryPos(nCat);
+    m_pLbCategory->SelectEntryPos(nCat);
     UpdateFunctionList();
 }
 
 sal_Int32 FuncPage::GetFuncPos(const IFunctionDescription* _pDesc)
 {
-    return aLbFunction.GetEntryPos(_pDesc);
+    return m_pLbFunction->GetEntryPos(_pDesc);
 }
 
 void FuncPage::SetFunction(sal_Int32 nFunc)
 {
-    aLbFunction.SelectEntryPos(nFunc);
+    m_pLbFunction->SelectEntryPos(nFunc);
 }
 
 void FuncPage::SetFocus()
 {
-    aLbFunction.GrabFocus();
+    m_pLbFunction->GrabFocus();
 }
 
 sal_Int32 FuncPage::GetCategory()
 {
-    return aLbCategory.GetSelectEntryPos();
+    return m_pLbCategory->GetSelectEntryPos();
 }
 
 sal_Int32 FuncPage::GetFunction()
 {
-    return aLbFunction.GetSelectEntryPos();
+    return m_pLbFunction->GetSelectEntryPos();
 }
 
 sal_Int32 FuncPage::GetFunctionEntryCount()
 {
-    return aLbFunction.GetSelectEntryCount();
+    return m_pLbFunction->GetSelectEntryCount();
 }
 
 OUString FuncPage::GetSelFunctionName() const
 {
-    return aLbFunction.GetSelectEntry();
+    return m_pLbFunction->GetSelectEntry();
 }
 
 const IFunctionDescription* FuncPage::GetFuncDesc( sal_Int32 nPos ) const
 {
     // not pretty, but hopefully rare
-    return (const IFunctionDescription*) aLbFunction.GetEntryData(nPos);
+    return (const IFunctionDescription*) m_pLbFunction->GetEntryData(nPos);
 }
 
 void FuncPage::InitLRUList()
diff --git a/formula/source/ui/dlg/funcpage.hxx b/formula/source/ui/dlg/funcpage.hxx
index d5cc480..424acef 100644
--- a/formula/source/ui/dlg/funcpage.hxx
+++ b/formula/source/ui/dlg/funcpage.hxx
@@ -50,7 +50,7 @@ protected:
     virtual bool    PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
 
 public:
-                    FormulaListBox( Window* pParent, const ResId& rResId );
+                    FormulaListBox( Window* pParent, WinBits nBits );
 
 };
 
@@ -64,10 +64,8 @@ private:
     OModuleClient   m_aModuleClient;
     Link            aDoubleClickLink;
     Link            aSelectionLink;
-    FixedText       aFtCategory;
-    ListBox         aLbCategory;
-    FixedText       aFtFunction;
-    FormulaListBox  aLbFunction;
+    ListBox         *m_pLbCategory;
+    FormulaListBox  *m_pLbFunction;
     const IFunctionManager*
                     m_pFunctionManager;
 
diff --git a/formula/source/ui/dlg/funcutl.cxx b/formula/source/ui/dlg/funcutl.cxx
index 484ce8c..4775197 100644
--- a/formula/source/ui/dlg/funcutl.cxx
+++ b/formula/source/ui/dlg/funcutl.cxx
@@ -33,13 +33,15 @@ namespace formula
 {
 
 // class ValWnd
-ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId )
+ValWnd::ValWnd(Window* pParent, WinBits nBits)
+    : Window(pParent, nBits)
 {
     Font aFnt( GetFont() );
     aFnt.SetTransparent( true );
     aFnt.SetWeight( WEIGHT_LIGHT );
     if ( pParent->IsBackground() )
     {
+        fprintf(stderr, "one\n");
         Wallpaper aBack = pParent->GetBackground();
         SetFillColor( aBack.GetColor() );
         SetBackground( aBack );
@@ -47,12 +49,25 @@ ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId )
     }
     else
     {
+        fprintf(stderr, "two\n");
         SetFillColor();
         SetBackground();
     }
     SetFont( aFnt );
     SetLineColor();
 
+    SetAccessibleRole( ::com::sun::star::accessibility::AccessibleRole::LABEL );
+}
+
+Size ValWnd::GetOptimalSize() const
+{
+    return LogicToPixel(Size(60, 12), MAP_APPFONT);
+}
+
+void ValWnd::Resize()
+{
+    Window::Resize();
+
     Size aSzWnd  = GetOutputSizePixel();
     long nHeight = GetTextHeight();
     long nDiff   = aSzWnd.Height()-nHeight;
@@ -60,7 +75,11 @@ ValWnd::ValWnd( Window* pParent, const ResId& rId ) : Window( pParent, rId )
     aRectOut = Rectangle( Point( 1, ( nDiff<2 ) ? 1 : nDiff/2),
                           Size ( aSzWnd.Width()-2, nHeight ) );
     SetClipRegion( Region( aRectOut ) );
-    SetAccessibleRole( ::com::sun::star::accessibility::AccessibleRole::LABEL );
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeValWnd(Window *pParent, VclBuilder::stringmap &)
+{
+    return new ValWnd(pParent, WB_BORDER);
 }
 
 void ValWnd::Paint( const Rectangle& )
@@ -80,8 +99,8 @@ void ValWnd::SetValue( const OUString& rStrVal )
 
 // class ArgEdit
 
-ArgEdit::ArgEdit( Window* pParent, const ResId& rResId )
-    :   RefEdit( pParent, NULL, NULL, rResId ),
+ArgEdit::ArgEdit( Window* pParent, WinBits nBits )
+    :   RefEdit( pParent, NULL, nBits ),
         pEdPrev ( NULL ),
         pEdNext ( NULL ),
         pSlider ( NULL ),
@@ -89,6 +108,11 @@ ArgEdit::ArgEdit( Window* pParent, const ResId& rResId )
 {
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeArgEdit(Window *pParent, VclBuilder::stringmap &)
+{
+    return new ArgEdit(pParent, WB_BORDER);
+}
+
 void ArgEdit::Init( ArgEdit* pPrevEdit, ArgEdit* pNextEdit,
                     ScrollBar& rArgSlider, sal_uInt16 nArgCount )
 {
@@ -183,7 +207,7 @@ ArgInput::ArgInput()
     pRefBtn=NULL;
 }
 
-void ArgInput::InitArgInput( FixedText* pftArg, ImageButton* pbtnFx,
+void ArgInput::InitArgInput( FixedText* pftArg, PushButton* pbtnFx,
                              ArgEdit* pedArg, RefButton* prefBtn)
 {
     pFtArg =pftArg;
@@ -374,8 +398,9 @@ IMPL_LINK( ArgInput, EdModifyHdl,ArgEdit*, pEd )
 }
 
 // class EditBox
-EditBox::EditBox( Window* pParent, const ResId& rResId )
-        :Control(pParent,rResId),
+
+EditBox::EditBox( Window* pParent, WinBits nBits )
+        :Control(pParent,nBits),
         bMouseFlag(false)
 {
     WinBits nStyle=GetStyle();
@@ -395,6 +420,11 @@ EditBox::EditBox( Window* pParent, const ResId& rResId )
     SetHelpId( "" );
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeEditBox(Window *pParent, VclBuilder::stringmap &)
+{
+    return new EditBox(pParent, WB_BORDER);
+}
+
 EditBox::~EditBox()
 {
     MultiLineEdit* pTheEdit=pMEdit;
@@ -493,16 +523,6 @@ void EditBox::UpdateOldSel()
 
 #define SC_ENABLE_TIME 100
 
-RefEdit::RefEdit( Window* _pParent,IControlReferenceHandler* pParent,
-    Window* pShrinkModeLabel, const ResId& rResId )
-    : Edit( _pParent, rResId )
-    , pAnyRefDlg( pParent )
-    , pLabelWidget(pShrinkModeLabel)
-{
-    aTimer.SetTimeoutHdl( LINK( this, RefEdit, UpdateHdl ) );
-    aTimer.SetTimeout( SC_ENABLE_TIME );
-}
-
 RefEdit::RefEdit( Window* _pParent, Window* pShrinkModeLabel, WinBits nStyle )
     : Edit( _pParent, nStyle )
     , pAnyRefDlg( NULL )
@@ -608,18 +628,6 @@ IMPL_LINK_NOARG(RefEdit, UpdateHdl)
 
 //class RefButton
 
-RefButton::RefButton( Window* _pParent, const ResId& rResId) :
-    ImageButton( _pParent, rResId ),
-    aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
-    aImgRefDone( ModuleRes( RID_BMP_REFBTN2 ) ),
-    aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
-    aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
-    pAnyRefDlg( NULL ),
-    pRefEdit( NULL )
-{
-    SetStartImage();
-}
-
 RefButton::RefButton( Window* _pParent, WinBits nStyle ) :
     ImageButton( _pParent, nStyle ),
     aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
@@ -637,18 +645,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeRefButton(Window *pParent,
     return new RefButton(pParent, 0);
 }
 
-RefButton::RefButton( Window* _pParent, const ResId& rResId, RefEdit* pEdit, IControlReferenceHandler* _pDlg ) :
-    ImageButton( _pParent, rResId ),
-    aImgRefStart( ModuleRes( RID_BMP_REFBTN1 ) ),
-    aImgRefDone( ModuleRes( RID_BMP_REFBTN2 ) ),
-    aShrinkQuickHelp( ModuleRes( RID_STR_SHRINK ).toString() ),
-    aExpandQuickHelp( ModuleRes( RID_STR_EXPAND ).toString() ),
-    pAnyRefDlg( _pDlg ),
-    pRefEdit( pEdit )
-{
-    SetStartImage();
-}
-
 void RefButton::SetStartImage()
 {
     SetModeImage( aImgRefStart );
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index bb0ee20..8017ed3 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -23,7 +23,6 @@
 #include <vcl/settings.hxx>
 
 #include "parawin.hxx"
-#include "parawin.hrc"
 #include "helpids.hrc"
 #include "formula/formdata.hxx"
 #include "formula/IFunctionDescription.hxx"
@@ -36,55 +35,69 @@ namespace formula
 {
 
 
-ParaWin::ParaWin(Window* pParent,IControlReferenceHandler* _pDlg,Point aPos):
-    TabPage         (pParent,ModuleRes(RID_FORMULATAB_PARAMETER)),
+ParaWin::ParaWin(Window* pParent,IControlReferenceHandler* _pDlg):
+    TabPage         (pParent, "ParameterPage", "formula/ui/parameter.ui"),
     pFuncDesc       ( NULL ),
     pMyParent       (_pDlg),
-    aFtEditDesc     ( this, ModuleRes( FT_EDITDESC ) ),
-    aFtArgName      ( this, ModuleRes( FT_PARNAME ) ),
-    aFtArgDesc      ( this, ModuleRes( FT_PARDESC ) ),
-
-    aBtnFx1         ( this, ModuleRes( BTN_FX1 ) ),
-    aFtArg1         ( this, ModuleRes( FT_ARG1 ) ),
-    aEdArg1         ( this, ModuleRes( ED_ARG1 ) ),
-    aRefBtn1        ( this, ModuleRes( RB_ARG1 ) ),
-
-    aBtnFx2         ( this, ModuleRes( BTN_FX2 ) ),
-    aFtArg2         ( this, ModuleRes( FT_ARG2 ) ),
-    aEdArg2         ( this, ModuleRes( ED_ARG2 ) ),
-    aRefBtn2        ( this, ModuleRes( RB_ARG2 ) ),
-
-    aBtnFx3         ( this, ModuleRes( BTN_FX3 ) ),
-    aFtArg3         ( this, ModuleRes( FT_ARG3 ) ),
-    aEdArg3         ( this, ModuleRes( ED_ARG3 ) ),
-    aRefBtn3        ( this, ModuleRes( RB_ARG3 ) ),
-
-    aBtnFx4         ( this, ModuleRes( BTN_FX4 ) ),
-    aFtArg4         ( this, ModuleRes( FT_ARG4 ) ),
-    aEdArg4         ( this, ModuleRes( ED_ARG4 ) ),
-    aRefBtn4        ( this, ModuleRes( RB_ARG4 ) ),
-
-    aSlider         ( this, ModuleRes( WND_SLIDER ) ),
     m_sOptional     ( ModuleRes( STR_OPTIONAL ) ),
     m_sRequired     ( ModuleRes( STR_REQUIRED ) ),
     bRefMode        (false)
 {
-    FreeResource();
-    aDefaultString=aFtEditDesc.GetText();
-
-    SetPosPixel(aPos);
+    get(m_pFtEditDesc, "editdesc");
+    get(m_pFtArgName, "parname");
+    get(m_pFtArgDesc, "pardesc");
+
+    //Space for two lines of text
+    m_pFtArgDesc->SetText("X\nX\n");
+    long nHeight = m_pFtArgDesc->GetOptimalSize().Height();
+    m_pFtEditDesc->set_height_request(nHeight);
+    m_pFtArgDesc->set_height_request(nHeight);
+    m_pFtArgDesc->SetText("");
+
+    get(m_pBtnFx1, "FX1");
+    m_pBtnFx1->SetModeImage(Image(ModuleRes( BMP_FX )));
+    get(m_pBtnFx2, "FX2");
+    m_pBtnFx2->SetModeImage(Image(ModuleRes( BMP_FX )));
+    get(m_pBtnFx3, "FX3");
+    m_pBtnFx3->SetModeImage(Image(ModuleRes( BMP_FX )));
+    get(m_pBtnFx4, "FX4");
+    m_pBtnFx4->SetModeImage(Image(ModuleRes( BMP_FX )));
+
+    get(m_pFtArg1, "FT_ARG1");
+    get(m_pFtArg2, "FT_ARG2");
+    get(m_pFtArg3, "FT_ARG3");
+    get(m_pFtArg4, "FT_ARG4");
+
+    get(m_pEdArg1, "ED_ARG1");
+    get(m_pEdArg2, "ED_ARG2");
+    get(m_pEdArg3, "ED_ARG3");
+    get(m_pEdArg4, "ED_ARG4");
+
+    get(m_pRefBtn1, "RB_ARG1");
+    get(m_pRefBtn2, "RB_ARG2");
+    get(m_pRefBtn3, "RB_ARG3");
+    get(m_pRefBtn4, "RB_ARG4");
+
+    get(m_pSlider, "scrollbar");
+
+    //lock down initial preferences
+    Window *pGrid = get<Window>("paramgrid");
+    pGrid->set_height_request(pGrid->get_preferred_size().Height());
+    Size aSize(get_preferred_size());
+    set_width_request(aSize.Width());
+    set_height_request(aSize.Height());
+
+    aDefaultString=m_pFtEditDesc->GetText();
     nEdFocus=NOT_FOUND;
     nActiveLine=0;
-    Size aSize = aSlider.GetSizePixel();
-    aSize.Width() = GetSettings().GetStyleSettings().GetScrollBarSize();
-    aSlider.SetSizePixel( aSize );
-    aSlider.SetEndScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
-    aSlider.SetScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
-
-    InitArgInput( 0, aFtArg1, aBtnFx1, aEdArg1, aRefBtn1);
-    InitArgInput( 1, aFtArg2, aBtnFx2, aEdArg2, aRefBtn2);
-    InitArgInput( 2, aFtArg3, aBtnFx3, aEdArg3, aRefBtn3);
-    InitArgInput( 3, aFtArg4, aBtnFx4, aEdArg4, aRefBtn4);
+
+    m_pSlider->SetEndScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
+    m_pSlider->SetScrollHdl( LINK( this, ParaWin, ScrollHdl ) );
+
+    InitArgInput( 0, *m_pFtArg1, *m_pBtnFx1, *m_pEdArg1, *m_pRefBtn1);
+    InitArgInput( 1, *m_pFtArg2, *m_pBtnFx2, *m_pEdArg2, *m_pRefBtn2);
+    InitArgInput( 2, *m_pFtArg3, *m_pBtnFx3, *m_pEdArg3, *m_pRefBtn3);
+    InitArgInput( 3, *m_pFtArg4, *m_pBtnFx4, *m_pEdArg4, *m_pRefBtn4);
     ClearAll();
 }
 
@@ -211,10 +224,10 @@ ParaWin::~ParaWin()
     // #i66422# if the focus changes during destruction of the controls,
     // don't call the focus handlers
     Link aEmptyLink;
-    aBtnFx1.SetGetFocusHdl( aEmptyLink );
-    aBtnFx2.SetGetFocusHdl( aEmptyLink );
-    aBtnFx3.SetGetFocusHdl( aEmptyLink );
-    aBtnFx4.SetGetFocusHdl( aEmptyLink );
+    m_pBtnFx1->SetGetFocusHdl( aEmptyLink );
+    m_pBtnFx2->SetGetFocusHdl( aEmptyLink );
+    m_pBtnFx3->SetGetFocusHdl( aEmptyLink );
+    m_pBtnFx4->SetGetFocusHdl( aEmptyLink );
 }
 
 
@@ -309,20 +322,20 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc)
         }
         nArgs = pFuncDesc->getSuppressedArgumentCount();
         pFuncDesc->fillVisibleArgumentMapping(aVisibleArgMapping);
-        aSlider.Hide();
+        m_pSlider->Hide();
         OString sHelpId = pFuncDesc->getHelpId();
         SetHelpId( sHelpId );
-        aEdArg1.SetHelpId( sHelpId );
-        aEdArg2.SetHelpId( sHelpId );
-        aEdArg3.SetHelpId( sHelpId );
-        aEdArg4.SetHelpId( sHelpId );
+        m_pEdArg1->SetHelpId( sHelpId );
+        m_pEdArg2->SetHelpId( sHelpId );
+        m_pEdArg3->SetHelpId( sHelpId );
+        m_pEdArg4->SetHelpId( sHelpId );
 
         //  Unique-IDs muessen gleich bleiben fuer Automatisierung
         SetUniqueId( HID_FORMULA_FAP_PAGE );
-        aEdArg1.SetUniqueId( HID_FORMULA_FAP_EDIT1 );
-        aEdArg2.SetUniqueId( HID_FORMULA_FAP_EDIT2 );
-        aEdArg3.SetUniqueId( HID_FORMULA_FAP_EDIT3 );
-        aEdArg4.SetUniqueId( HID_FORMULA_FAP_EDIT4 );
+        m_pEdArg1->SetUniqueId( HID_FORMULA_FAP_EDIT1 );
+        m_pEdArg2->SetUniqueId( HID_FORMULA_FAP_EDIT2 );
+        m_pEdArg3->SetUniqueId( HID_FORMULA_FAP_EDIT3 );
+        m_pEdArg4->SetUniqueId( HID_FORMULA_FAP_EDIT4 );
         SetActiveLine(0);
     }
     else
@@ -334,17 +347,17 @@ void ParaWin::SetFunctionDesc(const IFunctionDescription* pFDesc)
 
 void ParaWin::SetArgumentText(const OUString& aText)
 {
-    aFtArgName.SetText(aText);
+    m_pFtArgName->SetText(aText);
 }
 
 void ParaWin::SetArgumentDesc(const OUString& aText)
 {
-    aFtArgDesc.SetText(aText);
+    m_pFtArgDesc->SetText(aText);
 }
 
 void ParaWin::SetEditDesc(const OUString& aText)
 {
-    aFtEditDesc.SetText(aText);
+    m_pFtEditDesc->SetText(aText);
 }
 
 void ParaWin::SetArgName(sal_uInt16 no,const OUString& aText)
@@ -381,7 +394,7 @@ void ParaWin::SetEdFocus(sal_uInt16 no)
 }
 
 
-void ParaWin::InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBtnFx,
+void ParaWin::InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, PushButton& rBtnFx,
                         ArgEdit& rEdArg, RefButton& rRefBtn)
 {
 
@@ -408,7 +421,7 @@ void ParaWin::ClearAll()
 void ParaWin::SetArgumentOffset(sal_uInt16 nOffset)
 {
     DelParaArray();
-    aSlider.SetThumbPos(0);
+    m_pSlider->SetThumbPos(0);
 
     aParaArray.resize(nArgs);
 
@@ -421,22 +434,22 @@ void ParaWin::SetArgumentOffset(sal_uInt16 nOffset)
             aArgInput[i].GetArgEdPtr()->Init(
                 (i==0)               ? (ArgEdit *)NULL : aArgInput[i-1].GetArgEdPtr(),
                 (i==3 || i==nArgs-1) ? (ArgEdit *)NULL : aArgInput[i+1].GetArgEdPtr(),
-                                       aSlider, nArgs );
+                                       *m_pSlider, nArgs );
         }
     }
 
     if ( nArgs < 5 )
     {
-        aSlider.Hide();
+        m_pSlider->Hide();
     }
     else
     {
-        aSlider.SetPageSize( 4 );
-        aSlider.SetVisibleSize( 4 );
-        aSlider.SetLineSize( 1 );
-        aSlider.SetRange( Range( 0, nArgs ) );
-        aSlider.SetThumbPos( nOffset );
-        aSlider.Show();
+        m_pSlider->SetPageSize( 4 );
+        m_pSlider->SetVisibleSize( 4 );
+        m_pSlider->SetLineSize( 1 );
+        m_pSlider->SetRange( Range( 0, nArgs ) );
+        m_pSlider->SetThumbPos( nOffset );
+        m_pSlider->Show();
     }
 
     UpdateParas();
@@ -462,16 +475,16 @@ void ParaWin::UpdateParas()
 
 sal_uInt16 ParaWin::GetSliderPos()
 {
-    return (sal_uInt16) aSlider.GetThumbPos();
+    return (sal_uInt16) m_pSlider->GetThumbPos();
 }
 
 void ParaWin::SetSliderPos(sal_uInt16 nSliderPos)
 {
     sal_uInt16 nOffset = GetSliderPos();
 
-    if(aSlider.IsVisible() && nOffset!=nSliderPos)
+    if(m_pSlider->IsVisible() && nOffset!=nSliderPos)
     {
-        aSlider.SetThumbPos(nSliderPos);
+        m_pSlider->SetThumbPos(nSliderPos);
         for ( sal_uInt16 i=0; i<4; i++ )
         {
             UpdateArgInput( nSliderPos, i );
diff --git a/formula/source/ui/dlg/parawin.hrc b/formula/source/ui/dlg/parawin.hrc
deleted file mode 100644
index 159d76f..0000000
--- a/formula/source/ui/dlg/parawin.hrc
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#define FT_PARNAME          1
-#define FT_PARDESC          2
-#define FT_EDITDESC         3
-#define FT_ARG1             4
-#define FT_ARG2             5
-#define FT_ARG3             6
-#define FT_ARG4             7
-#define BTN_FX1             8
-#define BTN_FX2             9
-#define BTN_FX3             10
-#define BTN_FX4             11
-#define ED_ARG1             12
-#define ED_ARG2             13
-#define ED_ARG3             14
-#define ED_ARG4             15
-#define RB_ARG1             16
-#define RB_ARG2             17
-#define RB_ARG3             18
-#define RB_ARG4             19
-#define WND_SLIDER          20
-
-#define STR_OPTIONAL        1
-#define STR_REQUIRED        2
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/parawin.hxx b/formula/source/ui/dlg/parawin.hxx
index 3b2df6b..2db9162 100644
--- a/formula/source/ui/dlg/parawin.hxx
+++ b/formula/source/ui/dlg/parawin.hxx
@@ -56,31 +56,31 @@ private:
         Font            aFntBold;
         Font            aFntLight;
 
-        FixedInfo       aFtEditDesc;
-        FixedText       aFtArgName;
-        FixedInfo       aFtArgDesc;
-
-        ImageButton     aBtnFx1;
-        FixedText       aFtArg1;
-        ArgEdit         aEdArg1;
-        RefButton       aRefBtn1;
-
-        ImageButton     aBtnFx2;
-        FixedText       aFtArg2;
-        ArgEdit         aEdArg2;
-        RefButton       aRefBtn2;
-
-        ImageButton     aBtnFx3;
-        FixedText       aFtArg3;
-        ArgEdit         aEdArg3;
-        RefButton       aRefBtn3;
-
-        ImageButton     aBtnFx4;
-        FixedText       aFtArg4;
-        ArgEdit         aEdArg4;
-        RefButton       aRefBtn4;
-
-        ScrollBar       aSlider;
+        FixedText       *m_pFtEditDesc;
+        FixedText       *m_pFtArgName;
+        FixedText       *m_pFtArgDesc;
+
+        PushButton      *m_pBtnFx1;
+        FixedText       *m_pFtArg1;
+        ArgEdit         *m_pEdArg1;
+        RefButton       *m_pRefBtn1;
+
+        PushButton      *m_pBtnFx2;
+        FixedText       *m_pFtArg2;
+        ArgEdit         *m_pEdArg2;
+        RefButton       *m_pRefBtn2;
+
+        PushButton      *m_pBtnFx3;
+        FixedText       *m_pFtArg3;
+        ArgEdit         *m_pEdArg3;
+        RefButton       *m_pRefBtn3;
+
+        PushButton      *m_pBtnFx4;
+        FixedText       *m_pFtArg4;
+        ArgEdit         *m_pEdArg4;
+        RefButton       *m_pRefBtn4;
+
+        ScrollBar       *m_pSlider;
         OUString        m_sOptional;
         OUString        m_sRequired;
         bool        bRefMode;
@@ -105,7 +105,7 @@ protected:
         virtual void    ArgumentModified();
         virtual void    FxClick();
 
-        void            InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, ImageButton& rBtnFx,
+        void            InitArgInput( sal_uInt16 nPos, FixedText& rFtArg, PushButton& rBtnFx,
                                         ArgEdit& rEdArg, RefButton& rRefBtn);
 
         void            DelParaArray();
@@ -123,7 +123,7 @@ protected:
         void            UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i );
 
 public:
-                        ParaWin(Window* pParent,IControlReferenceHandler* _pDlg,Point aPos);
+                        ParaWin(Window* pParent,IControlReferenceHandler* _pDlg);
                         virtual ~ParaWin();
 
         void            SetFunctionDesc(const IFunctionDescription* pFDesc);
diff --git a/formula/source/ui/dlg/parawin.src b/formula/source/ui/dlg/parawin.src
index 6ccda7a..87785a0 100644
--- a/formula/source/ui/dlg/parawin.src
+++ b/formula/source/ui/dlg/parawin.src
@@ -17,148 +17,25 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "parawin.hrc"
 #include "ForResId.hrc"
 #include "helpids.hrc"
 
 #define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; }
 
-#define FT_ARGBLOCK( y )                    \
-    Pos = MAP_APPFONT (6 , y ) ; \
-    Size = MAP_APPFONT ( 74 , 8 ) ; \
-    Right = TRUE ;
-
-#define FXBUTTONBLOCK( y )              \
-    Pos = MAP_APPFONT (83 , y-1 ) ; \
-    Size = MAP_APPFONT ( 13 , 15 ) ; \
-    TabStop = TRUE ; \
-    ButtonImage = Image\
-    {\
-        ImageBitmap = Bitmap\
-        {\
-            File = "fx.bmp" ; \
-        };\
-        MaskColor = STD_MASKCOLOR;\
-    };
-
-#define ED_ARGBLOCK( y )                \
-        Border = TRUE;                  \
-        Pos = MAP_APPFONT( 98, y );     \
-        Size = MAP_APPFONT( 66, 12 );   \
-        TabStop = TRUE;
-
-#define RB_ARGBLOCK( y )                \
-    Pos = MAP_APPFONT ( 166 , y-1 ) ; \
-    Size = MAP_APPFONT ( 13 , 15 ) ; \
-    TabStop = FALSE ;   \
-    QuickHelpText [ en-US ] = "Select"; \
-
- // jetzt alles zusammen
-
-TabPage RID_FORMULATAB_PARAMETER
+Image BMP_FX
 {
-    HelpID = "formula:TabPage:RID_FORMULATAB_PARAMETER";
-    Border  = FALSE;
-    Size    = MAP_APPFONT( 203, 128 );
-    DialogControl        = TRUE;
-    SVLook               = TRUE;
-
-    FixedText FT_EDITDESC
-    {
-        Pos = MAP_APPFONT (3 , 6 ) ;
-        Size = MAP_APPFONT ( 198 , 20 ) ;
-        WordBreak = TRUE ;
-        Text [ en-US ] = "Function not known";
-    };
-
-    FixedText FT_PARNAME
-    {
-        Pos = MAP_APPFONT ( 3, 29) ;
-        Size = MAP_APPFONT ( 198 , 10 ) ;
-    };
-    FixedText FT_PARDESC
-    {
-        Pos = MAP_APPFONT ( 3, 42 ) ;
-        Size = MAP_APPFONT ( 198 , 20 ) ;
-        WordBreak = TRUE ;
-    };
-
-    FixedText FT_ARG1 { FT_ARGBLOCK (  66 ) };
-    FixedText FT_ARG2 { FT_ARGBLOCK (  81 ) };
-    FixedText FT_ARG3 { FT_ARGBLOCK (  96 ) };
-    FixedText FT_ARG4 { FT_ARGBLOCK ( 111 ) };
-
-    ImageButton BTN_FX1
-    {
-        HelpId=HID_FORMULA_FAP_BTN_FX1;
-        FXBUTTONBLOCK (  64 )
-    };
-    ImageButton BTN_FX2
-    {
-        HelpId=HID_FORMULA_FAP_BTN_FX2;
-        FXBUTTONBLOCK (  79 )
-    };
-
-    ImageButton BTN_FX3
-    {
-        HelpId=HID_FORMULA_FAP_BTN_FX3;
-        FXBUTTONBLOCK (  94 )
-    };
-    ImageButton BTN_FX4
-    {
-        HelpId=HID_FORMULA_FAP_BTN_FX4;
-        FXBUTTONBLOCK ( 109 )
-    };
-    Edit ED_ARG1 { ED_ARGBLOCK (  64 )
-        HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG1";
-    };
-    Edit ED_ARG2 { ED_ARGBLOCK (  79 )
-        HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG2";
-    };
-    Edit ED_ARG3 { ED_ARGBLOCK (  94 )
-        HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG3";
-    };
-    Edit ED_ARG4 { ED_ARGBLOCK ( 109 )
-        HelpID = "formula:Edit:RID_FORMULATAB_PARAMETER:ED_ARG4";
-    };
-
-    ImageButton RB_ARG1
-    {
-        HelpId=HID_FORMULA_FAP_BTN_REF1;
-        RB_ARGBLOCK (  64 )
-    };
-
-    ImageButton RB_ARG2
-    {
-        HelpId=HID_FORMULA_FAP_BTN_REF2;
-        RB_ARGBLOCK (  79 )
-    };
-    ImageButton RB_ARG3
-    {
-        HelpId=HID_FORMULA_FAP_BTN_REF3;
-        RB_ARGBLOCK (  94 )
-    };
-    ImageButton RB_ARG4
-    {
-        HelpId=HID_FORMULA_FAP_BTN_REF4;
-        RB_ARGBLOCK ( 109 )
-    };
-
-    ScrollBar WND_SLIDER
-    {
-        Pos = MAP_APPFONT ( 183, 63 ) ;
-        Size = MAP_APPFONT ( 8 , 59 ) ;
-        VScroll = TRUE ;
-    };
+    ImageBitmap = Bitmap { File = "fx.bmp" ; };
+    MaskColor = STD_MASKCOLOR;
+};
 
-    String STR_OPTIONAL
-    {
-        Text [ en-US ] = "(optional)" ;
-    };
-    String STR_REQUIRED
-    {
-        Text [ en-US ] = "(required)" ;
-    };
+String STR_OPTIONAL
+{
+    Text [ en-US ] = "(optional)" ;
+};
+String STR_REQUIRED
+{
+    Text [ en-US ] = "(required)" ;
 };
 
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx
index 3171fe3..b5934e4 100644
--- a/formula/source/ui/dlg/structpg.cxx
+++ b/formula/source/ui/dlg/structpg.cxx
@@ -32,8 +32,8 @@
 
 namespace formula
 {
-StructListBox::StructListBox(Window* pParent, const ResId& rResId ):
-    SvTreeListBox(pParent,rResId )
+StructListBox::StructListBox(Window* pParent, WinBits nBits ):
+    SvTreeListBox(pParent, nBits)
 {
     bActiveFlag=false;
 
@@ -77,55 +77,59 @@ void StructListBox::LoseFocus()
     SvTreeListBox::LoseFocus();
 }
 
-
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeStructListBox(Window *pParent, VclBuilder::stringmap &)
+{
+    return new StructListBox(pParent, WB_BORDER);
+}
 
 StructPage::StructPage(Window* pParent):
-    TabPage(pParent,ModuleRes(RID_FORMULATAB_STRUCT)),
-    aFtStruct       ( this, ModuleRes( FT_STRUCT ) ),
-    aTlbStruct      ( this, ModuleRes( TLB_STRUCT ) ),
+    TabPage(pParent, "StructPage", "formula/ui/structpage.ui"),
     maImgEnd        ( ModuleRes( BMP_STR_END ) ),
     maImgError      ( ModuleRes( BMP_STR_ERROR ) ),
     pSelectedToken  ( NULL )
 {
-    aTlbStruct.SetStyle(aTlbStruct.GetStyle()|WB_HASLINES|WB_CLIPCHILDREN|
+    get(m_pTlbStruct, "struct");
+    Size aSize(LogicToPixel(Size(86, 162), MAP_APPFONT));
+    m_pTlbStruct->set_height_request(aSize.Height());
+    m_pTlbStruct->set_width_request(aSize.Width());
+    m_pTlbStruct->SetStyle(m_pTlbStruct->GetStyle()|WB_HASLINES|WB_CLIPCHILDREN|
                         WB_HASBUTTONS|WB_HSCROLL|WB_NOINITIALSELECTION);
 
-    aTlbStruct.SetNodeDefaultImages();
-    aTlbStruct.SetDefaultExpandedEntryBmp(  Image( ModuleRes( BMP_STR_OPEN  ) ) );
-    aTlbStruct.SetDefaultCollapsedEntryBmp( Image( ModuleRes( BMP_STR_CLOSE ) ) );
+    m_pTlbStruct->SetNodeDefaultImages();
+    m_pTlbStruct->SetDefaultExpandedEntryBmp(  Image( ModuleRes( BMP_STR_OPEN  ) ) );
+    m_pTlbStruct->SetDefaultCollapsedEntryBmp( Image( ModuleRes( BMP_STR_CLOSE ) ) );
 
-    FreeResource();
 
-    aTlbStruct.SetSelectHdl(LINK( this, StructPage, SelectHdl ) );
+    m_pTlbStruct->SetSelectHdl(LINK( this, StructPage, SelectHdl ) );
 }
 
 void StructPage::ClearStruct()
 {
-    aTlbStruct.SetActiveFlag(false);
-    aTlbStruct.Clear();
+    m_pTlbStruct->SetActiveFlag(false);
+    m_pTlbStruct->Clear();
 }
 
 SvTreeListEntry* StructPage::InsertEntry( const OUString& rText, SvTreeListEntry* pParent,
                                        sal_uInt16 nFlag,sal_uLong nPos,IFormulaToken* pIFormulaToken)
 {
-    aTlbStruct.SetActiveFlag( false );
+    m_pTlbStruct->SetActiveFlag( false );
 
     SvTreeListEntry* pEntry = NULL;
     switch( nFlag )
     {
         case STRUCT_FOLDER:
-            pEntry = aTlbStruct.InsertEntry( rText, pParent, false, nPos, pIFormulaToken );
+            pEntry = m_pTlbStruct->InsertEntry( rText, pParent, false, nPos, pIFormulaToken );
         break;
         case STRUCT_END:
-            pEntry = aTlbStruct.InsertStaticEntry( rText, maImgEnd, pParent, nPos, pIFormulaToken );
+            pEntry = m_pTlbStruct->InsertStaticEntry( rText, maImgEnd, pParent, nPos, pIFormulaToken );
         break;
         case STRUCT_ERROR:
-            pEntry = aTlbStruct.InsertStaticEntry( rText, maImgError, pParent, nPos, pIFormulaToken );
+            pEntry = m_pTlbStruct->InsertStaticEntry( rText, maImgError, pParent, nPos, pIFormulaToken );
         break;
     }
 
     if( pEntry && pParent )
-        aTlbStruct.Expand( pParent );
+        m_pTlbStruct->Expand( pParent );
     return pEntry;
 }
 
@@ -133,13 +137,13 @@ OUString StructPage::GetEntryText(SvTreeListEntry* pEntry) const
 {
     OUString aString;
     if(pEntry!=NULL)
-        aString = aTlbStruct.GetEntryText(pEntry);
+        aString = m_pTlbStruct->GetEntryText(pEntry);
     return  aString;
 }
 
 SvTreeListEntry* StructPage::GetParent(SvTreeListEntry* pEntry) const
 {
-    return aTlbStruct.GetParent(pEntry);
+    return m_pTlbStruct->GetParent(pEntry);
 }
 IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
 {
@@ -150,7 +154,7 @@ IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
         {
             if ( !(pToken->isFunction() || pToken->getArgumentCount() > 1 ) )
             {
-                return GetFunctionEntry(aTlbStruct.GetParent(pEntry));
+                return GetFunctionEntry(m_pTlbStruct->GetParent(pEntry));
             }
             else
             {
@@ -163,11 +167,11 @@ IFormulaToken* StructPage::GetFunctionEntry(SvTreeListEntry* pEntry)
 
 IMPL_LINK( StructPage, SelectHdl, SvTreeListBox*, pTlb )
 {
-    if(aTlbStruct.GetActiveFlag())
+    if(m_pTlbStruct->GetActiveFlag())
     {
-        if(pTlb==&aTlbStruct)
+        if(pTlb==m_pTlbStruct)
         {
-            SvTreeListEntry*    pCurEntry=aTlbStruct.GetCurEntry();
+            SvTreeListEntry*    pCurEntry=m_pTlbStruct->GetCurEntry();
             if(pCurEntry!=NULL)
             {
                 pSelectedToken=(IFormulaToken *)pCurEntry->GetUserData();
diff --git a/formula/source/ui/dlg/structpg.hxx b/formula/source/ui/dlg/structpg.hxx
index f508698..7b3c606 100644
--- a/formula/source/ui/dlg/structpg.hxx
+++ b/formula/source/ui/dlg/structpg.hxx
@@ -48,7 +48,7 @@ protected:
 
 public:
 
-                    StructListBox(Window* pParent, const ResId& rResId );
+                    StructListBox(Window* pParent, WinBits nBits );
 
     /** Inserts an entry with static image (no difference between collapsed/expanded). */
     SvTreeListEntry*    InsertStaticEntry(
@@ -73,8 +73,7 @@ private:
     OModuleClient   m_aModuleClient;
     Link            aSelLink;
 
-    FixedText       aFtStruct;
-    StructListBox   aTlbStruct;
+    StructListBox   *m_pTlbStruct;
     Image           maImgEnd;
     Image           maImgError;
 
diff --git a/formula/source/ui/inc/ForResId.hrc b/formula/source/ui/inc/ForResId.hrc
index 07fedcf..2ac1f70 100644
--- a/formula/source/ui/inc/ForResId.hrc
+++ b/formula/source/ui/inc/ForResId.hrc
@@ -42,16 +42,24 @@
 // strings
 #define RID_STR_SHRINK                  (RID_STRING_START + 0)
 #define RID_STR_EXPAND                  (RID_STRING_START + 1)
+#define STR_STRUCT_ERR1                 (RID_STRING_START + 2)
+#define STR_STRUCT_ERR2                 (RID_STRING_START + 3)
+#define STR_OPTIONAL                    (RID_STRING_START + 4)
+#define STR_REQUIRED                    (RID_STRING_START + 5)
+#define STR_END                         (RID_STRING_START + 6)
+#define STR_TITLE1                      (RID_STRING_START + 7)
+#define STR_TITLE2                      (RID_STRING_START + 8)
 
 // bitmap
 #define RID_BMP_REFBTN1                             (RID_BITMAP_START + 0)
 #define RID_BMP_REFBTN2                             (RID_BITMAP_START + 2)
+#define BMP_STR_CLOSE                               (RID_BITMAP_START + 3)
+#define BMP_STR_OPEN                                (RID_BITMAP_START + 4)
+#define BMP_STR_END                                 (RID_BITMAP_START + 5)
+#define BMP_STR_ERROR                               (RID_BITMAP_START + 6)
+#define BMP_FX                                      (RID_BITMAP_START + 7)
 
 // pages
-#define RID_FORMULATAB_STRUCT                       (RID_PAGE_START + 0)
-#define RID_FORMULATAB_FUNCTION                     (RID_PAGE_START + 1)
-#define RID_FORMULADLG_FORMULA                      (RID_PAGE_START + 2)
-#define RID_FORMULATAB_PARAMETER                    (RID_PAGE_START + 3)
 #define RID_FORMULADLG_FORMULA_MODAL                (RID_PAGE_START + 4)
 
 #endif          // FORMULA_FORRESID_HRC
diff --git a/formula/uiconfig/ui/formuladialog.ui b/formula/uiconfig/ui/formuladialog.ui
new file mode 100644
index 0000000..8a9ff81
--- /dev/null
+++ b/formula/uiconfig/ui/formuladialog.ui
@@ -0,0 +1,496 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkDialog" id="FormulaDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area1">
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkCheckButton" id="array">
+                <property name="label" translatable="yes">Array</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="halign">start</property>
+                <property name="hexpand">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="help">
+                <property name="label">gtk-help</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancel">
+                <property name="label">gtk-cancel</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="back">
+                <property name="label" translatable="yes"><< _Back</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="next">
+                <property name="label" translatable="yes">_Next >></property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="ok">
+                <property name="label">gtk-ok</property>
+                <property name="use_action_appearance">False</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">5</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkBox" id="box2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkNotebook" id="tabs">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="vexpand">True</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child type="tab">
+                      <object class="GtkLabel" id="function">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Functions</property>
+                      </object>
+                      <packing>
+                        <property name="tab_fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child type="tab">
+                      <object class="GtkLabel" id="struct">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Structure</property>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                        <property name="tab_fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child type="tab">
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="vexpand">True</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkGrid" id="grid2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="row_spacing">6</property>
+                        <property name="column_spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="label2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">end</property>
+                            <property name="label" translatable="yes">Function result</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">result</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">2</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="foruilo-ValWnd" id="result">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">end</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">3</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="editname">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label3">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="hexpand">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="BOX">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkGrid" id="ALTBOX">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                        <property name="row_spacing">12</property>
+                        <child>
+                          <object class="GtkLabel" id="headline">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="xalign">0</property>
+                            <property name="yalign">0</property>
+                            <property name="wrap">True</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="funcname">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="xalign">0</property>
+                            <property name="yalign">0</property>
+                            <property name="wrap">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="funcdesc">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="vexpand">True</property>
+                            <property name="xalign">0</property>
+                            <property name="yalign">0</property>
+                            <property name="wrap">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkGrid" id="grid3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="row_spacing">6</property>
+                        <property name="column_spacing">12</property>
+                        <child>
+                          <object class="GtkLabel" id="formula">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="halign">start</property>
+                            <property name="hexpand">True</property>
+                            <property name="label" translatable="yes">For_mula</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">ed_formula</property>
+                          </object>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list