[PATCH] Convert Paragraph Alignment & Indent to Widget UI

Olivier Hallot (via Code Review) gerrit at gerrit.libreoffice.org
Sun May 26 18:59:07 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/4047

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/47/4047/1

Convert Paragraph Alignment & Indent to Widget UI

Conver Paragraph Alignment and Indent & Spacing to widget UI.

Change-Id: Ib3b7d76a63bd677d5d94f7385bbf589f18eceeda
---
M cui/UIConfig_cui.mk
M cui/source/inc/paragrph.hxx
M cui/source/tabpages/paragrph.cxx
M cui/source/tabpages/paragrph.hrc
M cui/source/tabpages/paragrph.src
A cui/uiconfig/ui/paragalignpage.ui
A cui/uiconfig/ui/paraindentspacing.ui
M extras/source/glade/libreoffice-catalog.xml.in
M include/svx/paraprev.hxx
M include/svx/relfld.hxx
M svx/source/dialog/paraprev.cxx
M svx/source/dialog/relfld.cxx
12 files changed, 1,502 insertions(+), 901 deletions(-)



diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index c065510..12eaacb 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -56,6 +56,8 @@
 	cui/uiconfig/ui/optuserpage \
 	cui/uiconfig/ui/optviewpage \
 	cui/uiconfig/ui/pageformatpage \
+        cui/uiconfig/ui/paragalignpage \
+        cui/uiconfig/ui/paraindentspacing \
 	cui/uiconfig/ui/pastespecial \
 	cui/uiconfig/ui/personalization_tab \
 	cui/uiconfig/ui/pickbulletpage \
diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx
index c28689c..f667e0a 100644
--- a/cui/source/inc/paragrph.hxx
+++ b/cui/source/inc/paragrph.hxx
@@ -27,6 +27,7 @@
 #include <svx/frmdirlbox.hxx>
 #include <vcl/lstbox.hxx>
 #include <svx/flagsdef.hxx>
+#include <boost/graph/graph_concepts.hpp>
 
 // forward ---------------------------------------------------------------
 
@@ -54,46 +55,39 @@
 private:
     SvxStdParagraphTabPage( Window* pParent, const SfxItemSet& rSet );
 
-    FixedLine               aIndentFrm;
     // indention
-    FixedText               aLeftLabel;
-    SvxRelativeField        aLeftIndent;
+    SvxRelativeField*       m_pLeftIndent;
 
-    FixedText               aRightLabel;
-    SvxRelativeField        aRightIndent;
+    FixedText*              m_pRightLabel;
+    SvxRelativeField*       m_pRightIndent;
 
-    FixedText               aFLineLabel;
-    SvxRelativeField        aFLineIndent;
-    CheckBox                aAutoCB;
-
-    FixedLine               aDistFrm;
+    FixedText*              m_pFLineLabel;
+    SvxRelativeField*       m_pFLineIndent;
+    CheckBox*               m_pAutoCB;
 
     // distance
-    FixedText               aTopLabel;
-    SvxRelativeField        aTopDist;
-    FixedText               aBottomLabel;
-    SvxRelativeField        aBottomDist;
-    CheckBox                aContextualCB;
+    SvxRelativeField*       m_pTopDist;
+    SvxRelativeField*       m_pBottomDist;
+    CheckBox*               m_pContextualCB;
 
     // line spacing
-    FixedLine               aLineDistFrm;
-    ListBox                 aLineDist;
-    FixedText               aLineDistAtLabel;
-    MetricField             aLineDistAtPercentBox;
-    MetricField             aLineDistAtMetricBox;
-    String                  sAbsDist;
-    SvxParaPrevWindow       aExampleWin;
+    ListBox*                m_pLineDist;
+    FixedText*              m_pLineDistAtLabel;
+    MetricField*            m_pLineDistAtPercentBox;
+    MetricField*            m_pLineDistAtMetricBox;
+    FixedText*              m_pAbsDist;
+    OUString                sAbsDist;
+    SvxParaPrevWindow*      m_pExampleWin;
 
     // only writer
-    FixedLine               aRegisterFL;
-    CheckBox                aRegisterCB;
+    VclFrame*               m_pRegisterFL;
+    CheckBox*               m_pRegisterCB;
 
-    Edit*                   pActLineDistFld;
     long                    nAbst;
     long                    nWidth;
     long                    nMinFixDist;
-    sal_Bool                    bRelativeMode;
-    sal_Bool                    bNegativeIndents;
+    sal_Bool                bRelativeMode;
+    sal_Bool                bNegativeIndents;
 
     void                    SetLineSpacing_Impl( const SvxLineSpacingItem& rAttr );
     void                    Init_Impl();
@@ -105,14 +99,16 @@
 
 protected:
     virtual int             DeactivatePage( SfxItemSet* pSet = 0 );
+    //void OUString();
+
 
 public:
     DECL_LINK(ELRLoseFocusHdl, void *);
 
     static SfxTabPage*      Create( Window* pParent, const SfxItemSet& rSet );
-    static sal_uInt16*          GetRanges();
+    static sal_uInt16*      GetRanges();
 
-    virtual sal_Bool            FillItemSet( SfxItemSet& rSet );
+    virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
     virtual void            Reset( const SfxItemSet& rSet );
 
 
@@ -124,6 +120,8 @@
     void                    EnableAbsLineDist(long nMinTwip);
     void                    EnableNegativeMode();
     virtual void            PageCreated(SfxAllItemSet aSet);
+
+    virtual                ~SvxStdParagraphTabPage();
 };
 
 // class SvxParaAlignTabPage ------------------------------------------------
@@ -133,28 +131,26 @@
     using TabPage::DeactivatePage;
 
     // alignment
-    FixedLine               aAlignFrm;
-    RadioButton             aLeft;
-    RadioButton             aRight;
-    RadioButton             aCenter;
-    RadioButton             aJustify;
-    FixedText               aLastLineFT;
-    ListBox                 aLastLineLB;
-    CheckBox                aExpandCB;
+    RadioButton*             m_pLeft;
+    RadioButton*             m_pRight;
+    RadioButton*             m_pCenter;
+    RadioButton*             m_pJustify;
+    FixedText*               m_pLeftBottom;
+    FixedText*               m_pRightTop;
 
-    CheckBox                aSnapToGridCB;
+    FixedText*               m_pLastLineFT;
+    ListBox*                 m_pLastLineLB;
+    CheckBox*                m_pExpandCB;
+
+    CheckBox*                m_pSnapToGridCB;
 
     //preview
-    SvxParaPrevWindow       aExampleWin;
+    SvxParaPrevWindow*       m_pExampleWin;
     //vertical alignment
-    FixedLine               aVertAlignFL;
+    ListBox*                 m_pVertAlignLB;
 
-    FixedText               aVertAlignFT;
-    ListBox                 aVertAlignLB;
-
-    FixedLine                   aPropertiesFL;
-    FixedText                   aTextDirectionFT;
-    svx::FrameDirectionListBox  aTextDirectionLB;
+    VclFrame*                m_pPropertiesFL;
+    svx::FrameDirectionListBox*  m_pTextDirectionLB;
 
     DECL_LINK(AlignHdl_Impl, void *);
     DECL_LINK(LastLineHdl_Impl, void *);
@@ -170,9 +166,9 @@
 
 public:
     static SfxTabPage*      Create( Window* pParent, const SfxItemSet& rSet );
-    static sal_uInt16*          GetRanges();
+    static sal_uInt16*      GetRanges();
 
-    virtual sal_Bool            FillItemSet( SfxItemSet& rSet );
+    virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
     virtual void            Reset( const SfxItemSet& rSet );
 
     void                    EnableJustifyExt();
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index e82ffb3..e41b73c 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -50,6 +50,7 @@
 #include <svl/eitem.hxx>
 #include <sfx2/request.hxx>
 #include <svl/intitem.hxx>
+//#include <../rsc/inc/rsclex.hxx>
 
 // static ----------------------------------------------------------------
 
@@ -172,41 +173,40 @@
     FieldUnit eUnit =
         MapToFieldUnit( pPool->GetMetric( GetWhich( SID_ATTR_LRSPACE ) ) );
 
-    sal_Int64 nL = aLeftIndent.Denormalize( aLeftIndent.GetValue( eUnit ) );
-    sal_Int64 nR = aRightIndent.Denormalize( aRightIndent.GetValue( eUnit ) );
-    String aTmp = aFLineIndent.GetText();
+    sal_Int64 nL = m_pLeftIndent->Denormalize( m_pLeftIndent->GetValue( eUnit ) );
+    sal_Int64 nR = m_pRightIndent->Denormalize( m_pRightIndent->GetValue( eUnit ) );
+    OUString aTmp = m_pFLineIndent->GetText();
 
-    if( aLeftIndent.GetMin() < 0 )
-        aFLineIndent.SetMin( -99999, FUNIT_MM );
+    if( m_pLeftIndent->GetMin() < 0 )
+        m_pFLineIndent->SetMin( -99999, FUNIT_MM );
     else
-        aFLineIndent.SetMin( aFLineIndent.Normalize( -nL ), eUnit );
+        m_pFLineIndent->SetMin( m_pFLineIndent->Normalize( -nL ), eUnit );
 
     // Check only for concrete width (Shell)
     sal_Int64 nTmp = nWidth - nL - nR - MM50;
-    aFLineIndent.SetMax( aFLineIndent.Normalize( nTmp ), eUnit );
+    m_pFLineIndent->SetMax( m_pFLineIndent->Normalize( nTmp ), eUnit );
 
-    if ( !aTmp.Len() )
-        aFLineIndent.SetEmptyFieldValue();
+    if ( aTmp.isEmpty() )
+        m_pFLineIndent->SetEmptyFieldValue();
     // maximum left right
-    aTmp = aLeftIndent.GetText();
+    aTmp = m_pLeftIndent->GetText();
     nTmp = nWidth - nR - MM50;
-    aLeftIndent.SetMax( aLeftIndent.Normalize( nTmp ), eUnit );
+    m_pLeftIndent->SetMax( m_pLeftIndent->Normalize( nTmp ), eUnit );
 
-    if ( !aTmp.Len() )
-        aLeftIndent.SetEmptyFieldValue();
-    aTmp = aRightIndent.GetText();
+    if ( aTmp.isEmpty() )
+        m_pLeftIndent->SetEmptyFieldValue();
+    aTmp = m_pRightIndent->GetText();
     nTmp = nWidth - nL - MM50;
-    aRightIndent.SetMax( aRightIndent.Normalize( nTmp ), eUnit );
+    m_pRightIndent->SetMax( m_pRightIndent->Normalize( nTmp ), eUnit );
 
-    if ( !aTmp.Len() )
-        aRightIndent.SetEmptyFieldValue();
+    if ( aTmp.isEmpty() )
+        m_pRightIndent->SetEmptyFieldValue();
     return 0;
 }
 
 // -----------------------------------------------------------------------
 
-SfxTabPage* SvxStdParagraphTabPage::Create( Window* pParent,
-                                            const SfxItemSet& rSet)
+SfxTabPage* SvxStdParagraphTabPage::Create( Window* pParent, const SfxItemSet& rSet)
 {
     return new SvxStdParagraphTabPage( pParent, rSet );
 }
@@ -222,12 +222,12 @@
 
     sal_Bool bModified = sal_False;
     sal_uInt16 nWhich;
-    sal_uInt16 nPos = aLineDist.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLineDist->GetSelectEntryPos();
 
     if ( LISTBOX_ENTRY_NOTFOUND != nPos &&
-         ( nPos != aLineDist.GetSavedValue() ||
-           aLineDistAtPercentBox.IsValueModified() ||
-           aLineDistAtMetricBox.IsValueModified() ) )
+         ( nPos != m_pLineDist->GetSavedValue() ||
+           m_pLineDistAtPercentBox->IsValueModified() ||
+           m_pLineDistAtMetricBox->IsValueModified() ) )
     {
         nWhich = GetWhich( SID_ATTR_PARA_LINESPACE );
         SfxMapUnit eUnit = pPool->GetMetric( nWhich );
@@ -244,15 +244,15 @@
 
             case LLINESPACE_PROP:
                 SetLineSpace_Impl( aSpacing, nPos,
-                                   static_cast<long>(aLineDistAtPercentBox.Denormalize(
-                                   aLineDistAtPercentBox.GetValue() )) );
+                                   static_cast<long>(m_pLineDistAtPercentBox->Denormalize(
+                                   m_pLineDistAtPercentBox->GetValue() )) );
                 break;
 
             case LLINESPACE_MIN:
             case LLINESPACE_DURCH:
             case LLINESPACE_FIX:
                 SetLineSpace_Impl( aSpacing, nPos,
-                    GetCoreValue( aLineDistAtMetricBox, eUnit ) );
+                    GetCoreValue( *m_pLineDistAtMetricBox, eUnit ) );
             break;
 
             default:
@@ -270,8 +270,8 @@
         }
     }
 
