[PATCH] Convert Writer asian text grid page to Widget UI

Olivier Hallot (via Code Review) gerrit at gerrit.libreoffice.org
Sun Apr 7 14:10:00 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3270

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/70/3270/1

Convert Writer asian text grid page to Widget UI

Change-Id: If016e387aae1a36d6d78bbefd52b231a49201617
---
M extras/source/glade/libreoffice-catalog.xml.in
M sw/UI_swriter.mk
M sw/inc/helpid.h
M sw/source/ui/frmdlg/colex.cxx
M sw/source/ui/inc/colex.hxx
M sw/source/ui/inc/pggrid.hxx
M sw/source/ui/misc/pggrid.cxx
D sw/source/ui/misc/pggrid.hrc
D sw/source/ui/misc/pggrid.src
A sw/uiconfig/swriter/ui/textgridpage.ui
10 files changed, 758 insertions(+), 532 deletions(-)



diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 1164343..88bfb4d 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -75,6 +75,9 @@
     <glade-widget-class title="Page Preview" name="svxlo-SvxPageWindow"
                         generic-name="Page Preview Window" parent="GtkDrawingArea"
                         icon-name="widget-gtk-drawingarea"/>
+    <glade-widget-class title="Page Preview" name="swlo-SwPageGridExample"
+                        generic-name="Grid Page Preview Window" parent="GtkDrawingArea"
+                        icon-name="widget-gtk-drawingarea"/>
     <glade-widget-class title="Page Preview" name="swlo-SwColExample"
                         generic-name="Page Preview Window" parent="GtkDrawingArea"
                         icon-name="widget-gtk-drawingarea"/>
diff --git a/sw/UI_swriter.mk b/sw/UI_swriter.mk
index 40d427c..1ae6c0c 100644
--- a/sw/UI_swriter.mk
+++ b/sw/UI_swriter.mk
@@ -49,6 +49,7 @@
 	sw/uiconfig/swriter/ui/tablecolumnpage \
 	sw/uiconfig/swriter/ui/tableproperties \
 	sw/uiconfig/swriter/ui/tabletextflowpage \
+	sw/uiconfig/swriter/ui/textgridpage \
 	sw/uiconfig/swriter/ui/titlepage \
 	sw/uiconfig/swriter/ui/wordcount \
 ))
diff --git a/sw/inc/helpid.h b/sw/inc/helpid.h
index 2f10adf..66574aa 100644
--- a/sw/inc/helpid.h
+++ b/sw/inc/helpid.h
@@ -198,7 +198,7 @@
 
 #define HID_TP_BUSINESS_DATA                                    "SW_HID_TP_BUSINESS_DATA"
 #define HID_SECTION_FTNENDNOTES_PAGE                            "SW_HID_SECTION_FTNENDNOTES_PAGE"
-#define HID_TEXTGRID_PAGE                                       "SW_HID_TEXTGRID_PAGE"
+
 #define HID_OPTCOMPATIBILITY_PAGE                               "SW_HID_OPTCOMPATIBILITY_PAGE"
 #define HID_COMPATIBILITY_OPTIONS_BOX                           "SW_HID_COMPATIBILITY_OPTIONS_BOX"
 #define HID_COMPARISON_OPT				                        "SW_HID_COMPARISON_OPT"
diff --git a/sw/source/ui/frmdlg/colex.cxx b/sw/source/ui/frmdlg/colex.cxx
index cc385f5..4e009c3 100644
--- a/sw/source/ui/frmdlg/colex.cxx
+++ b/sw/source/ui/frmdlg/colex.cxx
@@ -582,4 +582,9 @@
     SwPageExample::UpdateExample(rSet);
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSwPageGridExample(Window *pParent, VclBuilder::stringmap &)
+{
+    return new SwPageGridExample(pParent);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/inc/colex.hxx b/sw/source/ui/inc/colex.hxx
index 31f0f7e..6d786c1 100644
--- a/sw/source/ui/inc/colex.hxx
+++ b/sw/source/ui/inc/colex.hxx
@@ -61,6 +61,11 @@
                                 SwPageExample(pPar, rResId ),
                                 pGridItem(0),
                                 m_bVertical(false){}
+    SwPageGridExample(Window* pPar) :
+                                SwPageExample(pPar),
+                                pGridItem(0),
+                                m_bVertical(false){}
+
     ~SwPageGridExample();
     void UpdateExample( const SfxItemSet& rSet );
 };
