[Libreoffice-commits] core.git: 4 commits - cui/source cui/uiconfig cui/UIConfig_cui.mk extras/source include/svx svx/source

Miklos Vajna vmiklos at suse.cz
Thu Jul 4 09:33:13 PDT 2013


 cui/UIConfig_cui.mk                            |    1 
 cui/source/inc/cuitabarea.hxx                  |   30 -
 cui/source/inc/helpid.hrc                      |    2 
 cui/source/tabpages/tabarea.hrc                |    7 
 cui/source/tabpages/tabarea.src                |  180 ----------
 cui/source/tabpages/tphatch.cxx                |  332 +++++++++-----------
 cui/uiconfig/ui/hatchpage.ui                   |  413 +++++++++++++++++++++++++
 extras/source/glade/libreoffice-catalog.xml.in |    3 
 include/svx/dlgctrl.hxx                        |    2 
 svx/source/dialog/dlgctrl.cxx                  |   35 +-
 10 files changed, 629 insertions(+), 376 deletions(-)

New commits:
commit 9e5b9e36db4c835b3039c02f89db1845cb8cfb07
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Thu Jul 4 18:03:16 2013 +0200

    cui: convert hatch tabpage dialog to .ui
    
    Change-Id: Id5420da2c4049b42fad0484102e73ea90c3f0b74

diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index c21e556..e0cff23 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -25,6 +25,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
 	cui/uiconfig/ui/gradientpage \
 	cui/uiconfig/ui/colorconfigwin \
 	cui/uiconfig/ui/effectspage \
+	cui/uiconfig/ui/hatchpage \
 	cui/uiconfig/ui/hyphenate \
 	cui/uiconfig/ui/insertfloatingframe \
 	cui/uiconfig/ui/insertoleobject \
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index 374dd319..9bcc996 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -446,23 +446,19 @@ class SvxHatchTabPage : public SvxTabPage
     using TabPage::DeactivatePage;
 
 private:
-    FixedText           aFtDistance;
-    MetricField         aMtrDistance;
-    FixedText           aFtAngle;
-    MetricField         aMtrAngle;
-    SvxRectCtl          aCtlAngle;
-    FixedLine           aFlProp;
-    FixedText           aFtLineType;
-    ListBox             aLbLineType;
-    FixedText           aFtLineColor;
-    ColorLB             aLbLineColor;
-    HatchingLB          aLbHatchings;
-    SvxXRectPreview     aCtlPreview;
-    PushButton          aBtnAdd;
-    PushButton          aBtnModify;
-    PushButton          aBtnDelete;
-    ImageButton         aBtnLoad;
-    ImageButton         aBtnSave;
+    MetricField*        m_pMtrDistance;
+    MetricField*        m_pMtrAngle;
+    FixedText*          m_pFtAngleDegrees;
+    SvxRectCtl*         m_pCtlAngle;
+    ListBox*            m_pLbLineType;
+    ColorLB*            m_pLbLineColor;
+    HatchingLB*         m_pLbHatchings;
+    SvxXRectPreview*    m_pCtlPreview;
+    PushButton*         m_pBtnAdd;
+    PushButton*         m_pBtnModify;
+    PushButton*         m_pBtnDelete;
+    PushButton*         m_pBtnLoad;
+    PushButton*         m_pBtnSave;
 
     const SfxItemSet&   rOutAttrs;
 
diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc
index 36b4924..e896118 100644
--- a/cui/source/inc/helpid.hrc
+++ b/cui/source/inc/helpid.hrc
@@ -250,10 +250,8 @@
 #define HID_AREA_TRANSPARENCE "CUI_HID_AREA_TRANSPARENCE"
 #define HID_AREA_AREA "CUI_HID_AREA_AREA"
 #define HID_AREA_SHADOW "CUI_HID_AREA_SHADOW"
-#define HID_AREA_HATCH "CUI_HID_AREA_HATCH"
 #define HID_AREA_BITMAP "CUI_HID_AREA_BITMAP"
 #define HID_TPSHADOW_CTRL "CUI_HID_TPSHADOW_CTRL"
-#define HID_AREA_GRADIENT "CUI_HID_AREA_GRADIENT"
 #define HID_LINE_ENDDEF "CUI_HID_LINE_ENDDEF"
 #define HID_LINE_LINE "CUI_HID_LINE_LINE"
 #define HID_LINE_DEF "CUI_HID_LINE_DEF"
diff --git a/cui/source/tabpages/tabarea.hrc b/cui/source/tabpages/tabarea.hrc
index 282ebdb..5509a6d 100644
--- a/cui/source/tabpages/tabarea.hrc
+++ b/cui/source/tabpages/tabarea.hrc
@@ -47,15 +47,8 @@
 #define FT_BACKGROUND_COLOR 2
 #define FT_POSITION 2
 #define FT_DISTANCE 1
-#define FT_LINE_COLOR 2
-#define FT_LINE_TYPE 1
-#define FT_LINE_DISTANCE 3
-#define FT_LINE_ANGLE 4
 #define MTR_FLD_ANGLE 3
 #define CTL_ANGLE 2
-#define LB_HATCHINGS 4
-#define LB_LINE_TYPE 1
-#define LB_LINE_COLOR 3
 #define NUM_FLD_STEPCOUNT 1
 #define FT_PIXEL_EDIT 4
 #define CTL_PIXEL 2
diff --git a/cui/source/tabpages/tabarea.src b/cui/source/tabpages/tabarea.src
index 8259175..3c1ca20 100644
--- a/cui/source/tabpages/tabarea.src
+++ b/cui/source/tabpages/tabarea.src
@@ -674,186 +674,6 @@ TabPage RID_SVXPAGE_SHADOW
 };
 
 // ------------------------------------------------------