-    if ( aTopDist.IsValueModified() || aBottomDist.IsValueModified()
-            || aContextualCB.GetSavedValue() != aContextualCB.IsChecked())
+    if ( m_pTopDist->IsValueModified() || m_pBottomDist->IsValueModified()
+            || m_pContextualCB->GetSavedValue() != m_pContextualCB->IsChecked())
     {
         nWhich = GetWhich( SID_ATTR_ULSPACE );
         SfxMapUnit eUnit = pPool->GetMetric( nWhich );
@@ -285,25 +285,25 @@
             const SvxULSpaceItem& rOldItem =
                 (const SvxULSpaceItem&)GetItemSet().GetParent()->Get( nWhich );
 
-            if ( aTopDist.IsRelative() )
+            if ( m_pTopDist->IsRelative() )
                 aMargin.SetUpper( rOldItem.GetUpper(),
-                                  (sal_uInt16)aTopDist.GetValue() );
+                                  (sal_uInt16)m_pTopDist->GetValue() );
             else
-                aMargin.SetUpper( (sal_uInt16)GetCoreValue( aTopDist, eUnit ) );
+                aMargin.SetUpper( (sal_uInt16)GetCoreValue( *m_pTopDist, eUnit ) );
 
-            if ( aBottomDist.IsRelative() )
+            if ( m_pBottomDist->IsRelative() )
                 aMargin.SetLower( rOldItem.GetLower(),
-                                  (sal_uInt16)aBottomDist.GetValue() );
+                                  (sal_uInt16)m_pBottomDist->GetValue() );
             else
-                aMargin.SetLower( (sal_uInt16)GetCoreValue( aBottomDist, eUnit ) );
+                aMargin.SetLower( (sal_uInt16)GetCoreValue( *m_pBottomDist, eUnit ) );
 
         }
         else
         {
-            aMargin.SetUpper( (sal_uInt16)GetCoreValue( aTopDist, eUnit ) );
-            aMargin.SetLower( (sal_uInt16)GetCoreValue( aBottomDist, eUnit ) );
+            aMargin.SetUpper( (sal_uInt16)GetCoreValue( *m_pTopDist, eUnit ) );
+            aMargin.SetLower( (sal_uInt16)GetCoreValue( *m_pBottomDist, eUnit ) );
         }
-        aMargin.SetContextValue(aContextualCB.IsChecked());
+        aMargin.SetContextValue(m_pContextualCB->IsChecked());
         eState = GetItemSet().GetItemState( nWhich );
 
         if ( !pOld || !( *(const SvxULSpaceItem*)pOld == aMargin ) ||
@@ -315,10 +315,10 @@
     }
     bool bNullTab = false;
 
-    if ( aLeftIndent.IsValueModified() ||
-         aFLineIndent.IsValueModified() ||
-         aRightIndent.IsValueModified()
-         ||  aAutoCB.GetSavedValue() != aAutoCB.IsChecked() )
+    if ( m_pLeftIndent->IsValueModified() ||
+         m_pFLineIndent->IsValueModified() ||
+         m_pRightIndent->IsValueModified()
+         ||  m_pAutoCB->GetSavedValue() != m_pAutoCB->IsChecked() )
     {
         nWhich = GetWhich( SID_ATTR_LRSPACE );
         SfxMapUnit eUnit = pPool->GetMetric( nWhich );
@@ -332,33 +332,33 @@
             const SvxLRSpaceItem& rOldItem =
                 (const SvxLRSpaceItem&)GetItemSet().GetParent()->Get( nWhich );
 
-            if ( aLeftIndent.IsRelative() )
+            if ( m_pLeftIndent->IsRelative() )
                 aMargin.SetTxtLeft( rOldItem.GetTxtLeft(),
-                                    (sal_uInt16)aLeftIndent.GetValue() );
+                                    (sal_uInt16)m_pLeftIndent->GetValue() );
             else
-                aMargin.SetTxtLeft( GetCoreValue( aLeftIndent, eUnit ) );
+                aMargin.SetTxtLeft( GetCoreValue( *m_pLeftIndent, eUnit ) );
 
-            if ( aRightIndent.IsRelative() )
+            if ( m_pRightIndent->IsRelative() )
                 aMargin.SetRight( rOldItem.GetRight(),
-                                  (sal_uInt16)aRightIndent.GetValue() );
+                                  (sal_uInt16)m_pRightIndent->GetValue() );
             else
-                aMargin.SetRight( GetCoreValue( aRightIndent, eUnit ) );
+                aMargin.SetRight( GetCoreValue( *m_pRightIndent, eUnit ) );
 
-            if ( aFLineIndent.IsRelative() )
+            if ( m_pFLineIndent->IsRelative() )
                 aMargin.SetTxtFirstLineOfst( rOldItem.GetTxtFirstLineOfst(),
-                                             (sal_uInt16)aFLineIndent.GetValue() );
+                                             (sal_uInt16)m_pFLineIndent->GetValue() );
             else
                 aMargin.SetTxtFirstLineOfst(
-                    (sal_uInt16)GetCoreValue( aFLineIndent, eUnit ) );
+                    (sal_uInt16)GetCoreValue( *m_pFLineIndent, eUnit ) );
         }
         else
         {
-            aMargin.SetTxtLeft( GetCoreValue( aLeftIndent, eUnit ) );
-            aMargin.SetRight( GetCoreValue( aRightIndent, eUnit ) );
+            aMargin.SetTxtLeft( GetCoreValue( *m_pLeftIndent, eUnit ) );
+            aMargin.SetRight( GetCoreValue( *m_pRightIndent, eUnit ) );
             aMargin.SetTxtFirstLineOfst(
-                (sal_uInt16)GetCoreValue( aFLineIndent, eUnit ) );
+                (sal_uInt16)GetCoreValue( *m_pFLineIndent, eUnit ) );
         }
-        aMargin.SetAutoFirst(aAutoCB.IsChecked());
+        aMargin.SetAutoFirst(m_pAutoCB->IsChecked());
         if ( aMargin.GetTxtFirstLineOfst() < 0 )
             bNullTab = true;
         eState = GetItemSet().GetItemState( nWhich );
@@ -392,7 +392,7 @@
             }
         }
     }
-    if( aRegisterCB.IsVisible())
+    if( m_pRegisterCB->IsVisible())
     {
         const SfxBoolItem* pBoolItem = (SfxBoolItem*)GetOldItem(
                             rOutSet, SID_ATTR_PARA_REGISTER);
@@ -400,7 +400,7 @@
         sal_uInt16 _nWhich = GetWhich( SID_ATTR_PARA_REGISTER );
         sal_Bool bSet = pRegItem->GetValue();
 
-        if(aRegisterCB.IsChecked() != bSet )
+        if(m_pRegisterCB->IsChecked() != bSet )
         {
             pRegItem->SetValue(!bSet);
             rOutSet.Put(*pRegItem);
@@ -430,20 +430,20 @@
     if(aCJKOptions.IsAsianTypographyEnabled() && bApplyCharUnit )
         eFUnit = FUNIT_CHAR;
 
-    SetFieldUnit( aLeftIndent, eFUnit );
-    SetFieldUnit( aRightIndent, eFUnit );
-    SetFieldUnit( aFLineIndent, eFUnit );
+    SetFieldUnit( *m_pLeftIndent, eFUnit );
+    SetFieldUnit( *m_pRightIndent, eFUnit );
+    SetFieldUnit( *m_pFLineIndent, eFUnit );
     if ( eFUnit == FUNIT_CHAR )
     {
-        SetFieldUnit( aTopDist, FUNIT_LINE );
-        SetFieldUnit( aBottomDist, FUNIT_LINE );
-        SetFieldUnit( aLineDistAtMetricBox, FUNIT_POINT );
+        SetFieldUnit( *m_pTopDist, FUNIT_LINE );
+        SetFieldUnit( *m_pBottomDist, FUNIT_LINE );
+        SetFieldUnit( *m_pLineDistAtMetricBox, FUNIT_POINT );
     }
     else
     {
-        SetFieldUnit( aTopDist, eFUnit );
-        SetFieldUnit( aBottomDist, eFUnit );
-        SetFieldUnit( aLineDistAtMetricBox, eFUnit );
+        SetFieldUnit( *m_pTopDist, eFUnit );
+        SetFieldUnit( *m_pBottomDist, eFUnit );
+        SetFieldUnit( *m_pLineDistAtMetricBox, eFUnit );
     }
 
     sal_uInt16 _nWhich = GetWhich( SID_ATTR_LRSPACE );
@@ -460,60 +460,60 @@
 
             if ( rOldItem.GetPropLeft() != 100 )
             {
-                aLeftIndent.SetRelative( sal_True );
-                aLeftIndent.SetValue( rOldItem.GetPropLeft() );
+                m_pLeftIndent->SetRelative( sal_True );
+                m_pLeftIndent->SetValue( rOldItem.GetPropLeft() );
             }
             else
             {
-                aLeftIndent.SetRelative();
-                SetFieldUnit( aLeftIndent, eFUnit );
-                SetMetricValue( aLeftIndent, rOldItem.GetTxtLeft(), eUnit );
+                m_pLeftIndent->SetRelative();
+                SetFieldUnit( *m_pLeftIndent, eFUnit );
+                SetMetricValue( *m_pLeftIndent, rOldItem.GetTxtLeft(), eUnit );
             }
 
             if ( rOldItem.GetPropRight() != 100 )
             {
-                aRightIndent.SetRelative( sal_True );
-                aRightIndent.SetValue( rOldItem.GetPropRight() );
+                m_pRightIndent->SetRelative( sal_True );
+                m_pRightIndent->SetValue( rOldItem.GetPropRight() );
             }
             else
             {
-                aRightIndent.SetRelative();
-                SetFieldUnit( aRightIndent, eFUnit );
-                SetMetricValue( aRightIndent, rOldItem.GetRight(), eUnit );
+                m_pRightIndent->SetRelative();
+                SetFieldUnit( *m_pRightIndent, eFUnit );
+                SetMetricValue( *m_pRightIndent, rOldItem.GetRight(), eUnit );
             }
 
             if ( rOldItem.GetPropTxtFirstLineOfst() != 100 )
             {
-                aFLineIndent.SetRelative( sal_True );
-                aFLineIndent.SetValue( rOldItem.GetPropTxtFirstLineOfst() );
+                m_pFLineIndent->SetRelative( sal_True );
+                m_pFLineIndent->SetValue( rOldItem.GetPropTxtFirstLineOfst() );
             }
             else
             {
-                aFLineIndent.SetRelative();
-                aFLineIndent.SetMin(-9999);
-                SetFieldUnit( aFLineIndent, eFUnit );
-                SetMetricValue( aFLineIndent, rOldItem.GetTxtFirstLineOfst(),
+                m_pFLineIndent->SetRelative();
+                m_pFLineIndent->SetMin(-9999);
+                SetFieldUnit( *m_pFLineIndent, eFUnit );
+                SetMetricValue( *m_pFLineIndent, rOldItem.GetTxtFirstLineOfst(),
                                 eUnit );
             }
-            aAutoCB.Check(rOldItem.IsAutoFirst());
+            m_pAutoCB->Check(rOldItem.IsAutoFirst());
         }
         else
         {
             const SvxLRSpaceItem& rSpace =
                 (const SvxLRSpaceItem&)rSet.Get( _nWhich );
 
-            SetMetricValue( aLeftIndent, rSpace.GetTxtLeft(), eUnit );
-            SetMetricValue( aRightIndent, rSpace.GetRight(), eUnit );
-            SetMetricValue( aFLineIndent, rSpace.GetTxtFirstLineOfst(), eUnit );
-            aAutoCB.Check(rSpace.IsAutoFirst());
+            SetMetricValue( *m_pLeftIndent, rSpace.GetTxtLeft(), eUnit );
+            SetMetricValue( *m_pRightIndent, rSpace.GetRight(), eUnit );
+            SetMetricValue( *m_pFLineIndent, rSpace.GetTxtFirstLineOfst(), eUnit );
+            m_pAutoCB->Check(rSpace.IsAutoFirst());
         }
-        AutoHdl_Impl(&aAutoCB);
+        AutoHdl_Impl(m_pAutoCB);
     }
     else
     {
-        aLeftIndent.SetEmptyFieldValue();
-        aRightIndent.SetEmptyFieldValue();
-        aFLineIndent.SetEmptyFieldValue();
+        m_pLeftIndent->SetEmptyFieldValue();
+        m_pRightIndent->SetEmptyFieldValue();
+        m_pFLineIndent->SetEmptyFieldValue();
     }
 
     _nWhich = GetWhich( SID_ATTR_ULSPACE );
@@ -530,45 +530,45 @@
 
             if ( rOldItem.GetPropUpper() != 100 )
             {
-                aTopDist.SetRelative( sal_True );
-                aTopDist.SetValue( rOldItem.GetPropUpper() );
+                m_pTopDist->SetRelative( sal_True );
+                m_pTopDist->SetValue( rOldItem.GetPropUpper() );
             }
             else
             {
-                aTopDist.SetRelative();
+                m_pTopDist->SetRelative();
                 if ( eFUnit == FUNIT_CHAR )
-                    SetFieldUnit( aTopDist, FUNIT_LINE );
+                    SetFieldUnit( *m_pTopDist, FUNIT_LINE );
                 else
-                    SetFieldUnit( aTopDist, eFUnit );
-                SetMetricValue( aTopDist, rOldItem.GetUpper(), eUnit );
+                    SetFieldUnit( *m_pTopDist, eFUnit );
+                SetMetricValue( *m_pTopDist, rOldItem.GetUpper(), eUnit );
             }
 
             if ( rOldItem.GetPropLower() != 100 )
             {
-                aBottomDist.SetRelative( sal_True );
-                aBottomDist.SetValue( rOldItem.GetPropLower() );
+                m_pBottomDist->SetRelative( sal_True );
+                m_pBottomDist->SetValue( rOldItem.GetPropLower() );
             }
             else
             {
-                aBottomDist.SetRelative();
+                m_pBottomDist->SetRelative();
                 if ( eFUnit == FUNIT_CHAR )
-                    SetFieldUnit( aBottomDist, FUNIT_LINE );
+                    SetFieldUnit( *m_pBottomDist, FUNIT_LINE );
                 else
-                    SetFieldUnit( aBottomDist, eFUnit );
-                SetMetricValue( aBottomDist, rOldItem.GetLower(), eUnit );
+                    SetFieldUnit( *m_pBottomDist, eFUnit );
+                SetMetricValue( *m_pBottomDist, rOldItem.GetLower(), eUnit );
             }
         }
         else
         {
-            SetMetricValue( aTopDist, rOldItem.GetUpper(), eUnit );
-            SetMetricValue( aBottomDist, rOldItem.GetLower(), eUnit );
+            SetMetricValue( *m_pTopDist, rOldItem.GetUpper(), eUnit );
+            SetMetricValue( *m_pBottomDist, rOldItem.GetLower(), eUnit );
         }
