[Libreoffice-commits] core.git: extensions/source extensions/uiconfig extensions/UIConfig_sabpilot.mk extensions/UIConfig_spropctrlr.mk

Szymon KÅ‚os eszkadev at gmail.com
Thu Jul 10 07:40:57 PDT 2014


 extensions/UIConfig_sabpilot.mk                              |    3 
 extensions/UIConfig_spropctrlr.mk                            |    1 
 extensions/source/dbpilots/commonpagesdbp.cxx                |    9 
 extensions/source/dbpilots/commonpagesdbp.hxx                |    1 
 extensions/source/dbpilots/dbpresid.hrc                      |   23 -
 extensions/source/dbpilots/groupboxpages.src                 |  142 -----------
 extensions/source/dbpilots/groupboxwiz.cxx                   |   67 ++---
 extensions/source/dbpilots/groupboxwiz.hxx                   |   21 -
 extensions/source/propctrlr/formresid.hrc                    |    1 
 extensions/source/propctrlr/selectlabeldialog.cxx            |  110 ++++----
 extensions/source/propctrlr/selectlabeldialog.hxx            |   11 
 extensions/source/propctrlr/selectlabeldialog.src            |   49 ---
 extensions/uiconfig/sabpilot/ui/defaultfieldselectionpage.ui |   87 ++++++
 extensions/uiconfig/sabpilot/ui/optionsfinalpage.ui          |   57 ++++
 extensions/uiconfig/sabpilot/ui/optionvaluespage.ui          |  124 +++++++++
 extensions/uiconfig/spropctrlr/ui/labelselectiondialog.ui    |  137 ++++++++++
 16 files changed, 509 insertions(+), 334 deletions(-)

New commits:
commit 3eabd685956a205969c7d12b238198eba841ea69
Author: Szymon KÅ‚os <eszkadev at gmail.com>
Date:   Tue Jul 8 23:04:09 2014 +0200

    RID_DLG_SELECTLABELCONTROL and 3 tab pages conversion to .ui
    
    Change-Id: Ia8b8f1cdaa2bc14e6d3249998e06b076ad4e6ae4
    Reviewed-on: https://gerrit.libreoffice.org/10150
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/extensions/UIConfig_sabpilot.mk b/extensions/UIConfig_sabpilot.mk
index b833f4c..0456655 100644
--- a/extensions/UIConfig_sabpilot.mk
+++ b/extensions/UIConfig_sabpilot.mk
@@ -13,11 +13,14 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/sabpilot,\
 	extensions/uiconfig/sabpilot/ui/contentfieldpage \
 	extensions/uiconfig/sabpilot/ui/contenttablepage \
 	extensions/uiconfig/sabpilot/ui/datasourcepage \
+	extensions/uiconfig/sabpilot/ui/defaultfieldselectionpage \
 	extensions/uiconfig/sabpilot/ui/fieldassignpage \
 	extensions/uiconfig/sabpilot/ui/fieldlinkpage \
 	extensions/uiconfig/sabpilot/ui/gridfieldsselectionpage \
 	extensions/uiconfig/sabpilot/ui/groupradioselectionpage \
 	extensions/uiconfig/sabpilot/ui/invokeadminpage \
+	extensions/uiconfig/sabpilot/ui/optionsfinalpage \
+	extensions/uiconfig/sabpilot/ui/optionvaluespage \
 	extensions/uiconfig/sabpilot/ui/selecttablepage \
 	extensions/uiconfig/sabpilot/ui/selecttypepage \
 	extensions/uiconfig/sabpilot/ui/tableselectionpage \
diff --git a/extensions/UIConfig_spropctrlr.mk b/extensions/UIConfig_spropctrlr.mk
index 26c84f1..87b91736 100644
--- a/extensions/UIConfig_spropctrlr.mk
+++ b/extensions/UIConfig_spropctrlr.mk
@@ -12,6 +12,7 @@ $(eval $(call gb_UIConfig_UIConfig,modules/spropctrlr))
 $(eval $(call gb_UIConfig_add_uifiles,modules/spropctrlr,\
 	extensions/uiconfig/spropctrlr/ui/controlfontdialog \
 	extensions/uiconfig/spropctrlr/ui/datatypedialog \
+	extensions/uiconfig/spropctrlr/ui/labelselectiondialog \
 	extensions/uiconfig/spropctrlr/ui/taborder \
 ))
 
diff --git a/extensions/source/dbpilots/commonpagesdbp.cxx b/extensions/source/dbpilots/commonpagesdbp.cxx
index d71a167d..414b5e3 100644
--- a/extensions/source/dbpilots/commonpagesdbp.cxx
+++ b/extensions/source/dbpilots/commonpagesdbp.cxx
@@ -388,6 +388,15 @@ namespace dbp
     }
 
 