-TabPage RID_SVXPAGE_HATCH
-{
-    HelpID = HID_AREA_HATCH ;
-    Hide = TRUE ;
-    Text [ en-US ] = "Hatching" ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedLine FL_PROP
-    {
-        Pos = MAP_APPFONT ( 6 , 3  ) ;
-        Size = MAP_APPFONT ( 248, 8 ) ;
-        Text [ en-US ] = "Properties";
-    };
-    FixedText FT_LINE_DISTANCE
-    {
-        Pos = MAP_APPFONT ( 12 , 14  ) ;
-        Size = MAP_APPFONT ( 78 , 8 ) ;
-        Text [ en-US ] = "~Spacing" ;
-    };
-    MetricField MTR_FLD_DISTANCE
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_HATCH:MTR_FLD_DISTANCE";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 25  ) ;
-        Size = MAP_APPFONT ( 50 , 12 ) ;
-        TabStop = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Minimum = 30 ;
-        Maximum = 9999 ;
-        DecimalDigits = 2 ;
-        Unit = FUNIT_MM ;
-        First = 30 ;
-        Last = 9999 ;
-        SpinSize = 100 ;
-    };
-    FixedText FT_LINE_ANGLE
-    {
-        Pos = MAP_APPFONT ( 12 , 41  ) ;
-        Size = MAP_APPFONT ( 78 , 8 ) ;
-        Text [ en-US ] = "A~ngle" ;
-    };
-    MetricField MTR_FLD_ANGLE
-    {
-        HelpID = "cui:MetricField:RID_SVXPAGE_HATCH:MTR_FLD_ANGLE";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 52  ) ;
-        Size = MAP_APPFONT ( 50 , 12 ) ;
-        TabStop = TRUE ;
-        Repeat = TRUE ;
-        Spin = TRUE ;
-        Maximum = 359 ;
-        Unit = FUNIT_CUSTOM ;
-        CustomUnitText [ en-US ] = " degrees" ;
-        Last = 359 ;
-        SpinSize = 15 ;
-    };
-    Control CTL_ANGLE
-    {
-        HelpId = HID_TPHATCH_CTRL ;
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 72 ) ;
-        Size = MAP_APPFONT ( 39 , 39 ) ;
-        TabStop = TRUE ;
-    };
-    FixedText FT_LINE_TYPE
-    {
-        Pos = MAP_APPFONT ( 12 , 123 ) ;
-        Size = MAP_APPFONT ( 50 , 8 ) ;
-        Text [ en-US ] = "~Line type" ;
-    };
-    ListBox LB_LINE_TYPE
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_HATCH:LB_LINE_TYPE";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 134 ) ;
-        Size = MAP_APPFONT ( 62 , 62 ) ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        StringList [ en-US ] =
-        {
-            < "Single" ; Default ; > ;
-            < "Crossed" ; Default ; > ;
-            < "Triple" ; Default ; > ;
-        };
-    };
-    FixedText FT_LINE_COLOR
-    {
-        Pos = MAP_APPFONT ( 12 , 150 ) ;
-        Size = MAP_APPFONT ( 49 , 8 ) ;
-        Text [ en-US ] = "Line ~color" ;
-    };
-    ListBox LB_LINE_COLOR
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_HATCH:LB_LINE_COLOR";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 161 ) ;
-        Size = MAP_APPFONT ( 62 , 100 ) ;
-        TabStop = TRUE ;
-        DropDown = TRUE ;
-        DDExtraWidth = TRUE ;
-    };
-    ListBox LB_HATCHINGS
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_HATCH:LB_HATCHINGS";
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 103 , 14  ) ;
-        Size = MAP_APPFONT ( 88 , 110 ) ;
-        TabStop = TRUE ;
-    };
-    Control CTL_PREVIEW
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 103 , 131  ) ;
-        Size = MAP_APPFONT ( 88 , 42 ) ;
-    };
-    PushButton BTN_ADD
-    {
-        HelpID = "cui:PushButton:RID_SVXPAGE_HATCH:BTN_ADD";
-        Pos = MAP_APPFONT ( 197 , 14 ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        Text [ en-US ] = "~Add..." ;
-        TabStop = TRUE ;
-    };
-    PushButton BTN_MODIFY
-    {
-        HelpID = "cui:PushButton:RID_SVXPAGE_HATCH:BTN_MODIFY";
-        Pos = MAP_APPFONT ( 197 , 32  ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        Text [ en-US ] = "~Modify..." ;
-        TabStop = TRUE ;
-    };
-    PushButton BTN_DELETE
-    {
-        HelpID = "cui:PushButton:RID_SVXPAGE_HATCH:BTN_DELETE";
-        Pos = MAP_APPFONT ( 197 , 68  ) ;
-        Size = MAP_APPFONT ( 50 , 14 ) ;
-        Text [ en-US ] = "~Delete..." ;
-        TabStop = TRUE ;
-    };
-
-    ImageButton BTN_LOAD
-    {
-	HelpID = "cui:ImageButton:RID_SVXPAGE_HATCH:BTN_LOAD";
-        Pos = MAP_APPFONT ( 197 , 104  ) ;
-        Size = MAP_APPFONT ( 16 , 16 ) ;
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Load Hatches List";
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "sc05501.bmp" ;
-            };
-        };
-    };
-    ImageButton BTN_SAVE
-    {
-	HelpID = "cui:ImageButton:RID_SVXPAGE_HATCH:BTN_SAVE";
-        Pos = MAP_APPFONT ( 217 , 104  ) ;
-        Size = MAP_APPFONT ( 16 , 16 ) ;
-        TabStop = TRUE ;
-        QuickHelpText [ en-US ] = "Save Hatches List";
-        ButtonImage = Image
-        {
-            ImageBitmap = Bitmap
-            {
-                File = "sc05502.bmp" ;
-            };
-        };
-    };
-    CheckBox BTN_EMBED
-    {
-	HelpID = "cui:ImageButton:RID_SVXPAGE_HATCH:BTN_EMBED";
-        Pos = MAP_APPFONT ( 197 , 124 ) ;
-        Size = MAP_APPFONT ( 122 , 10 ) ;
-        Text [ en-US ] = "Embed";
-    };
-};
-
-// ------------------------------------------------------
 TabPage RID_SVXPAGE_BITMAP
 {
     HelpID = HID_AREA_BITMAP ;
diff --git a/cui/source/tabpages/tphatch.cxx b/cui/source/tabpages/tphatch.cxx
index 2be33ae..cceae58 100644
--- a/cui/source/tabpages/tphatch.cxx
+++ b/cui/source/tabpages/tphatch.cxx
@@ -49,26 +49,7 @@ SvxHatchTabPage::SvxHatchTabPage
     const SfxItemSet& rInAttrs
 ) :
 