-        aContextualCB.Check(rOldItem.GetContext());
+        m_pContextualCB->Check(rOldItem.GetContext());
     }
     else
     {
-        aTopDist.SetEmptyFieldValue();
-        aBottomDist.SetEmptyFieldValue();
+        m_pTopDist->SetEmptyFieldValue();
+        m_pBottomDist->SetEmptyFieldValue();
     }
 
     _nWhich = GetWhich( SID_ATTR_PARA_LINESPACE );
@@ -577,36 +577,36 @@
     if ( eItemState >= SFX_ITEM_AVAILABLE )
         SetLineSpacing_Impl( (const SvxLineSpacingItem &)rSet.Get( _nWhich ) );
     else
-        aLineDist.SetNoSelection();
+        m_pLineDist->SetNoSelection();
 
 
     _nWhich = GetWhich( SID_ATTR_PARA_REGISTER );
     eItemState = rSet.GetItemState( _nWhich );
 
     if ( eItemState >= SFX_ITEM_AVAILABLE )
-        aRegisterCB.Check( ((const SfxBoolItem &)rSet.Get( _nWhich )).GetValue());
-    aRegisterCB.SaveValue();
+        m_pRegisterCB->Check( ((const SfxBoolItem &)rSet.Get( _nWhich )).GetValue());
+    m_pRegisterCB->SaveValue();
     sal_uInt16 nHtmlMode = GetHtmlMode_Impl(rSet);
     if(nHtmlMode & HTMLMODE_ON)
     {
-        aRegisterCB.Hide();
-        aRegisterFL.Hide();
-        aAutoCB.Hide();
+        m_pRegisterFL->Hide();
+        m_pAutoCB->Hide();
+
         if(!(nHtmlMode & HTMLMODE_SOME_STYLES)) // IE or SW
         {
-            aRightLabel.Disable();
-            aRightIndent.Disable();
-            aTopDist.Disable();  //HTML3.2 and NS 3.0
-            aBottomDist.Disable();
-            aFLineIndent.Disable();
-            aFLineLabel.Disable();
+            m_pRightLabel->Disable();
+            m_pRightIndent->Disable();
+            m_pTopDist->Disable();  //HTML3.2 and NS 3.0
+            m_pBottomDist->Disable();
+            m_pFLineIndent->Disable();
+            m_pFLineLabel->Disable();
         }
     }
 
     ELRLoseFocusHdl( NULL );
-    aAutoCB.SaveValue();
-    aContextualCB.SaveValue();
-    aLineDist.SaveValue();
+    m_pAutoCB->SaveValue();
+    m_pContextualCB->SaveValue();
+    m_pLineDist->SaveValue();
 }
 
 // -----------------------------------------------------------------------
@@ -615,11 +615,11 @@
 {
     DBG_ASSERT( GetItemSet().GetParent(), "RelativeMode, but no parent-set!" );
 
-    aLeftIndent.EnableRelativeMode( 0, 999 );
-    aFLineIndent.EnableRelativeMode( 0, 999 );
-    aRightIndent.EnableRelativeMode( 0, 999 );
-    aTopDist.EnableRelativeMode( 0, 999 );
-    aBottomDist.EnableRelativeMode( 0, 999 );
+    m_pLeftIndent->EnableRelativeMode( 0, 999 );
+    m_pFLineIndent->EnableRelativeMode( 0, 999 );
+    m_pRightIndent->EnableRelativeMode( 0, 999 );
+    m_pTopDist->EnableRelativeMode( 0, 999 );
+    m_pBottomDist->EnableRelativeMode( 0, 999 );
     bRelativeMode = sal_True;
 }
 
@@ -636,37 +636,9 @@
 
 // -----------------------------------------------------------------------
 
-SvxStdParagraphTabPage::SvxStdParagraphTabPage( Window* pParent,
-                                                const SfxItemSet& rAttr ) :
+SvxStdParagraphTabPage::SvxStdParagraphTabPage( Window* pParent,  const SfxItemSet& rAttr ) :
+    SfxTabPage( pParent, "ParaIndentSpacing","cui/ui/paraindentspacing.ui", rAttr ),
 
-    SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_STD_PARAGRAPH ), rAttr ),
-
-    aIndentFrm              ( this, CUI_RES( FL_INDENT ) ),
-    aLeftLabel              ( this, CUI_RES( FT_LEFTINDENT ) ),
-    aLeftIndent             ( this, CUI_RES( ED_LEFTINDENT ) ),
-    aRightLabel             ( this, CUI_RES( FT_RIGHTINDENT ) ),
-    aRightIndent            ( this, CUI_RES( ED_RIGHTINDENT ) ),
-
-    aFLineLabel             ( this, CUI_RES( FT_FLINEINDENT ) ),
-    aFLineIndent            ( this, CUI_RES( ED_FLINEINDENT ) ),
-    aAutoCB                 ( this, CUI_RES( CB_AUTO ) ),
-    aDistFrm                ( this, CUI_RES( FL_DIST ) ),
-    aTopLabel               ( this, CUI_RES( FT_TOPDIST ) ),
-    aTopDist                ( this, CUI_RES( ED_TOPDIST ) ),
-    aBottomLabel            ( this, CUI_RES( FT_BOTTOMDIST ) ),
-    aBottomDist             ( this, CUI_RES( ED_BOTTOMDIST ) ),
-    aContextualCB           ( this, CUI_RES( CB_CONTEXTUALSPACING ) ),
-
-    aLineDistFrm            ( this, CUI_RES( FL_LINEDIST ) ),
-    aLineDist               ( this, CUI_RES( LB_LINEDIST ) ),
-    aLineDistAtLabel        ( this, CUI_RES( FT_LINEDIST ) ),
-    aLineDistAtPercentBox   ( this, CUI_RES( ED_LINEDISTPERCENT ) ),
-    aLineDistAtMetricBox    ( this, CUI_RES( ED_LINEDISTMETRIC ) ),
-    sAbsDist                ( CUI_RES(ST_LINEDIST_ABS) ),
-    aExampleWin             ( this, CUI_RES( WN_EXAMPLE ) ),
-    aRegisterFL             ( this, CUI_RES( FL_REGISTER ) ),
-    aRegisterCB             ( this, CUI_RES( CB_REGISTER ) ),
-    pActLineDistFld ( &aLineDistAtPercentBox ),
     nAbst           ( MAX_DURCH ),
     nWidth          ( 11905 /*567 * 50*/ ),
     nMinFixDist(0L),
@@ -675,27 +647,53 @@
     bNegativeIndents(sal_False)
 
 {
+    get(m_pLeftIndent,"spinED_LEFTINDENT");
+    get(m_pRightIndent,"spinED_RIGHTINDENT");
+    get(m_pRightLabel,"labelFT_RIGHTINDENT");
+    get(m_pFLineLabel,"labelFT_FLINEINDENT");
+    get(m_pFLineIndent,"spinED_FLINEINDENT");
+    get(m_pAutoCB,"checkCB_AUTO");
+
+    get(m_pTopDist,"spinED_TOPDIST");
+    get(m_pBottomDist,"spinED_BOTTOMDIST");
+    get(m_pContextualCB,"checkCB_CONTEXTUALSPACING");
+
+    get(m_pLineDist,"comboLB_LINEDIST");
+    get(m_pLineDistAtPercentBox,"spinED_LINEDISTPERCENT");
+    get(m_pLineDistAtMetricBox,"spinED_LINEDISTMETRIC");
+    get(m_pLineDistAtLabel,"labelFT_LINEDIST");
+
+    get(m_pAbsDist,"labelST_LINEDIST_ABS");
+    sAbsDist = m_pAbsDist->GetText();
+
+    get(m_pRegisterFL,"frameFL_REGISTER");
+    get(m_pRegisterCB,"checkCB_REGISTER");
+
+    get(m_pExampleWin,"drawingareaWN_EXAMPLE");
+
     // this page needs ExchangeSupport
     SetExchangeSupport();
 
-    aLineDistAtMetricBox.Hide();
-    FreeResource();
-    Init_Impl();
-    aFLineIndent.SetMin(-9999);    // is set to 0 on default
+    m_pLineDistAtMetricBox->Hide();
 
-    aExampleWin.SetAccessibleName(String(CUI_RES(STR_EXAMPLE)));
+    Init_Impl();
+    m_pFLineIndent->SetMin(-9999);    // is set to 0 on default
+
+    //aExampleWin.SetAccessibleName(String(CUI_RES(STR_EXAMPLE)));
 
 }
 
+SvxStdParagraphTabPage::~SvxStdParagraphTabPage()
+{}
 
 // -----------------------------------------------------------------------
 
 void SvxStdParagraphTabPage::EnableNegativeMode()
 {
-    aLeftIndent.SetMin(-9999);
-    aRightIndent.SetMin(-9999);
-    aRightIndent.EnableNegativeMode();
-    aLeftIndent.EnableNegativeMode();
+    m_pLeftIndent->SetMin(-9999);
+    m_pRightIndent->SetMin(-9999);
+    m_pRightIndent->EnableNegativeMode();
+    m_pLeftIndent->EnableNegativeMode();
     bNegativeIndents = sal_True;
 }
 
@@ -725,56 +723,53 @@
             {
                 // Default single line spacing
                 case SVX_INTER_LINE_SPACE_OFF:
-                    aLineDist.SelectEntryPos( LLINESPACE_1 );
+                    m_pLineDist->SelectEntryPos( LLINESPACE_1 );
                     break;
 
                 // Default single line spacing
                 case SVX_INTER_LINE_SPACE_PROP:
                     if ( 100 == rAttr.GetPropLineSpace() )
                     {
-                        aLineDist.SelectEntryPos( LLINESPACE_1 );
+                        m_pLineDist->SelectEntryPos( LLINESPACE_1 );
                         break;
                     }
                     // 1.5 line spacing
                     if ( 150 == rAttr.GetPropLineSpace() )
                     {
-                        aLineDist.SelectEntryPos( LLINESPACE_15 );
+                        m_pLineDist->SelectEntryPos( LLINESPACE_15 );
                         break;
                     }
                     // double line spacing
                     if ( 200 == rAttr.GetPropLineSpace() )
                     {
-                        aLineDist.SelectEntryPos( LLINESPACE_2 );
+                        m_pLineDist->SelectEntryPos( LLINESPACE_2 );
                         break;
                     }
                     // the set per cent value
-                    aLineDistAtPercentBox.
-                        SetValue( aLineDistAtPercentBox.Normalize(
-                                        rAttr.GetPropLineSpace() ) );
-                    aLineDist.SelectEntryPos( LLINESPACE_PROP );
+                    m_pLineDistAtPercentBox->SetValue( m_pLineDistAtPercentBox->Normalize(rAttr.GetPropLineSpace() ) );
+                    m_pLineDist->SelectEntryPos( LLINESPACE_PROP );
                     break;
 
                 case SVX_INTER_LINE_SPACE_FIX:
-                    SetMetricValue( aLineDistAtMetricBox,
-                                    rAttr.GetInterLineSpace(), eUnit );
-                    aLineDist.SelectEntryPos( LLINESPACE_DURCH );
+                    SetMetricValue( *m_pLineDistAtMetricBox, rAttr.GetInterLineSpace(), eUnit );
+                    m_pLineDist->SelectEntryPos( LLINESPACE_DURCH );
                     break;
                 default: ;//prevent warning
             }
         }
         break;
         case SVX_LINE_SPACE_FIX:
-            SetMetricValue(aLineDistAtMetricBox, rAttr.GetLineHeight(), eUnit);
-            aLineDist.SelectEntryPos( LLINESPACE_FIX );
+            SetMetricValue(*m_pLineDistAtMetricBox, rAttr.GetLineHeight(), eUnit);
+            m_pLineDist->SelectEntryPos( LLINESPACE_FIX );
         break;
 
         case SVX_LINE_SPACE_MIN:
-            SetMetricValue(aLineDistAtMetricBox, rAttr.GetLineHeight(), eUnit);
-            aLineDist.SelectEntryPos( LLINESPACE_MIN );
+            SetMetricValue(*m_pLineDistAtMetricBox, rAttr.GetLineHeight(), eUnit);
+            m_pLineDist->SelectEntryPos( LLINESPACE_MIN );
             break;
         default: ;//prevent warning
     }
-    LineDistHdl_Impl( &aLineDist );
+    LineDistHdl_Impl( m_pLineDist );
 }
 
 // -----------------------------------------------------------------------
@@ -786,70 +781,59 @@
         case LLINESPACE_1:
         case LLINESPACE_15:
         case LLINESPACE_2:
-            aLineDistAtLabel.Enable(sal_False);
-            pActLineDistFld->Enable(sal_False);
-            pActLineDistFld->SetText( String() );
+            m_pLineDistAtLabel->Enable(sal_False);
+            m_pLineDistAtPercentBox->Enable(sal_False);
+            m_pLineDistAtPercentBox->SetText( OUString() );
+            m_pLineDistAtMetricBox->Enable(sal_False);
+            m_pLineDistAtMetricBox->SetText( OUString() );
             break;
 
         case LLINESPACE_DURCH:
             // setting a sensible default?
             // limit MS min(10, aPageSize)
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld = &aLineDistAtMetricBox;
-            aLineDistAtMetricBox.SetMin(0);
+            m_pLineDistAtMetricBox->SetMin(0);
 
-
-            if ( aLineDistAtMetricBox.GetText().isEmpty() )
-                aLineDistAtMetricBox.SetValue(
-                    aLineDistAtMetricBox.Normalize( 1 ) );
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld->Show();
-            pActLineDistFld->Enable();
-            aLineDistAtLabel.Enable();
+            if ( m_pLineDistAtMetricBox->GetText().isEmpty() )
+                m_pLineDistAtMetricBox->SetValue( m_pLineDistAtMetricBox->Normalize( 1 ) );
+            m_pLineDistAtPercentBox->Hide();
+            m_pLineDistAtMetricBox->Show();
+            m_pLineDistAtMetricBox->Enable();
+            m_pLineDistAtLabel->Enable();
             break;
 
         case LLINESPACE_MIN:
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld = &aLineDistAtMetricBox;
-            aLineDistAtMetricBox.SetMin(0);
+            m_pLineDistAtMetricBox->SetMin(0);
 
-            if ( aLineDistAtMetricBox.GetText().isEmpty() )
-                aLineDistAtMetricBox.SetValue(
-                    aLineDistAtMetricBox.Normalize( 10 ), FUNIT_TWIP );
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld->Show();
-            pActLineDistFld->Enable();
-            aLineDistAtLabel.Enable();
+            if ( m_pLineDistAtMetricBox->GetText().isEmpty() )
+                m_pLineDistAtMetricBox->SetValue( m_pLineDistAtMetricBox->Normalize( 10 ), FUNIT_TWIP );
+            m_pLineDistAtPercentBox->Hide();
+            m_pLineDistAtMetricBox->Show();
+            m_pLineDistAtMetricBox->Enable();
+            m_pLineDistAtLabel->Enable();
             break;
 
         case LLINESPACE_PROP:
-            aLineDistAtMetricBox.Hide();
-            pActLineDistFld = &aLineDistAtPercentBox;
 
-            if ( aLineDistAtPercentBox.GetText().isEmpty() )
-                aLineDistAtPercentBox.SetValue(
-                    aLineDistAtPercentBox.Normalize( 100 ), FUNIT_TWIP );
-            aLineDistAtMetricBox.Hide();
-            pActLineDistFld->Show();
-            pActLineDistFld->Enable();
-            aLineDistAtLabel.Enable();
+            if ( m_pLineDistAtPercentBox->GetText().isEmpty() )
+                m_pLineDistAtPercentBox->SetValue( m_pLineDistAtPercentBox->Normalize( 100 ), FUNIT_TWIP );
+            m_pLineDistAtMetricBox->Hide();
+            m_pLineDistAtPercentBox->Show();
+            m_pLineDistAtPercentBox->Enable();
+            m_pLineDistAtLabel->Enable();
             break;
         case LLINESPACE_FIX:
         {
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld = &aLineDistAtMetricBox;
-            sal_Int64 nTemp = aLineDistAtMetricBox.GetValue();
-            aLineDistAtMetricBox.SetMin(aLineDistAtMetricBox.Normalize(nMinFixDist), FUNIT_TWIP);
+            sal_Int64 nTemp = m_pLineDistAtMetricBox->GetValue();
+            m_pLineDistAtMetricBox->SetMin(m_pLineDistAtMetricBox->Normalize(nMinFixDist), FUNIT_TWIP);
 
             // if the value has been changed at SetMin,
             // it is time for the default
-            if ( aLineDistAtMetricBox.GetValue() != nTemp )
-                SetMetricValue( aLineDistAtMetricBox,
-                                    FIX_DIST_DEF, SFX_MAPUNIT_TWIP ); // fix is only in Writer
-            aLineDistAtPercentBox.Hide();
-            pActLineDistFld->Show();
-            pActLineDistFld->Enable();
-            aLineDistAtLabel.Enable();
+            if ( m_pLineDistAtMetricBox->GetValue() != nTemp )
+                SetMetricValue( *m_pLineDistAtMetricBox, FIX_DIST_DEF, SFX_MAPUNIT_TWIP ); // fix is only in Writer
+            m_pLineDistAtPercentBox->Hide();
+            m_pLineDistAtMetricBox->Show();
+            m_pLineDistAtMetricBox->Enable();
+            m_pLineDistAtLabel->Enable();
         }
         break;
     }
@@ -870,94 +854,84 @@
 
 void SvxStdParagraphTabPage::Init_Impl()
 {
-    aLineDist.SetSelectHdl(
+    m_pLineDist->SetSelectHdl(
         LINK( this, SvxStdParagraphTabPage, LineDistHdl_Impl ) );
 
     Link aLink = LINK( this, SvxStdParagraphTabPage, ELRLoseFocusHdl );
-    aFLineIndent.SetLoseFocusHdl( aLink );
-    aLeftIndent.SetLoseFocusHdl( aLink );
-    aRightIndent.SetLoseFocusHdl( aLink );
+    m_pFLineIndent->SetLoseFocusHdl( aLink );
+    m_pLeftIndent->SetLoseFocusHdl( aLink );
+    m_pRightIndent->SetLoseFocusHdl( aLink );
 
     aLink = LINK( this, SvxStdParagraphTabPage, ModifyHdl_Impl );
-    aFLineIndent.SetModifyHdl( aLink );
-    aLeftIndent.SetModifyHdl( aLink );
-    aRightIndent.SetModifyHdl( aLink );
-    aTopDist.SetModifyHdl( aLink );
-    aBottomDist.SetModifyHdl( aLink );
+    m_pFLineIndent->SetModifyHdl( aLink );
+    m_pLeftIndent->SetModifyHdl( aLink );
+    m_pRightIndent->SetModifyHdl( aLink );
+    m_pTopDist->SetModifyHdl( aLink );
+    m_pBottomDist->SetModifyHdl( aLink );
 
-    aAutoCB.SetClickHdl( LINK( this, SvxStdParagraphTabPage, AutoHdl_Impl ));
+    m_pAutoCB->SetClickHdl( LINK( this, SvxStdParagraphTabPage, AutoHdl_Impl ));
     SfxItemPool* pPool = GetItemSet().GetPool();
     DBG_ASSERT( pPool, "Wo ist der Pool" );
-    FieldUnit eUnit =
-        MapToFieldUnit( pPool->GetMetric( GetWhich( SID_ATTR_LRSPACE ) ) );
+    FieldUnit eUnit = MapToFieldUnit( pPool->GetMetric( GetWhich( SID_ATTR_LRSPACE ) ) );
 
-    aTopDist.SetMax( aTopDist.Normalize( nAbst ), eUnit );
-    aBottomDist.SetMax( aBottomDist.Normalize( nAbst ), eUnit );
-    aLineDistAtMetricBox.SetMax(
-        aLineDistAtMetricBox.Normalize( nAbst ), eUnit );
+    m_pTopDist->SetMax( m_pTopDist->Normalize( nAbst ), eUnit );
+    m_pBottomDist->SetMax( m_pBottomDist->Normalize( nAbst ), eUnit );
+    m_pLineDistAtMetricBox->SetMax( m_pLineDistAtMetricBox->Normalize( nAbst ), eUnit );
 }
 
 // -----------------------------------------------------------------------
 
 void SvxStdParagraphTabPage::UpdateExample_Impl( sal_Bool bAll )
 {
-    aExampleWin.SetFirstLineOfst(
-        (short)aFLineIndent.Denormalize( aFLineIndent.GetValue( FUNIT_TWIP ) ) );
-    aExampleWin.SetLeftMargin(
-        static_cast<long>(aLeftIndent.Denormalize( aLeftIndent.GetValue( FUNIT_TWIP ) ) ) );
-    aExampleWin.SetRightMargin(
-        static_cast<long>(aRightIndent.Denormalize( aRightIndent.GetValue( FUNIT_TWIP ) ) ) );
-    aExampleWin.SetUpper(
-        (sal_uInt16)aTopDist.Denormalize( aTopDist.GetValue( FUNIT_TWIP ) ) );
-    aExampleWin.SetLower(
-        (sal_uInt16)aBottomDist.Denormalize( aBottomDist.GetValue( FUNIT_TWIP ) ) );
+    m_pExampleWin->SetFirstLineOfst( (short)m_pFLineIndent->Denormalize( m_pFLineIndent->GetValue( FUNIT_TWIP ) ) );
+    m_pExampleWin->SetLeftMargin( static_cast<long>(m_pLeftIndent->Denormalize( m_pLeftIndent->GetValue( FUNIT_TWIP ) ) ) );
+    m_pExampleWin->SetRightMargin( static_cast<long>(m_pRightIndent->Denormalize( m_pRightIndent->GetValue( FUNIT_TWIP ) ) ) );
+    m_pExampleWin->SetUpper( (sal_uInt16)m_pTopDist->Denormalize( m_pTopDist->GetValue( FUNIT_TWIP ) ) );
+    m_pExampleWin->SetLower( (sal_uInt16)m_pBottomDist->Denormalize( m_pBottomDist->GetValue( FUNIT_TWIP ) ) );
 
-
-
-    sal_uInt16 nPos = aLineDist.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLineDist->GetSelectEntryPos();
 
     switch ( nPos )
     {
         case LLINESPACE_1:
         case LLINESPACE_15:
         case LLINESPACE_2:
-            aExampleWin.SetLineSpace( (SvxPrevLineSpace)nPos );
+            m_pExampleWin->SetLineSpace( (SvxPrevLineSpace)nPos );
             break;
 
         case LLINESPACE_PROP:
-            aExampleWin.SetLineSpace( (SvxPrevLineSpace)nPos,
-                (sal_uInt16)aLineDistAtPercentBox.Denormalize(
-                aLineDistAtPercentBox.GetValue() ) );
+            m_pExampleWin->SetLineSpace( (SvxPrevLineSpace)nPos,
+                (sal_uInt16)m_pLineDistAtPercentBox->Denormalize( m_pLineDistAtPercentBox->GetValue() ) );
             break;
 
         case LLINESPACE_MIN:
         case LLINESPACE_DURCH:
         case LLINESPACE_FIX:
-            aExampleWin.SetLineSpace( (SvxPrevLineSpace)nPos,
-                (sal_uInt16)GetCoreValue( aLineDistAtMetricBox, SFX_MAPUNIT_TWIP ) );
+            m_pExampleWin->SetLineSpace( (SvxPrevLineSpace)nPos,
+                (sal_uInt16)GetCoreValue( *m_pLineDistAtMetricBox, SFX_MAPUNIT_TWIP ) );
             break;
     }
-    aExampleWin.Draw( bAll );
+    m_pExampleWin->Draw( bAll );
 }
 
 // -----------------------------------------------------------------------
 
 void SvxStdParagraphTabPage::EnableRegisterMode()
 {
-    aRegisterCB.Show();
-    aRegisterFL.Show();
+    m_pRegisterCB->Show();
+    m_pRegisterFL->Show();
 }
 
 void SvxStdParagraphTabPage::EnableContextualMode()
 {
-    aContextualCB.Show();
+    m_pContextualCB->Show();
 }
 
 IMPL_LINK( SvxStdParagraphTabPage, AutoHdl_Impl, CheckBox*, pBox )
 {
     sal_Bool bEnable = !pBox->IsChecked();
-    aFLineLabel .Enable(bEnable);
-    aFLineIndent.Enable(bEnable);
+    m_pFLineLabel->Enable(bEnable);
+    m_pFLineIndent->Enable(bEnable);
     return 0;
 }
 
@@ -969,13 +943,13 @@
 
 void SvxStdParagraphTabPage::EnableAutoFirstLine()
 {
-    aAutoCB.Show();
+    m_pAutoCB->Show();
 }
 
 
 void    SvxStdParagraphTabPage::EnableAbsLineDist(long nMinTwip)
 {
-    aLineDist.InsertEntry(sAbsDist);
+    m_pLineDist->InsertEntry(sAbsDist);
     nMinFixDist = nMinTwip;
 }
 
@@ -1031,74 +1005,71 @@
 // class SvxParaAlignTabPage ------------------------------------------------
 
 SvxParaAlignTabPage::SvxParaAlignTabPage( Window* pParent, const SfxItemSet& rSet )
-    : SfxTabPage(pParent, CUI_RES( RID_SVXPAGE_ALIGN_PARAGRAPH ),rSet),
-    aAlignFrm           ( this, CUI_RES( FL_ALIGN ) ),
-    aLeft               ( this, CUI_RES( BTN_LEFTALIGN ) ),
-    aRight              ( this, CUI_RES( BTN_RIGHTALIGN ) ),
-    aCenter             ( this, CUI_RES( BTN_CENTERALIGN ) ),
-    aJustify            ( this, CUI_RES( BTN_JUSTIFYALIGN ) ),
-    aLastLineFT         ( this, CUI_RES( FT_LASTLINE ) ),
-    aLastLineLB         ( this, CUI_RES( LB_LASTLINE ) ),
-    aExpandCB           ( this, CUI_RES( CB_EXPAND ) ),
-    aSnapToGridCB       ( this, CUI_RES( CB_SNAP ) ),
-    aExampleWin         ( this, CUI_RES( WN_EXAMPLE ) ),
 
-    aVertAlignFL        ( this, CUI_RES( FL_VERTALIGN ) ),
-    aVertAlignFT        ( this, CUI_RES( FT_VERTALIGN ) ),
-    aVertAlignLB        ( this, CUI_RES( LB_VERTALIGN ) ),
-
-    aPropertiesFL       ( this, CUI_RES( FL_PROPERTIES    )),
-    aTextDirectionFT    ( this, CUI_RES( FT_TEXTDIRECTION )),
-    aTextDirectionLB    ( this, CUI_RES( LB_TEXTDIRECTION ))
+    : SfxTabPage(pParent, "ParaAlignPage", "cui/ui/paragalignpage.ui",rSet)
 {
+    get(m_pLeft,"radioBTN_LEFTALIGN");
+    get(m_pRight,"radioBTN_RIGHTALIGN");
+    get(m_pCenter,"radioBTN_CENTERALIGN");
+    get(m_pJustify,"radioBTN_JUSTIFYALIGN");
+    get(m_pLeftBottom,"labelST_LEFTALIGN_ASIAN");
+    get(m_pRightTop,"labelST_RIGHTALIGN_ASIAN");
+
+    get(m_pLastLineFT,"labelLB_LASTLINE");
+    get(m_pLastLineLB,"comboLB_LASTLINE");
+    get(m_pExpandCB,"checkCB_EXPAND");
+    get(m_pSnapToGridCB,"checkCB_SNAP");
+    get(m_pExampleWin,"drawingareaWN_EXAMPLE");
+
+    get(m_pVertAlignLB,"comboLB_VERTALIGN");
+
+    get(m_pPropertiesFL,"framePROPERTIES");
+    get(m_pTextDirectionLB,"comboLB_TEXTDIRECTION");
+
     SvtLanguageOptions aLangOptions;
     sal_uInt16 nLastLinePos = LASTLINEPOS_DEFAULT;
 
     if ( aLangOptions.IsAsianTypographyEnabled() )
     {
-        String sLeft(CUI_RES(ST_LEFTALIGN_ASIAN));
-        aLeft.SetText(sLeft);
-        aRight.SetText(String(CUI_RES(ST_RIGHTALIGN_ASIAN)));
+        m_pLeft->SetText(m_pLeftBottom->GetText());
+        m_pRight->SetText(m_pRightTop->GetText());
+
+        OUString sLeft(m_pLeft->GetText());
         sLeft = MnemonicGenerator::EraseAllMnemonicChars( sLeft );
 
-        if ( aLastLineLB.GetEntryCount() == LASTLINECOUNT_OLD )
+        if ( m_pLastLineLB->GetEntryCount() == LASTLINECOUNT_OLD )
         {
-            aLastLineLB.RemoveEntry( 0 );
-            aLastLineLB.InsertEntry( sLeft, 0 );
+            m_pLastLineLB->RemoveEntry( 0 );
+            m_pLastLineLB->InsertEntry( sLeft, 0 );
         }
         else
             nLastLinePos = LASTLINEPOS_LEFT;
     }
-    // remove "Default" or "Left" entry, depends on CJKOptions
-    if ( aLastLineLB.GetEntryCount() == LASTLINECOUNT_NEW )
-        aLastLineLB.RemoveEntry( nLastLinePos );
 
-    FreeResource();
+    // remove "Default" or "Left" entry, depends on CJKOptions
+    if ( m_pLastLineLB->GetEntryCount() == LASTLINECOUNT_NEW )
+        m_pLastLineLB->RemoveEntry( nLastLinePos );
+
     Link aLink = LINK( this, SvxParaAlignTabPage, AlignHdl_Impl );
-    aLeft.SetClickHdl( aLink );
-    aRight.SetClickHdl( aLink );
-    aCenter.SetClickHdl( aLink );
-    aJustify.SetClickHdl( aLink );
-    aLastLineLB.SetSelectHdl( LINK( this, SvxParaAlignTabPage, LastLineHdl_Impl ) );
-    aTextDirectionLB.SetSelectHdl( LINK( this, SvxParaAlignTabPage, TextDirectionHdl_Impl ) );
+    m_pLeft->SetClickHdl( aLink );
+    m_pRight->SetClickHdl( aLink );
+    m_pCenter->SetClickHdl( aLink );
+    m_pJustify->SetClickHdl( aLink );
+    m_pLastLineLB->SetSelectHdl( LINK( this, SvxParaAlignTabPage, LastLineHdl_Impl ) );
+    m_pTextDirectionLB->SetSelectHdl( LINK( this, SvxParaAlignTabPage, TextDirectionHdl_Impl ) );
 
     sal_uInt16 nHtmlMode = GetHtmlMode_Impl(rSet);
     if(!(nHtmlMode & HTMLMODE_ON) || (0 != (nHtmlMode & HTMLMODE_SOME_STYLES)) )
     {
         if( aLangOptions.IsCTLFontEnabled() )
         {
-            aTextDirectionLB.InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_LTR ), FRMDIR_HORI_LEFT_TOP );
-            aTextDirectionLB.InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_RTL ), FRMDIR_HORI_RIGHT_TOP );
-            aTextDirectionLB.InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_SUPER ), FRMDIR_ENVIRONMENT );
+            m_pTextDirectionLB->InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_LTR ), FRMDIR_HORI_LEFT_TOP );
+            m_pTextDirectionLB->InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_RTL ), FRMDIR_HORI_RIGHT_TOP );
+            m_pTextDirectionLB->InsertEntryValue( CUI_RESSTR( RID_SVXSTR_FRAMEDIR_SUPER ), FRMDIR_ENVIRONMENT );
 