+    OMaybeListSelectionPage::OMaybeListSelectionPage( OControlWizard* _pParent, const OString& _rID, const OUString& _rUIXMLDescription )
+        :OControlWizardPage(_pParent, _rID, _rUIXMLDescription)
+        ,m_pYes(NULL)
+        ,m_pNo(NULL)
+        ,m_pList(NULL)
+    {
+    }
+
+
     void OMaybeListSelectionPage::announceControls(RadioButton& _rYesButton, RadioButton& _rNoButton, ListBox& _rSelection)
     {
         m_pYes = &_rYesButton;
diff --git a/extensions/source/dbpilots/commonpagesdbp.hxx b/extensions/source/dbpilots/commonpagesdbp.hxx
index b93e40e..09ccc77 100644
--- a/extensions/source/dbpilots/commonpagesdbp.hxx
+++ b/extensions/source/dbpilots/commonpagesdbp.hxx
@@ -80,6 +80,7 @@ namespace dbp
 
     public:
         OMaybeListSelectionPage( OControlWizard* _pParent, const ResId& _rId );
+        OMaybeListSelectionPage( OControlWizard* _pParent, const OString& _rID, const OUString& _rUIXMLDescription );
 
     protected:
         DECL_LINK( OnRadioSelected, RadioButton* );
diff --git a/extensions/source/dbpilots/dbpresid.hrc b/extensions/source/dbpilots/dbpresid.hrc
index 3e2c4e2..521f9a5 100644
--- a/extensions/source/dbpilots/dbpresid.hrc
+++ b/extensions/source/dbpilots/dbpresid.hrc
@@ -59,13 +59,10 @@
 
 // tab pages
 
-#define RID_PAGE_DEFAULTFIELDSELECTION      ( RID_PAGE_START +  3 )
-#define RID_PAGE_OPTIONVALUES               ( RID_PAGE_START +  4 )
 #define RID_PAGE_OPTION_DBFIELD             ( RID_PAGE_START +  5 )
-#define RID_PAGE_OPTIONS_FINAL              ( RID_PAGE_START +  6 )
 
 // please adjust RID_PAGE_END (below) when adding new tab pages
-#define RID_PAGE_END                        RID_PAGE_OPTIONS_FINAL
+#define RID_PAGE_END                        RID_PAGE_OPTION_DBFIELD
 
 // ErrorBox
 
@@ -92,39 +89,21 @@
 // local ids
 
 // FixedLine
-#define FL_DEFAULTSELECTION         2
-#define FL_OPTIONVALUES             3
 #define FL_DATABASEFIELD_EXPL       4
-#define FL_NAMEIT                   5
 #define FL_FRAME                    6
 #define FL_FORMSETINGS              7
 
 // FixedText
 
-#define FT_RADIOBUTTONS              4
-#define FT_DEFAULTSELECTION          5
-#define FT_OPTIONVALUES_EXPL         6
-#define FT_OPTIONVALUES              7
 #define FT_DATABASEFIELD_EXPL        8
 #define FT_DATABASEFIELD_QUEST       9
-#define FT_NAMEIT                   10
-#define FT_THATSALL                 11
 
 // ListBox
 
-#define LB_RADIOBUTTONS             3
-#define LB_DEFSELECTIONFIELD        3
 #define LB_STOREINFIELD             4
 
-// Edit
-
-#define ET_OPTIONVALUE              2
-#define ET_NAMEIT                   3
-
 // RadioButton
 
-#define RB_DEFSELECTION_YES         1
-#define RB_DEFSELECTION_NO          2
 #define RB_STOREINFIELD_YES         3
 #define RB_STOREINFIELD_NO          4
 
diff --git a/extensions/source/dbpilots/groupboxpages.src b/extensions/source/dbpilots/groupboxpages.src
index 3d22719..06d442d 100644
--- a/extensions/source/dbpilots/groupboxpages.src
+++ b/extensions/source/dbpilots/groupboxpages.src
@@ -19,148 +19,6 @@
 
 #include "dbpresid.hrc"
 
-TabPage RID_PAGE_DEFAULTFIELDSELECTION
-{
-    HelpID = "extensions:TabPage:RID_PAGE_DEFAULTFIELDSELECTION";
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
-    Text [ en-US ] = "Default Field Selection";
-
-    FixedLine FL_DEFAULTSELECTION
-    {
-        Pos = MAP_APPFONT ( 4 , 3  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 8 , 8 ) ;
-    };
-    FixedText FT_DEFAULTSELECTION
-    {
-        Pos = MAP_APPFONT ( 7 , 15  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 24 ) ;
-        WordBreak = TRUE;
-
-        Text [ en-US ] = "Should one option field be selected as a default?";
-    };
-    RadioButton RB_DEFSELECTION_YES
-    {
-        HelpID = "extensions:RadioButton:RID_PAGE_DEFAULTFIELDSELECTION:RB_DEFSELECTION_YES";
-        Pos = MAP_APPFONT ( 7 , 44  ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10, 10 ) ;
-        Group = TRUE;
-        TabStop = TRUE;
-        Text [ en-US ] = "~Yes, the following:";
-    };
-    ListBox LB_DEFSELECTIONFIELD
-    {
-        HelpID = "extensions:ListBox:RID_PAGE_DEFAULTFIELDSELECTION:LB_DEFSELECTIONFIELD";
-        Pos = MAP_APPFONT ( WINDOW_HALF_SIZE_X + 3 , 42  ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10, 14 ) ;
-        TabStop = TRUE;
-        SVLook = TRUE ;
-        Border = TRUE ;
-        DropDown = TRUE;
-        AutoHScroll = TRUE ;
-        Sort = FALSE;
-    };
-    RadioButton RB_DEFSELECTION_NO
-    {
-        HelpID = "extensions:RadioButton:RID_PAGE_DEFAULTFIELDSELECTION:RB_DEFSELECTION_NO";
-        Pos = MAP_APPFONT ( 7 , 59  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 10 ) ;
-        TabStop = FALSE;
-        Text [ en-US ] = "No, one particular field is not going to be selected.";
-    };
-};
-
-TabPage RID_PAGE_OPTIONVALUES
-{
-    HelpID = "extensions:TabPage:RID_PAGE_OPTIONVALUES";
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
-    Text [ en-US ] = "Field Values";
-
-    FixedLine FL_OPTIONVALUES
-    {
-        Pos = MAP_APPFONT ( 4 , 3  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 8 , 8 ) ;
-    };
-    FixedText FT_OPTIONVALUES_EXPL
-    {
-        Pos = MAP_APPFONT ( 7 , 15  ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10, 24 ) ;
-        WordBreak = TRUE;
-        Text [ en-US ] = "When you select an option, the option group is given a specific value.";
-    };
-    FixedText FT_OPTIONVALUES
-    {
-        Pos = MAP_APPFONT ( 7 , 42  ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10, 16 ) ;
-        WordBreak = TRUE;
-        Group = TRUE;
-        Text [ en-US ] = "Which ~value do you want to assign to each option?";
-    };
-    Edit ET_OPTIONVALUE
-    {
-        HelpID = "extensions:Edit:RID_PAGE_OPTIONVALUES:ET_OPTIONVALUE";
-        Pos = MAP_APPFONT ( 7 , 61 ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10, 12 ) ;
-        SVLook = TRUE ;
-        Border = TRUE ;
-        TabStop = TRUE;
-    };
-    FixedText FT_RADIOBUTTONS
-    {
-        Pos = MAP_APPFONT ( WINDOW_HALF_SIZE_X + 3 , 15  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14 , 8 ) ;
-        Text [ en-US ] = "~Option fields";
-    };
-    ListBox LB_RADIOBUTTONS
-    {
-        HelpID = "extensions:ListBox:RID_PAGE_OPTIONVALUES:LB_RADIOBUTTONS";
-        Pos = MAP_APPFONT ( WINDOW_HALF_SIZE_X + 3 , 26  ) ;
-        Size = MAP_APPFONT ( WINDOW_HALF_SIZE_X - 10 , WINDOW_SIZE_Y - 32 ) ;
-        SVLook = TRUE ;
-        Border = TRUE ;
-        AutoHScroll = TRUE ;
-        DropDown = FALSE;
-    };
-};
-
-TabPage RID_PAGE_OPTIONS_FINAL
-{
-    HelpID = "extensions:TabPage:RID_PAGE_OPTIONS_FINAL";
-    SVLook = TRUE ;
-    Size = MAP_APPFONT ( WINDOW_SIZE_X , WINDOW_SIZE_Y ) ;
-    Text [ en-US ] = "Create Option Group";
-
-    FixedLine FL_NAMEIT
-    {
-        Pos = MAP_APPFONT ( 4 , 3  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 8 , 8 ) ;
-    };
-    FixedText FT_NAMEIT
-    {
-        Pos = MAP_APPFONT ( 7 , 15  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 16 ) ;
-        WordBreak = TRUE;
-        Text [ en-US ] = "Which ~caption is to be given to your option group?";
-    };
-    Edit ET_NAMEIT
-    {
-        HelpID = "extensions:Edit:RID_PAGE_OPTIONS_FINAL:ET_NAMEIT";
-        Pos = MAP_APPFONT ( 7 , 34 ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 12 ) ;
-        SVLook = TRUE ;
-        Border = TRUE ;
-    };
-    FixedText FT_THATSALL
-    {
-        Pos = MAP_APPFONT ( 7 , WINDOW_SIZE_Y - 22  ) ;
-        Size = MAP_APPFONT ( WINDOW_SIZE_X - 14, 16 ) ;
-        WordBreak = TRUE;
-        Center = TRUE;
-        Text [ en-US ] = "These were all details needed to create the option group.";
-    };
-};
-
 String RID_STR_GROUPWIZ_DBFIELD
 {
     Text [ en-US ] = "You can either save the value of the option group in a database field or use it for a later action.";
diff --git a/extensions/source/dbpilots/groupboxwiz.cxx b/extensions/source/dbpilots/groupboxwiz.cxx
index 8733a27..ee59d00 100644
--- a/extensions/source/dbpilots/groupboxwiz.cxx
+++ b/extensions/source/dbpilots/groupboxwiz.cxx
@@ -328,19 +328,16 @@ namespace dbp
 
 
     ODefaultFieldSelectionPage::ODefaultFieldSelectionPage( OControlWizard* _pParent )
-        :OMaybeListSelectionPage(_pParent, ModuleRes(RID_PAGE_DEFAULTFIELDSELECTION))
-        ,m_aFrame                   (this, ModuleRes(FL_DEFAULTSELECTION))
-        ,m_aDefaultSelectionLabel   (this, ModuleRes(FT_DEFAULTSELECTION))
-        ,m_aDefSelYes               (this, ModuleRes(RB_DEFSELECTION_YES))
-        ,m_aDefSelNo                (this, ModuleRes(RB_DEFSELECTION_NO))
-        ,m_aDefSelection            (this, ModuleRes(LB_DEFSELECTIONFIELD))
+        :OMaybeListSelectionPage(_pParent, "DefaultFieldSelectionPage", "modules/sabpilot/ui/defaultfieldselectionpage.ui")
     {
-        FreeResource();
+        get(m_pDefSelYes, "defaultselectionyes");
+        get(m_pDefSelNo, "defaultselectionno");
+        get(m_pDefSelection, "defselectionfield");
 
-        announceControls(m_aDefSelYes, m_aDefSelNo, m_aDefSelection);
-        m_aDefSelection.SetDropDownLineCount(10);
-        m_aDefSelection.SetAccessibleRelationLabeledBy( &m_aDefSelYes );
-        m_aDefSelection.SetAccessibleRelationMemberOf(&m_aDefaultSelectionLabel);
+        announceControls(*m_pDefSelYes, *m_pDefSelNo, *m_pDefSelection);
+        m_pDefSelection->SetDropDownLineCount(10);
+        m_pDefSelection->SetAccessibleRelationLabeledBy( m_pDefSelYes );
+        m_pDefSelection->SetStyle(WB_DROPDOWN);
     }
 
 
@@ -351,12 +348,12 @@ namespace dbp
         const OOptionGroupSettings& rSettings = getSettings();
 
         // fill the listbox
-        m_aDefSelection.Clear();
+        m_pDefSelection->Clear();
         for (   StringArray::const_iterator aLoop = rSettings.aLabels.begin();
                 aLoop != rSettings.aLabels.end();
                 ++aLoop
             )
-            m_aDefSelection.InsertEntry(*aLoop);
+            m_pDefSelection->InsertEntry(*aLoop);
 
 
         implInitialize(rSettings.sDefaultField);
@@ -379,21 +376,15 @@ namespace dbp
 
 
     OOptionValuesPage::OOptionValuesPage( OControlWizard* _pParent )
-        :OGBWPage(_pParent, ModuleRes(RID_PAGE_OPTIONVALUES))
-        ,m_aFrame               (this, ModuleRes(FL_OPTIONVALUES))
-        ,m_aDescription         (this, ModuleRes(FT_OPTIONVALUES_EXPL))
-        ,m_aValueLabel          (this, ModuleRes(FT_OPTIONVALUES))
-        ,m_aValue               (this, ModuleRes(ET_OPTIONVALUE))
-        ,m_aOptionsLabel        (this, ModuleRes(FT_RADIOBUTTONS))
-        ,m_aOptions             (this, ModuleRes(LB_RADIOBUTTONS))
+        :OGBWPage(_pParent, "OptionValuesPage", "modules/sabpilot/ui/optionvaluespage.ui")
         ,m_nLastSelection((::svt::WizardTypes::WizardState)-1)
     {
-        FreeResource();
+        get(m_pValue, "optionvalue");
+        get(m_pOptions, "radiobuttons");
 
-        m_aOptions.SetSelectHdl(LINK(this, OOptionValuesPage, OnOptionSelected));
+        m_pOptions->SetSelectHdl(LINK(this, OOptionValuesPage, OnOptionSelected));
 
-        m_aOptions.SetAccessibleRelationMemberOf(&m_aOptions);
-        m_aOptions.SetAccessibleRelationLabeledBy(&m_aOptionsLabel);
+        m_pOptions->SetAccessibleRelationMemberOf(m_pOptions);
     }
 
 
@@ -407,7 +398,7 @@ namespace dbp
     void OOptionValuesPage::ActivatePage()
     {
         OGBWPage::ActivatePage();
-        m_aValue.GrabFocus();
+        m_pValue->GrabFocus();
     }
 
 
@@ -417,12 +408,12 @@ namespace dbp
         {
             // save the value for the last option
             DBG_ASSERT((size_t)m_nLastSelection < m_aUncommittedValues.size(), "OOptionValuesPage::implTraveledOptions: invalid previous selection index!");
-            m_aUncommittedValues[m_nLastSelection] = m_aValue.GetText();
+            m_aUncommittedValues[m_nLastSelection] = m_pValue->GetText();
         }
 
-        m_nLastSelection = m_aOptions.GetSelectEntryPos();
+        m_nLastSelection = m_pOptions->GetSelectEntryPos();
         DBG_ASSERT((size_t)m_nLastSelection < m_aUncommittedValues.size(), "OOptionValuesPage::implTraveledOptions: invalid new selection index!");
-        m_aValue.SetText(m_aUncommittedValues[m_nLastSelection]);
+        m_pValue->SetText(m_aUncommittedValues[m_nLastSelection]);
     }
 
 
@@ -435,20 +426,20 @@ namespace dbp
         DBG_ASSERT(rSettings.aLabels.size() == rSettings.aValues.size(), "OOptionValuesPage::initializePage: inconsistent data!");
 
         // fill the list with all available options
-        m_aOptions.Clear();
+        m_pOptions->Clear();
         m_nLastSelection = -1;
         for (   StringArray::const_iterator aLoop = rSettings.aLabels.begin();
                 aLoop != rSettings.aLabels.end();
                 ++aLoop
             )
-            m_aOptions.InsertEntry(*aLoop);
+            m_pOptions->InsertEntry(*aLoop);
 
         // remember the values ... can't set them directly in the settings without the explicit commit call
         // so we need have a copy of the values
         m_aUncommittedValues = rSettings.aValues;
 
         // select the first entry
-        m_aOptions.SelectEntryPos(0);
+        m_pOptions->SelectEntryPos(0);
         implTraveledOptions();
     }
 