-    SvxTabPage          ( pParent, CUI_RES( RID_SVXPAGE_HATCH ), rInAttrs ),
-
-    aFtDistance         ( this, CUI_RES( FT_LINE_DISTANCE ) ),
-    aMtrDistance        ( this, CUI_RES( MTR_FLD_DISTANCE ) ),
-    aFtAngle            ( this, CUI_RES( FT_LINE_ANGLE ) ),
-    aMtrAngle           ( this, CUI_RES( MTR_FLD_ANGLE ) ),
-    aCtlAngle           ( this, CUI_RES( CTL_ANGLE ),
-                                    RP_RB, 200, 80, CS_ANGLE ),
-    aFlProp             ( this, CUI_RES( FL_PROP ) ),
-    aFtLineType         ( this, CUI_RES( FT_LINE_TYPE ) ),
-    aLbLineType         ( this, CUI_RES( LB_LINE_TYPE ) ),
-    aFtLineColor        ( this, CUI_RES( FT_LINE_COLOR ) ),
-    aLbLineColor        ( this, CUI_RES( LB_LINE_COLOR ) ),
-    aLbHatchings        ( this, CUI_RES( LB_HATCHINGS ) ),
-    aCtlPreview         ( this, CUI_RES( CTL_PREVIEW ) ),
-    aBtnAdd             ( this, CUI_RES( BTN_ADD ) ),
-    aBtnModify          ( this, CUI_RES( BTN_MODIFY ) ),
-    aBtnDelete          ( this, CUI_RES( BTN_DELETE ) ),
-    aBtnLoad            ( this, CUI_RES( BTN_LOAD ) ),
-    aBtnSave            ( this, CUI_RES( BTN_SAVE ) ),
+    SvxTabPage          ( pParent, "HatchPage", "cui/ui/hatchpage.ui", rInAttrs ),
 
     rOutAttrs           ( rInAttrs ),
 
@@ -86,7 +67,28 @@ SvxHatchTabPage::SvxHatchTabPage
     rXFSet              ( aXFillAttr.GetItemSet() )
 
 {
-    FreeResource();
+    get(m_pMtrDistance, "distancemtr");
+    get(m_pMtrAngle, "anglemtr");
+    get(m_pFtAngleDegrees, "anglemtrdegrees");
+    m_pMtrAngle->SetUnit(FUNIT_CUSTOM);
+    m_pMtrAngle->SetCustomUnitText(m_pFtAngleDegrees->GetText());
+    get(m_pCtlAngle, "anglectl");
+    m_pCtlAngle->SetCS(CS_ANGLE);
+    Size aSize = LogicToPixel(Size(39, 39), MAP_APPFONT);
+    m_pCtlAngle->set_width_request(aSize.Width());
+    m_pCtlAngle->set_height_request(aSize.Height());
+    get(m_pLbLineType, "linetypelb");
+    get(m_pLbLineColor, "linecolorlb");
+    get(m_pLbHatchings, "hatchingslb");
+    aSize = LogicToPixel(Size(88, 110), MAP_APPFONT);
+    m_pLbHatchings->set_width_request(aSize.Width());
+    m_pLbHatchings->set_height_request(aSize.Height());
+    get(m_pCtlPreview, "previewctl");
+    get(m_pBtnAdd, "add");
+    get(m_pBtnModify, "modify");
+    get(m_pBtnDelete, "delete");
+    get(m_pBtnLoad, "load");
+    get(m_pBtnSave, "save");
 
     // this page needs ExchangeSupport
     SetExchangeSupport();
@@ -102,7 +104,7 @@ SvxHatchTabPage::SvxHatchTabPage
             break;
         default: ;//prevent warning
     }
-    SetFieldUnit( aMtrDistance, eFUnit );
+    SetFieldUnit( *m_pMtrDistance, eFUnit );
 
     // determine PoolUnit
     SfxItemPool* pPool = rOutAttrs.GetPool();
@@ -112,42 +114,36 @@ SvxHatchTabPage::SvxHatchTabPage
     // setting the output device
     rXFSet.Put( aXFStyleItem );
     rXFSet.Put( aXHatchItem );
-    aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
+    m_pCtlPreview->SetAttributes( aXFillAttr.GetItemSet() );
 
-    aLbHatchings.SetSelectHdl( LINK( this, SvxHatchTabPage, ChangeHatchHdl_Impl ) );
+    m_pLbHatchings->SetSelectHdl( LINK( this, SvxHatchTabPage, ChangeHatchHdl_Impl ) );
 
     Link aLink = LINK( this, SvxHatchTabPage, ModifiedHdl_Impl );
-    aMtrDistance.SetModifyHdl( aLink );
-    aMtrAngle.SetModifyHdl( aLink );
-    aLbLineType.SetSelectHdl( aLink );
-    aLbLineColor.SetSelectHdl( aLink );
+    m_pMtrDistance->SetModifyHdl( aLink );
+    m_pMtrAngle->SetModifyHdl( aLink );
+    m_pLbLineType->SetSelectHdl( aLink );
+    m_pLbLineColor->SetSelectHdl( aLink );
 
-    aBtnAdd.SetClickHdl( LINK( this, SvxHatchTabPage, ClickAddHdl_Impl ) );
-    aBtnModify.SetClickHdl(
+    m_pBtnAdd->SetClickHdl( LINK( this, SvxHatchTabPage, ClickAddHdl_Impl ) );
+    m_pBtnModify->SetClickHdl(
         LINK( this, SvxHatchTabPage, ClickModifyHdl_Impl ) );
-    aBtnDelete.SetClickHdl(
+    m_pBtnDelete->SetClickHdl(
         LINK( this, SvxHatchTabPage, ClickDeleteHdl_Impl ) );
-    aBtnLoad.SetClickHdl( LINK( this, SvxHatchTabPage, ClickLoadHdl_Impl ) );
-    aBtnSave.SetClickHdl( LINK( this, SvxHatchTabPage, ClickSaveHdl_Impl ) );
-
-    aCtlPreview.SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR );
-
-    aCtlPreview.SetAccessibleName(String(CUI_RES(STR_EXAMPLE)));
-    aLbHatchings.SetAccessibleName( String(CUI_RES(STR_LB_HATCHINGSTYLE)) );
-    aCtlAngle.SetAccessibleRelationMemberOf( &aFlProp );
-    aLbHatchings.SetAccessibleRelationMemberOf( &aFlProp );
-    aBtnAdd.SetAccessibleRelationMemberOf( &aFlProp );
-    aBtnModify.SetAccessibleRelationMemberOf( &aFlProp );
-    aBtnDelete.SetAccessibleRelationMemberOf( &aFlProp );
-    aLbHatchings.SetAccessibleRelationLabeledBy(&aLbHatchings);
+    m_pBtnLoad->SetClickHdl( LINK( this, SvxHatchTabPage, ClickLoadHdl_Impl ) );
+    m_pBtnSave->SetClickHdl( LINK( this, SvxHatchTabPage, ClickSaveHdl_Impl ) );
+
+    m_pCtlPreview->SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR );
+
+    m_pCtlPreview->SetAccessibleName(String(CUI_RES(STR_EXAMPLE)));
+    m_pLbHatchings->SetAccessibleName( String(CUI_RES(STR_LB_HATCHINGSTYLE)) );
 }
 
 // -----------------------------------------------------------------------
 
 void SvxHatchTabPage::Construct()
 {
-    aLbLineColor.Fill( pColorList );
-    aLbHatchings.Fill( pHatchingList );
+    m_pLbLineColor->Fill( pColorList );
+    m_pLbHatchings->Fill( pHatchingList );
 }
 
 // -----------------------------------------------------------------------