-            aPropertiesFL.Show();
-            aTextDirectionFT.Show();
-            aTextDirectionLB.Show();
+            m_pPropertiesFL->Show();
         }
     }
-
-    aExampleWin.SetAccessibleName(String(CUI_RES(STR_EXAMPLE)));
-
 }
 
 SvxParaAlignTabPage::~SvxParaAlignTabPage()
@@ -1130,41 +1101,41 @@
     bool bAdj = false, bChecked = false;
     SvxAdjust eAdjust = SVX_ADJUST_LEFT;
 
-    if ( aLeft.IsChecked() )
+    if ( m_pLeft->IsChecked() )
     {
         eAdjust = SVX_ADJUST_LEFT;
-        bAdj = !aLeft.GetSavedValue();
+        bAdj = !m_pLeft->GetSavedValue();
         bChecked = true;
     }
-    else if ( aRight.IsChecked() )
+    else if ( m_pRight->IsChecked() )
     {
         eAdjust = SVX_ADJUST_RIGHT;
-        bAdj = !aRight.GetSavedValue();
+        bAdj = !m_pRight->GetSavedValue();
         bChecked = true;
     }
-    else if ( aCenter.IsChecked() )
+    else if ( m_pCenter->IsChecked() )
     {
         eAdjust = SVX_ADJUST_CENTER;
-        bAdj = !aCenter.GetSavedValue();
+        bAdj = !m_pCenter->GetSavedValue();
         bChecked = true;
     }
-    else if ( aJustify.IsChecked() )
+    else if ( m_pJustify->IsChecked() )
     {
         eAdjust = SVX_ADJUST_BLOCK;
-        bAdj = !aJustify.GetSavedValue() ||
-            aExpandCB.IsChecked() != aExpandCB.GetSavedValue() ||
-            aLastLineLB.GetSelectEntryPos() != aLastLineLB.GetSavedValue();
+        bAdj = !m_pJustify->GetSavedValue() ||
+            m_pExpandCB->IsChecked() != m_pExpandCB->GetSavedValue() ||
+            m_pLastLineLB->GetSelectEntryPos() != m_pLastLineLB->GetSavedValue();
         bChecked = true;
     }
     sal_uInt16 _nWhich = GetWhich( SID_ATTR_PARA_ADJUST );
 
     if ( bAdj )
     {
-        const SvxAdjustItem* pOld =
-            (const SvxAdjustItem*)GetOldItem( rOutSet, SID_ATTR_PARA_ADJUST );
-        SvxAdjust eOneWord = aExpandCB.IsChecked() ? SVX_ADJUST_BLOCK
-                                                   : SVX_ADJUST_LEFT;
-        sal_uInt16 nLBPos = aLastLineLB.GetSelectEntryPos();
+        const SvxAdjustItem* pOld = (const SvxAdjustItem*)GetOldItem( rOutSet, SID_ATTR_PARA_ADJUST );
+
+        SvxAdjust eOneWord = m_pExpandCB->IsChecked() ? SVX_ADJUST_BLOCK : SVX_ADJUST_LEFT;
+
+        sal_uInt16 nLBPos = m_pLastLineLB->GetSelectEntryPos();
         SvxAdjust eLastBlock = SVX_ADJUST_LEFT;
 
         if ( 1 == nLBPos )
@@ -1173,8 +1144,8 @@
             eLastBlock = SVX_ADJUST_BLOCK;
 
         bool bNothingWasChecked =
-            !aLeft.GetSavedValue() && !aRight.GetSavedValue() &&
-            !aCenter.GetSavedValue() && !aJustify.GetSavedValue();
+            !m_pLeft->GetSavedValue() && !m_pRight->GetSavedValue() &&
+            !m_pCenter->GetSavedValue() && !m_pJustify->GetSavedValue();
 
         if ( !pOld || pOld->GetAdjust() != eAdjust ||
              pOld->GetOneWord() != eOneWord ||
@@ -1190,21 +1161,21 @@
             rOutSet.Put( aAdj );
         }
     }
-    if(aSnapToGridCB.IsChecked() != aSnapToGridCB.GetSavedValue())
+    if(m_pSnapToGridCB->IsChecked() != m_pSnapToGridCB->GetSavedValue())
     {
-        rOutSet.Put(SvxParaGridItem(aSnapToGridCB.IsChecked(), GetWhich( SID_ATTR_PARA_SNAPTOGRID )));
+        rOutSet.Put(SvxParaGridItem(m_pSnapToGridCB->IsChecked(), GetWhich( SID_ATTR_PARA_SNAPTOGRID )));
         bModified = sal_True;
     }
-    if(aVertAlignLB.GetSavedValue() != aVertAlignLB.GetSelectEntryPos())
+    if(m_pVertAlignLB->GetSavedValue() != m_pVertAlignLB->GetSelectEntryPos())
     {
-        rOutSet.Put(SvxParaVertAlignItem(aVertAlignLB.GetSelectEntryPos(), GetWhich( SID_PARA_VERTALIGN )));
+        rOutSet.Put(SvxParaVertAlignItem(m_pVertAlignLB->GetSelectEntryPos(), GetWhich( SID_PARA_VERTALIGN )));
         bModified = sal_True;
     }
 