@@ -489,20 +480,16 @@ namespace dbp
 
 
     OFinalizeGBWPage::OFinalizeGBWPage( OControlWizard* _pParent )
-        :OGBWPage(_pParent, ModuleRes(RID_PAGE_OPTIONS_FINAL))
-        ,m_aFrame           (this, ModuleRes(FL_NAMEIT))
-        ,m_aNameLabel       (this, ModuleRes(FT_NAMEIT))
-        ,m_aName            (this, ModuleRes(ET_NAMEIT))
-        ,m_aThatsAll        (this, ModuleRes(FT_THATSALL))
+        :OGBWPage(_pParent, "OptionsFinalPage", "modules/sabpilot/ui/optionsfinalpage.ui")
     {
-        FreeResource();
+        get(m_pName, "nameit");
     }
 
 
     void OFinalizeGBWPage::ActivatePage()
     {
         OGBWPage::ActivatePage();
-        m_aName.GrabFocus();
+        m_pName->GrabFocus();
     }
 
 
@@ -517,7 +504,7 @@ namespace dbp
         OGBWPage::initializePage();
 
         const OOptionGroupSettings& rSettings = getSettings();
-        m_aName.SetText(rSettings.sControlLabel);
+        m_pName->SetText(rSettings.sControlLabel);
     }
 
 