diff --git a/sw/source/ui/inc/pggrid.hxx b/sw/source/ui/inc/pggrid.hxx
index 4bb257c..eda617e 100644
--- a/sw/source/ui/inc/pggrid.hxx
+++ b/sw/source/ui/inc/pggrid.hxx
@@ -30,48 +30,42 @@
  --------------------------------------------------------------------*/
 class SwTextGridPage: public SfxTabPage
 {
-    FixedLine       aGridTypeFL;
-    RadioButton     aNoGridRB;
-    RadioButton     aLinesGridRB;
-    RadioButton     aCharsGridRB;
-    CheckBox        aSnapToCharsCB;
+    FixedLine*       m_pGridTypeFL;
+    RadioButton*     m_pNoGridRB;
+    RadioButton*     m_pLinesGridRB;
+    RadioButton*     m_pCharsGridRB;
+    CheckBox*        m_pSnapToCharsCB;
 
-    SwPageGridExample   aExampleWN;
+    SwPageGridExample*   m_pExampleWN;
 
-    FixedLine       aLayoutFL;
+    VclFrame*        m_pLayoutFL;
+    NumericField*    m_pLinesPerPageNF;
+    FixedText*       m_pLinesRangeFT;
 
-    FixedText       aLinesPerPageFT;
-    NumericField    aLinesPerPageNF;
-    FixedText       aLinesRangeFT;
+    MetricField*     m_pTextSizeMF;
 
-    FixedText       aTextSizeFT;
-    MetricField     aTextSizeMF;
+    FixedText*       m_pCharsPerLineFT;
+    NumericField*    m_pCharsPerLineNF;
+    FixedText*       m_pCharsRangeFT;
 
-    FixedText       aCharsPerLineFT;
-    NumericField    aCharsPerLineNF;
-    FixedText       aCharsRangeFT;
+    FixedText*       m_pCharWidthFT;
+    MetricField*     m_pCharWidthMF;
 
-    FixedText       aCharWidthFT;
-    MetricField     aCharWidthMF;
+    FixedText*       m_pRubySizeFT;
+    MetricField*     m_pRubySizeMF;
 
-    FixedText       aRubySizeFT;
-    MetricField     aRubySizeMF;
+    CheckBox*        m_pRubyBelowCB;
 
-    CheckBox        aRubyBelowCB;
+    VclFrame*        m_pDisplayFL;
 
-    FixedLine       aDisplayFL;
-
-    CheckBox        aDisplayCB;
-    CheckBox        aPrintCB;
-    FixedText       aColorFT;
-    ColorListBox    aColorLB;
-
-    Window*         aControls[20];
+    CheckBox*        m_pDisplayCB;
+    CheckBox*        m_pPrintCB;
+    ColorListBox*    m_pColorLB;
 
     sal_Int32       m_nRubyUserValue;
     sal_Bool        m_bRubyUserValue;
     Size            m_aPageSize;
-    bool        m_bVertical;
+    bool            m_bVertical;
     sal_Bool        m_bSquaredMode;
     sal_Bool        m_bHRulerChanged;
     sal_Bool        m_bVRulerChanged;
diff --git a/sw/source/ui/misc/pggrid.cxx b/sw/source/ui/misc/pggrid.cxx
index 4480b58..ed05263 100644
--- a/sw/source/ui/misc/pggrid.cxx
+++ b/sw/source/ui/misc/pggrid.cxx
@@ -33,7 +33,6 @@
 #include <svx/ruler.hxx>
 #include <pggrid.hxx>
 #include <tgrditem.hxx>
-#include <pggrid.hrc>
 
 #include "wrtsh.hxx"
 #include "doc.hxx"
@@ -42,32 +41,7 @@
 #include "view.hxx"
 
 SwTextGridPage::SwTextGridPage(Window *pParent, const SfxItemSet &rSet) :
-    SfxTabPage(pParent, SW_RES(TP_TEXTGRID_PAGE), rSet),
-    aGridTypeFL             (this, SW_RES(FL_GRID_TYPE       )),
-    aNoGridRB               (this, SW_RES(RB_NOGRID          )),
-    aLinesGridRB            (this, SW_RES(RB_LINESGRID       )),
-    aCharsGridRB            (this, SW_RES(RB_CHARSGRID       )),
-    aSnapToCharsCB          (this, SW_RES(CB_SNAPTOCHARS      )),
-    aExampleWN              (this, SW_RES(WN_EXAMPLE         )),
-    aLayoutFL               (this, SW_RES(FL_LAYOUT          )),
-    aLinesPerPageFT         (this, SW_RES(FT_LINESPERPAGE    )),
-    aLinesPerPageNF         (this, SW_RES(NF_LINESPERPAGE    )),
-    aLinesRangeFT           (this, SW_RES(FT_LINERANGE    )),
-    aTextSizeFT             (this, SW_RES(FT_TEXTSIZE        )),
-    aTextSizeMF             (this, SW_RES(MF_TEXTSIZE        )),
-    aCharsPerLineFT         (this, SW_RES(FT_CHARSPERLINE    )),
-    aCharsPerLineNF         (this, SW_RES(NF_CHARSPERLINE    )),
-    aCharsRangeFT           (this, SW_RES(FT_CHARRANGE       )),
-    aCharWidthFT            (this, SW_RES(FT_CHARWIDTH        )),
-    aCharWidthMF            (this, SW_RES(MF_CHARWIDTH        )),
-    aRubySizeFT             (this, SW_RES(FT_RUBYSIZE        )),
-    aRubySizeMF             (this, SW_RES(MF_RUBYSIZE        )),
-    aRubyBelowCB            (this, SW_RES(CB_RUBYBELOW       )),
-    aDisplayFL              (this, SW_RES(FL_DISPLAY         )),
-    aDisplayCB              (this, SW_RES(CB_DISPLAY         )),
-    aPrintCB                (this, SW_RES(CB_PRINT           )),
-    aColorFT                (this, SW_RES(FT_COLOR           )),
-    aColorLB                (this, SW_RES(LB_COLOR           )),
+    SfxTabPage(pParent, "TextGridPage","/modules/swriter/ui/textgridpage.ui", rSet),
     m_nRubyUserValue(0),
     m_bRubyUserValue(sal_False),
     m_aPageSize(MM50, MM50),
@@ -76,70 +50,73 @@
     m_bHRulerChanged( sal_False ),
     m_bVRulerChanged( sal_False )
 {
-    FreeResource();
+    get(m_pNoGridRB,"radioRB_NOGRID");
+    get(m_pLinesGridRB,"radioRB_LINESGRID");
+    get(m_pCharsGridRB,"radioRB_CHARSGRID");
+    get(m_pSnapToCharsCB,"checkCB_SNAPTOCHARS");
 
-    aControls[0] =&aLayoutFL;
-    aControls[1] =&aLinesPerPageFT;
-    aControls[2] =&aLinesPerPageNF;
-    aControls[3] =&aTextSizeFT;
-    aControls[4] =&aTextSizeMF;
-    aControls[5] =&aCharsPerLineFT;
-    aControls[6] =&aCharsPerLineNF;
-    aControls[7] =&aCharWidthFT;
-    aControls[8] =&aCharWidthMF;
-    aControls[9] =&aRubySizeFT;
-    aControls[10] =&aRubySizeMF;
-    aControls[11] =&aRubyBelowCB;
-    aControls[12] =&aDisplayFL;
-    aControls[13] =&aDisplayCB;
-    aControls[14] =&aPrintCB;
-    aControls[15] =&aColorFT;
-    aControls[16] =&aColorLB;
-    aControls[17] =&aLinesRangeFT;
-    aControls[18] =&aCharsRangeFT;
-    aControls[19] =0;
+    get(m_pExampleWN,"drawingareaWN_EXAMPLE");
+    get(m_pLayoutFL,"frameFL_LAYOUT");
+
+    get(m_pLinesPerPageNF,"spinNF_LINESPERPAGE");
+    get(m_pLinesRangeFT,"labelFT_LINERANGE");
+
+    get(m_pTextSizeMF,"spinMF_TEXTSIZE");
+    get(m_pCharsPerLineFT,"labelFT_CHARSPERLINE");
+    get(m_pCharsPerLineNF,"spinNF_CHARSPERLINE");
+    get(m_pCharsRangeFT,"labelFT_CHARRANGE");
+    get(m_pCharWidthFT,"labelFT_CHARWIDTH");
+    get(m_pCharWidthMF,"spinMF_CHARWIDTH");
+    get(m_pRubySizeFT,"labelFT_RUBYSIZE");
+    get(m_pRubySizeMF,"spinMF_RUBYSIZE");
+    get(m_pRubyBelowCB,"checkCB_RUBYBELOW");
+
+    get(m_pDisplayFL,"frameFL_DISPLAY");
+    get(m_pDisplayCB,"checkCB_DISPLAY");
+    get(m_pPrintCB,"checkCB_PRINT");
+    get(m_pColorLB,"listLB_COLOR");
 
     Link aLink = LINK(this, SwTextGridPage, CharorLineChangedHdl);
-    aCharsPerLineNF.SetUpHdl(aLink);
-    aCharsPerLineNF.SetDownHdl(aLink);
-    aCharsPerLineNF.SetLoseFocusHdl(aLink);
-    aLinesPerPageNF.SetUpHdl(aLink);
-    aLinesPerPageNF.SetDownHdl(aLink);
-    aLinesPerPageNF.SetLoseFocusHdl(aLink);
+    m_pCharsPerLineNF->SetUpHdl(aLink);
+    m_pCharsPerLineNF->SetDownHdl(aLink);
+    m_pCharsPerLineNF->SetLoseFocusHdl(aLink);
+    m_pLinesPerPageNF->SetUpHdl(aLink);
+    m_pLinesPerPageNF->SetDownHdl(aLink);
+    m_pLinesPerPageNF->SetLoseFocusHdl(aLink);
 
     Link aSizeLink = LINK(this, SwTextGridPage, TextSizeChangedHdl);
-    aTextSizeMF.SetUpHdl(aSizeLink);
-    aTextSizeMF.SetDownHdl(aSizeLink);
-    aTextSizeMF.SetLoseFocusHdl(aSizeLink);
-    aRubySizeMF.SetUpHdl(aSizeLink);
-    aRubySizeMF.SetDownHdl(aSizeLink);
-    aRubySizeMF.SetLoseFocusHdl(aSizeLink);
-    aCharWidthMF.SetUpHdl(aSizeLink);
-    aCharWidthMF.SetDownHdl(aSizeLink);
-    aCharWidthMF.SetLoseFocusHdl(aSizeLink);
+    m_pTextSizeMF->SetUpHdl(aSizeLink);
+    m_pTextSizeMF->SetDownHdl(aSizeLink);
+    m_pTextSizeMF->SetLoseFocusHdl(aSizeLink);
+    m_pRubySizeMF->SetUpHdl(aSizeLink);
+    m_pRubySizeMF->SetDownHdl(aSizeLink);
+    m_pRubySizeMF->SetLoseFocusHdl(aSizeLink);
+    m_pCharWidthMF->SetUpHdl(aSizeLink);
+    m_pCharWidthMF->SetDownHdl(aSizeLink);
+    m_pCharWidthMF->SetLoseFocusHdl(aSizeLink);
 
     Link aGridTypeHdl = LINK(this, SwTextGridPage, GridTypeHdl);
-    aNoGridRB   .SetClickHdl(aGridTypeHdl);
-    aLinesGridRB.SetClickHdl(aGridTypeHdl);
-    aCharsGridRB.SetClickHdl(aGridTypeHdl);
+    m_pNoGridRB->SetClickHdl(aGridTypeHdl);
+    m_pLinesGridRB->SetClickHdl(aGridTypeHdl);
+    m_pCharsGridRB->SetClickHdl(aGridTypeHdl);
 
     Link aModifyLk = LINK(this, SwTextGridPage, GridModifyHdl);
-    aColorLB.SetSelectHdl(aModifyLk);
-    aPrintCB.SetClickHdl(aModifyLk);
-    aRubyBelowCB.SetClickHdl(aModifyLk);
+    m_pColorLB->SetSelectHdl(aModifyLk);
+    m_pPrintCB->SetClickHdl(aModifyLk);
+    m_pRubyBelowCB->SetClickHdl(aModifyLk);
 
-    aDisplayCB.SetClickHdl(LINK(this, SwTextGridPage, DisplayGridHdl));
+    m_pDisplayCB->SetClickHdl(LINK(this, SwTextGridPage, DisplayGridHdl));
 
     XColorListRef pColorLst = XColorList::GetStdColorList();
-    aColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
+    m_pColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
     for( sal_uInt16 i = 0; i < pColorLst->Count(); ++i )
     {
         XColorEntry* pEntry = pColorLst->GetColor( i );
         Color aColor = pEntry->GetColor();
         String sName = pEntry->GetName();
-        aColorLB.InsertEntry( aColor, sName );
+        m_pColorLB->InsertEntry( aColor, sName );
     }
-    aColorLB.SetUpdateMode( sal_True );
+    m_pColorLB->SetUpdateMode( sal_True );
     //Get the default paper mode
     SwView *pView   = ::GetActiveView();
     if( pView )
@@ -152,21 +129,22 @@
     }
     if( m_bSquaredMode )
     {
-        aRubySizeFT.Show();
-        aRubySizeMF.Show();
-        aRubyBelowCB.Show();
-        aSnapToCharsCB.Hide();
-        aCharWidthFT.Hide();
-        aCharWidthMF.Hide();
+
+        m_pRubySizeFT->Show();
+        m_pRubySizeMF->Show();
+        m_pRubyBelowCB->Show();
+        m_pSnapToCharsCB->Hide();
+        m_pCharWidthFT->Hide();
+        m_pCharWidthMF->Hide();
     }
     else
     {
-        aRubySizeFT.Hide();
-        aRubySizeMF.Hide();
-        aRubyBelowCB.Hide();
-        aSnapToCharsCB.Show();
-        aCharWidthFT.Show();
-        aCharWidthMF.Show();
+        m_pRubySizeFT->Hide();
+        m_pRubySizeMF->Hide();
+        m_pRubyBelowCB->Hide();
+        m_pSnapToCharsCB->Show();
+        m_pCharWidthFT->Show();
+        m_pCharWidthMF->Show();
     }
 }
 