@@ -171,16 +167,16 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
                     pColorList = ( (SvxAreaTabDialog*) GetParentDialog() )->GetNewColorList();
 
                 // LbLineColor
-                nPos = aLbLineColor.GetSelectEntryPos();
-                aLbLineColor.Clear();
-                aLbLineColor.Fill( pColorList );
-                nCount = aLbLineColor.GetEntryCount();
+                nPos = m_pLbLineColor->GetSelectEntryPos();
+                m_pLbLineColor->Clear();
+                m_pLbLineColor->Fill( pColorList );
+                nCount = m_pLbLineColor->GetEntryCount();
                 if( nCount == 0 )
                     ; // this case should not occur
                 else if( nCount <= nPos )
-                    aLbLineColor.SelectEntryPos( 0 );
+                    m_pLbLineColor->SelectEntryPos( 0 );
                 else
-                    aLbLineColor.SelectEntryPos( nPos );
+                    m_pLbLineColor->SelectEntryPos( nPos );
 
                 ModifiedHdl_Impl( this );
             }
@@ -204,7 +200,7 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
 
             if( *pPageType == PT_HATCH && *pPos != LISTBOX_ENTRY_NOTFOUND )
             {
-                aLbHatchings.SelectEntryPos( *pPos );
+                m_pLbHatchings->SelectEntryPos( *pPos );
             }
             // colors could have been deleted
             ChangeHatchHdl_Impl( this );
@@ -216,8 +212,8 @@ void SvxHatchTabPage::ActivatePage( const SfxItemSet& rSet )
 
     rXFSet.Put ( ( XFillColorItem& )    rSet.Get(XATTR_FILLCOLOR) );
     rXFSet.Put ( ( XFillBackgroundItem&)rSet.Get(XATTR_FILLBACKGROUND) );
-    aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
-    aCtlPreview.Invalidate();
+    m_pCtlPreview->SetAttributes( aXFillAttr.GetItemSet() );
+    m_pCtlPreview->Invalidate();
 }
 
 // -----------------------------------------------------------------------
@@ -237,11 +233,11 @@ int SvxHatchTabPage::DeactivatePage( SfxItemSet* _pSet )
 
 long SvxHatchTabPage::CheckChanges_Impl()
 {
-    if( aMtrDistance.GetText()           != aMtrDistance.GetSavedValue() ||
-        aMtrAngle.GetText()              != aMtrAngle.GetSavedValue() ||
-        aLbLineType.GetSelectEntryPos()  != aLbLineType.GetSavedValue()  ||
-        aLbLineColor.GetSelectEntryPos() != aLbLineColor.GetSavedValue() ||
-        aLbHatchings.GetSelectEntryPos() != aLbHatchings.GetSavedValue() )
+    if( m_pMtrDistance->GetText()           != m_pMtrDistance->GetSavedValue() ||
+        m_pMtrAngle->GetText()              != m_pMtrAngle->GetSavedValue() ||
+        m_pLbLineType->GetSelectEntryPos()  != m_pLbLineType->GetSavedValue()  ||
+        m_pLbLineColor->GetSelectEntryPos() != m_pLbLineColor->GetSavedValue() ||
+        m_pLbHatchings->GetSelectEntryPos() != m_pLbHatchings->GetSavedValue() )
     {
         ResMgr& rMgr = CUI_MGR();
         Image aWarningBoxImage = WarningBox::GetStandardImage();
@@ -277,7 +273,7 @@ long SvxHatchTabPage::CheckChanges_Impl()
         delete aMessDlg;
     }
 
-    sal_uInt16 nPos = aLbHatchings.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLbHatchings->GetSelectEntryPos();
     if( nPos != LISTBOX_ENTRY_NOTFOUND )
         *pPos = nPos;
     return 0L;
@@ -295,19 +291,19 @@ sal_Bool SvxHatchTabPage::FillItemSet( SfxItemSet& rSet )
 
             XHatch* pXHatch = NULL;
             String  aString;
-            sal_uInt16  nPos = aLbHatchings.GetSelectEntryPos();
+            sal_uInt16  nPos = m_pLbHatchings->GetSelectEntryPos();
             if( nPos != LISTBOX_ENTRY_NOTFOUND )
             {
                 pXHatch = new XHatch( pHatchingList->GetHatch( nPos )->GetHatch() );
-                aString = aLbHatchings.GetSelectEntry();
+                aString = m_pLbHatchings->GetSelectEntry();
             }
             // gradient has been (unidentifiedly) passed
             else
             {
-                pXHatch = new XHatch( aLbLineColor.GetSelectEntryColor(),
-                                 (XHatchStyle) aLbLineType.GetSelectEntryPos(),
-                                 GetCoreValue( aMtrDistance, ePoolUnit ),
-                                 static_cast<long>(aMtrAngle.GetValue() * 10) );
+                pXHatch = new XHatch( m_pLbLineColor->GetSelectEntryColor(),
+                                 (XHatchStyle) m_pLbLineType->GetSelectEntryPos(),
+                                 GetCoreValue( *m_pMtrDistance, ePoolUnit ),
+                                 static_cast<long>(m_pMtrAngle->GetValue() * 10) );
             }
             DBG_ASSERT( pXHatch, "XHatch konnte nicht erzeugt werden" );
             rSet.Put( XFillStyleItem( XFILL_HATCH ) );
@@ -328,21 +324,21 @@ void SvxHatchTabPage::Reset( const SfxItemSet& rSet )
     // determine button state
     if( pHatchingList->Count() )
     {
-        aBtnModify.Enable();
-        aBtnDelete.Enable();
-        aBtnSave.Enable();
+        m_pBtnModify->Enable();
+        m_pBtnDelete->Enable();
+        m_pBtnSave->Enable();
     }
     else
     {
-        aBtnModify.Disable();
-        aBtnDelete.Disable();
-        aBtnSave.Disable();
+        m_pBtnModify->Disable();
+        m_pBtnDelete->Disable();
+        m_pBtnSave->Disable();
     }
 
     rXFSet.Put ( ( XFillColorItem& )    rSet.Get(XATTR_FILLCOLOR) );
     rXFSet.Put ( ( XFillBackgroundItem&)rSet.Get(XATTR_FILLBACKGROUND) );
-    aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
-    aCtlPreview.Invalidate();
+    m_pCtlPreview->SetAttributes( aXFillAttr.GetItemSet() );
+    m_pCtlPreview->Invalidate();
 }
 
 // -----------------------------------------------------------------------