-    if( aTextDirectionLB.IsVisible() )
+    if( m_pTextDirectionLB->IsVisible() )
     {
-        SvxFrameDirection eDir = aTextDirectionLB.GetSelectEntryValue();
-        if( eDir != aTextDirectionLB.GetSavedValue() )
+        SvxFrameDirection eDir = m_pTextDirectionLB->GetSelectEntryValue();
+        if( eDir != m_pTextDirectionLB->GetSavedValue() )
         {
             rOutSet.Put( SvxFrameDirectionItem( eDir, GetWhich( SID_ATTR_FRAMEDIRECTION ) ) );
             bModified = sal_True;
@@ -1226,21 +1197,21 @@
 
         switch ( rAdj.GetAdjust() /*!!! ask VB rAdj.GetLastBlock()*/ )
         {
-            case SVX_ADJUST_LEFT: aLeft.Check(); break;
+            case SVX_ADJUST_LEFT: m_pLeft->Check(); break;
 
-            case SVX_ADJUST_RIGHT: aRight.Check(); break;
+            case SVX_ADJUST_RIGHT: m_pRight->Check(); break;
 
-            case SVX_ADJUST_CENTER: aCenter.Check(); break;
+            case SVX_ADJUST_CENTER: m_pCenter->Check(); break;
 
-            case SVX_ADJUST_BLOCK: aJustify.Check(); break;
+            case SVX_ADJUST_BLOCK: m_pJustify->Check(); break;
             default: ; //prevent warning
         }
-        sal_Bool bEnable = aJustify.IsChecked();
-        aLastLineFT.Enable(bEnable);
-        aLastLineLB.Enable(bEnable);
-        aExpandCB  .Enable(bEnable);
+        sal_Bool bEnable = m_pJustify->IsChecked();
+        m_pLastLineFT->Enable(bEnable);
+        m_pLastLineLB->Enable(bEnable);
+        m_pExpandCB->Enable(bEnable);
 
-        aExpandCB.Check(SVX_ADJUST_BLOCK == rAdj.GetOneWord());
+        m_pExpandCB->Check(SVX_ADJUST_BLOCK == rAdj.GetOneWord());
         switch(rAdj.GetLastBlock())
         {
             case SVX_ADJUST_LEFT:  nLBSelect = 0; break;
@@ -1253,29 +1224,29 @@
     }
     else
     {
-        aLeft.Check( sal_False );
-        aRight.Check( sal_False );
-        aCenter.Check( sal_False );
-        aJustify.Check( sal_False );
+        m_pLeft->Check( sal_False );
+        m_pRight->Check( sal_False );
+        m_pCenter->Check( sal_False );
+        m_pJustify->Check( sal_False );
     }
-    aLastLineLB.SelectEntryPos(nLBSelect);
+    m_pLastLineLB->SelectEntryPos(nLBSelect);
 
     sal_uInt16 nHtmlMode = GetHtmlMode_Impl(rSet);
     if(nHtmlMode & HTMLMODE_ON)
     {
-        aLastLineLB.Hide();
-        aLastLineFT.Hide();
-        aExpandCB.Hide();
+        m_pLastLineLB->Hide();
+        m_pLastLineFT->Hide();
+        m_pExpandCB->Hide();
         if(!(nHtmlMode & HTMLMODE_FULL_STYLES) )
-            aJustify.Disable();
-        aSnapToGridCB.Show(sal_False);
+            m_pJustify->Disable();
+        m_pSnapToGridCB->Show(sal_False);
     }
     _nWhich = GetWhich(SID_ATTR_PARA_SNAPTOGRID);
     eItemState = rSet.GetItemState( _nWhich );
     if ( eItemState >= SFX_ITEM_AVAILABLE )
     {
         const SvxParaGridItem& rSnap = (const SvxParaGridItem&)rSet.Get( _nWhich );
-        aSnapToGridCB.Check(rSnap.GetValue());
+        m_pSnapToGridCB->Check(rSnap.GetValue());
     }
 
     _nWhich = GetWhich( SID_PARA_VERTALIGN );
@@ -1283,12 +1254,11 @@
 
     if ( eItemState >= SFX_ITEM_AVAILABLE )
     {
-        aVertAlignLB.Show();
-        aVertAlignFL.Show();
-        aVertAlignFT.Show();
+        m_pVertAlignLB->Show();
 
         const SvxParaVertAlignItem& rAlign = (const SvxParaVertAlignItem&)rSet.Get( _nWhich );
-        aVertAlignLB.SelectEntryPos(rAlign.GetValue());
+
+        m_pVertAlignLB->SelectEntryPos(rAlign.GetValue());
     }
 
     _nWhich = GetWhich( SID_ATTR_FRAMEDIRECTION );
@@ -1296,28 +1266,28 @@
     if( SFX_ITEM_AVAILABLE <= rSet.GetItemState( _nWhich ) )
     {
         const SvxFrameDirectionItem& rFrameDirItem = ( const SvxFrameDirectionItem& ) rSet.Get( _nWhich );
-        aTextDirectionLB.SelectEntryValue( (SvxFrameDirection)rFrameDirItem.GetValue() );
-        aTextDirectionLB.SaveValue();
+        m_pTextDirectionLB->SelectEntryValue( (SvxFrameDirection)rFrameDirItem.GetValue() );
+        m_pTextDirectionLB->SaveValue();
     }
 
-    aSnapToGridCB.SaveValue();
-    aVertAlignLB.SaveValue();
-    aLeft.SaveValue();
-    aRight.SaveValue();
-    aCenter.SaveValue();
-    aJustify.SaveValue();
-    aLastLineLB.SaveValue();
-    aExpandCB.SaveValue();
+    m_pSnapToGridCB->SaveValue();
+    m_pVertAlignLB->SaveValue();
+    m_pLeft->SaveValue();
+    m_pRight->SaveValue();
+    m_pCenter->SaveValue();
+    m_pJustify->SaveValue();
+    m_pLastLineLB->SaveValue();
+    m_pExpandCB->SaveValue();
 
     UpdateExample_Impl(sal_True);
 }
 
 IMPL_LINK_NOARG(SvxParaAlignTabPage, AlignHdl_Impl)
 {
-    sal_Bool bJustify = aJustify.IsChecked();
-    aLastLineFT.Enable(bJustify);
-    aLastLineLB.Enable(bJustify);
-    aExpandCB.Enable(bJustify);
+    sal_Bool bJustify = m_pJustify->IsChecked();
+    m_pLastLineFT->Enable(bJustify);
+    m_pLastLineLB->Enable(bJustify);
+    m_pExpandCB->Enable(bJustify);
     UpdateExample_Impl(sal_False);
     return 0;
 }
@@ -1330,12 +1300,12 @@
 
 IMPL_LINK_NOARG(SvxParaAlignTabPage, TextDirectionHdl_Impl)
 {
-    SvxFrameDirection eDir = aTextDirectionLB.GetSelectEntryValue();
+    SvxFrameDirection eDir = m_pTextDirectionLB->GetSelectEntryValue();
     switch ( eDir )
     {
         // check the default alignment for this text direction
-        case FRMDIR_HORI_LEFT_TOP :     aLeft.Check( sal_True ); break;
-        case FRMDIR_HORI_RIGHT_TOP :    aRight.Check( sal_True ); break;
+        case FRMDIR_HORI_LEFT_TOP :     m_pLeft->Check( sal_True ); break;
+        case FRMDIR_HORI_RIGHT_TOP :    m_pRight->Check( sal_True ); break;
         case FRMDIR_ENVIRONMENT :       /* do nothing */ break;
         default:
         {
@@ -1348,35 +1318,35 @@
 
 void    SvxParaAlignTabPage::UpdateExample_Impl( sal_Bool bAll )
 {
-    if ( aLeft.IsChecked() )
-        aExampleWin.SetAdjust( SVX_ADJUST_LEFT );
-    else if ( aRight.IsChecked() )
-        aExampleWin.SetAdjust( SVX_ADJUST_RIGHT );
-    else if ( aCenter.IsChecked() )
-        aExampleWin.SetAdjust( SVX_ADJUST_CENTER );
-    else if ( aJustify.IsChecked() )
+    if ( m_pLeft->IsChecked() )
+        m_pExampleWin->SetAdjust( SVX_ADJUST_LEFT );
+    else if ( m_pRight->IsChecked() )
+        m_pExampleWin->SetAdjust( SVX_ADJUST_RIGHT );
+    else if ( m_pCenter->IsChecked() )
+        m_pExampleWin->SetAdjust( SVX_ADJUST_CENTER );
+    else if ( m_pJustify->IsChecked() )
     {
-        aExampleWin.SetAdjust( SVX_ADJUST_BLOCK );
+        m_pExampleWin->SetAdjust( SVX_ADJUST_BLOCK );
         SvxAdjust eLastBlock = SVX_ADJUST_LEFT;
-        sal_uInt16 nLBPos = aLastLineLB.GetSelectEntryPos();
+        sal_uInt16 nLBPos = m_pLastLineLB->GetSelectEntryPos();
         if(nLBPos == 1)
             eLastBlock = SVX_ADJUST_CENTER;
         else if(nLBPos == 2)
             eLastBlock = SVX_ADJUST_BLOCK;
-        aExampleWin.SetLastLine( eLastBlock );
+        m_pExampleWin->SetLastLine( eLastBlock );
     }
 
-    aExampleWin.Draw( bAll );
+    m_pExampleWin->Draw( bAll );
 }
 
 void SvxParaAlignTabPage::EnableJustifyExt()
 {
-    aLastLineFT.Show();
-    aLastLineLB.Show();
-    aExpandCB  .Show();
+    m_pLastLineFT->Show();
+    m_pLastLineLB->Show();
+    m_pExpandCB->Show();
     SvtLanguageOptions aCJKOptions;
     if(aCJKOptions.IsAsianTypographyEnabled())
-        aSnapToGridCB.Show();
+        m_pSnapToGridCB->Show();
 
 }
 
diff --git a/cui/source/tabpages/paragrph.hrc b/cui/source/tabpages/paragrph.hrc
index 6f90682..0803bba 100644
--- a/cui/source/tabpages/paragrph.hrc
+++ b/cui/source/tabpages/paragrph.hrc
@@ -21,55 +21,6 @@
 
 // StandardTabPage ----------------------------------------------------------
 
-#define FT_LEFTINDENT           10
-#define ED_LEFTINDENT           11
-#define FT_FLINEINDENT          12
-#define ED_FLINEINDENT          13
-#define FT_RIGHTINDENT          14
-#define ED_RIGHTINDENT          15
-#define FL_INDENT                       16
-
-#define FT_TOPDIST                      20
-#define ED_TOPDIST                      21
-#define FT_BOTTOMDIST           22
-#define ED_BOTTOMDIST           23
-#define FL_DIST                         24
-#define CB_CONTEXTUALSPACING            25
-
-#define BTN_LEFTALIGN           30
-#define BTN_RIGHTALIGN          31
-#define BTN_CENTERALIGN         32
-#define BTN_JUSTIFYALIGN        33
-#define FL_ALIGN                        34
-#define FL_VERTALIGN                    35
-#define LB_VERTALIGN                    36
-#define CB_SNAP                         38
-#define FT_VERTALIGN                    39
-
-
-#define LB_LINEDIST                     40
-#define FT_LINEDIST                     41
-#define ED_LINEDISTPERCENT      42
-#define ED_LINEDISTMETRIC       43
-#define FL_LINEDIST                     44
-#define WN_EXAMPLE                      46
-
-#define CB_AUTO                         48
-#define FT_LASTLINE                     49
-#define LB_LASTLINE                     50
-#define CB_EXPAND                       51
-#define ST_LINEDIST_ABS                 52
-#define ST_LEFTALIGN_ASIAN              53
-#define ST_RIGHTALIGN_ASIAN             54
-
-
-#define CB_REGISTER                     84
-#define FL_REGISTER                     85
-#define FL_PROPERTIES                   90
-#define FT_TEXTDIRECTION                91
-#define LB_TEXTDIRECTION                92
-
-
 #define STR_EXAMPLE                     5010
 #define STR_PAGE_STYLE                  5011
 #endif
diff --git a/cui/source/tabpages/paragrph.src b/cui/source/tabpages/paragrph.src
index df8a93a..c246134 100644
--- a/cui/source/tabpages/paragrph.src
+++ b/cui/source/tabpages/paragrph.src
@@ -22,402 +22,6 @@
 #include "paragrph.hrc"
 #include <svx/dialogs.hrc>
 
- // RID_SVXPAGE_STD_PARAGRAPH ---------------------------------------------
-TabPage RID_SVXPAGE_STD_PARAGRAPH
-{
-    HelpId = HID_FORMAT_PARAGRAPH_STD ;
-    Hide = TRUE ;
-    Text [ en-US ] = "Indents and Spacing" ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedText FT_LEFTINDENT
-    {
-        Pos = MAP_APPFONT ( 12 , 16 ) ;
-        Size = MAP_APPFONT ( 120 , 8 ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "Before text" ;
-    };
-    MetricField ED_LEFTINDENT
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_LEFTINDENT";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 14 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    FixedText FT_RIGHTINDENT
-    {
-        Pos = MAP_APPFONT ( 12 , 32 ) ;
-        Size = MAP_APPFONT ( 120 , 8 ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "After text" ;
-    };
-    MetricField ED_RIGHTINDENT
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_RIGHTINDENT";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 30 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    FixedText FT_FLINEINDENT
-    {
-        Pos = MAP_APPFONT ( 12 , 48 ) ;
-        Size = MAP_APPFONT ( 120 , 8 ) ;
-        Text [ en-US ] = "~First line" ;
-        Left = TRUE ;
-    };
-    MetricField ED_FLINEINDENT
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_FLINEINDENT";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 46 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = -9999 ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        First = -9999 ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    CheckBox CB_AUTO
-    {
-        HelpID = "cui:CheckBox:RID_SVXPAGE_STD_PARAGRAPH:CB_AUTO";
-        Pos = MAP_APPFONT ( 12 , 61 ) ;
-        Size = MAP_APPFONT ( 120 , 10 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "~Automatic" ;
-    };
-    FixedLine FL_INDENT
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Text [ en-US ] = "Indent" ;
-    };
-    FixedText FT_TOPDIST
-    {
-        Pos = MAP_APPFONT ( 12 , 90 ) ;
-        Size = MAP_APPFONT ( 120 , 8 ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "Ab~ove paragraph" ;
-    };
-    MetricField ED_TOPDIST
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_TOPDIST";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 88 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    FixedText FT_BOTTOMDIST
-    {
-        Pos = MAP_APPFONT ( 12 , 104 ) ;
-        Size = MAP_APPFONT ( 120 , 8 ) ;
-        Left = TRUE ;
-        Text [ en-US ] = "Below paragraph" ;
-    };
-    MetricField ED_BOTTOMDIST
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_BOTTOMDIST";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 104 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    CheckBox CB_CONTEXTUALSPACING
-    {
-        Pos = MAP_APPFONT ( 12 , 118 ) ;
-        Size = MAP_APPFONT ( 173 , 10 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "Don't add space between paragraphs of the same style" ;
-    };
-    FixedLine FL_DIST
-    {
-        Pos = MAP_APPFONT ( 6 , 77 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Text [ en-US ] = "Spacing" ;
-    };
-    ListBox LB_LINEDIST
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_STD_PARAGRAPH:LB_LINEDIST";
-        Pos = MAP_APPFONT ( 12 , 147 ) ;
-        Size = MAP_APPFONT ( 55 , 72 ) ;
-        DropDown = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Single" ; Default ; > ;
-            < "1.5 lines" ; Default ; > ;
-            < "Double" ; Default ; > ;
-            < "Proportional" ; Default ; > ;
-            < "At least" ; Default ; > ;
-            < "Leading" ; Default ; > ;
-        };
-    };
-    String ST_LINEDIST_ABS
-    {
-        Text [ en-US ] = "Fixed" ;
-    };
-    FixedText FT_LINEDIST
-    {
-        Disable = TRUE ;
-        Pos = MAP_APPFONT ( 70 , 149 ) ;
-        Size = MAP_APPFONT ( 60 , 8 ) ;
-        Text [ en-US ] = "of" ;
-        Left = TRUE ;
-    };
-    MetricField ED_LINEDISTPERCENT
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_LINEDISTPERCENT";
-        Disable = TRUE ;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 147 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 50 ;
-        Maximum = 200 ;
-        Value = 100 ;
-        Unit = FUNIT_CUSTOM ;
-        CustomUnitText = "%" ;
-        First = 50 ;
-        Last = 200 ;
-        SpinSize = 1 ;
-    };
-    MetricField ED_LINEDISTMETRIC
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_STD_PARAGRAPH:ED_LINEDISTMETRIC";
-        Disable = TRUE ;
-        Border = TRUE ;
-        Hide = TRUE ;
-        Pos = MAP_APPFONT ( 135 , 147 ) ;
-        Size = MAP_APPFONT ( 40 , 12 ) ;
-        Group = TRUE ;
-        Left = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_CM ;
-        Last = 9999 ;
-        SpinSize = 10 ;
-    };
-    FixedLine FL_LINEDIST
-    {
-        Pos = MAP_APPFONT ( 6 , 136 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Text [ en-US ] = "Line spacing" ;
-    };
-    Window WN_EXAMPLE
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 185 , 7 ) ;
-        Size = MAP_APPFONT ( 68 , 112 ) ;
-    };
-    CheckBox CB_REGISTER
-    {
-        HelpID = "cui:CheckBox:RID_SVXPAGE_STD_PARAGRAPH:CB_REGISTER";
-        Pos = MAP_APPFONT ( 12 , 176 ) ;
-        Size = MAP_APPFONT ( 120 , 10 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "A~ctivate" ;
-    };
-    FixedLine FL_REGISTER
-    {
-        Pos = MAP_APPFONT ( 6 , 165 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "Register-true" ;
-    };
-
-};
- // RID_SVXPAGE_ALIGN_PARAGRAPH ---------------------------------------------
-TabPage RID_SVXPAGE_ALIGN_PARAGRAPH
-{
-    HelpId = HID_FORMAT_PARAGRAPH_ALIGN ;
-    Hide = TRUE ;
-    Text [ en-US ] = "Alignment" ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedLine FL_ALIGN
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Text [ en-US ] = "Options" ;
-        Group = TRUE ;
-    };
-    RadioButton BTN_LEFTALIGN
-    {
-        HelpID = "cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_LEFTALIGN";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 161 , 10 ) ;
-        Text [ en-US ] = "~Left" ;
-        Group = TRUE ;
-    };
-    RadioButton BTN_RIGHTALIGN
-    {
-        HelpID = "cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_RIGHTALIGN";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 161 , 10 ) ;
-        Text [ en-US ] = "Righ~t" ;
-    };
-    RadioButton BTN_CENTERALIGN
-    {
-        HelpID = "cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_CENTERALIGN";
-        Pos = MAP_APPFONT ( 12 , 42 ) ;
-        Size = MAP_APPFONT ( 161 , 10 ) ;
-        Text [ en-US ] = "~Center" ;
-    };
-    RadioButton BTN_JUSTIFYALIGN
-    {
-        HelpID = "cui:RadioButton:RID_SVXPAGE_ALIGN_PARAGRAPH:BTN_JUSTIFYALIGN";
-        Pos = MAP_APPFONT ( 12 , 56 ) ;
-        Size = MAP_APPFONT ( 161 , 10 ) ;
-        Text [ en-US ] = "Justified" ;
-    };
-    String ST_LEFTALIGN_ASIAN
-    {
-        Text [ en-US ] = "~Left/Top" ;
-    };
-    String ST_RIGHTALIGN_ASIAN
-    {
-        Text [ en-US ] = "Righ~t/Bottom" ;
-    };
-    FixedText FT_LASTLINE
-    {
-        Pos = MAP_APPFONT ( 20 , 72 ) ;
-        Size = MAP_APPFONT ( 80 , 8 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "~Last line" ;
-    };
-    ListBox LB_LASTLINE
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_ALIGN_PARAGRAPH:LB_LASTLINE";
-        Pos = MAP_APPFONT ( 105 , 70 ) ;
-        Size = MAP_APPFONT ( 70 , 50 ) ;
-        DropDown = TRUE ;
-        Hide = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Default" ; Default ; > ;
-            < "Left" ; Default ; > ;
-            < "Centered" ; Default ; > ;
-            < "Justified"; Default; > ;
-        };
-    };
-    CheckBox CB_EXPAND
-    {
-        HelpID = "cui:CheckBox:RID_SVXPAGE_ALIGN_PARAGRAPH:CB_EXPAND";
-        Pos = MAP_APPFONT ( 20 , 86 ) ;
-        Size = MAP_APPFONT ( 153 , 10 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "~Expand single word" ;
-    };
-    CheckBox CB_SNAP
-    {
-        HelpID = "cui:CheckBox:RID_SVXPAGE_ALIGN_PARAGRAPH:CB_SNAP";
-        Pos = MAP_APPFONT ( 20 , 100 ) ;
-        Size = MAP_APPFONT ( 153 , 10 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "Snap to text grid (if active)";
-    };
-    Window WN_EXAMPLE
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 185 , 7 ) ;
-        Size = MAP_APPFONT ( 68 , 112 ) ;
-    };
-    FixedLine FL_VERTALIGN
-    {
-        Pos = MAP_APPFONT ( 6 , 122 ) ;
-        Size = MAP_APPFONT ( 173 , 8 ) ;
-        Hide = TRUE;
-        Text [ en-US ] = "Text-to-text";
-    };
-    FixedText FT_VERTALIGN
-    {
-        Pos = MAP_APPFONT ( 12 , 135 ) ;
-        Size = MAP_APPFONT ( 90 , 8 ) ;
-        Hide = TRUE;
-        Text [ en-US ] = "~Alignment";
-    };
-    ListBox LB_VERTALIGN
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_ALIGN_PARAGRAPH:LB_VERTALIGN";
-        Pos = MAP_APPFONT ( 105 , 133 ) ;
-        Size = MAP_APPFONT ( 70 , 50 ) ;
-        DropDown = TRUE ;
-        Hide = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Automatic" ; > ;
-            < "Base line" ; > ;
-            < "Top" ; > ;
-            < "Middle" ; > ;
-            < "Bottom" ; > ;
-        };
-    };
-    FixedLine   FL_PROPERTIES
-    {
-        Pos = MAP_APPFONT ( 6 , 154 ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "Properties";
-    };
-    FixedText   FT_TEXTDIRECTION
-    {
-        Pos = MAP_APPFONT ( 12 , 167 ) ;
-        Size = MAP_APPFONT ( 60 , 8 ) ;
-        Hide = TRUE ;
-        Text [ en-US ] = "Text ~direction";
-    };
-    ListBox LB_TEXTDIRECTION
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_ALIGN_PARAGRAPH:LB_TEXTDIRECTION";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 105 , 165 ) ;
-        Size = MAP_APPFONT ( 146 , 50 ) ;
-        DropDown = TRUE ;
-        Hide = TRUE ;
-    };
-};
-
 String STR_EXAMPLE
 {
     Text [ en-US ] = "Example" ;
diff --git a/cui/uiconfig/ui/paragalignpage.ui b/cui/uiconfig/ui/paragalignpage.ui
new file mode 100644
index 0000000..1b22835
--- /dev/null
+++ b/cui/uiconfig/ui/paragalignpage.ui
@@ -0,0 +1,486 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkListStore" id="liststoreLB_LASTLINE">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name guint1 -->
+      <column type="guint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Default</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Left</col>
+        <col id="1">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Centered</col>
+        <col id="1">2</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Right</col>
+        <col id="1">3</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststoreLB_VERTALIGN">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name guint1 -->
+      <column type="guint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Automatic</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Base line</col>
+        <col id="1">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Top</col>
+        <col id="1">2</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Middle</col>
+        <col id="1">3</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bottom</col>
+        <col id="1">4</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkGrid" id="ParaAlignPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="row_spacing">12</property>
+    <property name="column_spacing">6</property>
+    <child>
+      <object class="GtkFrame" id="frame1">
+        <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="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="box1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkGrid" id="gridOPTIONS">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="border_width">6</property>
+                    <child>
+                      <object class="GtkBox" id="boxALIGNMENT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">6</property>
+                        <property name="homogeneous">True</property>
+                        <child>
+                          <object class="GtkRadioButton" id="radioBTN_LEFTALIGN">
+                            <property name="label" translatable="yes">_Left</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</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>
+                            <property name="group">radioBTN_RIGHTALIGN</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="radioBTN_RIGHTALIGN">
+                            <property name="label" translatable="yes">_Right</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radioBTN_CENTERALIGN</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="radioBTN_CENTERALIGN">
+                            <property name="label" translatable="yes">_Center</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">False</property>
+                            <property name="relief">none</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="active">True</property>
+                            <property name="draw_indicator">True</property>
+                            <property name="group">radioBTN_JUSTIFYALIGN</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkRadioButton" id="radioBTN_JUSTIFYALIGN">
+                            <property name="label" translatable="yes">_Justified</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</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>
+                            <property name="group">radioBTN_LEFTALIGN</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </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="GtkBox" id="box5">
+                        <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>
+                        <property name="homogeneous">True</property>
+                        <child>
+                          <object class="GtkLabel" id="labelLB_LASTLINE">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0.25</property>
+                            <property name="label" translatable="yes">_Last line:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="checkCB_EXPAND">
+                            <property name="label" translatable="yes">_Expand single word</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">False</property>
+                            <property name="relief">none</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="checkCB_SNAP">
+                            <property name="label" translatable="yes">_Snap to text grid (if active)</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="receives_default">False</property>
+                            <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
+                            <property name="draw_indicator">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </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="GtkBox" id="box6">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkComboBox" id="comboLB_LASTLINE">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="model">liststoreLB_LASTLINE</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </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>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svxlo-SvxParaPrevWindow" 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">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Options</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkFrame" id="frame2">
+        <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="GtkBox" id="box2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="labelFT_VERTALIGN">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">_Alignment:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="comboLB_VERTALIGN">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststoreLB_VERTALIGN</property>
+                    <property name="entry_text_column">8</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelFL_VERTALIGN">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Text-to-text</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkFrame" id="framePROPERTIES">
+        <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>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="box3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="label2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">_Text direction:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svxlo-FrameDirectionListBox" id="comboLB_TEXTDIRECTION">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="entry_text_column">0</property>
+                    <property name="id_column">1</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelFL_PROPERTIES">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Properties</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkBox" id="box4">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkLabel" id="labelST_RIGHTALIGN_ASIAN">
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Righ_t/Bottom</property>
+            <property name="use_underline">True</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="labelST_LEFTALIGN_ASIAN">
+            <property name="can_focus">False</property>
+            <property name="xpad">5</property>
+            <property name="label" translatable="yes">_Left/Top</property>
+            <property name="use_underline">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="left_attach">0</property>
+        <property name="top_attach">3</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/cui/uiconfig/ui/paraindentspacing.ui b/cui/uiconfig/ui/paraindentspacing.ui
new file mode 100644
index 0000000..5ab32db
--- /dev/null
+++ b/cui/uiconfig/ui/paraindentspacing.ui
@@ -0,0 +1,536 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkAdjustment" id="adjustmentED_DIST">
+    <property name="upper">9999</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentED_LINEDISTMETRIC">
+    <property name="upper">9999</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentLINEDISTPERCENT">
+    <property name="lower">50</property>
+    <property name="upper">200</property>
+    <property name="value">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentspinED_INDENT">
+    <property name="upper">9999</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="liststoreLB_LINEDIST">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name guint1 -->
+      <column type="guint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Single</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">1.5 lines</col>
+        <col id="1">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Double</col>
+        <col id="1">2</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Proportional</col>
+        <col id="1">3</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">At least</col>
+        <col id="1">4</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Leading</col>
+        <col id="1">5</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkGrid" id="ParaIndentSpacing">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="row_spacing">12</property>
+    <property name="column_spacing">6</property>
+    <child>
+      <object class="GtkFrame" id="frame1">
+        <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="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="GtkGrid" id="grid2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="row_spacing">12</property>
+                <property name="column_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="labelFT_LEFTINDENT">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Before text:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">spinED_LEFTINDENT:0cm</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="labelFT_RIGHTINDENT">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">After _text:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">spinED_RIGHTINDENT:0cm</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_FLINEINDENT">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_First line:</property>
+                    <property name="use_underline">True</property>
+                    <property name="mnemonic_widget">spinED_FLINEINDENT:0cm</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="GtkCheckButton" id="checkCB_AUTO">
+                    <property name="label" translatable="yes">_Automatic</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</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">3</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svxlo-SvxRelativeField" id="spinED_LEFTINDENT:0cm">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="invisible_char">•</property>
+                    <property name="adjustment">adjustmentspinED_INDENT</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="svxlo-SvxRelativeField" id="spinED_RIGHTINDENT:0cm">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="invisible_char">•</property>
+                    <property name="adjustment">adjustmentspinED_INDENT</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="svxlo-SvxRelativeField" id="spinED_FLINEINDENT:0cm">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="invisible_char">•</property>
+                    <property name="adjustment">adjustmentspinED_INDENT</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Indent</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkFrame" id="frame2">
+        <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="GtkBox" id="box2">
+                <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">12</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_TOPDIST">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Ab_ove paragraph:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">spinED_TOPDIST:0cm</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_BOTTOMDIST">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Below _paragraph:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">spinED_BOTTOMDIST:0cm</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="svxlo-SvxRelativeField" id="spinED_TOPDIST:0cm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentED_DIST</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="svxlo-SvxRelativeField" id="spinED_BOTTOMDIST:0cm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentED_DIST</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>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="checkCB_CONTEXTUALSPACING">
+                    <property name="label" translatable="yes">Don't add space between paragraphs of the same style</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="receives_default">False</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">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelFL_VERTALIGN">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Spacing</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkFrame" id="framePROPERTIES">
+        <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>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="GtkBox" id="box3">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkComboBox" id="comboLB_LINEDIST">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststoreLB_LINEDIST</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="labelFT_LINEDIST">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="label" translatable="yes">of</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="orientation">vertical</property>
+                    <child>
+                      <object class="GtkSpinButton" id="spinED_LINEDISTPERCENT:0%">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentLINEDISTPERCENT</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="spinED_LINEDISTMETRIC:0cm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentED_LINEDISTMETRIC</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>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="labelFL_PROPERTIES">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Line spacing</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </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="GtkFrame" id="frameFL_REGISTER">
+        <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="alignment4">
+            <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="GtkCheckButton" id="checkCB_REGISTER">
+                <property name="label" translatable="yes">A_ctivate</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="receives_default">False</property>
+                <property name="use_underline">True</property>
+                <property name="xalign">0</property>
+                <property name="draw_indicator">True</property>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Register-true</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="left_attach">0</property>
+        <property name="top_attach">3</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+    <child>
+      <object class="svxlo-SvxParaPrevWindow" 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="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="labelST_LINEDIST_ABS">
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes">Fixed</property>
+      </object>
+      <packing>
+        <property name="left_attach">1</property>
+        <property name="top_attach">2</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroup1">
+    <widgets>
+      <widget name="spinED_LEFTINDENT:0cm"/>
+      <widget name="spinED_RIGHTINDENT:0cm"/>
+      <widget name="spinED_FLINEINDENT:0cm"/>
+      <widget name="spinED_TOPDIST:0cm"/>
+      <widget name="spinED_BOTTOMDIST:0cm"/>
+      <widget name="spinED_LINEDISTPERCENT:0%"/>
+      <widget name="spinED_LINEDISTMETRIC:0cm"/>
+    </widgets>
+  </object>
+</interface>
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index c369903..b59388d 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -87,6 +87,9 @@
     <glade-widget-class title="Table Container" name="svxcorelo-SvxSimpleTableContainer"
                         generic-name="Simple Table Container" parent="GtkTreeView"
                         icon-name="widget-gtk-treeview"/>
+    <glade-widget-class title="Paragraph Preview" name="svxlo-SvxParaPrevWindow"
+                        generic-name="Paragraph Preview Window" parent="GtkDrawingArea"
+                        icon-name="widget-gtk-drawingarea"/>
     <glade-widget-class title="Page Preview" name="svxlo-SvxPageWindow"
                         generic-name="Page Preview Window" parent="GtkDrawingArea"
                         icon-name="widget-gtk-drawingarea"/>
@@ -171,7 +174,9 @@
     <glade-widget-class title="Wrap Field" name="svxlo-WrapField"
                         generic-name="Wrap Field" parent="GtkSpinButton"
                         icon-name="widget-gtk-spinbutton"/>
-
+    <glade-widget-class title="Relative Numeric Field" name="svxlo-SvxRelativeField"
+                        generic-name="Relative Numeric Field" parent="GtkSpinButton"
+                        icon-name="widget-gtk-spinbutton"/>                        
     <glade-widget-class title="VclComboBoxText" name="VclComboBoxText"
                         generic-name="ComboBoxText" parent="GtkComboBoxText"
                         icon-name="widget-gtk-comboboxtext">
diff --git a/include/svx/paraprev.hxx b/include/svx/paraprev.hxx
index ebef639..9f1878e 100644
--- a/include/svx/paraprev.hxx
+++ b/include/svx/paraprev.hxx
@@ -49,17 +49,17 @@
     long                nRightMargin;
     short               nFirstLineOfst;
     // distances
-    sal_uInt16              nUpper;
-    sal_uInt16              nLower;
+    sal_uInt16          nUpper;
+    sal_uInt16          nLower;
     // adjustment
     SvxAdjust           eAdjust;
     // last line in justification
     SvxAdjust           eLastLine;
     // line distance
     SvxPrevLineSpace    eLine;
-    sal_uInt16              nLineVal;
+    sal_uInt16          nLineVal;
 
-    String              aText;
+    OUString            aText;
     Rectangle           Lines[9];
 
 protected:
@@ -69,28 +69,29 @@
 
 public:
     SvxParaPrevWindow( Window* pParent, const ResId& rId );
+    SvxParaPrevWindow( Window* pParent, WinBits nBits);
 
-    void        SetFirstLineOfst( short nNew ) { nFirstLineOfst = nNew; }
-    void        SetLeftMargin( long nNew )  { nLeftMargin = nNew; }
-    void        SetRightMargin( long nNew ) { nRightMargin = nNew; }
-    void        SetUpper( sal_uInt16 nNew )         { nUpper = nNew; }
-    void        SetLower( sal_uInt16 nNew )         { nLower = nNew; }
+    void        SetFirstLineOfst( short nNew )  { nFirstLineOfst = nNew; }
+    void        SetLeftMargin( long nNew )      { nLeftMargin = nNew; }
+    void        SetRightMargin( long nNew )     { nRightMargin = nNew; }
+    void        SetUpper( sal_uInt16 nNew )     { nUpper = nNew; }
+    void        SetLower( sal_uInt16 nNew )     { nLower = nNew; }
     void        SetAdjust( SvxAdjust eNew )     { eAdjust = eNew; }
     void        SetLastLine( SvxAdjust eNew )   { eLastLine = eNew; }
     void        SetLineSpace( SvxPrevLineSpace eNew, sal_uInt16 nNew = 0 )
                     {   eLine = eNew; nLineVal = nNew; }
-    void        SetText( const OUString& rStr )   { aText = rStr; }
+    void        SetText( const OUString& rStr ) { aText = rStr; }
     void        SetSize( Size aNew )            { aSize = aNew; }
 
     short       GetFirstLineOfst() const        { return nFirstLineOfst; }
     long        GetLeftMargin() const           { return nLeftMargin; }
     long        GetRightMargin() const          { return nRightMargin; }
-    sal_uInt16      GetUpper() const                { return nUpper; }
-    sal_uInt16      GetLower() const                { return nLower; }
+    sal_uInt16  GetUpper() const                { return nUpper; }
+    sal_uInt16  GetLower() const                { return nLower; }
     SvxAdjust   GetAdjust() const               { return eAdjust; }
 
     SvxPrevLineSpace    GetLineEnum() const     { return eLine; }
-    sal_uInt16              GetLineValue() const    { return nLineVal; }
+    sal_uInt16          GetLineValue() const    { return nLineVal; }
     OUString            GetText() const         { return aText; }
     Size                GetSize() const         { return aSize; }
 
diff --git a/include/svx/relfld.hxx b/include/svx/relfld.hxx
index fa544c2..88fd808 100644
--- a/include/svx/relfld.hxx
+++ b/include/svx/relfld.hxx
@@ -40,12 +40,13 @@
 
 public:
     SvxRelativeField( Window* pParent, const ResId& rResId );
+    SvxRelativeField( Window* pParent, WinBits nBits);
 
     void            EnableRelativeMode( sal_uInt16 nMin = 50, sal_uInt16 nMax = 150,
                                         sal_uInt16 nStep = 5 );
-    sal_Bool            IsRelativeMode() const { return bRelativeMode; }
+    sal_Bool        IsRelativeMode() const { return bRelativeMode; }
     void            SetRelative( sal_Bool bRelative = sal_False );
-    sal_Bool            IsRelative() const { return bRelative; }
+    sal_Bool        IsRelative() const { return bRelative; }
     void            EnableNegativeMode() {bNegativeEnabled = sal_True;}
 };
 