@@ -182,20 +160,20 @@
 sal_Bool    SwTextGridPage::FillItemSet(SfxItemSet &rSet)
 {
     sal_Bool bRet = sal_False;
-    if(aNoGridRB.GetSavedValue() != aNoGridRB.IsChecked()||
-        aLinesGridRB.GetSavedValue() != aLinesGridRB.IsChecked()||
-        aLinesPerPageNF.GetSavedValue().toInt32()
-           != aLinesPerPageNF.GetValue()||
-        aTextSizeMF.GetSavedValue().toInt32() != aTextSizeMF.GetValue()||
-        aCharsPerLineNF.GetSavedValue().toInt32()
-           != aCharsPerLineNF.GetValue()||
-        aSnapToCharsCB.GetSavedValue() != aSnapToCharsCB.IsChecked() ||
-        aRubySizeMF.GetSavedValue().toInt32() != aRubySizeMF.GetValue()||
-        aCharWidthMF.GetSavedValue().toInt32() != aCharWidthMF.GetValue()||
-        aRubyBelowCB.GetSavedValue() != aRubyBelowCB.IsChecked()||
-        aDisplayCB.GetSavedValue() != aDisplayCB.IsChecked()||
-        aPrintCB.GetSavedValue() != aPrintCB.IsChecked()||
-        aColorLB.GetSavedValue() != aColorLB.GetSelectEntryPos())
+    if(m_pNoGridRB->GetSavedValue() != m_pNoGridRB->IsChecked()||
+        m_pLinesGridRB->GetSavedValue() != m_pLinesGridRB->IsChecked()||
+        m_pLinesPerPageNF->GetSavedValue().toInt32()
+           != m_pLinesPerPageNF->GetValue()||
+        m_pTextSizeMF->GetSavedValue().toInt32() != m_pTextSizeMF->GetValue()||
+        m_pCharsPerLineNF->GetSavedValue().toInt32()
+           != m_pCharsPerLineNF->GetValue()||
+        m_pSnapToCharsCB->GetSavedValue() != m_pSnapToCharsCB->IsChecked() ||
+        m_pRubySizeMF->GetSavedValue().toInt32() != m_pRubySizeMF->GetValue()||
+        m_pCharWidthMF->GetSavedValue().toInt32() != m_pCharWidthMF->GetValue()||
+        m_pRubyBelowCB->GetSavedValue() != m_pRubyBelowCB->IsChecked()||
+        m_pDisplayCB->GetSavedValue() != m_pDisplayCB->IsChecked()||
+        m_pPrintCB->GetSavedValue() != m_pPrintCB->IsChecked()||
+        m_pColorLB->GetSavedValue() != m_pColorLB->GetSelectEntryPos())
     {
         PutGridItem(rSet);
         bRet = sal_True;
@@ -218,48 +196,48 @@
         RadioButton* pButton = 0;
         switch(rGridItem.GetGridType())
         {
-            case GRID_NONE :        pButton = &aNoGridRB;    break;
-            case GRID_LINES_ONLY  : pButton = &aLinesGridRB; break;
-            default:                pButton = &aCharsGridRB;
+            case GRID_NONE :        pButton = m_pNoGridRB;    break;
+            case GRID_LINES_ONLY  : pButton = m_pLinesGridRB; break;
+            default:                pButton = m_pCharsGridRB;
         }
         pButton->Check();
-        aDisplayCB.Check(rGridItem.IsDisplayGrid());
+        m_pDisplayCB->Check(rGridItem.IsDisplayGrid());
         GridTypeHdl(pButton);
-        aSnapToCharsCB.Check(rGridItem.IsSnapToChars());
-        aLinesPerPageNF.SetValue(rGridItem.GetLines());
-        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+        m_pSnapToCharsCB->Check(rGridItem.IsSnapToChars());
+        m_pLinesPerPageNF->SetValue(rGridItem.GetLines());
+        SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
         m_nRubyUserValue = rGridItem.GetBaseHeight();
         m_bRubyUserValue = sal_True;
-        aTextSizeMF.SetValue(aTextSizeMF.Normalize(m_nRubyUserValue), FUNIT_TWIP);
-        aRubySizeMF.SetValue(aRubySizeMF.Normalize(rGridItem.GetRubyHeight()), FUNIT_TWIP);
-        aCharWidthMF.SetValue(aCharWidthMF.Normalize(rGridItem.GetBaseWidth()), FUNIT_TWIP);
-        aRubyBelowCB.Check(rGridItem.IsRubyTextBelow());
-        aPrintCB.Check(rGridItem.IsPrintGrid());
-        aColorLB.SelectEntry(rGridItem.GetColor());
+        m_pTextSizeMF->SetValue(m_pTextSizeMF->Normalize(m_nRubyUserValue), FUNIT_TWIP);
+        m_pRubySizeMF->SetValue(m_pRubySizeMF->Normalize(rGridItem.GetRubyHeight()), FUNIT_TWIP);
+        m_pCharWidthMF->SetValue(m_pCharWidthMF->Normalize(rGridItem.GetBaseWidth()), FUNIT_TWIP);
+        m_pRubyBelowCB->Check(rGridItem.IsRubyTextBelow());
+        m_pPrintCB->Check(rGridItem.IsPrintGrid());
+        m_pColorLB->SelectEntry(rGridItem.GetColor());
     }
     UpdatePageSize(rSet);
 
-    aNoGridRB.SaveValue();
-    aLinesGridRB.SaveValue();
-    aSnapToCharsCB.SaveValue();
-    aLinesPerPageNF.SaveValue();
-    aTextSizeMF.SaveValue();
-    aCharsPerLineNF.SaveValue();
-    aRubySizeMF.SaveValue();
-    aCharWidthMF.SaveValue();
-    aRubyBelowCB.SaveValue();
-    aDisplayCB.SaveValue();
-    aPrintCB.SaveValue();
-    aColorLB.SaveValue();
+    m_pNoGridRB->SaveValue();
+    m_pLinesGridRB->SaveValue();
+    m_pSnapToCharsCB->SaveValue();
+    m_pLinesPerPageNF->SaveValue();
+    m_pTextSizeMF->SaveValue();
+    m_pCharsPerLineNF->SaveValue();
+    m_pRubySizeMF->SaveValue();
+    m_pCharWidthMF->SaveValue();
+    m_pRubyBelowCB->SaveValue();
+    m_pDisplayCB->SaveValue();
+    m_pPrintCB->SaveValue();
+    m_pColorLB->SaveValue();
 }
 
 void    SwTextGridPage::ActivatePage( const SfxItemSet& rSet )
 {
-    aExampleWN.Hide();
-    aExampleWN.UpdateExample( rSet );
+    m_pExampleWN->Hide();
+    m_pExampleWN->UpdateExample( rSet );
     UpdatePageSize(rSet);
-    aExampleWN.Show();
-    aExampleWN.Invalidate();
+    m_pExampleWN->Show();
+    m_pExampleWN->Invalidate();
 }
 
 int SwTextGridPage::DeactivatePage( SfxItemSet* )