@@ -526,7 +513,7 @@ namespace dbp
         if (!OGBWPage::commitPage(_eReason))
             return false;
 
-        getSettings().sControlLabel = m_aName.GetText();
+        getSettings().sControlLabel = m_pName->GetText();
 
         return true;
     }
diff --git a/extensions/source/dbpilots/groupboxwiz.hxx b/extensions/source/dbpilots/groupboxwiz.hxx
index 33bc09c..28bf05b 100644
--- a/extensions/source/dbpilots/groupboxwiz.hxx
+++ b/extensions/source/dbpilots/groupboxwiz.hxx
@@ -122,11 +122,9 @@ namespace dbp
     class ODefaultFieldSelectionPage : public OMaybeListSelectionPage
     {
     protected:
-        FixedLine       m_aFrame;
-        FixedText       m_aDefaultSelectionLabel;
-        RadioButton     m_aDefSelYes;
-        RadioButton     m_aDefSelNo;
-        ListBox         m_aDefSelection;
+        RadioButton     *m_pDefSelYes;
+        RadioButton     *m_pDefSelNo;
+        ListBox         *m_pDefSelection;
 
     public:
         ODefaultFieldSelectionPage( OControlWizard* _pParent );
@@ -145,12 +143,8 @@ namespace dbp
     class OOptionValuesPage : public OGBWPage
     {
     protected:
-        FixedLine       m_aFrame;
-        FixedText       m_aDescription;
-        FixedText       m_aValueLabel;
-        Edit            m_aValue;
-        FixedText       m_aOptionsLabel;
-        ListBox         m_aOptions;
+        Edit            *m_pValue;
+        ListBox         *m_pOptions;
 
         StringArray     m_aUncommittedValues;
         ::svt::WizardTypes::WizardState
@@ -193,10 +187,7 @@ namespace dbp
     class OFinalizeGBWPage : public OGBWPage
     {
     protected:
-        FixedLine       m_aFrame;
-        FixedText       m_aNameLabel;
-        Edit            m_aName;
-        FixedText       m_aThatsAll;
+        Edit            *m_pName;
 
     public:
         OFinalizeGBWPage( OControlWizard* _pParent );
diff --git a/extensions/source/propctrlr/formresid.hrc b/extensions/source/propctrlr/formresid.hrc
index b892c11..d24385d 100644
--- a/extensions/source/propctrlr/formresid.hrc
+++ b/extensions/source/propctrlr/formresid.hrc
@@ -273,7 +273,6 @@
 
 // - dialogs
 
-#define RID_DLG_SELECTLABELCONTROL          ( RID_PROPCONTROLLER_START +  0 )
 #define RID_DLG_TABORDER                    ( RID_PROPCONTROLLER_START +  1 )
 #define RID_DLG_FORMLINKS                   ( RID_PROPCONTROLLER_START +  2 )
 #define RID_DLG_SELECTION                   ( RID_PROPCONTROLLER_START +  3 )
diff --git a/extensions/source/propctrlr/selectlabeldialog.cxx b/extensions/source/propctrlr/selectlabeldialog.cxx
index 03ad590..d786b27 100644
--- a/extensions/source/propctrlr/selectlabeldialog.cxx
+++ b/extensions/source/propctrlr/selectlabeldialog.cxx
@@ -48,40 +48,38 @@ namespace pcr
 
 
     OSelectLabelDialog::OSelectLabelDialog( Window* pParent, Reference< XPropertySet >  _xControlModel )
-        :ModalDialog(pParent, PcrRes(RID_DLG_SELECTLABELCONTROL))
-        ,m_aMainDesc(this, PcrRes(1))
-        ,m_aControlTree(this, PcrRes(1))
-        ,m_aNoAssignment(this, PcrRes(1))
-        ,m_aSeparator(this, PcrRes(1))
-        ,m_aOk(this, PcrRes(1))
-        ,m_aCancel(this, PcrRes(1))
+        :ModalDialog(pParent, "LabelSelectionDialog", "modules/spropctrlr/ui/labelselectiondialog.ui")
         ,m_aModelImages(PcrRes(RID_IL_FORMEXPLORER))
         ,m_xControlModel(_xControlModel)
         ,m_pInitialSelection(NULL)
         ,m_pLastSelected(NULL)
         ,m_bHaveAssignableControl(false)
     {
+        get(m_pMainDesc, "label");
+        get(m_pControlTree, "control");
+        get(m_pNoAssignment, "noassignment");
+
         // initialize the TreeListBox
-        m_aControlTree.SetSelectionMode( SINGLE_SELECTION );
-        m_aControlTree.SetDragDropMode( 0 );
-        m_aControlTree.EnableInplaceEditing( false );
-        m_aControlTree.SetStyle(m_aControlTree.GetStyle() | WB_BORDER | WB_HASLINES | WB_HASLINESATROOT | WB_HASBUTTONS | WB_HASBUTTONSATROOT | WB_HSCROLL);
+        m_pControlTree->SetSelectionMode( SINGLE_SELECTION );
+        m_pControlTree->SetDragDropMode( 0 );
+        m_pControlTree->EnableInplaceEditing( false );
+        m_pControlTree->SetStyle(m_pControlTree->GetStyle() | WB_BORDER | WB_HASLINES | WB_HASLINESATROOT | WB_HASBUTTONS | WB_HASBUTTONSATROOT | WB_HSCROLL);
 
-        m_aControlTree.SetNodeBitmaps( m_aModelImages.GetImage( RID_SVXIMG_COLLAPSEDNODE ), m_aModelImages.GetImage( RID_SVXIMG_EXPANDEDNODE ) );
-        m_aControlTree.SetSelectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
-        m_aControlTree.SetDeselectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
+        m_pControlTree->SetNodeBitmaps( m_aModelImages.GetImage( RID_SVXIMG_COLLAPSEDNODE ), m_aModelImages.GetImage( RID_SVXIMG_EXPANDEDNODE ) );
+        m_pControlTree->SetSelectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
+        m_pControlTree->SetDeselectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
 
         // fill the description
-        OUString sDescription = m_aMainDesc.GetText();
+        OUString sDescription = m_pMainDesc->GetText();
         sal_Int16 nClassID = FormComponentType::CONTROL;
         if (::comphelper::hasProperty(PROPERTY_CLASSID, m_xControlModel))
             nClassID = ::comphelper::getINT16(m_xControlModel->getPropertyValue(PROPERTY_CLASSID));
 
-        sDescription = sDescription.replaceAll(OUString("$control_class$"),
+        sDescription = sDescription.replaceAll(OUString("$controlclass$"),
             GetUIHeadlineName(nClassID, makeAny(m_xControlModel)));
         OUString sName = ::comphelper::getString(m_xControlModel->getPropertyValue(PROPERTY_NAME));
-        sDescription = sDescription.replaceAll(OUString("$control_name$"), sName);
-        m_aMainDesc.SetText(sDescription);
+        sDescription = sDescription.replaceAll(OUString("$controlname$"), sName);
+        m_pMainDesc->SetText(sDescription);
 
         // search for the root of the form hierarchy
         Reference< XChild >  xCont(m_xControlModel, UNO_QUERY);
@@ -113,56 +111,52 @@ namespace pcr
 
             // insert the root
             Image aRootImage = m_aModelImages.GetImage(RID_SVXIMG_FORMS);
-            SvTreeListEntry* pRoot = m_aControlTree.InsertEntry(PcrRes(RID_STR_FORMS).toString(), aRootImage, aRootImage);
+            SvTreeListEntry* pRoot = m_pControlTree->InsertEntry(PcrRes(RID_STR_FORMS).toString(), aRootImage, aRootImage);
 
             // build the tree
             m_pInitialSelection = NULL;
             m_bHaveAssignableControl = false;
             InsertEntries(xSearch, pRoot);
-            m_aControlTree.Expand(pRoot);
+            m_pControlTree->Expand(pRoot);
         }
 
         if (m_pInitialSelection)
         {
-            m_aControlTree.MakeVisible(m_pInitialSelection, true);
-            m_aControlTree.Select(m_pInitialSelection, true);
+            m_pControlTree->MakeVisible(m_pInitialSelection, true);
+            m_pControlTree->Select(m_pInitialSelection, true);
         }
         else
         {
-            m_aControlTree.MakeVisible(m_aControlTree.First(), true);
-            if (m_aControlTree.FirstSelected())
-                m_aControlTree.Select(m_aControlTree.FirstSelected(), false);
-            m_aNoAssignment.Check(true);
+            m_pControlTree->MakeVisible(m_pControlTree->First(), true);
+            if (m_pControlTree->FirstSelected())
+                m_pControlTree->Select(m_pControlTree->FirstSelected(), false);
+            m_pNoAssignment->Check(true);
         }
 
         if (!m_bHaveAssignableControl)
         {   // no controls which can be assigned
-            m_aNoAssignment.Check(true);
-            m_aNoAssignment.Enable(false);
+            m_pNoAssignment->Check(true);
+            m_pNoAssignment->Enable(false);
         }
 
-        m_aNoAssignment.SetClickHdl(LINK(this, OSelectLabelDialog, OnNoAssignmentClicked));
-        m_aNoAssignment.GetClickHdl().Call(&m_aNoAssignment);
-
-        FreeResource();
+        m_pNoAssignment->SetClickHdl(LINK(this, OSelectLabelDialog, OnNoAssignmentClicked));
+        m_pNoAssignment->GetClickHdl().Call(m_pNoAssignment);
     }
 
-
     OSelectLabelDialog::~OSelectLabelDialog()
     {
         // delete the entry datas of the listbox entries
-        SvTreeListEntry* pLoop = m_aControlTree.First();
+        SvTreeListEntry* pLoop = m_pControlTree->First();
         while (pLoop)
         {
             void* pData = pLoop->GetUserData();
             if (pData)
                 delete (Reference< XPropertySet > *)pData;
-            pLoop = m_aControlTree.Next(pLoop);
+            pLoop = m_pControlTree->Next(pLoop);
         }
 
     }
 
-
     sal_Int32 OSelectLabelDialog::InsertEntries(const Reference< XInterface > & _xContainer, SvTreeListEntry* pContainerEntry)
     {
         Reference< XIndexAccess >  xContainer(_xContainer, UNO_QUERY);
@@ -197,18 +191,18 @@ namespace pcr
                 if (xCont.is() && xCont->getCount())
                 {   // yes -> step down
                     Image aFormImage = m_aModelImages.GetImage( RID_SVXIMG_FORM );
-                    SvTreeListEntry* pCont = m_aControlTree.InsertEntry(sName, aFormImage, aFormImage, pContainerEntry);
+                    SvTreeListEntry* pCont = m_pControlTree->InsertEntry(sName, aFormImage, aFormImage, pContainerEntry);
                     sal_Int32 nContChildren = InsertEntries(xCont, pCont);
                     if (nContChildren)
                     {
-                        m_aControlTree.Expand(pCont);
+                        m_pControlTree->Expand(pCont);
                         ++nChildren;
                     }
                     else
                     {   // oops, no valid children -> remove the entry
-                        m_aControlTree.ModelIsRemoving(pCont);
-                        m_aControlTree.GetModel()->Remove(pCont);
-                        m_aControlTree.ModelHasRemoved(pCont);
+                        m_pControlTree->ModelIsRemoving(pCont);
+                        m_pControlTree->GetModel()->Remove(pCont);
+                        m_pControlTree->ModelHasRemoved(pCont);
                     }
                 }
                 continue;
@@ -224,7 +218,7 @@ namespace pcr
                 makeStringAndClear();
 
             // all requirements met -> insert
-            SvTreeListEntry* pCurrent = m_aControlTree.InsertEntry(sDisplayName, m_aRequiredControlImage, m_aRequiredControlImage, pContainerEntry);
+            SvTreeListEntry* pCurrent = m_pControlTree->InsertEntry(sDisplayName, m_aRequiredControlImage, m_aRequiredControlImage, pContainerEntry);
             pCurrent->SetUserData(new Reference< XPropertySet > (xAsSet));
             ++nChildren;
 
@@ -240,17 +234,17 @@ namespace pcr
 
     IMPL_LINK(OSelectLabelDialog, OnEntrySelected, SvTreeListBox*, pLB)
     {
-        DBG_ASSERT(pLB == &m_aControlTree, "OSelectLabelDialog::OnEntrySelected : where did this come from ?");
+        DBG_ASSERT(pLB == m_pControlTree, "OSelectLabelDialog::OnEntrySelected : where did this come from ?");
         (void)pLB;
-        SvTreeListEntry* pSelected = m_aControlTree.FirstSelected();
+        SvTreeListEntry* pSelected = m_pControlTree->FirstSelected();
         void* pData = pSelected ? pSelected->GetUserData() : NULL;
 
         if (pData)
             m_xSelectedControl = Reference< XPropertySet > (*(Reference< XPropertySet > *)pData);
 
-        m_aNoAssignment.SetClickHdl(Link());
-        m_aNoAssignment.Check(pData == NULL);
-        m_aNoAssignment.SetClickHdl(LINK(this, OSelectLabelDialog, OnNoAssignmentClicked));
+        m_pNoAssignment->SetClickHdl(Link());
+        m_pNoAssignment->Check(pData == NULL);
+        m_pNoAssignment->SetClickHdl(LINK(this, OSelectLabelDialog, OnNoAssignmentClicked));
 
         return 0L;
     }
@@ -258,37 +252,37 @@ namespace pcr
 
     IMPL_LINK(OSelectLabelDialog, OnNoAssignmentClicked, Button*, pButton)
     {
-        DBG_ASSERT(pButton == &m_aNoAssignment, "OSelectLabelDialog::OnNoAssignmentClicked : where did this come from ?");
+        DBG_ASSERT(pButton == m_pNoAssignment, "OSelectLabelDialog::OnNoAssignmentClicked : where did this come from ?");
         (void)pButton;
 
-        if (m_aNoAssignment.IsChecked())
-            m_pLastSelected = m_aControlTree.FirstSelected();
+        if (m_pNoAssignment->IsChecked())
+            m_pLastSelected = m_pControlTree->FirstSelected();
         else
         {
             DBG_ASSERT(m_bHaveAssignableControl, "OSelectLabelDialog::OnNoAssignmentClicked");
             // search the first assignable entry
-            SvTreeListEntry* pSearch = m_aControlTree.First();
+            SvTreeListEntry* pSearch = m_pControlTree->First();
             while (pSearch)
             {
                 if (pSearch->GetUserData())
                     break;
-                pSearch = m_aControlTree.Next(pSearch);
+                pSearch = m_pControlTree->Next(pSearch);
             }
             // and select it
             if (pSearch)
             {
-                m_aControlTree.Select(pSearch);
+                m_pControlTree->Select(pSearch);
                 m_pLastSelected = pSearch;
             }
         }
 
         if (m_pLastSelected)
         {
-            m_aControlTree.SetSelectHdl(Link());
-            m_aControlTree.SetDeselectHdl(Link());
-            m_aControlTree.Select(m_pLastSelected, !m_aNoAssignment.IsChecked());
-            m_aControlTree.SetSelectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
-            m_aControlTree.SetDeselectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
+            m_pControlTree->SetSelectHdl(Link());
+            m_pControlTree->SetDeselectHdl(Link());
+            m_pControlTree->Select(m_pLastSelected, !m_pNoAssignment->IsChecked());
+            m_pControlTree->SetSelectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
+            m_pControlTree->SetDeselectHdl(LINK(this, OSelectLabelDialog, OnEntrySelected));
         }
 
         return 0L;
diff --git a/extensions/source/propctrlr/selectlabeldialog.hxx b/extensions/source/propctrlr/selectlabeldialog.hxx
index 7479b10..8c62715 100644
--- a/extensions/source/propctrlr/selectlabeldialog.hxx
+++ b/extensions/source/propctrlr/selectlabeldialog.hxx
@@ -40,12 +40,9 @@ namespace pcr
             :public ModalDialog
             ,public PcrClient
     {
-        FixedText       m_aMainDesc;
-        SvTreeListBox   m_aControlTree;
-        CheckBox        m_aNoAssignment;
-        FixedLine       m_aSeparator;
-        OKButton        m_aOk;
-        CancelButton    m_aCancel;
+        FixedText       *m_pMainDesc;
+        SvTreeListBox   *m_pControlTree;
+        CheckBox        *m_pNoAssignment;
 
         ImageList       m_aModelImages;
         ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >   m_xControlModel;
@@ -62,7 +59,7 @@ namespace pcr
         OSelectLabelDialog(Window* pParent, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >  _xControlModel);
         virtual ~OSelectLabelDialog();
 
-        ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >  GetSelected() const { return m_aNoAssignment.IsChecked() ? ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > () : m_xSelectedControl; }
+        ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >  GetSelected() const { return m_pNoAssignment->IsChecked() ? ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > () : m_xSelectedControl; }
 
     protected:
         sal_Int32 InsertEntries(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xContainer, SvTreeListEntry* pContainerEntry);
diff --git a/extensions/source/propctrlr/selectlabeldialog.src b/extensions/source/propctrlr/selectlabeldialog.src
index 033ed99..c8de6465 100644
--- a/extensions/source/propctrlr/selectlabeldialog.src
+++ b/extensions/source/propctrlr/selectlabeldialog.src
@@ -19,55 +19,6 @@
 
 #include "formresid.hrc"
 
-ModalDialog RID_DLG_SELECTLABELCONTROL
-{
-    HelpID = "extensions:ModalDialog:RID_DLG_SELECTLABELCONTROL";
-    OutputSize = TRUE;
-    Size = MAP_APPFONT( 200, 151 );
-    Moveable = TRUE;
-    Closeable = TRUE;
-    FixedText 1
-    {
-        Pos = MAP_APPFONT( 6, 6 );
-        Size = MAP_APPFONT( 188, 20 );
-        WordBreak = TRUE;
-        Text [ en-US ] = "These are control fields that can be used as label fields for the $control_class$ $control_name$.";
-    };
-    Control 1
-    {
-        Pos = MAP_APPFONT( 6, 29 );
-        Size = MAP_APPFONT( 188, 83 );
-        TabStop = TRUE;
-        Border  = TRUE ;
-    };
-    CheckBox 1
-    {
-        HelpID = "extensions:CheckBox:RID_DLG_SELECTLABELCONTROL:1";
-        Pos = MAP_APPFONT( 6, 115 );
-        Size = MAP_APPFONT( 188, 8 );
-        Text [ en-US ] = "~No assignment";
-    };
-    FixedLine 1
-    {
-        Pos = MAP_APPFONT( 3, 126 );
-        Size = MAP_APPFONT( 194, 2 );
-    };
-    OKButton 1
-    {
-        Pos = MAP_APPFONT ( 91 , 131 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-        DefButton = TRUE ;
-    };
-    CancelButton 1
-    {
-        Pos = MAP_APPFONT ( 144 , 131 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        TabStop = TRUE ;
-    };
-    Text [ en-US ] = "Label Field Selection";
-};
-
 String RID_STR_FORMS
 {
     Text [ en-US ] = "Forms" ;
diff --git a/extensions/uiconfig/sabpilot/ui/defaultfieldselectionpage.ui b/extensions/uiconfig/sabpilot/ui/defaultfieldselectionpage.ui
new file mode 100644
index 0000000..e443ce0
--- /dev/null
+++ b/extensions/uiconfig/sabpilot/ui/defaultfieldselectionpage.ui
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkBox" id="DefaultFieldSelectionPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkLabel" id="label1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="label" translatable="yes">Should one option field be selected as a default?</property>
+        <property name="wrap">True</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkRadioButton" id="defaultselectionyes">
+            <property name="label" translatable="yes">_Yes, the following:</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="use_underline">True</property>
+            <property name="xalign">0</property>
+            <property name="active">True</property>
+            <property name="draw_indicator">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkComboBoxText" id="defselectionfield">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkRadioButton" id="defaultselectionno">
+        <property name="label" translatable="yes">No, one particular field is not going to be selected.</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="xalign">0</property>
+        <property name="active">True</property>
+        <property name="draw_indicator">True</property>
+        <property name="group">defaultselectionyes</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">3</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/extensions/uiconfig/sabpilot/ui/optionsfinalpage.ui b/extensions/uiconfig/sabpilot/ui/optionsfinalpage.ui
new file mode 100644
index 0000000..3c30089
--- /dev/null
+++ b/extensions/uiconfig/sabpilot/ui/optionsfinalpage.ui
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkBox" id="OptionsFinalPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkLabel" id="label1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="label" translatable="yes">Which _caption is to be given to your option group?</property>
+        <property name="use_underline">True</property>
+        <property name="mnemonic_widget">nameit</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkEntry" id="nameit">
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="hexpand">True</property>
+        <property name="invisible_char">•</property>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkLabel" id="label2">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="valign">end</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</property>
+        <property name="label" translatable="yes">These were all details needed to create the option group.</property>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/extensions/uiconfig/sabpilot/ui/optionvaluespage.ui b/extensions/uiconfig/sabpilot/ui/optionvaluespage.ui
new file mode 100644
index 0000000..77949dc
--- /dev/null
+++ b/extensions/uiconfig/sabpilot/ui/optionvaluespage.ui
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkBox" id="OptionValuesPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="spacing">12</property>
+    <property name="homogeneous">True</property>
+    <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">12</property>
+        <child>
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="valign">start</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">When you select an option, the option group is given a specific value.</property>
+            <property name="wrap">True</property>
+            <property name="max_width_chars">40</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="label2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="valign">start</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Which _value do you want to assign to each option?</property>
+            <property name="use_underline">True</property>
+            <property name="wrap">True</property>
+            <property name="max_width_chars">40</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkEntry" id="optionvalue">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="valign">start</property>
+            <property name="hexpand">True</property>
+            <property name="invisible_char">•</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <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="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="halign">start</property>
+            <property name="label" translatable="yes">_Option fields</property>
+            <property name="use_underline">True</property>
+            <property name="mnemonic_widget">radiobuttons:border</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTreeView" id="radiobuttons:border">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="hexpand">True</property>
+            <property name="vexpand">True</property>
+            <child internal-child="selection">
+              <object class="GtkTreeSelection" id="treeview-selection1"/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/extensions/uiconfig/spropctrlr/ui/labelselectiondialog.ui b/extensions/uiconfig/spropctrlr/ui/labelselectiondialog.ui
new file mode 100644
index 0000000..fbf42d5
--- /dev/null
+++ b/extensions/uiconfig/spropctrlr/ui/labelselectiondialog.ui
@@ -0,0 +1,137 @@
+<?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="LabelSelectionDialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Label Field Selection</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="layout_style">end</property>
+            <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">0</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">1</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="GtkLabel" id="label">
+                <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="label" translatable="yes">These are control fields that can be used as label fields for the $controlclass$ $controlname$.</property>
+                <property name="use_underline">True</property>
+                <property name="wrap">True</property>
+                <property name="mnemonic_widget">control:border</property>
+                <property name="max_width_chars">60</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="svtlo-SvTreeListBox" id="control:border">
+                <property name="width_request">200</property>
+                <property name="height_request">150</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <child internal-child="selection">
+                  <object class="GtkTreeSelection" id="treeview-selection1"/>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="noassignment">
+                <property name="label" translatable="yes">_No assignment</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="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="image_position">right</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">ok</action-widget>
+      <action-widget response="0">cancel</action-widget>
+    </action-widgets>
+  </object>
+</interface>


More information about the Libreoffice-commits mailing list