@@ -357,31 +353,31 @@ SfxTabPage* SvxHatchTabPage::Create( Window* pWindow,
 
 IMPL_LINK( SvxHatchTabPage, ModifiedHdl_Impl, void *, p )
 {
-    if( p == &aMtrAngle )
+    if( p == m_pMtrAngle )
     {
-        switch( aMtrAngle.GetValue() )
+        switch( m_pMtrAngle->GetValue() )
         {
-            case 135: aCtlAngle.SetActualRP( RP_LT ); break;
-            case  90: aCtlAngle.SetActualRP( RP_MT ); break;
-            case  45: aCtlAngle.SetActualRP( RP_RT ); break;
-            case 180: aCtlAngle.SetActualRP( RP_LM ); break;
-            case   0: aCtlAngle.SetActualRP( RP_RM ); break;
-            case 225: aCtlAngle.SetActualRP( RP_LB ); break;
-            case 270: aCtlAngle.SetActualRP( RP_MB ); break;
-            case 315: aCtlAngle.SetActualRP( RP_RB ); break;
-            default:  aCtlAngle.SetActualRP( RP_MM ); break;
+            case 135: m_pCtlAngle->SetActualRP( RP_LT ); break;
+            case  90: m_pCtlAngle->SetActualRP( RP_MT ); break;
+            case  45: m_pCtlAngle->SetActualRP( RP_RT ); break;
+            case 180: m_pCtlAngle->SetActualRP( RP_LM ); break;
+            case   0: m_pCtlAngle->SetActualRP( RP_RM ); break;
+            case 225: m_pCtlAngle->SetActualRP( RP_LB ); break;
+            case 270: m_pCtlAngle->SetActualRP( RP_MB ); break;
+            case 315: m_pCtlAngle->SetActualRP( RP_RB ); break;
+            default:  m_pCtlAngle->SetActualRP( RP_MM ); break;
         }
     }
 
-    XHatch aXHatch( aLbLineColor.GetSelectEntryColor(),
-                    (XHatchStyle) aLbLineType.GetSelectEntryPos(),
-                    GetCoreValue( aMtrDistance, ePoolUnit ),
-                    static_cast<long>(aMtrAngle.GetValue() * 10) );
+    XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(),
+                    (XHatchStyle) m_pLbLineType->GetSelectEntryPos(),
+                    GetCoreValue( *m_pMtrDistance, ePoolUnit ),
+                    static_cast<long>(m_pMtrAngle->GetValue() * 10) );
 
     rXFSet.Put( XFillHatchItem( String(), aXHatch ) );
-    aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
+    m_pCtlPreview->SetAttributes( aXFillAttr.GetItemSet() );
 
-    aCtlPreview.Invalidate();
+    m_pCtlPreview->Invalidate();
 
     return 0L;
 }
@@ -391,7 +387,7 @@ IMPL_LINK( SvxHatchTabPage, ModifiedHdl_Impl, void *, p )
 IMPL_LINK_NOARG(SvxHatchTabPage, ChangeHatchHdl_Impl)
 {
     XHatch* pHatch = NULL;
-    int nPos = aLbHatchings.GetSelectEntryPos();
+    int nPos = m_pLbHatchings->GetSelectEntryPos();
 
     if( nPos != LISTBOX_ENTRY_NOTFOUND )
         pHatch = new XHatch( ( (XHatchEntry*) pHatchingList->GetHatch( nPos ) )->GetHatch() );
@@ -408,53 +404,53 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ChangeHatchHdl_Impl)
         }
         if( !pHatch )
         {
-            aLbHatchings.SelectEntryPos( 0 );
-            nPos = aLbHatchings.GetSelectEntryPos();
+            m_pLbHatchings->SelectEntryPos( 0 );
+            nPos = m_pLbHatchings->GetSelectEntryPos();
             if( nPos != LISTBOX_ENTRY_NOTFOUND )
                 pHatch = new XHatch( ( (XHatchEntry*) pHatchingList->GetHatch( nPos ) )->GetHatch() );
         }
     }
     if( pHatch )
     {
-        aLbLineType.SelectEntryPos(
+        m_pLbLineType->SelectEntryPos(
             sal::static_int_cast< sal_uInt16 >( pHatch->GetHatchStyle() ) );
         // if the entry is not in the listbox
         // the color is added temporarily
-        aLbLineColor.SetNoSelection();
-        aLbLineColor.SelectEntry( pHatch->GetColor() );
-        if( aLbLineColor.GetSelectEntryCount() == 0 )
+        m_pLbLineColor->SetNoSelection();
+        m_pLbLineColor->SelectEntry( pHatch->GetColor() );
+        if( m_pLbLineColor->GetSelectEntryCount() == 0 )
         {
-            aLbLineColor.InsertEntry( pHatch->GetColor(), String() );
-            aLbLineColor.SelectEntry( pHatch->GetColor() );
+            m_pLbLineColor->InsertEntry( pHatch->GetColor(), String() );
+            m_pLbLineColor->SelectEntry( pHatch->GetColor() );
         }
-        SetMetricValue( aMtrDistance, pHatch->GetDistance(), ePoolUnit );
-        aMtrAngle.SetValue( pHatch->GetAngle() / 10 );
+        SetMetricValue( *m_pMtrDistance, pHatch->GetDistance(), ePoolUnit );
+        m_pMtrAngle->SetValue( pHatch->GetAngle() / 10 );
 
-        switch( aMtrAngle.GetValue() )
+        switch( m_pMtrAngle->GetValue() )
         {
-            case 135: aCtlAngle.SetActualRP( RP_LT ); break;
-            case  90: aCtlAngle.SetActualRP( RP_MT ); break;
-            case  45: aCtlAngle.SetActualRP( RP_RT ); break;
-            case 180: aCtlAngle.SetActualRP( RP_LM ); break;
-            case   0: aCtlAngle.SetActualRP( RP_RM ); break;
-            case 225: aCtlAngle.SetActualRP( RP_LB ); break;
-            case 270: aCtlAngle.SetActualRP( RP_MB ); break;
-            case 315: aCtlAngle.SetActualRP( RP_RB ); break;
-            default:  aCtlAngle.SetActualRP( RP_MM ); break;
+            case 135: m_pCtlAngle->SetActualRP( RP_LT ); break;
+            case  90: m_pCtlAngle->SetActualRP( RP_MT ); break;
+            case  45: m_pCtlAngle->SetActualRP( RP_RT ); break;
+            case 180: m_pCtlAngle->SetActualRP( RP_LM ); break;
+            case   0: m_pCtlAngle->SetActualRP( RP_RM ); break;
+            case 225: m_pCtlAngle->SetActualRP( RP_LB ); break;
+            case 270: m_pCtlAngle->SetActualRP( RP_MB ); break;
+            case 315: m_pCtlAngle->SetActualRP( RP_RB ); break;
+            default:  m_pCtlAngle->SetActualRP( RP_MM ); break;
         }
 
-        // fill ItemSet and pass it on to aCtlPreview
+        // fill ItemSet and pass it on to m_pCtlPreview
         rXFSet.Put( XFillHatchItem( String(), *pHatch ) );
-        aCtlPreview.SetAttributes( aXFillAttr.GetItemSet() );
+        m_pCtlPreview->SetAttributes( aXFillAttr.GetItemSet() );
 
-        aCtlPreview.Invalidate();
+        m_pCtlPreview->Invalidate();
         delete pHatch;
     }
-    aMtrDistance.SaveValue();
-    aMtrAngle.SaveValue();
-    aLbLineType.SaveValue();
-    aLbLineColor.SaveValue();
-    aLbHatchings.SaveValue();
+    m_pMtrDistance->SaveValue();
+    m_pMtrAngle->SaveValue();
+    m_pLbLineType->SaveValue();
+    m_pLbLineColor->SaveValue();
+    m_pLbHatchings->SaveValue();
 
     return 0L;
 }