@@ -270,20 +248,20 @@
 void SwTextGridPage::PutGridItem(SfxItemSet& rSet)
 {
         SwTextGridItem aGridItem;
-        aGridItem.SetGridType(aNoGridRB.IsChecked() ? GRID_NONE :
-            aLinesGridRB.IsChecked() ? GRID_LINES_ONLY : GRID_LINES_CHARS );
-        aGridItem.SetSnapToChars(aSnapToCharsCB.IsChecked());
-        aGridItem.SetLines( static_cast< sal_uInt16 >(aLinesPerPageNF.GetValue()) );
+        aGridItem.SetGridType(m_pNoGridRB->IsChecked() ? GRID_NONE :
+            m_pLinesGridRB->IsChecked() ? GRID_LINES_ONLY : GRID_LINES_CHARS );
+        aGridItem.SetSnapToChars(m_pSnapToCharsCB->IsChecked());
+        aGridItem.SetLines( static_cast< sal_uInt16 >(m_pLinesPerPageNF->GetValue()) );
         aGridItem.SetBaseHeight( static_cast< sal_uInt16 >(
             m_bRubyUserValue ? m_nRubyUserValue :
-                aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP))) );
-        aGridItem.SetRubyHeight( static_cast< sal_uInt16 >(aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))) );
-        aGridItem.SetBaseWidth( static_cast< sal_uInt16 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP))) );
-        aGridItem.SetRubyTextBelow(aRubyBelowCB.IsChecked());
+                m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP))) );
+        aGridItem.SetRubyHeight( static_cast< sal_uInt16 >(m_pRubySizeMF->Denormalize(m_pRubySizeMF->GetValue(FUNIT_TWIP))) );
+        aGridItem.SetBaseWidth( static_cast< sal_uInt16 >(m_pCharWidthMF->Denormalize(m_pCharWidthMF->GetValue(FUNIT_TWIP))) );
+        aGridItem.SetRubyTextBelow(m_pRubyBelowCB->IsChecked());
         aGridItem.SetSquaredMode(m_bSquaredMode);