diff --git a/svx/source/dialog/paraprev.cxx b/svx/source/dialog/paraprev.cxx
index 49aa628..e056231 100644
--- a/svx/source/dialog/paraprev.cxx
+++ b/svx/source/dialog/paraprev.cxx
@@ -49,6 +49,40 @@
 
     SetBorderStyle( WINDOW_BORDER_MONO );
 }
+SvxParaPrevWindow::SvxParaPrevWindow( Window* pParent,  WinBits nBits) :
+
+    Window( pParent, nBits),
+
+    nLeftMargin     ( 0 ),
+    nRightMargin    ( 0 ),
+    nFirstLineOfst  ( 0 ),
+    nUpper          ( 0 ),
+    nLower          ( 0 ),
+    eAdjust         ( SVX_ADJUST_LEFT ),
+    eLastLine       ( SVX_ADJUST_LEFT ),
+    eLine           ( SVX_PREV_LINESPACE_1 ),
+    nLineVal        ( 0 )
+
+{
+    // Count in Twips by default
+    SetMapMode( MapMode( MAP_TWIP ) );
+    aWinSize = GetOutputSizePixel();
+    aWinSize = PixelToLogic( aWinSize );
+    Size aTmp(1, 1);
+    aTmp = PixelToLogic(aTmp);
+    aWinSize.Width() -= aTmp.Width() /2;
+    aWinSize.Height() -= aTmp.Height() /2;
+
+    aSize = Size( 11905, 16837 );
+
+    SetBorderStyle( WINDOW_BORDER_MONO );
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxParaPrevWindow(Window *pParent, WinBits nBits)
+{
+    return new SvxParaPrevWindow(pParent, WB_BORDER);
+}
+
 
 // -----------------------------------------------------------------------
 
diff --git a/svx/source/dialog/relfld.cxx b/svx/source/dialog/relfld.cxx
index 22826bb..9f4b0ac 100644
--- a/svx/source/dialog/relfld.cxx
+++ b/svx/source/dialog/relfld.cxx
@@ -32,7 +32,22 @@
     SetMin( 0 );
     SetMax( 9999 );
 }
+SvxRelativeField::SvxRelativeField( Window* pParent, WinBits nBits) :
+    MetricField( pParent, nBits)
+{
+    bNegativeEnabled = sal_False;
+    bRelativeMode = sal_False;
+    bRelative     = sal_False;
 
+    SetDecimalDigits( 2 );
+    SetMin( 0 );
+    SetMax( 9999 );
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSvxRelativeField(Window *pParent, WinBits nBits)
+{
+    return new SvxRelativeField(pParent, WB_BORDER | WB_SPIN | WB_REPEAT | WB_LEFT | WB_GROUP);
+}
 // -----------------------------------------------------------------------
 
 void SvxRelativeField::Modify()

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib3b7d76a63bd677d5d94f7385bbf589f18eceeda
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