@@ -522,21 +518,21 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickAddHdl_Impl)
 
     if( !nError )
     {
-        XHatch aXHatch( aLbLineColor.GetSelectEntryColor(),
-                        (XHatchStyle) aLbLineType.GetSelectEntryPos(),
-                        GetCoreValue( aMtrDistance, ePoolUnit ),
-                        static_cast<long>(aMtrAngle.GetValue() * 10) );
+        XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(),
+                        (XHatchStyle) m_pLbLineType->GetSelectEntryPos(),
+                        GetCoreValue( *m_pMtrDistance, ePoolUnit ),
+                        static_cast<long>(m_pMtrAngle->GetValue() * 10) );
         XHatchEntry* pEntry = new XHatchEntry( aXHatch, aName );
 
         pHatchingList->Insert( pEntry, nCount );
 
-        aLbHatchings.Append( *pEntry, pHatchingList->GetUiBitmap( nCount ) );
+        m_pLbHatchings->Append( *pEntry, pHatchingList->GetUiBitmap( nCount ) );
 
-        aLbHatchings.SelectEntryPos( aLbHatchings.GetEntryCount() - 1 );
+        m_pLbHatchings->SelectEntryPos( m_pLbHatchings->GetEntryCount() - 1 );
 
 #ifdef WNT
         // hack: #31355# W.P.
-        Rectangle aRect( aLbHatchings.GetPosPixel(), aLbHatchings.GetSizePixel() );
+        Rectangle aRect( m_pLbHatchings->GetPosPixel(), m_pLbHatchings->GetSizePixel() );
         if( sal_True ) {                // ??? overlapped with pDlg
                                     // and srolling
             Invalidate( aRect );
@@ -551,9 +547,9 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickAddHdl_Impl)
     // determine button state
     if( pHatchingList->Count() )
     {
-        aBtnModify.Enable();
-        aBtnDelete.Enable();
-        aBtnSave.Enable();
+        m_pBtnModify->Enable();
+        m_pBtnDelete->Enable();
+        m_pBtnSave->Enable();
     }
     return 0L;
 }
@@ -562,7 +558,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickAddHdl_Impl)
 
 IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl)
 {
-    sal_uInt16 nPos = aLbHatchings.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLbHatchings->GetSelectEntryPos();
 
     if ( nPos != LISTBOX_ENTRY_NOTFOUND )
     {
@@ -594,25 +590,25 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl)
             if( bDifferent )
             {
                 bLoop = sal_False;
-                XHatch aXHatch( aLbLineColor.GetSelectEntryColor(),
-                                (XHatchStyle) aLbLineType.GetSelectEntryPos(),
-                                 GetCoreValue( aMtrDistance, ePoolUnit ),
-                                static_cast<long>(aMtrAngle.GetValue() * 10) );
+                XHatch aXHatch( m_pLbLineColor->GetSelectEntryColor(),
+                                (XHatchStyle) m_pLbLineType->GetSelectEntryPos(),
+                                 GetCoreValue( *m_pMtrDistance, ePoolUnit ),
+                                static_cast<long>(m_pMtrAngle->GetValue() * 10) );
 
                 XHatchEntry* pEntry = new XHatchEntry( aXHatch, aName );
 
                 delete pHatchingList->Replace( pEntry, nPos );
 
-                aLbHatchings.Modify( *pEntry, nPos, pHatchingList->GetUiBitmap( nPos ) );
+                m_pLbHatchings->Modify( *pEntry, nPos, pHatchingList->GetUiBitmap( nPos ) );
 
-                aLbHatchings.SelectEntryPos( nPos );
+                m_pLbHatchings->SelectEntryPos( nPos );
 
                 // save values for changes recognition (-> method)
-                aMtrDistance.SaveValue();
-                aMtrAngle.SaveValue();
-                aLbLineType.SaveValue();
-                aLbLineColor.SaveValue();
-                aLbHatchings.SaveValue();
+                m_pMtrDistance->SaveValue();
+                m_pMtrAngle->SaveValue();
+                m_pLbLineType->SaveValue();
+                m_pLbLineColor->SaveValue();
+                m_pLbHatchings->SaveValue();
 
                 *pnHatchingListState |= CT_MODIFIED;
             }
@@ -632,7 +628,7 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickModifyHdl_Impl)
 
 IMPL_LINK_NOARG(SvxHatchTabPage, ClickDeleteHdl_Impl)
 {
-    sal_uInt16 nPos = aLbHatchings.GetSelectEntryPos();
+    sal_uInt16 nPos = m_pLbHatchings->GetSelectEntryPos();
 
     if( nPos != LISTBOX_ENTRY_NOTFOUND )
     {
@@ -642,10 +638,10 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickDeleteHdl_Impl)
         if( aQueryBox.Execute() == RET_YES )
         {
             delete pHatchingList->Remove( nPos );
-            aLbHatchings.RemoveEntry( nPos );
-            aLbHatchings.SelectEntryPos( 0 );
+            m_pLbHatchings->RemoveEntry( nPos );
+            m_pLbHatchings->SelectEntryPos( 0 );
 
-            aCtlPreview.Invalidate();
+            m_pCtlPreview->Invalidate();
 
             ChangeHatchHdl_Impl( this );
 
@@ -655,9 +651,9 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickDeleteHdl_Impl)
     // determine button state
     if( !pHatchingList->Count() )
     {
-        aBtnModify.Disable();
-        aBtnDelete.Disable();
-        aBtnSave.Disable();
+        m_pBtnModify->Disable();
+        m_pBtnDelete->Disable();
+        m_pBtnSave->Disable();
     }
     return 0L;
 }