-        aGridItem.SetDisplayGrid(aDisplayCB.IsChecked());
-        aGridItem.SetPrintGrid(aPrintCB.IsChecked());
-        aGridItem.SetColor(aColorLB.GetSelectEntryColor());
+        aGridItem.SetDisplayGrid(m_pDisplayCB->IsChecked());
+        aGridItem.SetPrintGrid(m_pPrintCB->IsChecked());
+        aGridItem.SetColor(m_pColorLB->GetSelectEntryColor());
         rSet.Put(aGridItem);
 
         SwView * pView = ::GetActiveView();
@@ -294,8 +272,8 @@
                 m_bHRulerChanged = sal_True;
             }
             m_bVRulerChanged = sal_True;
-            pView->GetHRuler().SetCharWidth((long)(aCharWidthMF.GetValue(FUNIT_TWIP)/56.7));
-            pView->GetVRuler().SetLineHeight((long)(aTextSizeMF.GetValue(FUNIT_TWIP)/56.7));
+            pView->GetHRuler().SetCharWidth((long)(m_pCharWidthMF->GetValue(FUNIT_TWIP)/56.7));
+            pView->GetVRuler().SetLineHeight((long)(m_pTextSizeMF->GetValue(FUNIT_TWIP)/56.7));
         }
 }
 
@@ -340,37 +318,37 @@
 
         sal_Int32 nTextSize = static_cast< sal_Int32 >(m_bRubyUserValue ?
                     m_nRubyUserValue :
-                        aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
+                        m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)));
 
         if ( m_bSquaredMode )
         {
-            aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextSize);
-        aCharsPerLineNF.SetMax( aCharsPerLineNF.GetValue() );
-            aLinesPerPageNF.SetMax( m_aPageSize.Height() /
-        (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
-                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+            m_pCharsPerLineNF->SetValue(m_aPageSize.Width() / nTextSize);
+        m_pCharsPerLineNF->SetMax( m_pCharsPerLineNF->GetValue() );
+            m_pLinesPerPageNF->SetMax( m_aPageSize.Height() /
+        (   m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)) +
+                    m_pRubySizeMF->Denormalize(m_pRubySizeMF->GetValue(FUNIT_TWIP))));
+            SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
+            SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
         }
         else
         {
-            sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP)));
-            aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
+            sal_Int32 nTextWidth = static_cast< sal_Int32 >(m_pCharWidthMF->Denormalize(m_pCharWidthMF->GetValue(FUNIT_TWIP)));
+            m_pLinesPerPageNF->SetValue(m_aPageSize.Height() / nTextSize);
             if (nTextWidth)
-                aCharsPerLineNF.SetValue(m_aPageSize.Width() / nTextWidth);
+                m_pCharsPerLineNF->SetValue(m_aPageSize.Width() / nTextWidth);
             else
-                aCharsPerLineNF.SetValue( 45 );
-        SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
-        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+                m_pCharsPerLineNF->SetValue( 45 );
+        SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
+        SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
         }
     }
 }
 
 void SwTextGridPage::SetLinesOrCharsRanges(FixedText & rField, const sal_Int32 nValue )
 {
-    String aFieldStr = rtl::OUString("( 1 -");
-    aFieldStr += rtl::OUString::valueOf(nValue);
-    aFieldStr += rtl::OUString(" )");
+    OUString aFieldStr("( 1 -");
+    aFieldStr += OUString::number(nValue);
+    aFieldStr += " )";
     rField.SetText( aFieldStr );
 }
 
@@ -387,10 +365,10 @@
     //if in squared mode
     if ( m_bSquaredMode )
     {
-        if(&aCharsPerLineNF == pField)
+        if(m_pCharsPerLineNF == pField)
         {
-            long nWidth = (long)(m_aPageSize.Width() / aCharsPerLineNF.GetValue());
-            aTextSizeMF.SetValue(aTextSizeMF.Normalize(nWidth), FUNIT_TWIP);
+            long nWidth = (long)(m_aPageSize.Width() / m_pCharsPerLineNF->GetValue());
+            m_pTextSizeMF->SetValue(m_pTextSizeMF->Normalize(nWidth), FUNIT_TWIP);
             //prevent rounding errors in the MetricField by saving the used value
             m_nRubyUserValue = nWidth;
             m_bRubyUserValue = sal_True;
@@ -399,30 +377,30 @@
         //set maximum line per page
         {
             sal_Int32 nMaxLines = static_cast< sal_Int32 >(m_aPageSize.Height() /
-                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
-                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-            aLinesPerPageNF.SetMax(nMaxLines);
+                (   m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)) +
+                    m_pRubySizeMF->Denormalize(m_pRubySizeMF->GetValue(FUNIT_TWIP))));
+            m_pLinesPerPageNF->SetMax(nMaxLines);
         }
-        SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
-    SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
+        SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
+    SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
     }
     else//in normal mode
     {
-        if(&aLinesPerPageNF == pField)
+        if(m_pLinesPerPageNF == pField)
         {
-            long nHeight = static_cast< sal_Int32 >(m_aPageSize.Height() / aLinesPerPageNF.GetValue());
-            aTextSizeMF.SetValue(aTextSizeMF.Normalize(nHeight), FUNIT_TWIP);
-            aRubySizeMF.SetValue(0, FUNIT_TWIP);
-            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+            long nHeight = static_cast< sal_Int32 >(m_aPageSize.Height() / m_pLinesPerPageNF->GetValue());
+            m_pTextSizeMF->SetValue(m_pTextSizeMF->Normalize(nHeight), FUNIT_TWIP);
+            m_pRubySizeMF->SetValue(0, FUNIT_TWIP);
+            SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
 
             m_nRubyUserValue = nHeight;
             m_bRubyUserValue = sal_True;
         }
-        else if (&aCharsPerLineNF == pField)
+        else if (m_pCharsPerLineNF == pField)
         {
-            long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / aCharsPerLineNF.GetValue());
-            aCharWidthMF.SetValue(aCharWidthMF.Normalize(nWidth), FUNIT_TWIP);
-            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
+            long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / m_pCharsPerLineNF->GetValue());
+            m_pCharWidthMF->SetValue(m_pCharWidthMF->Normalize(nWidth), FUNIT_TWIP);
+            SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
         }
     }
     GridModifyHdl(0);