@@ -704,8 +700,8 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickLoadHdl_Impl)
                 pHatchingList = pHatchList;
                 ( (SvxAreaTabDialog*) GetParentDialog() )->SetNewHatchingList( pHatchingList );
 
-                aLbHatchings.Clear();
-                aLbHatchings.Fill( pHatchingList );
+                m_pLbHatchings->Clear();
+                m_pLbHatchings->Fill( pHatchingList );
                 Reset( rOutAttrs );
 
                 pHatchingList->SetName( aURL.getName() );
@@ -735,15 +731,15 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickLoadHdl_Impl)
     // determine button state
     if ( pHatchingList->Count() )
     {
-        aBtnModify.Enable();
-        aBtnDelete.Enable();
-        aBtnSave.Enable();
+        m_pBtnModify->Enable();
+        m_pBtnDelete->Enable();
+        m_pBtnSave->Enable();
     }
     else
     {
-        aBtnModify.Disable();
-        aBtnDelete.Disable();
-        aBtnSave.Disable();
+        m_pBtnModify->Disable();
+        m_pBtnDelete->Disable();
+        m_pBtnSave->Disable();
     }
     return 0L;
 }
@@ -812,18 +808,18 @@ IMPL_LINK_NOARG(SvxHatchTabPage, ClickSaveHdl_Impl)
 
 void SvxHatchTabPage::PointChanged( Window* pWindow, RECT_POINT eRcPt )
 {
-    if( pWindow == &aCtlAngle )
+    if( pWindow == m_pCtlAngle )
     {
         switch( eRcPt )
         {
-            case RP_LT: aMtrAngle.SetValue( 135 ); break;
-            case RP_MT: aMtrAngle.SetValue( 90 );  break;
-            case RP_RT: aMtrAngle.SetValue( 45 );  break;
-            case RP_LM: aMtrAngle.SetValue( 180 ); break;
-            case RP_RM: aMtrAngle.SetValue( 0 );   break;
-            case RP_LB: aMtrAngle.SetValue( 225 ); break;
-            case RP_MB: aMtrAngle.SetValue( 270 ); break;
-            case RP_RB: aMtrAngle.SetValue( 315 ); break;
+            case RP_LT: m_pMtrAngle->SetValue( 135 ); break;
+            case RP_MT: m_pMtrAngle->SetValue( 90 );  break;
+            case RP_RT: m_pMtrAngle->SetValue( 45 );  break;
+            case RP_LM: m_pMtrAngle->SetValue( 180 ); break;
+            case RP_RM: m_pMtrAngle->SetValue( 0 );   break;
+            case RP_LB: m_pMtrAngle->SetValue( 225 ); break;
+            case RP_MB: m_pMtrAngle->SetValue( 270 ); break;
+            case RP_RB: m_pMtrAngle->SetValue( 315 ); break;
             case RP_MM: break;
         }
         ModifiedHdl_Impl( this );
@@ -834,7 +830,7 @@ void SvxHatchTabPage::PointChanged( Window* pWindow, RECT_POINT eRcPt )
 void SvxHatchTabPage::DataChanged( const DataChangedEvent& rDCEvt )
 {
     if ( ( rDCEvt.GetType() == DATACHANGED_SETTINGS ) && ( rDCEvt.GetFlags() & SETTINGS_STYLE ) )
-        aCtlPreview.SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR );
+        m_pCtlPreview->SetDrawMode( GetSettings().GetStyleSettings().GetHighContrastMode() ? OUTPUT_DRAWMODE_CONTRAST : OUTPUT_DRAWMODE_COLOR );
 
     SvxTabPage::DataChanged( rDCEvt );
 }
diff --git a/cui/uiconfig/ui/hatchpage.ui b/cui/uiconfig/ui/hatchpage.ui
new file mode 100644
index 0000000..9a7fe1c
--- /dev/null
+++ b/cui/uiconfig/ui/hatchpage.ui
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkBox" id="HatchPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="vexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkFrame" id="frame1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="hexpand">True</property>
+        <property name="vexpand">True</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="hexpand">True</property>
+            <property name="vexpand">True</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="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="spacing">12</property>
+                <child>
+                  <object class="GtkGrid" id="grid2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="vexpand">True</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="distanceft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Spacing</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">distancemtr:0mm</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="angleft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">A_ngle</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">anglemtr:0</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="GtkLabel" id="linetypeft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Line type</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">linetypelb</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">5</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="linecolorft">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Line _color</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">linecolorlb</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">7</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="anglemtrdegrees">
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes"> degrees</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="distancemtr:0mm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">●</property>
+                        <property name="adjustment">distanceadjustment</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="anglemtr:0">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">●</property>
+                        <property name="adjustment">angleadjustment</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-SvxRectCtl" id="anglectl">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">4</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBoxText" id="linetypelb">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="entry_text_column">0</property>
+                        <property name="id_column">1</property>
+                        <items>
+                          <item translatable="yes">Single</item>
+                          <item translatable="yes">Crossed</item>
+                          <item translatable="yes">Triple</item>
+                        </items>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">6</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="svxlo-ColorLB" id="linecolorlb">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">8</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkGrid" id="grid1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="halign">center</property>
+                    <property name="valign">start</property>
+                    <property name="hexpand">True</property>
+                    <property name="row_spacing">6</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="svxlo-HatchingLB" id="hatchingslb:border">
+                        <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="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="svxlo-SvxXRectPreview" id="previewctl">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="vexpand">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkButtonBox" id="buttonbox1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <property name="layout_style">start</property>
+                    <child>
+                      <object class="GtkButton" id="add">
+                        <property name="label">gtk-add</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="modify">
+                        <property name="label" translatable="yes">_Modify</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="delete">
+                        <property name="label">gtk-delete</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkGrid" id="grid4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="row_spacing">6</property>
+                        <property name="column_spacing">6</property>
+                        <child>
+                          <object class="GtkButton" id="load">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Load Hatching List</property>
+                            <property name="tooltip_text" translatable="yes">Load Hatching List</property>
+                            <property name="halign">center</property>
+                            <property name="hexpand">True</property>
+                            <property name="image">image1</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="GtkButton" id="save">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <property name="has_tooltip">True</property>
+                            <property name="tooltip_markup" translatable="yes">Save Hatching List</property>
+                            <property name="tooltip_text" translatable="yes">Save Hatching List</property>
+                            <property name="halign">center</property>
+                            <property name="hexpand">True</property>
+                            <property name="image">image2</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                            <property name="width">1</property>
+                            <property name="height">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">5</property>
+                        <property name="secondary">True</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="propfl">
+            <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="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkAdjustment" id="angleadjustment">
+    <property name="upper">359</property>
+    <property name="step_increment">15</property>
+  </object>
+  <object class="GtkAdjustment" id="distanceadjustment">
+    <property name="lower">0.29999999999999999</property>
+    <property name="upper">99</property>
+    <property name="step_increment">100</property>
+  </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">res/sc05501.png</property>
+  </object>
+  <object class="GtkImage" id="image2">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="pixbuf">res/sc05502.png</property>
+  </object>
+</interface>
commit f9a5889ab65113bfd5d3fa5228620475f57eb59a
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Thu Jul 4 18:25:22 2013 +0200

    SvxRectCtl: also notify parent when the tabpage is not the direct parent
    
    After a .ui conversion the SvxRectCtl typically doesn't have the tab
    page as parent directly, so check the parent chain recursively.
    
    Change-Id: I9d8fc5de0c71685fa7e1be284990c16fc988ff8d

diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index 247c6cb..dd4346f 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -264,8 +264,16 @@ void SvxRectCtl::MouseButtonDown( const MouseEvent& rMEvt )
 
             SetActualRP( eRP );
 
-            if( WINDOW_TABPAGE == GetParent()->GetType() )
-                ( (SvxTabPage*) GetParent() )->PointChanged( this, eRP );
+            Window* pParent = GetParent();
+            while (pParent)
+            {
+                if( WINDOW_TABPAGE == pParent->GetType() )
+                {
+                    ( (SvxTabPage*) pParent )->PointChanged( this, eRP );
+                    break;
+                }
+                pParent = pParent->GetParent();
+            }
         }
     }
 }