@@ -434,46 +412,46 @@
     //if in squared mode
     if( m_bSquaredMode )
     {
-        if (&aTextSizeMF == pField)
+        if (m_pTextSizeMF == pField)
         {
             m_bRubyUserValue = sal_False;
 
             // fdo#50941: set maximum characters per line
-            sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
+            sal_Int32 nTextSize = static_cast< sal_Int32 >(m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)));
             if (nTextSize > 0)
             {
                 sal_Int32 nMaxChars = m_aPageSize.Width() / nTextSize;
-                aCharsPerLineNF.SetValue(nMaxChars);
-                aCharsPerLineNF.SetMax(nMaxChars);
-                SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
+                m_pCharsPerLineNF->SetValue(nMaxChars);
+                m_pCharsPerLineNF->SetMax(nMaxChars);
+                SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
             }
         }
         //set maximum line per page
         {
             sal_Int32 nMaxLines = static_cast< sal_Int32 >(m_aPageSize.Height() /
-                (   aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)) +
-                    aRubySizeMF.Denormalize(aRubySizeMF.GetValue(FUNIT_TWIP))));
-            aLinesPerPageNF.SetMax(nMaxLines);
-            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+                (   m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)) +
+                    m_pRubySizeMF->Denormalize(m_pRubySizeMF->GetValue(FUNIT_TWIP))));
+            m_pLinesPerPageNF->SetMax(nMaxLines);
+            SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
         }
     }
     else
     {
-        if (&aTextSizeMF == pField)
+        if (m_pTextSizeMF == pField)
         {
-            sal_Int32 nTextSize = static_cast< sal_Int32 >(aTextSizeMF.Denormalize(aTextSizeMF.GetValue(FUNIT_TWIP)));
-            aLinesPerPageNF.SetValue(m_aPageSize.Height() / nTextSize);
+            sal_Int32 nTextSize = static_cast< sal_Int32 >(m_pTextSizeMF->Denormalize(m_pTextSizeMF->GetValue(FUNIT_TWIP)));
+            m_pLinesPerPageNF->SetValue(m_aPageSize.Height() / nTextSize);
             m_bRubyUserValue = sal_False;
-            SetLinesOrCharsRanges( aLinesRangeFT , aLinesPerPageNF.GetMax() );
+            SetLinesOrCharsRanges( *m_pLinesRangeFT , m_pLinesPerPageNF->GetMax() );
         }
-        else if (&aCharWidthMF == pField)
+        else if (m_pCharWidthMF == pField)
         {
-            sal_Int32 nTextWidth = static_cast< sal_Int32 >(aCharWidthMF.Denormalize(aCharWidthMF.GetValue(FUNIT_TWIP)));
+            sal_Int32 nTextWidth = static_cast< sal_Int32 >(m_pCharWidthMF->Denormalize(m_pCharWidthMF->GetValue(FUNIT_TWIP)));
             sal_Int32 nMaxChar = 45 ;
             if (nTextWidth)
                 nMaxChar = m_aPageSize.Width() / nTextWidth;
-            aCharsPerLineNF.SetValue( nMaxChar );
-            SetLinesOrCharsRanges( aCharsRangeFT , aCharsPerLineNF.GetMax() );
+            m_pCharsPerLineNF->SetValue( nMaxChar );
+            SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
         }
         //rubySize is disabled
     }
@@ -483,25 +461,25 @@
 
 IMPL_LINK(SwTextGridPage, GridTypeHdl, RadioButton*, pButton)
 {
-    sal_Bool bEnable = &aNoGridRB != pButton;
-    sal_Int32 nIndex = 0;
-    while(aControls[nIndex])
-        aControls[nIndex++]->Enable(bEnable);
+    sal_Bool bEnable = m_pNoGridRB != pButton;
+    m_pLayoutFL->Enable(bEnable);
+    m_pDisplayFL->Enable(bEnable);
+
     //one special case
     if(bEnable)
-        DisplayGridHdl(&aDisplayCB);
+        DisplayGridHdl(m_pDisplayCB);
 
-    bEnable = &aCharsGridRB == pButton;
-    aSnapToCharsCB.Enable(bEnable);
+    bEnable = m_pCharsGridRB == pButton;
+    m_pSnapToCharsCB->Enable(bEnable);
 
-    bEnable = &aLinesGridRB == pButton;
+    bEnable = m_pLinesGridRB == pButton;
     if(bEnable && !m_bSquaredMode )
     {
-        aCharsPerLineFT.Enable(sal_False);
-        aCharsPerLineNF.Enable(sal_False);
-        aCharsRangeFT.Enable(sal_False);
-        aCharWidthFT.Enable(sal_False);
-        aCharWidthMF.Enable(sal_False);
+        m_pCharsPerLineFT->Enable(sal_False);
+        m_pCharsPerLineNF->Enable(sal_False);
+        m_pCharsRangeFT->Enable(sal_False);
+        m_pCharWidthFT->Enable(sal_False);
+        m_pCharWidthMF->Enable(sal_False);
     }
 
     GridModifyHdl(0);
@@ -510,9 +488,9 @@
 
 IMPL_LINK_NOARG(SwTextGridPage, DisplayGridHdl)
 {
-    sal_Bool bChecked = aDisplayCB.IsChecked();
-    aPrintCB.Enable(bChecked);
-    aPrintCB.Check(bChecked);
+    sal_Bool bChecked = m_pDisplayCB->IsChecked();
+    m_pPrintCB->Enable(bChecked);
+    m_pPrintCB->Check(bChecked);
     return 0;
 }
 
@@ -524,7 +502,7 @@
     if(pExSet)
         aSet.Put(*pExSet);
     PutGridItem(aSet);
-    aExampleWN.UpdateExample(aSet);
+    m_pExampleWN->UpdateExample(aSet);
     return 0;
 }
 