commit ef4926fe6640cc8ba48117075b0b5871f02e34f3
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Thu Jul 4 17:17:58 2013 +0200

    svx: add SvxRectCtl::SetCS()
    
    This way CTL_STYLE can be set after the control has been created.
    
    Change-Id: Ifaa93cdc17e6e0c694d2aa308d19ff996dd28a16

diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx
index d218ba2..60aa0b0 100644
--- a/include/svx/dlgctrl.hxx
+++ b/include/svx/dlgctrl.hxx
@@ -128,6 +128,7 @@ public:
 
     sal_Bool IsCompletelyDisabled() const { return mbCompleteDisable; }
     void DoCompletelyDisable(sal_Bool bNew);
+    void SetCS(CTL_STYLE eNew);
 };
 
 /*************************************************************************
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index 29ac4d2..247c6cb 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -731,6 +731,11 @@ void SvxRectCtl::DoCompletelyDisable(sal_Bool bNew)
     Invalidate();
 }
 
+void SvxRectCtl::SetCS(CTL_STYLE eNew)
+{
+    eCS = eNew;
+}
+
 // Control for editing bitmaps
 
 SvxPixelCtl::SvxPixelCtl( Window* pParent, const ResId& rResId, sal_uInt16 nNumber ) :
commit a8bcd1a39eebb3b2e28972592915c793391c500d
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Thu Jul 4 14:47:32 2013 +0200

    glade: add new svxlo-HatchingLB custom widget
    
    Change-Id: I124adc8e4b20a2d4629113906bcd9b6e4856cc54

diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in
index 962c42f..6d60839 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -215,6 +215,9 @@
     <glade-widget-class title="Gradiant ListBox" name="svxlo-GradientLB"
                         generic-name="GradiantListBox" parent="GtkComboBox"
                         icon-name="widget-gtk-combobox"/>
+    <glade-widget-class title="Hatching ListBox" name="svxlo-HatchingLB"
+                        generic-name="HatchingListBox" parent="GtkComboBox"
+                        icon-name="widget-gtk-combobox"/>
     <glade-widget-class title="Category ComboBox" name="swuilo-CategoryBox"
                         generic-name="CategoryComboBox" parent="GtkComboBox"
                         icon-name="widget-gtk-combobox"/>
diff --git a/include/svx/dlgctrl.hxx b/include/svx/dlgctrl.hxx
index d88d2e2..d218ba2 100644
--- a/include/svx/dlgctrl.hxx
+++ b/include/svx/dlgctrl.hxx
@@ -220,6 +220,7 @@ class SVX_DLLPUBLIC HatchingLB : public ListBox
     XHatchListRef mpList;
 public:
     explicit HatchingLB(Window* pParent, ResId Id);
+    explicit HatchingLB(Window* pParent, WinBits aWB);
 
     virtual void Fill( const XHatchListRef &pList );
 
diff --git a/svx/source/dialog/dlgctrl.cxx b/svx/source/dialog/dlgctrl.cxx
index 9dc7bb8..29ac4d2 100644
--- a/svx/source/dialog/dlgctrl.cxx
+++ b/svx/source/dialog/dlgctrl.cxx
@@ -975,6 +975,24 @@ HatchingLB::HatchingLB( Window* pParent, ResId Id)
     SetEdgeBlending(true);
 }
 
+HatchingLB::HatchingLB( Window* pParent, WinBits nWinStyle)
+: ListBox( pParent, nWinStyle ),
+  mpList ( NULL )
+{
+    SetEdgeBlending(true);
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeHatchingLB(Window *pParent, VclBuilder::stringmap& rMap)
+{
+    WinBits nWinStyle = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_SIMPLEMODE;
+    OString sBorder = VclBuilder::extractCustomProperty(rMap);
+    if (!sBorder.isEmpty())
+        nWinStyle |= WB_BORDER;
+    HatchingLB *pListBox = new HatchingLB(pParent, nWinStyle);
+    pListBox->EnableAutoSize(true);
+    return pListBox;
+}
+
 void HatchingLB::Fill( const XHatchListRef &pList )
 {
     if( !pList.is() )


More information about the Libreoffice-commits mailing list