diff --git a/sw/source/ui/misc/pggrid.hrc b/sw/source/ui/misc/pggrid.hrc
deleted file mode 100644
index e4562d2..0000000
--- a/sw/source/ui/misc/pggrid.hrc
+++ /dev/null
@@ -1,46 +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 FL_GRID_TYPE        1
-#define RB_NOGRID           2
-#define RB_LINESGRID        3
-#define RB_CHARSGRID        4
-#define WN_EXAMPLE          5
-#define FL_LAYOUT           6
-#define FT_LINESPERPAGE     7
-#define NF_LINESPERPAGE     8
-#define FT_TEXTSIZE         10
-#define MF_TEXTSIZE         11
-#define FT_CHARSPERLINE     12
-#define NF_CHARSPERLINE     13
-#define FT_RUBYSIZE         15
-#define MF_RUBYSIZE         16
-#define CB_RUBYBELOW        17
-#define FL_DISPLAY          18
-#define CB_DISPLAY          19
-#define CB_PRINT            20
-#define FT_COLOR            21
-#define LB_COLOR            22
-#define CB_SNAPTOCHARS      23
-#define FT_CHARWIDTH        24
-#define MF_CHARWIDTH        25
-#define FT_LINERANGE       26
-#define FT_CHARRANGE       27
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/misc/pggrid.src b/sw/source/ui/misc/pggrid.src
deleted file mode 100644
index 10a815d..0000000
--- a/sw/source/ui/misc/pggrid.src
+++ /dev/null
@@ -1,247 +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 .
- */
-#include "globals.hrc"
-#include "pggrid.hrc"
-#include "helpid.h"
-TabPage TP_TEXTGRID_PAGE
-{
-    HelpID = HID_TEXTGRID_PAGE;
-    Pos = MAP_APPFONT ( 0 , 0 ) ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    Hide = TRUE;
-    FixedLine       FL_GRID_TYPE
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 164 , 8 ) ;
-        Text [ en-US ] = "Grid" ;
-    };
-    RadioButton     RB_NOGRID
-    {
-        HelpID = "sw:RadioButton:TP_TEXTGRID_PAGE:RB_NOGRID";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 158 , 10 ) ;
-        Text [ en-US ] = "No grid" ;
-    };
-    RadioButton     RB_LINESGRID
-    {
-        HelpID = "sw:RadioButton:TP_TEXTGRID_PAGE:RB_LINESGRID";
-        Pos = MAP_APPFONT ( 12 , 27 ) ;
-        Size = MAP_APPFONT ( 158 , 10 ) ;
-        Text [ en-US ] = "Grid (lines only)" ;
-    };
-    RadioButton     RB_CHARSGRID
-    {
-        HelpID = "sw:RadioButton:TP_TEXTGRID_PAGE:RB_CHARSGRID";
-        Pos = MAP_APPFONT ( 12 , 40 ) ;
-        Size = MAP_APPFONT ( 158 , 10 ) ;
-        Text [ en-US ] = "Grid (lines and characters)" ;
-    };
-    CheckBox        CB_SNAPTOCHARS
-    {
-        HelpID = "sw:CheckBox:TP_TEXTGRID_PAGE:CB_SNAPTOCHARS";
-        Pos = MAP_APPFONT ( 14 , 53 ) ;
-        Size = MAP_APPFONT ( 158 , 10 ) ;
-        Text [ en-US ] = "~Snap to characters" ;
-    };
-    Window          WN_EXAMPLE
-    {
-        Pos = MAP_APPFONT ( 176 , 6 ) ;
-        Size = MAP_APPFONT ( 75 , 46 ) ;
-    };
-    FixedLine       FL_LAYOUT
-    {
-        Pos = MAP_APPFONT ( 6 , 69 ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Grid layout" ;
-    };
-    FixedText       FT_LINESPERPAGE
-    {
-        Pos = MAP_APPFONT ( 12 , 82 ) ;
-        Size = MAP_APPFONT ( 59 , 8 ) ;
-        Text [ en-US ] = "Lines per page" ;
-    };
-    NumericField    NF_LINESPERPAGE
-    {
-        HelpID = "sw:NumericField:TP_TEXTGRID_PAGE:NF_LINESPERPAGE";
-        Pos = MAP_APPFONT ( 74 , 80 ) ;
-        Size = MAP_APPFONT ( 25 , 12 ) ;
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 1 ;
-        Maximum = 154 ;
-        Value = 1 ;
-        First = 1 ;
-        Last = 154 ;
-        SpinSize = 1 ;
-    };
-    FixedText       FT_LINERANGE
-    {
-        Pos = MAP_APPFONT ( 103 , 82 ) ;
-        Size = MAP_APPFONT ( 25 , 8 );
-        Text [ en-US ] = "( 1 - 48 )" ;
-    };
-    FixedText       FT_TEXTSIZE
-    {
-        Pos = MAP_APPFONT ( 133 , 82 ) ;
-        Size = MAP_APPFONT ( 80 , 8 ) ;
-        Text [ en-US ] = "Max. base text size" ;
-    };
-    MetricField     MF_TEXTSIZE
-    {
-        HelpID = "sw:MetricField:TP_TEXTGRID_PAGE:MF_TEXTSIZE";
-        Pos = MAP_APPFONT ( 216 , 80 ) ;
-        Size = MAP_APPFONT ( 35 , 12 ) ;
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 100 ;
-        Maximum = 5600 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_POINT ;
-        First = 10 ;
-        Last = 5600 ;
-        SpinSize = 5 ;
-    };
-    FixedText       FT_CHARSPERLINE
-    {
-        Pos = MAP_APPFONT ( 12 , 98 ) ;
-        Size = MAP_APPFONT ( 59 , 8 ) ;
-        Text [ en-US ] = "Characters per line" ;
-    };
-    NumericField    NF_CHARSPERLINE
-    {
-        HelpID = "sw:NumericField:TP_TEXTGRID_PAGE:NF_CHARSPERLINE";
-        Pos = MAP_APPFONT ( 74 , 96 ) ;
-        Size = MAP_APPFONT ( 25 , 12 ) ;
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 1 ;
-        Maximum = 233 ;
-        Value = 1 ;
-        First = 1 ;
-        Last = 233 ;
-        SpinSize = 1 ;
-    };
-    FixedText       FT_CHARWIDTH
-    {
-        Pos = MAP_APPFONT ( 133 , 98 ) ;
-        Size = MAP_APPFONT ( 80 , 8 ) ;
-        Text [ en-US ] = "Character ~width" ;
-    };
-    MetricField     MF_CHARWIDTH
-    {
-        HelpID = "sw:MetricField:TP_TEXTGRID_PAGE:MF_CHARWIDTH";
-        Pos = MAP_APPFONT ( 216 , 96 ) ;
-        Size = MAP_APPFONT ( 35 , 12 ) ;
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 100 ;
-        Maximum = 5600 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_POINT;
-        First = 0 ;
-        Last = 5600 ;
-        SpinSize = 5 ;
-    };
-    FixedText       FT_CHARRANGE
-    {
-        Pos = MAP_APPFONT ( 103 , 96 ) ;
-        Size = MAP_APPFONT ( 25 , 8 ) ;
-        Text [ en-US ] = "( 1 - 45 )" ;
-    };
-    FixedText       FT_RUBYSIZE
-    {
-        Pos = MAP_APPFONT ( 133 , 98 ) ;
-        Size = MAP_APPFONT ( 80 , 8 ) ;
-        Text [ en-US ] = "Max. Ruby text size" ;
-    };
-    MetricField     MF_RUBYSIZE
-    {
-        HelpID = "sw:MetricField:TP_TEXTGRID_PAGE:MF_RUBYSIZE";
-        Pos = MAP_APPFONT ( 216 , 96 ) ;
-        Size = MAP_APPFONT ( 35 , 12 ) ;
-        Border = TRUE ;
-        TabStop = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 100 ;
-        Maximum = 5600 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_POINT;
-        First = 0 ;
-        Last = 5600 ;
-        SpinSize = 5 ;
-    };
-    CheckBox        CB_RUBYBELOW
-    {
-        HelpID = "sw:CheckBox:TP_TEXTGRID_PAGE:CB_RUBYBELOW";
-        Pos = MAP_APPFONT ( 14 , 112 ) ;
-        Size = MAP_APPFONT ( 237 , 10 ) ;
-        Text [ en-US ] = "Ruby text below/left from base text" ;
-    };
-    FixedLine       FL_DISPLAY
-    {
-        Pos = MAP_APPFONT ( 6 , 128 ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Grid display" ;
-    };
-    CheckBox        CB_DISPLAY
-    {
-        HelpID = "sw:CheckBox:TP_TEXTGRID_PAGE:CB_DISPLAY";
-        Pos = MAP_APPFONT ( 12 , 139 ) ;
-        Size = MAP_APPFONT ( 118 , 10 ) ;
-        Text [ en-US ] = "Display grid" ;
-    };
-    CheckBox        CB_PRINT
-    {
-        HelpID = "sw:CheckBox:TP_TEXTGRID_PAGE:CB_PRINT";
-        Pos = MAP_APPFONT ( 18 , 154 ) ;
-        Size = MAP_APPFONT ( 112 , 10 ) ;
-        Text [ en-US ] = "Print grid" ;
-    };
-    FixedText       FT_COLOR
-    {
-        Pos = MAP_APPFONT ( 133 , 139 ) ;
-        Size = MAP_APPFONT ( 55 , 8 ) ;
-        Text [ en-US ] = "Grid color" ;
-    };
-    ListBox         LB_COLOR
-    {
-        HelpID = "sw:ListBox:TP_TEXTGRID_PAGE:LB_COLOR";
-        Pos = MAP_APPFONT ( 191 , 137 ) ;
-        Size = MAP_APPFONT ( 60 , 50 ) ;
-        TabStop = TRUE;
-        Border = TRUE;
-        DropDown = TRUE;
-    };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/uiconfig/swriter/ui/textgridpage.ui b/sw/uiconfig/swriter/ui/textgridpage.ui
new file mode 100644
index 0000000..add16a9
--- /dev/null
+++ b/sw/uiconfig/swriter/ui/textgridpage.ui
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkAdjustment" id="adjustmentCHARSPERLINE">
+    <property name="lower">1</property>
+    <property name="upper">233</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentLINESPERPAGE">
+    <property name="lower">1</property>
+    <property name="upper">154</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentMetric">
+    <property name="lower">1</property>
+    <property name="upper">5600</property>
+    <property name="value">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkBox" id="TextGridPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkFrame" id="frameGrid">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <child>
+              <object class="GtkBox" id="box1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkGrid" id="GridGrid">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="border_width">6</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
+                    <child>
+                      <object class="GtkRadioButton" id="radioRB_NOGRID">
+                        <property name="label" translatable="yes">No grid</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">radioRB_LINESGRID</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="GtkRadioButton" id="radioRB_LINESGRID">
+                        <property name="label" translatable="yes">Grid (lines only)</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">radioRB_CHARSGRID</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="GtkRadioButton" id="radioRB_CHARSGRID">
+                        <property name="label" translatable="yes">Grid (lines and characters)</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">radioRB_NOGRID</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">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="swlo-SwPageGridExample" id="drawingareaWN_EXAMPLE">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">center</property>
+                    <property name="valign">center</property>
+                    <property name="hexpand">True</property>
+                    <property name="vexpand">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelGrid">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Grid</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="frameFL_LAYOUT">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="halign">start</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="box4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkGrid" id="grid1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_homogeneous">True</property>
+                    <child>
+                      <object class="GtkCheckButton" id="checkCB_SNAPTOCHARS">
+                        <property name="label" translatable="yes">_Snap to characters</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="margin_left">12</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">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>
+                    <child>
+                      <object class="GtkSpinButton" id="spinMF_CHARWIDTH:0pt">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="adjustment">adjustmentMetric</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_CHARWIDTH">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">Character _width:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_CHARSPERLINE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">Characters per line:</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="GtkSpinButton" id="spinNF_CHARSPERLINE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="adjustment">adjustmentCHARSPERLINE</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_CHARRANGE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">( 1 - 45 )</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_RUBYSIZE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">Max. Ruby text size:</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="spinMF_RUBYSIZE:0pt">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="adjustment">adjustmentMetric</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_LINESPERPAGE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">Lines per page:</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="GtkSpinButton" id="spinNF_LINESPERPAGE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="input_purpose">digits</property>
+                        <property name="adjustment">adjustmentLINESPERPAGE</property>
+                        <property name="numeric">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>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_LINERANGE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="ypad">4</property>
+                        <property name="label" translatable="yes">( 1 - 48 )</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="GtkLabel" id="labelFT_TEXTSIZE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="halign">start</property>
+                        <property name="label" translatable="yes">Max. base text size:</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="GtkSpinButton" id="spinMF_TEXTSIZE:0pt">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="adjustment">adjustmentMetric</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="checkCB_RUBYBELOW">
+                    <property name="label" translatable="yes">Ruby text below/left from base text</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="margin_left">12</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">5</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelGridLayout">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Grid layout</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="frameFL_DISPLAY">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label_xalign">0</property>
+        <property name="shadow_type">none</property>
+        <child>
+          <object class="GtkAlignment" id="alignment2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="top_padding">6</property>
+            <property name="left_padding">12</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">12</property>
+                <child>
+                  <object class="GtkCheckButton" id="checkCB_DISPLAY">
+                    <property name="label" translatable="yes">Display grid</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="xalign">0.14000000059604645</property>
+                    <property name="draw_indicator">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="GtkCheckButton" id="checkCB_PRINT">
+                    <property name="label" translatable="yes">Print grid</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="margin_left">12</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">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="labelFT_COLOR">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">end</property>
+                    <property name="label" translatable="yes">Grid color:</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>
+                <child>
+                  <object class="svtlo-ColorListBox" id="listLB_COLOR">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="valign">center</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>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelFL_DISPLAY">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Grid display</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">2</property>
+      </packing>
+    </child>
+  </object>
+</interface>

-- 
To view, visit https://gerrit.libreoffice.org/3270
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If016e387aae1a36d6d78bbefd52b231a49201617
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Olivier Hallot <olivier.hallot at edx.srv.br>



More information about the LibreOffice mailing list