split out border page and adapt code

Change-Id: I1c6b8c0fdbd82d54920e168afbe5c33a29244202
diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk
index 7bfe39a..cb2f211 100644
--- a/cui/UI_cui.mk
+++ b/cui/UI_cui.mk
@@ -10,6 +10,7 @@
$(eval $(call gb_UI_UI,cui))

$(eval $(call gb_UI_add_uifiles,cui,\
	cui/uiconfig/ui/borderpage \
	cui/uiconfig/ui/charnamepage \
	cui/uiconfig/ui/effectspage \
	cui/uiconfig/ui/hyphenate \
diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx
index 0980420..445222a 100644
--- a/cui/source/inc/border.hxx
+++ b/cui/source/inc/border.hxx
@@ -59,46 +59,37 @@ private:
    ~SvxBorderTabPage();

    // Controls
    FixedLine           aFlBorder;
    FixedText           aDefaultFT;
    ValueSet            aWndPresets;
    FixedText           aUserDefFT;
    svx::FrameSelector  aFrameSel;
    ValueSet*           m_pWndPresets;
    FixedText*          m_pUserDefFT;
    svx::FrameSelector* m_pFrameSel;

    FixedLine           aFlSep1;
    FixedLine           aFlLine;
    FixedText           aStyleFT;
    LineListBox    aLbLineStyle;
    FixedText           aColorFT;
    ColorListBox        aLbLineColor;
    FixedText           aWidthFT;
    MetricField         aLineWidthMF;
    LineListBox*        m_pLbLineStyle;
    ColorListBox*       m_pLbLineColor;
    MetricField*        m_pLineWidthMF;

    FixedLine           aFlSep2;
    FixedLine           aDistanceFL;
    FixedText           aLeftFT;
    MetricField         aLeftMF;
    FixedText           aRightFT;
    MetricField         aRightMF;
    FixedText           aTopFT;
    MetricField         aTopMF;
    FixedText           aBottomFT;
    MetricField         aBottomMF;
    CheckBox            aSynchronizeCB;
    VclContainer*       m_pSpacingFrame;
    FixedText*          m_pLeftFT;
    MetricField*        m_pLeftMF;
    FixedText*          m_pRightFT;
    MetricField*        m_pRightMF;
    FixedText*          m_pTopFT;
    MetricField*        m_pTopMF;
    FixedText*          m_pBottomFT;
    MetricField*        m_pBottomMF;
    CheckBox*           m_pSynchronizeCB;

    FixedLine           aFlShadow;
    FixedText           aFtShadowPos;
    ValueSet            aWndShadows;
    FixedText           aFtShadowSize;
    MetricField         aEdShadowSize;
    FixedText           aFtShadowColor;
    ColorListBox        aLbShadowColor;
    VclContainer*       m_pShadowFrame;
    ValueSet*           m_pWndShadows;
    FixedText*          m_pFtShadowSize;
    MetricField*        m_pEdShadowSize;
    FixedText*          m_pFtShadowColor;
    ColorListBox*       m_pLbShadowColor;


    FixedLine           aPropertiesFL;///< properties - "Merge with next paragraph" in Writer
    CheckBox            aMergeWithNextCB;
    VclContainer*       m_pPropertiesFrame;///< properties - "Merge with next paragraph" in Writer
    CheckBox*           m_pMergeWithNextCB;
    // #i29550#
    CheckBox            aMergeAdjacentBordersCB;
    CheckBox*           m_pMergeAdjacentBordersCB;

    ImageList           aShadowImgLstH;
    ImageList           aShadowImgLst;
@@ -115,7 +106,6 @@ private:
    bool                mbUseMarginItem;
    bool                mbSync;

#ifdef _SVX_BORDER_CXX
    // Handler
    DECL_LINK( SelStyleHdl_Impl, ListBox* pLb );
    DECL_LINK( SelColHdl_Impl, ListBox* pLb );
@@ -140,7 +130,6 @@ private:
    void                ResetFrameLine_Impl( svx::FrameBorderType eBorder,
                                             const editeng::SvxBorderLine* pCurLine,
                                             bool bValid );
#endif
};


diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc
index 5e8bfd4..496372f 100644
--- a/cui/source/inc/helpid.hrc
+++ b/cui/source/inc/helpid.hrc
@@ -276,9 +276,6 @@
#define HID_BACKGROUND "CUI_HID_BACKGROUND"
#define HID_BACKGROUND_CTL_BGDCOLORSET "CUI_HID_BACKGROUND_CTL_BGDCOLORSET"
#define HID_BACKGROUND_CTL_POSITION "CUI_HID_BACKGROUND_CTL_POSITION"
#define HID_BORDER "CUI_HID_BORDER"
#define HID_BORDER_CTL_PRESETS "CUI_HID_BORDER_CTL_PRESETS"
#define HID_BORDER_CTL_SHADOWS "CUI_HID_BORDER_CTL_SHADOWS"
#define HID_PAGE_CONNECTION "CUI_HID_PAGE_CONNECTION"
#define HID_PAGE_CONNECTION_CTL_PREVIEW "CUI_HID_PAGE_CONNECTION_CTL_PREVIEW"
#define HID_PAGE_DISTRIBUTE "CUI_HID_PAGE_DISTRIBUTE"
diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 8a44475..ad73329 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -22,7 +22,6 @@
#include <sfx2/module.hxx>
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
#define _SVX_BORDER_CXX

#include <cuires.hrc>
#include "border.hrc"
@@ -83,48 +82,14 @@ static void lcl_SetDecimalDigitsTo1(MetricField& rField)
}
// -----------------------------------------------------------------------

SvxBorderTabPage::SvxBorderTabPage( Window* pParent,
                                    const SfxItemSet& rCoreAttrs )
SvxBorderTabPage::SvxBorderTabPage(Window* pParent, const SfxItemSet& rCoreAttrs)
    : SfxTabPage(pParent, "BorderPage", "cui/ui/borderpage.ui", rCoreAttrs)

    :   SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_BORDER ), rCoreAttrs ),
,

        aFlBorder       ( this, CUI_RES( FL_BORDER ) ),
        aDefaultFT      ( this, CUI_RES( FT_DEFAULT ) ),
        aWndPresets     ( this, CUI_RES( WIN_PRESETS ) ),
        aUserDefFT      ( this, CUI_RES( FT_USERDEF ) ),
        aFrameSel       ( this, CUI_RES( WIN_FRAMESEL ) ),

        aFlSep1         ( this, CUI_RES( FL_SEPARATOR1 ) ),
        aFlLine         ( this, CUI_RES( FL_LINE ) ),
        aStyleFT        ( this, CUI_RES( FT_STYLE ) ),
        aLbLineStyle    ( this, CUI_RES( LB_LINESTYLE ) ),
        aColorFT        ( this, CUI_RES( FT_COLOR ) ),
        aLbLineColor    ( this, CUI_RES( LB_LINECOLOR ) ),
        aWidthFT        ( this, CUI_RES( FT_WIDTH ) ),
        aLineWidthMF    ( this, CUI_RES( MF_LINEWIDTH ) ),

        aFlSep2         ( this, CUI_RES( FL_SEPARATOR2 ) ),
        aDistanceFL     ( this, CUI_RES( FL_DISTANCE ) ),
        aLeftFT         ( this, CUI_RES( FT_LEFT ) ),
        aLeftMF         ( this, CUI_RES( MF_LEFT ) ),
        aRightFT        ( this, CUI_RES( FT_RIGHT ) ),
        aRightMF        ( this, CUI_RES( MF_RIGHT ) ),
        aTopFT          ( this, CUI_RES( FT_TOP ) ),
        aTopMF          ( this, CUI_RES( MF_TOP ) ),
        aBottomFT       ( this, CUI_RES( FT_BOTTOM ) ),
        aBottomMF       ( this, CUI_RES( MF_BOTTOM ) ),
        aSynchronizeCB  ( this, CUI_RES( CB_SYNC ) ),

        aFlShadow       ( this, CUI_RES( FL_SHADOW ) ),
        aFtShadowPos    ( this, CUI_RES( FT_SHADOWPOS ) ),
        aWndShadows     ( this, CUI_RES( WIN_SHADOWS ) ),
        aFtShadowSize   ( this, CUI_RES( FT_SHADOWSIZE ) ),
        aEdShadowSize   ( this, CUI_RES( ED_SHADOWSIZE ) ),
        aFtShadowColor  ( this, CUI_RES( FT_SHADOWCOLOR ) ),
        aLbShadowColor  ( this, CUI_RES( LB_SHADOWCOLOR ) ),
        aPropertiesFL   ( this, CUI_RES( FL_PROPERTIES ) ),
        aMergeWithNextCB( this, CUI_RES( CB_MERGEWITHNEXT ) ),
        aMergeAdjacentBordersCB( this, CUI_RES( CB_MERGEADJACENTBORDERS ) ),
        aShadowImgLst( CUI_RES(IL_SDW_BITMAPS)),
        aBorderImgLst( CUI_RES(IL_PRE_BITMAPS)),
        nMinValue(0),
@@ -137,6 +102,35 @@ SvxBorderTabPage::SvxBorderTabPage( Window* pParent,
        mbSync(true)

{
    get(m_pWndPresets, "presets");
    get(m_pUserDefFT, "userdefft");
    get(m_pFrameSel, "framesel");
    get(m_pLbLineStyle, "linestylelb");
    get(m_pLbLineColor, "linecolorlb");
    get(m_pLineWidthMF, "linewidthmf");

    get(m_pSpacingFrame, "spacing");
    get(m_pLeftFT, "leftft");
    get(m_pLeftMF, "leftmf");
    get(m_pRightFT, "rightft");
    get(m_pRightMF, "rightmf");
    get(m_pTopFT, "topft");
    get(m_pTopMF, "topmf");
    get(m_pBottomFT, "bottomft");
    get(m_pBottomMF, "bottommf");
    get(m_pSynchronizeCB, "sync");

    get(m_pShadowFrame, "shadow");
    get(m_pWndShadows, "shadows");
    get(m_pFtShadowSize, "distanceft");
    get(m_pEdShadowSize, "distancemf");
    get(m_pFtShadowColor, "shadowcolorft");
    get(m_pLbShadowColor, "shadowcolorlb");

    get(m_pPropertiesFrame, "properties");
    get(m_pMergeWithNextCB, "mergewithnext");
    get(m_pMergeAdjacentBordersCB, "mergeadjacent");

    // this page needs ExchangeSupport
    SetExchangeSupport();

@@ -182,7 +176,7 @@ SvxBorderTabPage::SvxBorderTabPage( Window* pParent,
        }
    }

    SetFieldUnit( aEdShadowSize, eFUnit );
    SetFieldUnit(*m_pEdShadowSize, eFUnit);

    sal_uInt16 nWhich = GetWhich( SID_ATTR_BORDER_INNER, sal_False );
    sal_Bool bIsDontCare = sal_True;
@@ -200,40 +194,30 @@ SvxBorderTabPage::SvxBorderTabPage( Window* pParent,

        if(pBoxInfo->IsDist())
        {
            SetFieldUnit(aLeftMF, eFUnit);
            SetFieldUnit(aRightMF, eFUnit);
            SetFieldUnit(aTopMF, eFUnit);
            SetFieldUnit(aBottomMF, eFUnit);
            aSynchronizeCB.SetClickHdl(LINK(this, SvxBorderTabPage, SyncHdl_Impl));
            aLeftMF.SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            aRightMF.SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            aTopMF.SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            aBottomMF.SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            SetFieldUnit(*m_pLeftMF, eFUnit);
            SetFieldUnit(*m_pRightMF, eFUnit);
            SetFieldUnit(*m_pTopMF, eFUnit);
            SetFieldUnit(*m_pBottomMF, eFUnit);
            m_pSynchronizeCB->SetClickHdl(LINK(this, SvxBorderTabPage, SyncHdl_Impl));
            m_pLeftMF->SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            m_pRightMF->SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            m_pTopMF->SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
            m_pBottomMF->SetModifyHdl(LINK(this, SvxBorderTabPage, ModifyDistanceHdl_Impl));
        }
        else
        {
            aFlSep2.Hide();
            aDistanceFL.Hide();
            aLeftFT.Hide();
            aLeftMF.Hide();
            aRightFT.Hide();
            aRightMF.Hide();
            aTopFT.Hide();
            aTopMF.Hide();
            aBottomFT.Hide();
            aBottomMF.Hide();
            aSynchronizeCB.Hide();
            m_pSpacingFrame->Hide();
        }
        bIsDontCare = !pBoxInfo->IsValid( VALID_DISABLE );
    }
    if(!mbUseMarginItem && eFUnit == FUNIT_MM && SFX_MAPUNIT_TWIP == rCoreAttrs.GetPool()->GetMetric( GetWhich( SID_ATTR_BORDER_INNER ) ))
    {
        //#i91548# changing the number of decimal digits changes the minimum values, too
        lcl_SetDecimalDigitsTo1(aLeftMF);
        lcl_SetDecimalDigitsTo1(aRightMF);
        lcl_SetDecimalDigitsTo1(aTopMF);
        lcl_SetDecimalDigitsTo1(aBottomMF);
        lcl_SetDecimalDigitsTo1(aEdShadowSize);
        lcl_SetDecimalDigitsTo1(*m_pLeftMF);
        lcl_SetDecimalDigitsTo1(*m_pRightMF);
        lcl_SetDecimalDigitsTo1(*m_pTopMF);
        lcl_SetDecimalDigitsTo1(*m_pBottomMF);
        lcl_SetDecimalDigitsTo1(*m_pEdShadowSize);
    }

    svx::FrameSelFlags nFlags = svx::FRAMESEL_OUTER;
@@ -247,15 +231,15 @@ SvxBorderTabPage::SvxBorderTabPage( Window* pParent,
        nFlags |= svx::FRAMESEL_DIAG_BLTR;
    if( bIsDontCare )
        nFlags |= svx::FRAMESEL_DONTCARE;
    aFrameSel.Initialize( nFlags );
    m_pFrameSel->Initialize( nFlags );

    aFrameSel.SetSelectHdl(LINK(this, SvxBorderTabPage, LinesChanged_Impl));
    aLbLineStyle.SetSelectHdl( LINK( this, SvxBorderTabPage, SelStyleHdl_Impl ) );
    aLbLineColor.SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
    aLineWidthMF.SetModifyHdl( LINK( this, SvxBorderTabPage, ModifyWidthHdl_Impl ) );
    aLbShadowColor.SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
    aWndPresets.SetSelectHdl( LINK( this, SvxBorderTabPage, SelPreHdl_Impl ) );
    aWndShadows.SetSelectHdl( LINK( this, SvxBorderTabPage, SelSdwHdl_Impl ) );
    m_pFrameSel->SetSelectHdl(LINK(this, SvxBorderTabPage, LinesChanged_Impl));
    m_pLbLineStyle->SetSelectHdl( LINK( this, SvxBorderTabPage, SelStyleHdl_Impl ) );
    m_pLbLineColor->SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
    m_pLineWidthMF->SetModifyHdl( LINK( this, SvxBorderTabPage, ModifyWidthHdl_Impl ) );
    m_pLbShadowColor->SetSelectHdl( LINK( this, SvxBorderTabPage, SelColHdl_Impl ) );
    m_pWndPresets->SetSelectHdl( LINK( this, SvxBorderTabPage, SelPreHdl_Impl ) );
    m_pWndShadows->SetSelectHdl( LINK( this, SvxBorderTabPage, SelSdwHdl_Impl ) );

    FillValueSets();
    FillLineListBox_Impl();
@@ -279,41 +263,40 @@ SvxBorderTabPage::SvxBorderTabPage( Window* pParent,
    if ( pColorTable.is() )
    {
        // filling the line color box
        aLbLineColor.SetUpdateMode( sal_False );
        m_pLbLineColor->SetUpdateMode( sal_False );

        for ( long i = 0; i < pColorTable->Count(); ++i )
        {
            XColorEntry* pEntry = pColorTable->GetColor(i);
            aLbLineColor.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
            m_pLbLineColor->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
        }
        aLbLineColor.SetUpdateMode( sal_True );
        m_pLbLineColor->SetUpdateMode( sal_True );

        aLbShadowColor.CopyEntries( aLbLineColor );
        m_pLbShadowColor->CopyEntries(*m_pLbLineColor);
    }
    FreeResource();

    // connections

    bool bSupportsShadow = !SfxItemPool::IsSlot( GetWhich( SID_ATTR_BORDER_SHADOW ) );
    if( bSupportsShadow )
        AddItemConnection( svx::CreateShadowConnection( rCoreAttrs, aWndShadows, aEdShadowSize, aLbShadowColor ) );
        AddItemConnection( svx::CreateShadowConnection( rCoreAttrs, *m_pWndShadows, *m_pEdShadowSize, *m_pLbShadowColor ) );
    else
        HideShadowControls();

    if( mbUseMarginItem )
        AddItemConnection( svx::CreateMarginConnection( rCoreAttrs, aLeftMF, aRightMF, aTopMF, aBottomMF ) );
    if( aFrameSel.IsBorderEnabled( svx::FRAMEBORDER_TLBR ) )
        AddItemConnection( svx::CreateFrameLineConnection( SID_ATTR_BORDER_DIAG_TLBR, aFrameSel, svx::FRAMEBORDER_TLBR ) );
    if( aFrameSel.IsBorderEnabled( svx::FRAMEBORDER_BLTR ) )
        AddItemConnection( svx::CreateFrameLineConnection( SID_ATTR_BORDER_DIAG_BLTR, aFrameSel, svx::FRAMEBORDER_BLTR ) );
        AddItemConnection( svx::CreateMarginConnection( rCoreAttrs, *m_pLeftMF, *m_pRightMF, *m_pTopMF, *m_pBottomMF ) );
    if( m_pFrameSel->IsBorderEnabled( svx::FRAMEBORDER_TLBR ) )
        AddItemConnection( svx::CreateFrameLineConnection( SID_ATTR_BORDER_DIAG_TLBR, *m_pFrameSel, svx::FRAMEBORDER_TLBR ) );
    if( m_pFrameSel->IsBorderEnabled( svx::FRAMEBORDER_BLTR ) )
        AddItemConnection( svx::CreateFrameLineConnection( SID_ATTR_BORDER_DIAG_BLTR, *m_pFrameSel, svx::FRAMEBORDER_BLTR ) );
    // #i43593# - item connection doesn't work for Writer,
    // because the Writer item sets contain these items
    // checkbox "Merge with next paragraph" only visible for Writer dialog format.paragraph
    AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_BORDER_CONNECT, aMergeWithNextCB, sfx::ITEMCONN_DEFAULT ) );
    aMergeWithNextCB.Hide();
    AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_BORDER_CONNECT, *m_pMergeWithNextCB, sfx::ITEMCONN_DEFAULT ) );
    m_pMergeWithNextCB->Hide();
    // checkbox "Merge adjacent line styles" only visible for Writer dialog format.table
    AddItemConnection( new sfx::CheckBoxConnection( SID_SW_COLLAPSING_BORDERS, aMergeAdjacentBordersCB, sfx::ITEMCONN_DEFAULT ) );
    aMergeAdjacentBordersCB.Hide();
    AddItemConnection( new sfx::CheckBoxConnection( SID_SW_COLLAPSING_BORDERS, *m_pMergeAdjacentBordersCB, sfx::ITEMCONN_DEFAULT ) );
    m_pMergeAdjacentBordersCB->Hide();
}

// -----------------------------------------------------------------------
@@ -341,12 +324,12 @@ SfxTabPage* SvxBorderTabPage::Create( Window* pParent,

void SvxBorderTabPage::ResetFrameLine_Impl( svx::FrameBorderType eBorder, const SvxBorderLine* pCoreLine, bool bValid )
{
    if( aFrameSel.IsBorderEnabled( eBorder ) )
    if( m_pFrameSel->IsBorderEnabled( eBorder ) )
    {
        if( bValid )
            aFrameSel.ShowBorder( eBorder, pCoreLine );
            m_pFrameSel->ShowBorder( eBorder, pCoreLine );
        else
            aFrameSel.SetBorderDontCare( eBorder );
            m_pFrameSel->SetBorderDontCare( eBorder );
    }
}

@@ -381,47 +364,47 @@ void SvxBorderTabPage::Reset( const SfxItemSet& rSet )
        //-------------------
        if( !mbUseMarginItem )
        {
            if ( aLeftMF.IsVisible() )
            if ( m_pLeftMF->IsVisible() )
            {
                SetMetricValue( aLeftMF,    pBoxInfoItem->GetDefDist(), eCoreUnit );
                SetMetricValue( aRightMF,   pBoxInfoItem->GetDefDist(), eCoreUnit );
                SetMetricValue( aTopMF,     pBoxInfoItem->GetDefDist(), eCoreUnit );
                SetMetricValue( aBottomMF,  pBoxInfoItem->GetDefDist(), eCoreUnit );
                SetMetricValue(*m_pLeftMF,    pBoxInfoItem->GetDefDist(), eCoreUnit);
                SetMetricValue(*m_pRightMF,   pBoxInfoItem->GetDefDist(), eCoreUnit);
                SetMetricValue(*m_pTopMF,     pBoxInfoItem->GetDefDist(), eCoreUnit);
                SetMetricValue(*m_pBottomMF,  pBoxInfoItem->GetDefDist(), eCoreUnit);

                nMinValue = static_cast<long>(aLeftMF.GetValue());
                nMinValue = static_cast<long>(m_pLeftMF->GetValue());

                if ( pBoxInfoItem->IsMinDist() )
                {
                    aLeftMF.SetFirst( nMinValue );
                    aRightMF.SetFirst( nMinValue );
                    aTopMF.SetFirst( nMinValue );
                    aBottomMF.SetFirst( nMinValue );
                    m_pLeftMF->SetFirst( nMinValue );
                    m_pRightMF->SetFirst( nMinValue );
                    m_pTopMF->SetFirst( nMinValue );
                    m_pBottomMF->SetFirst( nMinValue );
                }

                if ( pBoxInfoItem->IsDist() )
                {
                    if( rSet.GetItemState( nWhichBox, sal_True ) >= SFX_ITEM_DEFAULT )
                    {
                        sal_Bool bIsAnyBorderVisible = aFrameSel.IsAnyBorderVisible();
                        sal_Bool bIsAnyBorderVisible = m_pFrameSel->IsAnyBorderVisible();
                        if( !bIsAnyBorderVisible || !pBoxInfoItem->IsMinDist() )
                        {
                            aLeftMF.SetMin( 0 );
                            aLeftMF.SetFirst( 0 );
                            aRightMF.SetMin( 0 );
                            aRightMF.SetFirst( 0 );
                            aTopMF.SetMin( 0 );
                            aTopMF.SetFirst( 0 );
                            aBottomMF.SetMin( 0 );
                            aBottomMF.SetFirst( 0 );
                            m_pLeftMF->SetMin( 0 );
                            m_pLeftMF->SetFirst( 0 );
                            m_pRightMF->SetMin( 0 );
                            m_pRightMF->SetFirst( 0 );
                            m_pTopMF->SetMin( 0 );
                            m_pTopMF->SetFirst( 0 );
                            m_pBottomMF->SetMin( 0 );
                            m_pBottomMF->SetFirst( 0 );
                        }
                        long nLeftDist = pBoxItem->GetDistance( BOX_LINE_LEFT);
                        SetMetricValue( aLeftMF, nLeftDist, eCoreUnit );
                        SetMetricValue(*m_pLeftMF, nLeftDist, eCoreUnit);
                        long nRightDist = pBoxItem->GetDistance( BOX_LINE_RIGHT);
                        SetMetricValue( aRightMF, nRightDist, eCoreUnit );
                        SetMetricValue(*m_pRightMF, nRightDist, eCoreUnit);
                        long nTopDist = pBoxItem->GetDistance( BOX_LINE_TOP);
                        SetMetricValue( aTopMF, nTopDist, eCoreUnit );
                        SetMetricValue( *m_pTopMF, nTopDist, eCoreUnit );
                        long nBottomDist = pBoxItem->GetDistance( BOX_LINE_BOTTOM);
                        SetMetricValue( aBottomMF, nBottomDist, eCoreUnit );
                        SetMetricValue( *m_pBottomMF, nBottomDist, eCoreUnit );

                        // if the distance is set with no active border line
                        // or it is null with an active border line
@@ -434,32 +417,32 @@ void SvxBorderTabPage::Reset( const SfxItemSet& rSet )
                        if((pBoxItem->GetDistance() ||
                                bIsAnyBorderVisible) && bDiffDist )
                        {
                            aLeftMF.SetModifyFlag();
                            aRightMF.SetModifyFlag();
                            aTopMF.SetModifyFlag();
                            aBottomMF.SetModifyFlag();
                            m_pLeftMF->SetModifyFlag();
                            m_pRightMF->SetModifyFlag();
                            m_pTopMF->SetModifyFlag();
                            m_pBottomMF->SetModifyFlag();
                        }
                    }
                    else
                    {
                        // #106224# different margins -> do not fill the edits
                        aLeftMF.SetText( String() );
                        aRightMF.SetText( String() );
                        aTopMF.SetText( String() );
                        aBottomMF.SetText( String() );
                        m_pLeftMF->SetText( String() );
                        m_pRightMF->SetText( String() );
                        m_pTopMF->SetText( String() );
                        m_pBottomMF->SetText( String() );
                    }
                }
                aLeftMF.SaveValue();
                aRightMF.SaveValue();
                aTopMF.SaveValue();
                aBottomMF.SaveValue();
                m_pLeftMF->SaveValue();
                m_pRightMF->SaveValue();
                m_pTopMF->SaveValue();
                m_pBottomMF->SaveValue();
            }
        }
    }
    else
    {
        // avoid ResetFrameLine-calls:
        aFrameSel.HideAllBorders();
        m_pFrameSel->HideAllBorders();
    }

    //-------------------------------------------------------------
@@ -469,58 +452,58 @@ void SvxBorderTabPage::Reset( const SfxItemSet& rSet )
        // Do all visible lines show the same line widths?
        long nWidth;
        SvxBorderStyle nStyle;
        bool bWidthEq = aFrameSel.GetVisibleWidth( nWidth, nStyle );
        bool bWidthEq = m_pFrameSel->GetVisibleWidth( nWidth, nStyle );
        if( bWidthEq )
        {
            // Determine the width first as some styles can be missing depending on it
            sal_Int64 nWidthPt =  static_cast<sal_Int64>(MetricField::ConvertDoubleValue(
                        sal_Int64( nWidth ), aLineWidthMF.GetDecimalDigits( ),
                        MAP_TWIP,aLineWidthMF.GetUnit() ));
            aLineWidthMF.SetValue( nWidthPt );
            aLbLineStyle.SetWidth( nWidth );
                        sal_Int64( nWidth ), m_pLineWidthMF->GetDecimalDigits( ),
                        MAP_TWIP,m_pLineWidthMF->GetUnit() ));
            m_pLineWidthMF->SetValue( nWidthPt );
            m_pLbLineStyle->SetWidth( nWidth );

            // then set the style
            aLbLineStyle.SelectEntry( nStyle );
            m_pLbLineStyle->SelectEntry( nStyle );
        }
        else
            aLbLineStyle.SelectEntryPos( 1 );
            m_pLbLineStyle->SelectEntryPos( 1 );

        // Do all visible lines show the same line color?
        Color aColor;
        bool bColorEq = aFrameSel.GetVisibleColor( aColor );
        bool bColorEq = m_pFrameSel->GetVisibleColor( aColor );
        if( !bColorEq )
            aColor.SetColor( COL_BLACK );

        sal_uInt16 nSelPos = aLbLineColor.GetEntryPos( aColor );
        sal_uInt16 nSelPos = m_pLbLineColor->GetEntryPos( aColor );
        if( nSelPos == LISTBOX_ENTRY_NOTFOUND )
            nSelPos = aLbLineColor.InsertEntry( aColor, SVX_RESSTR( RID_SVXSTR_COLOR_USER ) );
            nSelPos = m_pLbLineColor->InsertEntry( aColor, SVX_RESSTR( RID_SVXSTR_COLOR_USER ) );

        aLbLineColor.SelectEntryPos( nSelPos );
        aLbLineStyle.SetColor( aColor );
        m_pLbLineColor->SelectEntryPos( nSelPos );
        m_pLbLineStyle->SetColor( aColor );

        // Select all visible lines, if they are all equal.
        if( bWidthEq && bColorEq )
            aFrameSel.SelectAllVisibleBorders();
            m_pFrameSel->SelectAllVisibleBorders();

        // set the current style and color (caches style in control even if nothing is selected)
        SelStyleHdl_Impl( &aLbLineStyle );
        SelColHdl_Impl( &aLbLineColor );
        SelStyleHdl_Impl(m_pLbLineStyle);
        SelColHdl_Impl(m_pLbLineColor);
    }

    sal_Bool bEnable = aWndShadows.GetSelectItemId() > 1 ;
    aFtShadowSize.Enable(bEnable);
    aEdShadowSize.Enable(bEnable);
    aFtShadowColor.Enable(bEnable);
    aLbShadowColor.Enable(bEnable);
    sal_Bool bEnable = m_pWndShadows->GetSelectItemId() > 1 ;
    m_pFtShadowSize->Enable(bEnable);
    m_pEdShadowSize->Enable(bEnable);
    m_pFtShadowColor->Enable(bEnable);
    m_pLbShadowColor->Enable(bEnable);

    aWndPresets.SetNoSelection();
    m_pWndPresets->SetNoSelection();

    // - no line - should not be selected

    if ( aLbLineStyle.GetSelectEntryPos() == 0 )
    if ( m_pLbLineStyle->GetSelectEntryPos() == 0 )
    {
        aLbLineStyle.SelectEntryPos( 1 );
        SelStyleHdl_Impl( &aLbLineStyle );
        m_pLbLineStyle->SelectEntryPos( 1 );
        SelStyleHdl_Impl(m_pLbLineStyle);
    }

    const SfxPoolItem* pItem;
@@ -533,31 +516,25 @@ void SvxBorderTabPage::Reset( const SfxItemSet& rSet )
        if(nHtmlMode & HTMLMODE_ON)
        {
            // there are no shadows in Html-mode and only complete borders
            aFtShadowPos  .Disable();
            aWndShadows   .Disable();
            aFtShadowSize .Disable();
            aEdShadowSize .Disable();
            aFtShadowColor.Disable();
            aLbShadowColor.Disable();
            aFlShadow     .Disable();
            m_pShadowFrame->Disable();

            if( !(nSWMode & SW_BORDER_MODE_TABLE) )
            {
                aUserDefFT.Disable();
                aFrameSel.Disable();
                aWndPresets.RemoveItem(3);
                aWndPresets.RemoveItem(4);
                aWndPresets.RemoveItem(5);
                m_pUserDefFT->Disable();
                m_pFrameSel->Disable();
                m_pWndPresets->RemoveItem(3);
                m_pWndPresets->RemoveItem(4);
                m_pWndPresets->RemoveItem(5);
            }
        }
    }

    LinesChanged_Impl( 0 );
    if(aLeftMF.GetValue() == aRightMF.GetValue() && aTopMF.GetValue() == aBottomMF.GetValue() && aTopMF.GetValue() == aLeftMF.GetValue())
    if(m_pLeftMF->GetValue() == m_pRightMF->GetValue() && m_pTopMF->GetValue() == m_pBottomMF->GetValue() && m_pTopMF->GetValue() == m_pLeftMF->GetValue())
        mbSync = true;
    else
        mbSync = false;
    aSynchronizeCB.Check(mbSync);
    m_pSynchronizeCB->Check(mbSync);
}

// -----------------------------------------------------------------------
@@ -599,7 +576,7 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )
                            };

    for (sal_uInt32 i=0; i < SAL_N_ELEMENTS(eTypes1); ++i)
        aBoxItem.SetLine( aFrameSel.GetFrameBorderStyle( eTypes1[i].first ), eTypes1[i].second );
        aBoxItem.SetLine( m_pFrameSel->GetFrameBorderStyle( eTypes1[i].first ), eTypes1[i].second );

    //--------------------------------
    // border hor/ver and TableFlag
@@ -609,7 +586,7 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )
                                TBorderPair(svx::FRAMEBORDER_VER,BOXINFO_LINE_VERT)
                            };
    for (sal_uInt32 j=0; j < SAL_N_ELEMENTS(eTypes2); ++j)
        aBoxInfoItem.SetLine( aFrameSel.GetFrameBorderStyle( eTypes2[j].first ), eTypes2[j].second );
        aBoxInfoItem.SetLine( m_pFrameSel->GetFrameBorderStyle( eTypes2[j].first ), eTypes2[j].second );

    aBoxInfoItem.EnableHor( mbHorEnabled );
    aBoxInfoItem.EnableVer( mbVerEnabled );
@@ -617,7 +594,7 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )
    //-------------------
    // inner distance
    //-------------------
    if( aLeftMF.IsVisible() )
    if( m_pLeftMF->IsVisible() )
    {
        // #i40405# enable distance controls for next dialog call
        aBoxInfoItem.SetDist( sal_True );
@@ -625,36 +602,36 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )
        if( !mbUseMarginItem )
        {
            // #106224# all edits empty: do nothing
            if( aLeftMF.GetText().Len() || aRightMF.GetText().Len() ||
                aTopMF.GetText().Len() || aBottomMF.GetText().Len() )
            if( m_pLeftMF->GetText().Len() || m_pRightMF->GetText().Len() ||
                m_pTopMF->GetText().Len() || m_pBottomMF->GetText().Len() )
            {
                if ( ((mbHorEnabled || mbVerEnabled || (nSWMode & SW_BORDER_MODE_TABLE)) &&
                        (aLeftMF.IsModified()||aRightMF.IsModified()||
                            aTopMF.IsModified()||aBottomMF.IsModified()) )||
                     aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_TOP ) != svx::FRAMESTATE_HIDE
                     || aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_BOTTOM ) != svx::FRAMESTATE_HIDE
                     || aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_LEFT ) != svx::FRAMESTATE_HIDE
                     || aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_RIGHT ) != svx::FRAMESTATE_HIDE )
                        (m_pLeftMF->IsModified()||m_pRightMF->IsModified()||
                            m_pTopMF->IsModified()||m_pBottomMF->IsModified()) )||
                     m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_TOP ) != svx::FRAMESTATE_HIDE
                     || m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_BOTTOM ) != svx::FRAMESTATE_HIDE
                     || m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_LEFT ) != svx::FRAMESTATE_HIDE
                     || m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_RIGHT ) != svx::FRAMESTATE_HIDE )
                {
                    SvxBoxInfoItem* pOldBoxInfoItem = (SvxBoxInfoItem*)GetOldItem(
                                                        rCoreAttrs, SID_ATTR_BORDER_INNER );
                    if (
                        !pOldBoxItem ||
                        aLeftMF  .GetText() != aLeftMF  .GetSavedValue() ||
                        aRightMF .GetText() != aRightMF .GetSavedValue() ||
                        aTopMF   .GetText() != aTopMF   .GetSavedValue() ||
                        aBottomMF.GetText() != aBottomMF.GetSavedValue() ||
                        nMinValue == aLeftMF  .GetValue() ||
                        nMinValue == aRightMF .GetValue() ||
                        nMinValue == aTopMF   .GetValue() ||
                        nMinValue == aBottomMF.GetValue() ||
                        m_pLeftMF->GetText() != m_pLeftMF->GetSavedValue() ||
                        m_pRightMF->GetText() != m_pRightMF->GetSavedValue() ||
                        m_pTopMF->GetText() != m_pTopMF->GetSavedValue() ||
                        m_pBottomMF->GetText() != m_pBottomMF->GetSavedValue() ||
                        nMinValue == m_pLeftMF->GetValue() ||
                        nMinValue == m_pRightMF->GetValue() ||
                        nMinValue == m_pTopMF->GetValue() ||
                        nMinValue == m_pBottomMF->GetValue() ||
                        (pOldBoxInfoItem && !pOldBoxInfoItem->IsValid(VALID_DISTANCE))
                       )
                    {
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue( aLeftMF, eCoreUnit ), BOX_LINE_LEFT  );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue( aRightMF, eCoreUnit ), BOX_LINE_RIGHT );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue( aTopMF, eCoreUnit ), BOX_LINE_TOP   );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue( aBottomMF, eCoreUnit ), BOX_LINE_BOTTOM);
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue(*m_pLeftMF, eCoreUnit ), BOX_LINE_LEFT  );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue(*m_pRightMF, eCoreUnit ), BOX_LINE_RIGHT );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue(*m_pTopMF, eCoreUnit ), BOX_LINE_TOP   );
                        aBoxItem.SetDistance( (sal_uInt16)GetCoreValue(*m_pBottomMF, eCoreUnit ), BOX_LINE_BOTTOM);
                    }
                    else
                    {
@@ -674,12 +651,12 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )
    //------------------------------------------
    // note Don't Care Status in the Info-Item:
    //------------------------------------------
    aBoxInfoItem.SetValid( VALID_TOP,    aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_TOP )    != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_BOTTOM, aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_BOTTOM ) != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_LEFT,   aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_LEFT )   != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_RIGHT,  aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_RIGHT )  != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_HORI,   aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_HOR )    != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_VERT,   aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_VER )    != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_TOP,    m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_TOP )    != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_BOTTOM, m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_BOTTOM ) != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_LEFT,   m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_LEFT )   != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_RIGHT,  m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_RIGHT )  != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_HORI,   m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_HOR )    != svx::FRAMESTATE_DONTCARE );
    aBoxInfoItem.SetValid( VALID_VERT,   m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_VER )    != svx::FRAMESTATE_DONTCARE );

    //
    // Put or Clear of the border?
@@ -728,13 +705,7 @@ sal_Bool SvxBorderTabPage::FillItemSet( SfxItemSet& rCoreAttrs )

void SvxBorderTabPage::HideShadowControls()
{
    aFtShadowPos.Hide();
    aWndShadows.Hide();
    aFtShadowSize.Hide();
    aEdShadowSize.Hide();
    aFtShadowColor.Hide();
    aLbShadowColor.Hide();
    aFlShadow.Hide();
    m_pShadowFrame->Hide();
}

// -----------------------------------------------------------------------
@@ -772,11 +743,11 @@ IMPL_LINK_NOARG(SvxBorderTabPage, SelPreHdl_Impl)
    };

    // first hide and deselect all frame borders
    aFrameSel.HideAllBorders();
    aFrameSel.DeselectAllBorders();
    m_pFrameSel->HideAllBorders();
    m_pFrameSel->DeselectAllBorders();

    // Using image ID to find correct line in table above.
    sal_uInt16 nLine = GetPresetImageId( aWndPresets.GetSelectItemId() ) - 1;
    sal_uInt16 nLine = GetPresetImageId( m_pWndPresets->GetSelectItemId() ) - 1;

    // Apply all styles from the table
    for( int nBorder = 0; nBorder < svx::FRAMEBORDERTYPE_COUNT; ++nBorder )
@@ -784,26 +755,26 @@ IMPL_LINK_NOARG(SvxBorderTabPage, SelPreHdl_Impl)
        svx::FrameBorderType eBorder = svx::GetFrameBorderTypeFromIndex( nBorder );
        switch( ppeStates[ nLine ][ nBorder ] )
        {
            case SHOW:  aFrameSel.SelectBorder( eBorder );      break;
            case SHOW:  m_pFrameSel->SelectBorder( eBorder );      break;
            case HIDE:  /* nothing to do */                     break;
            case DONT:  aFrameSel.SetBorderDontCare( eBorder ); break;
            case DONT:  m_pFrameSel->SetBorderDontCare( eBorder ); break;
        }
    }

    // Show all lines that have been selected above
    if( aFrameSel.IsAnyBorderSelected() )
    if( m_pFrameSel->IsAnyBorderSelected() )
    {
        // any visible style, but "no-line" in line list box? -> use hair-line
        if( (aLbLineStyle.GetSelectEntryPos() == 0) || (aLbLineStyle.GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND) )
            aLbLineStyle.SelectEntryPos( 1 );
        if( (m_pLbLineStyle->GetSelectEntryPos() == 0) || (m_pLbLineStyle->GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND) )
            m_pLbLineStyle->SelectEntryPos( 1 );

        // set current style to all previously selected lines
        SelStyleHdl_Impl( &aLbLineStyle );
        SelColHdl_Impl( &aLbLineColor );
        SelStyleHdl_Impl(m_pLbLineStyle);
        SelColHdl_Impl(m_pLbLineColor);
    }

    // Presets ValueSet does not show a selection (used as push buttons).
    aWndPresets.SetNoSelection();
    m_pWndPresets->SetNoSelection();

    LinesChanged_Impl( 0 );
    return 0;
@@ -813,11 +784,11 @@ IMPL_LINK_NOARG(SvxBorderTabPage, SelPreHdl_Impl)

IMPL_LINK_NOARG(SvxBorderTabPage, SelSdwHdl_Impl)
{
    sal_Bool bEnable = aWndShadows.GetSelectItemId() > 1;
    aFtShadowSize.Enable(bEnable);
    aEdShadowSize.Enable(bEnable);
    aFtShadowColor.Enable(bEnable);
    aLbShadowColor.Enable(bEnable);
    sal_Bool bEnable = m_pWndShadows->GetSelectItemId() > 1;
    m_pFtShadowSize->Enable(bEnable);
    m_pEdShadowSize->Enable(bEnable);
    m_pFtShadowColor->Enable(bEnable);
    m_pLbShadowColor->Enable(bEnable);
    return 0;
}

@@ -827,10 +798,10 @@ IMPL_LINK( SvxBorderTabPage, SelColHdl_Impl, ListBox *, pLb )
{
    ColorListBox* pColLb = (ColorListBox*)pLb;

    if ( pLb == &aLbLineColor )
    if (pLb == m_pLbLineColor)
    {
        aFrameSel.SetColorToSelection( pColLb->GetSelectEntryColor() );
        aLbLineStyle.SetColor( pColLb->GetSelectEntryColor() );
        m_pFrameSel->SetColorToSelection( pColLb->GetSelectEntryColor() );
        m_pLbLineStyle->SetColor( pColLb->GetSelectEntryColor() );
    }

    return 0;
@@ -839,13 +810,13 @@ IMPL_LINK( SvxBorderTabPage, SelColHdl_Impl, ListBox *, pLb )
IMPL_LINK_NOARG(SvxBorderTabPage, ModifyWidthHdl_Impl)
{
    sal_Int64 nVal = static_cast<sal_Int64>(MetricField::ConvertDoubleValue(
                aLineWidthMF.GetValue( ),
                aLineWidthMF.GetDecimalDigits( ),
                aLineWidthMF.GetUnit(), MAP_TWIP ));
    aLbLineStyle.SetWidth( nVal );
                m_pLineWidthMF->GetValue( ),
                m_pLineWidthMF->GetDecimalDigits( ),
                m_pLineWidthMF->GetUnit(), MAP_TWIP ));
    m_pLbLineStyle->SetWidth( nVal );

    aFrameSel.SetStyleToSelection( nVal,
        SvxBorderStyle( aLbLineStyle.GetSelectEntryStyle() ) );
    m_pFrameSel->SetStyleToSelection( nVal,
        SvxBorderStyle( m_pLbLineStyle->GetSelectEntryStyle() ) );

    return 0;
}
@@ -854,14 +825,14 @@ IMPL_LINK_NOARG(SvxBorderTabPage, ModifyWidthHdl_Impl)

IMPL_LINK( SvxBorderTabPage, SelStyleHdl_Impl, ListBox *, pLb )
{
    if ( pLb == &aLbLineStyle )
    if (pLb == m_pLbLineStyle)
    {
        sal_Int64 nVal = static_cast<sal_Int64>(MetricField::ConvertDoubleValue(
                    aLineWidthMF.GetValue( ),
                    aLineWidthMF.GetDecimalDigits( ),
                    aLineWidthMF.GetUnit(), MAP_TWIP ));
        aFrameSel.SetStyleToSelection ( nVal,
            SvxBorderStyle( aLbLineStyle.GetSelectEntryStyle() ) );
                    m_pLineWidthMF->GetValue( ),
                    m_pLineWidthMF->GetDecimalDigits( ),
                    m_pLineWidthMF->GetUnit(), MAP_TWIP ));
        m_pFrameSel->SetStyleToSelection ( nVal,
            SvxBorderStyle( m_pLbLineStyle->GetSelectEntryStyle() ) );
    }

    return 0;
@@ -953,21 +924,20 @@ void SvxBorderTabPage::FillPresetVS()
    Size aImgSize( rImgList.GetImage( IID_PRE_CELL_NONE ).GetSizePixel() );

    // basic initialization of the ValueSet
    aWndPresets.SetColCount( SVX_BORDER_PRESET_COUNT );
    aWndPresets.SetStyle( aWndPresets.GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER );
    aWndPresets.SetSizePixel( aWndPresets.CalcWindowSizePixel( aImgSize ) );
    m_pWndPresets->SetStyle( m_pWndPresets->GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER );
    m_pWndPresets->SetColCount( SVX_BORDER_PRESET_COUNT );

    // insert images and help texts
    for( sal_uInt16 nVSIdx = 1; nVSIdx <= SVX_BORDER_PRESET_COUNT; ++nVSIdx )
    {
        aWndPresets.InsertItem( nVSIdx );
        aWndPresets.SetItemImage( nVSIdx, rImgList.GetImage( GetPresetImageId( nVSIdx ) ) );
        aWndPresets.SetItemText( nVSIdx, CUI_RESSTR( GetPresetStringId( nVSIdx ) ) );
        m_pWndPresets->InsertItem( nVSIdx );
        m_pWndPresets->SetItemImage( nVSIdx, rImgList.GetImage( GetPresetImageId( nVSIdx ) ) );
        m_pWndPresets->SetItemText( nVSIdx, CUI_RESSTR( GetPresetStringId( nVSIdx ) ) );
    }

    // show the control
    aWndPresets.SetNoSelection();
    aWndPresets.Show();
    m_pWndPresets->SetNoSelection();
    m_pWndPresets->Show();
}

// ----------------------------------------------------------------------------
@@ -978,9 +948,8 @@ void SvxBorderTabPage::FillShadowVS()
    Size aImgSize( rImgList.GetImage( IID_SHADOWNONE ).GetSizePixel() );

    // basic initialization of the ValueSet
    aWndShadows.SetColCount( SVX_BORDER_SHADOW_COUNT );
    aWndShadows.SetStyle( aWndShadows.GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER );
    aWndShadows.SetSizePixel( aWndShadows.CalcWindowSizePixel( aImgSize ) );
    m_pWndShadows->SetStyle( m_pWndShadows->GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER );
    m_pWndShadows->SetColCount( SVX_BORDER_SHADOW_COUNT );

    // image resource IDs
    static const sal_uInt16 pnImgIds[ SVX_BORDER_SHADOW_COUNT ] =
@@ -992,14 +961,14 @@ void SvxBorderTabPage::FillShadowVS()
    // insert images and help texts
    for( sal_uInt16 nVSIdx = 1; nVSIdx <= SVX_BORDER_SHADOW_COUNT; ++nVSIdx )
    {
        aWndShadows.InsertItem( nVSIdx );
        aWndShadows.SetItemImage( nVSIdx, rImgList.GetImage( pnImgIds[ nVSIdx - 1 ] ) );
        aWndShadows.SetItemText( nVSIdx, CUI_RESSTR( pnStrIds[ nVSIdx - 1 ] ) );
        m_pWndShadows->InsertItem( nVSIdx );
        m_pWndShadows->SetItemImage( nVSIdx, rImgList.GetImage( pnImgIds[ nVSIdx - 1 ] ) );
        m_pWndShadows->SetItemText( nVSIdx, CUI_RESSTR( pnStrIds[ nVSIdx - 1 ] ) );
    }

    // show the control
    aWndShadows.SelectItem( 1 );
    aWndShadows.Show();
    m_pWndShadows->SelectItem( 1 );
    m_pWndShadows->Show();
}

// ----------------------------------------------------------------------------
@@ -1020,90 +989,90 @@ void SvxBorderTabPage::FillLineListBox_Impl()
{
    using namespace ::com::sun::star::table::BorderLineStyle;

    aLbLineStyle.SetSourceUnit( FUNIT_TWIP );
    m_pLbLineStyle->SetSourceUnit( FUNIT_TWIP );

    aLbLineStyle.SetNone( SVX_RESSTR( RID_SVXSTR_NONE ) );
    m_pLbLineStyle->SetNone( SVX_RESSTR( RID_SVXSTR_NONE ) );

    // Simple lines
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( SOLID ), SOLID );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( DOTTED ), DOTTED );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( DASHED ), DASHED );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( SOLID ), SOLID );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( DOTTED ), DOTTED );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( DASHED ), DASHED );

    // Double lines
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( DOUBLE ), DOUBLE );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_SMALLGAP ), THINTHICK_SMALLGAP, 20 );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_MEDIUMGAP ), THINTHICK_MEDIUMGAP );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_LARGEGAP ), THINTHICK_LARGEGAP );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_SMALLGAP ), THICKTHIN_SMALLGAP, 20 );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_MEDIUMGAP ), THICKTHIN_MEDIUMGAP );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_LARGEGAP ), THICKTHIN_LARGEGAP );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( DOUBLE ), DOUBLE );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_SMALLGAP ), THINTHICK_SMALLGAP, 20 );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_MEDIUMGAP ), THINTHICK_MEDIUMGAP );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THINTHICK_LARGEGAP ), THINTHICK_LARGEGAP );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_SMALLGAP ), THICKTHIN_SMALLGAP, 20 );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_MEDIUMGAP ), THICKTHIN_MEDIUMGAP );
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( THICKTHIN_LARGEGAP ), THICKTHIN_LARGEGAP );

    // Engraved / Embossed
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( EMBOSSED ), EMBOSSED, 15,
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( EMBOSSED ), EMBOSSED, 15,
            &SvxBorderLine::threeDLightColor, &SvxBorderLine::threeDDarkColor,
            &lcl_mediumColor );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( ENGRAVED ), ENGRAVED, 15,
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( ENGRAVED ), ENGRAVED, 15,
            &SvxBorderLine::threeDDarkColor, &SvxBorderLine::threeDLightColor,
            &lcl_mediumColor );

    // Inset / Outset
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( OUTSET ), OUTSET, 10,
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( OUTSET ), OUTSET, 10,
           &SvxBorderLine::lightColor, &SvxBorderLine::darkColor );
    aLbLineStyle.InsertEntry( SvxBorderLine::getWidthImpl( INSET ), INSET, 10,
    m_pLbLineStyle->InsertEntry( SvxBorderLine::getWidthImpl( INSET ), INSET, 10,
           &SvxBorderLine::darkColor, &SvxBorderLine::lightColor );

    sal_Int64 nVal = static_cast<sal_Int64>(MetricField::ConvertDoubleValue(
                aLineWidthMF.GetValue( ),
                aLineWidthMF.GetDecimalDigits( ),
                aLineWidthMF.GetUnit(), MAP_TWIP ));
    aLbLineStyle.SetWidth( nVal );
                m_pLineWidthMF->GetValue( ),
                m_pLineWidthMF->GetDecimalDigits( ),
                m_pLineWidthMF->GetUnit(), MAP_TWIP ));
    m_pLbLineStyle->SetWidth( nVal );
}

// -----------------------------------------------------------------------
IMPL_LINK_NOARG(SvxBorderTabPage, LinesChanged_Impl)
{
    if(!mbUseMarginItem && aLeftMF.IsVisible())
    if(!mbUseMarginItem && m_pLeftMF->IsVisible())
    {
        sal_Bool bLineSet = aFrameSel.IsAnyBorderVisible();
        sal_Bool bLineSet = m_pFrameSel->IsAnyBorderVisible();
        sal_Bool bMinAllowed = 0 != (nSWMode & (SW_BORDER_MODE_FRAME|SW_BORDER_MODE_TABLE));
        sal_Bool bSpaceModified =   aLeftMF  .IsModified()||
                                aRightMF .IsModified()||
                                aTopMF   .IsModified()||
                                aBottomMF.IsModified();
        sal_Bool bSpaceModified =   m_pLeftMF->IsModified()||
                                m_pRightMF->IsModified()||
                                m_pTopMF->IsModified()||
                                m_pBottomMF->IsModified();

        if(bLineSet)
        {
            if(!bMinAllowed)
            {
                aLeftMF  .SetFirst(nMinValue);
                aRightMF .SetFirst(nMinValue);
                aTopMF   .SetFirst(nMinValue);
                aBottomMF.SetFirst(nMinValue);
                m_pLeftMF->SetFirst(nMinValue);
                m_pRightMF->SetFirst(nMinValue);
                m_pTopMF->SetFirst(nMinValue);
                m_pBottomMF->SetFirst(nMinValue);
            }
            if(!bSpaceModified)
            {
                aLeftMF  .SetValue(nMinValue);
                aRightMF .SetValue(nMinValue);
                aTopMF   .SetValue(nMinValue);
                aBottomMF.SetValue(nMinValue);
                m_pLeftMF->SetValue(nMinValue);
                m_pRightMF->SetValue(nMinValue);
                m_pTopMF->SetValue(nMinValue);
                m_pBottomMF->SetValue(nMinValue);
            }
        }
        else
        {
            aLeftMF  .SetMin(0);
            aRightMF .SetMin(0);
            aTopMF   .SetMin(0);
            aBottomMF.SetMin(0);
            aLeftMF  .SetFirst(0);
            aRightMF .SetFirst(0);
            aTopMF   .SetFirst(0);
            aBottomMF.SetFirst(0);
            m_pLeftMF->SetMin(0);
            m_pRightMF->SetMin(0);
            m_pTopMF->SetMin(0);
            m_pBottomMF->SetMin(0);
            m_pLeftMF->SetFirst(0);
            m_pRightMF->SetFirst(0);
            m_pTopMF->SetFirst(0);
            m_pBottomMF->SetFirst(0);
            if(!bSpaceModified)
            {
                aLeftMF  .SetValue(0);
                aRightMF .SetValue(0);
                aTopMF   .SetValue(0);
                aBottomMF.SetValue(0);
                m_pLeftMF->SetValue(0);
                m_pRightMF->SetValue(0);
                m_pTopMF->SetValue(0);
                m_pBottomMF->SetValue(0);
            }
        }
        // for tables everything is allowed
@@ -1114,24 +1083,24 @@ IMPL_LINK_NOARG(SvxBorderTabPage, LinesChanged_Impl)
        {
            if(bLineSet)
            {
                nValid  = (aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_TOP)    == svx::FRAMESTATE_SHOW) ? VALID_TOP : 0;
                nValid |= (aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_BOTTOM) == svx::FRAMESTATE_SHOW) ? VALID_BOTTOM : 0;
                nValid |= (aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_LEFT)   == svx::FRAMESTATE_SHOW) ? VALID_LEFT : 0;
                nValid |= (aFrameSel.GetFrameBorderState( svx::FRAMEBORDER_RIGHT ) == svx::FRAMESTATE_SHOW) ? VALID_RIGHT : 0;
                nValid  = (m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_TOP)    == svx::FRAMESTATE_SHOW) ? VALID_TOP : 0;
                nValid |= (m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_BOTTOM) == svx::FRAMESTATE_SHOW) ? VALID_BOTTOM : 0;
                nValid |= (m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_LEFT)   == svx::FRAMESTATE_SHOW) ? VALID_LEFT : 0;
                nValid |= (m_pFrameSel->GetFrameBorderState( svx::FRAMEBORDER_RIGHT ) == svx::FRAMESTATE_SHOW) ? VALID_RIGHT : 0;
            }
            else
                nValid = 0;
        }
        aLeftFT.Enable(0 != (nValid&VALID_LEFT));
        aRightFT.Enable(0 != (nValid&VALID_RIGHT));
        aTopFT.Enable(0 != (nValid&VALID_TOP));
        aBottomFT.Enable(0 != (nValid&VALID_BOTTOM));
        aLeftMF.Enable(0 != (nValid&VALID_LEFT));
        aRightMF.Enable(0 != (nValid&VALID_RIGHT));
        aTopMF.Enable(0 != (nValid&VALID_TOP));
        aBottomMF.Enable(0 != (nValid&VALID_BOTTOM));
        aSynchronizeCB.Enable( aRightMF.IsEnabled() || aTopMF.IsEnabled() ||
                               aBottomMF.IsEnabled() || aLeftMF.IsEnabled() );
        m_pLeftFT->Enable(0 != (nValid&VALID_LEFT));
        m_pRightFT->Enable(0 != (nValid&VALID_RIGHT));
        m_pTopFT->Enable(0 != (nValid&VALID_TOP));
        m_pBottomFT->Enable(0 != (nValid&VALID_BOTTOM));
        m_pLeftMF->Enable(0 != (nValid&VALID_LEFT));
        m_pRightMF->Enable(0 != (nValid&VALID_RIGHT));
        m_pTopMF->Enable(0 != (nValid&VALID_TOP));
        m_pBottomMF->Enable(0 != (nValid&VALID_BOTTOM));
        m_pSynchronizeCB->Enable( m_pRightMF->IsEnabled() || m_pTopMF->IsEnabled() ||
                               m_pBottomMF->IsEnabled() || m_pLeftMF->IsEnabled() );
    }
    return 0;
}
@@ -1143,14 +1112,14 @@ IMPL_LINK( SvxBorderTabPage, ModifyDistanceHdl_Impl, MetricField*, pField)
    if ( mbSync )
    {
        sal_Int64 nVal = pField->GetValue();
        if(pField != &aLeftMF)
            aLeftMF.SetValue(nVal);
        if(pField != &aRightMF)
            aRightMF.SetValue(nVal);
        if(pField != &aTopMF)
            aTopMF.SetValue(nVal);
        if(pField != &aBottomMF)
            aBottomMF.SetValue(nVal);
        if(pField != m_pLeftMF)
            m_pLeftMF->SetValue(nVal);
        if(pField != m_pRightMF)
            m_pRightMF->SetValue(nVal);
        if(pField != m_pTopMF)
            m_pTopMF->SetValue(nVal);
        if(pField != m_pBottomMF)
            m_pBottomMF->SetValue(nVal);
    }
    return 0;
}
@@ -1177,17 +1146,17 @@ void SvxBorderTabPage::PageCreated (SfxAllItemSet aSet)
    {
        nSWMode = pSWModeItem->GetValue();
        // #i43593#
        // show checkbox <aMergeWithNextCB> for format.paragraph
        // show checkbox <m_pMergeWithNextCB> for format.paragraph
        if ( nSWMode == SW_BORDER_MODE_PARA )
        {
            aMergeWithNextCB.Show();
            aPropertiesFL.Show();
            m_pMergeWithNextCB->Show();
            m_pPropertiesFrame->Show();
        }
        // show checkbox <aMergeAdjacentBordersCB> for format.paragraph
        // show checkbox <m_pMergeAdjacentBordersCB> for format.paragraph
        else if ( nSWMode == SW_BORDER_MODE_TABLE )
        {
            aMergeAdjacentBordersCB.Show();
            aPropertiesFL.Show();
            m_pMergeAdjacentBordersCB->Show();
            m_pPropertiesFrame->Show();
        }
    }
    if (pFlagItem)
diff --git a/cui/source/tabpages/border.hrc b/cui/source/tabpages/border.hrc
index cddcabe..592a887f 100644
--- a/cui/source/tabpages/border.hrc
+++ b/cui/source/tabpages/border.hrc
@@ -18,46 +18,6 @@
#ifndef _SVX_BORDER_HRC
#define _SVX_BORDER_HRC

// defines ------------------------------------------------------------------

#define FL_BORDER               10
#define WIN_PRESETS             11
#define WIN_FRAMESEL            12

#define FL_SEPARATOR1           19
#define FL_LINE                 20
#define LB_LINESTYLE            21
#define LB_LINECOLOR            22
#define MF_LINEWIDTH            23

#define FL_SEPARATOR2           29
#define FL_SHADOW               30
#define FT_SHADOWPOS            31
#define WIN_SHADOWS             32
#define FT_SHADOWSIZE           33
#define ED_SHADOWSIZE           34
#define FT_SHADOWCOLOR          35
#define LB_SHADOWCOLOR          36

#define FL_DISTANCE             50
#define FT_LEFT                 51
#define MF_LEFT                 52
#define FT_RIGHT                53
#define MF_RIGHT                54
#define FT_TOP                  55
#define MF_TOP                  56
#define FT_BOTTOM               57
#define MF_BOTTOM               58
#define CB_SYNC                 59
#define FT_DEFAULT              60
#define FT_USERDEF              61
#define FT_STYLE                62
#define FT_COLOR                63
#define FL_PROPERTIES           64
#define CB_MERGEWITHNEXT        65
#define CB_MERGEADJACENTBORDERS 66
#define FT_WIDTH                67

// ImageList for ValueSets:
#define IL_PRE_BITMAPS          1400
#define IID_PRE_CELL_NONE       1
@@ -89,6 +49,5 @@
#define IID_SHADOW_TOP_RIGHT    4
#define IID_SHADOW_TOP_LEFT     5


#endif

diff --git a/cui/source/tabpages/border.src b/cui/source/tabpages/border.src
index fba3eaa..972dc4e 100644
--- a/cui/source/tabpages/border.src
+++ b/cui/source/tabpages/border.src
@@ -23,349 +23,51 @@

 // define ---------------------------------------------------------------
#define STD_MASKCOLOR Color { Red=0xFFFF; Green=0x0000; Blue=0xFFFF; }
 // RID_SVXPAGE_BORDER ---------------------------------------------------
TabPage RID_SVXPAGE_BORDER

ImageList IL_PRE_BITMAPS
{
    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
    Helpid = HID_BORDER ;
    Hide = TRUE ;
    Text [ en-US ] = "Borders" ;
    FixedLine FL_BORDER
    Prefix = "pr";
    MaskColor = STD_MASKCOLOR ;
    IdList =
    {
        Pos = MAP_APPFONT ( 6 , 3 ) ;
        Size = MAP_APPFONT ( 70 , 8 ) ;
        Text [ en-US ] = "Line arrangement" ;
        IID_PRE_CELL_NONE ;
        IID_PRE_CELL_ALL ;
        IID_PRE_CELL_LR ;
        IID_PRE_CELL_TB ;
        IID_PRE_CELL_L ;
        IID_PRE_CELL_DIAG ;
        IID_PRE_HOR_NONE ;
        IID_PRE_HOR_OUTER ;
        IID_PRE_HOR_HOR ;
        IID_PRE_HOR_ALL ;
        IID_PRE_HOR_OUTER2 ;
        IID_PRE_VER_NONE ;
        IID_PRE_VER_OUTER ;
        IID_PRE_VER_VER ;
        IID_PRE_VER_ALL ;
        IID_PRE_VER_OUTER2 ;
        IID_PRE_TABLE_NONE ;
        IID_PRE_TABLE_OUTER ;
        IID_PRE_TABLE_OUTERH ;
        IID_PRE_TABLE_ALL ;
        IID_PRE_TABLE_OUTER2 ;
    };
    FixedText FT_DEFAULT
    {
        Pos = MAP_APPFONT ( 12, 14) ;
        Size = MAP_APPFONT ( 64, 8) ;
        Text [ en-US ] = "~Default";
    };
    Control WIN_PRESETS
    {
        HelpId = HID_BORDER_CTL_PRESETS ;
        Hide = TRUE ;
        Pos = MAP_APPFONT ( 12 , 25 ) ;
        Size = MAP_APPFONT ( 61 , 12 ) ;
        TabStop = TRUE ;
    };
    FixedText FT_USERDEF
    {
        Pos = MAP_APPFONT (12 , 41) ;
        Size = MAP_APPFONT ( 64, 8) ;
        Text [ en-US ] = "~User-defined";
    };
    Control WIN_FRAMESEL
    {
        Border = TRUE ;
        Pos = MAP_APPFONT ( 12 , 53 ) ;
        Size = MAP_APPFONT ( 61 , 65 ) ;
        TabStop = TRUE ;
        Text = "Border control";
    };
    FixedLine FL_SEPARATOR1
    {
        Pos = MAP_APPFONT ( 77 , 14 ) ;
        Size = MAP_APPFONT ( 4 , 104 ) ;
        Vert = TRUE ;
    };
    FixedLine FL_LINE
    {
        Pos = MAP_APPFONT ( 82 , 3 ) ;
        Size = MAP_APPFONT ( 83 , 8 ) ;
        Text [ en-US ] = "Line" ;
    };
    FixedText FT_STYLE
    {
        Pos = MAP_APPFONT ( 88, 14) ;
        Size = MAP_APPFONT ( 77, 8) ;
        Text [ en-US ] = "St~yle";
    };
    ListBox LB_LINESTYLE
    {
        HelpID = "cui:ListBox:RID_SVXPAGE_BORDER:LB_LINESTYLE";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 88 , 25 ) ;
        Size = MAP_APPFONT ( 74 , 66 ) ;
        DropDown = TRUE ;
    };
    FixedText FT_WIDTH
    {
        Pos = MAP_APPFONT ( 88, 39 ) ;
        Size = MAP_APPFONT ( 77, 8 ) ;
        Text [ en-US ] = "~Width";
    };
    MetricField MF_LINEWIDTH
    {
        Border = TRUE ;
        Pos = MAP_APPFONT ( 88 , 50 ) ;
        Size = MAP_APPFONT ( 74 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 25 ;
        First = 25 ;
        Last = 900 ;
        Maximum = 900 ;
        Minimum = 5 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_POINT ;
    };
    FixedText FT_COLOR
    {
        Pos = MAP_APPFONT ( 88, 64 ) ;
        Size = MAP_APPFONT ( 77, 8 ) ;
        Text [ en-US ] = "~Color";
    };
    ListBox LB_LINECOLOR
    {
        HelpID = "cui:ListBox:RID_SVXPAGE_BORDER:LB_LINECOLOR";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 88 , 75 ) ;
        Size = MAP_APPFONT ( 74 , 68 ) ;
        DropDown = TRUE ;
        DDExtraWidth = TRUE ;
    };
    FixedLine FL_SEPARATOR2
    {
        Pos = MAP_APPFONT ( 166 , 14 ) ;
        Size = MAP_APPFONT ( 4 , 104 ) ;
        Vert = TRUE ;
    };
    FixedText FT_LEFT
    {
        Pos = MAP_APPFONT ( 177 , 16 ) ;
        Size = MAP_APPFONT ( 34 , 8 ) ;
        Text [ en-US ] = "~Left";
    };
    MetricField MF_LEFT
    {
        HelpID = "cui:MetricField:RID_SVXPAGE_BORDER:MF_LEFT";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 213 , 14 ) ;
        Size = MAP_APPFONT ( 38 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 10 ;
        First = 100 ;
        Last = 5000 ;
        Maximum = 5000 ;
        Minimum = 0 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_MM ;
    };
    FixedText FT_RIGHT
    {
        Pos = MAP_APPFONT ( 177 , 32 ) ;
        Size = MAP_APPFONT ( 34 , 8 ) ;
        Text [ en-US ] = "Right";
    };
    MetricField MF_RIGHT
    {
        HelpID = "cui:MetricField:RID_SVXPAGE_BORDER:MF_RIGHT";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 213 , 30 ) ;
        Size = MAP_APPFONT ( 38 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 10 ;
        First = 100 ;
        Last = 5000 ;
        Maximum = 5000 ;
        Minimum = 0 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_MM ;
    };
    FixedText FT_TOP
    {
        Pos = MAP_APPFONT ( 177 , 48 ) ;
        Size = MAP_APPFONT ( 34 , 8 ) ;
        Text [ en-US ] = "~Top";
    };
    MetricField MF_TOP
    {
        HelpID = "cui:MetricField:RID_SVXPAGE_BORDER:MF_TOP";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 213 , 46 ) ;
        Size = MAP_APPFONT ( 38 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 10 ;
        First = 100 ;
        Last = 5000 ;
        Maximum = 5000 ;
        Minimum = 0 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_MM ;
    };
    FixedText FT_BOTTOM
    {
        Pos = MAP_APPFONT ( 177 , 64 ) ;
        Size = MAP_APPFONT ( 34 , 8 ) ;
        Text [ en-US ] = "~Bottom";
    };
    MetricField MF_BOTTOM
    {
        HelpID = "cui:MetricField:RID_SVXPAGE_BORDER:MF_BOTTOM";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 213 , 62 ) ;
        Size = MAP_APPFONT ( 38 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 10 ;
        First = 100 ;
        Last = 5000 ;
        Maximum = 5000 ;
        Minimum = 0 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_MM ;
    };
    CheckBox CB_SYNC
    {
        HelpID = "cui:CheckBox:RID_SVXPAGE_BORDER:CB_SYNC";
        Pos = MAP_APPFONT ( 177 , 78 ) ;
        Size = MAP_APPFONT ( 74 , 10 ) ;
        Text [ en-US ] = "Synchronize";
    };
    FixedLine FL_DISTANCE
    {
        Pos = MAP_APPFONT ( 171 , 3 ) ;
        Size = MAP_APPFONT ( 83 , 8 ) ;
        Text [ en-US ] = "Spacing to contents";
    };
    IdCount = { 21 ; };
};

    FixedText FT_SHADOWPOS
ImageList IL_SDW_BITMAPS
{
    Prefix = "sh";
    MaskColor = STD_MASKCOLOR ;
    IdList =
    {
        Pos = MAP_APPFONT ( 12 , 133 ) ;
        Size = MAP_APPFONT ( 74 , 8 ) ;
        Text [ en-US ] = "~Position" ;
        IID_SHADOWNONE ;
        IID_SHADOW_BOT_RIGHT ;
        IID_SHADOW_BOT_LEFT ;
        IID_SHADOW_TOP_RIGHT ;
        IID_SHADOW_TOP_LEFT ;
    };
    Control WIN_SHADOWS
    {
        HelpId = HID_BORDER_CTL_SHADOWS ;
        Hide = TRUE ;
        Pos = MAP_APPFONT ( 12 , 144 ) ;
        Size = MAP_APPFONT ( 74 , 12 ) ;
        TabStop = TRUE ;
    };
    FixedText FT_SHADOWSIZE
    {
        Pos = MAP_APPFONT ( 88 , 133 ) ;
        Size = MAP_APPFONT ( 60 , 8 ) ;
        Text [ en-US ] = "Distan~ce";
    };
    MetricField ED_SHADOWSIZE
    {
        HelpID = "cui:MetricField:RID_SVXPAGE_BORDER:ED_SHADOWSIZE";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 88 , 144 ) ;
        Size = MAP_APPFONT ( 40 , 12 ) ;
        Spin = TRUE ;
        Repeat = TRUE ;
        SpinSize = 10 ;
        First = 100 ;
        Last = 5000 ;
        Maximum = 5000 ;
        Minimum = 50 ;
        DecimalDigits = 2 ;
        Unit = FUNIT_MM ;
    };
    FixedText FT_SHADOWCOLOR
    {
        Pos = MAP_APPFONT ( 177 , 133 ) ;
        Size = MAP_APPFONT ( 60 , 8 ) ;
        Text [ en-US ] = "C~olor" ;
    };
    ListBox LB_SHADOWCOLOR
    {
        HelpID = "cui:ListBox:RID_SVXPAGE_BORDER:LB_SHADOWCOLOR";
        Border = TRUE ;
        Pos = MAP_APPFONT ( 177 , 144 ) ;
        Size = MAP_APPFONT ( 74 , 68 ) ;
        DropDown = TRUE ;
        DDExtraWidth = TRUE ;
    };
    FixedLine FL_SHADOW
    {
        Pos = MAP_APPFONT ( 6 , 123 ) ;
        Size = MAP_APPFONT ( 248 , 8 ) ;
        Text [ en-US ] = "Shadow style" ;
    };
    FixedLine FL_PROPERTIES
    {
        Pos = MAP_APPFONT ( 6 , 162 ) ;
        Size = MAP_APPFONT ( 248 , 8 ) ;
        Hide = TRUE;
        Text [ en-US ] = "Properties" ;
    };
    CheckBox  CB_MERGEWITHNEXT
    {
        HelpID = "cui:CheckBox:RID_SVXPAGE_BORDER:CB_MERGEWITHNEXT";
        Pos = MAP_APPFONT ( 12 , 173 ) ;
        Size = MAP_APPFONT ( 242 , 10 ) ;
        Hide = TRUE;
        Text [ en-US ] = "~Merge with next paragraph" ;
    };
    CheckBox  CB_MERGEADJACENTBORDERS
    {
        HelpID = "cui:CheckBox:RID_SVXPAGE_BORDER:CB_MERGEADJACENTBORDERS";
        Pos = MAP_APPFONT ( 12 , 173 ) ;
        Size = MAP_APPFONT ( 242 , 10 ) ;
        Hide = TRUE;
        Text [ en-US ] = "~Merge adjacent line styles" ;
    };

#define _PREVIEW_IDLIST_                \
        IdList =                        \
        {                               \
            IID_PRE_CELL_NONE ;         \
            IID_PRE_CELL_ALL ;          \
            IID_PRE_CELL_LR ;           \
            IID_PRE_CELL_TB ;           \
            IID_PRE_CELL_L ;            \
            IID_PRE_CELL_DIAG ;         \
            IID_PRE_HOR_NONE ;          \
            IID_PRE_HOR_OUTER ;         \
            IID_PRE_HOR_HOR ;           \
            IID_PRE_HOR_ALL ;           \
            IID_PRE_HOR_OUTER2 ;        \
            IID_PRE_VER_NONE ;          \
            IID_PRE_VER_OUTER ;         \
            IID_PRE_VER_VER ;           \
            IID_PRE_VER_ALL ;           \
            IID_PRE_VER_OUTER2 ;        \
            IID_PRE_TABLE_NONE ;        \
            IID_PRE_TABLE_OUTER ;       \
            IID_PRE_TABLE_OUTERH ;      \
            IID_PRE_TABLE_ALL ;         \
            IID_PRE_TABLE_OUTER2 ;      \
        };                              \
        IdCount = { 21 ; };

    ImageList IL_PRE_BITMAPS
    {
        Prefix = "pr";
        MaskColor = STD_MASKCOLOR ;
        _PREVIEW_IDLIST_
    };

#define _SHADOW_IDLIST_             \
        IdList =                    \
        {                           \
            IID_SHADOWNONE ;        \
            IID_SHADOW_BOT_RIGHT ;  \
            IID_SHADOW_BOT_LEFT ;   \
            IID_SHADOW_TOP_RIGHT ;  \
            IID_SHADOW_TOP_LEFT ;   \
        };                          \
        IdCount = { 5 ; };

    ImageList IL_SDW_BITMAPS
    {
        Prefix = "sh";
        MaskColor = STD_MASKCOLOR ;
        _SHADOW_IDLIST_
    };
    IdCount = { 5 ; };
};

String RID_SVXSTR_TABLE_PRESET_NONE
diff --git a/cui/uiconfig/ui/borderpage.ui b/cui/uiconfig/ui/borderpage.ui
new file mode 100644
index 0000000..a53e72a
--- /dev/null
+++ b/cui/uiconfig/ui/borderpage.ui
@@ -0,0 +1,647 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <!-- interface-requires gtk+ 3.0 -->
  <object class="GtkAdjustment" id="adjustment1">
    <property name="lower">0.050000000000000003</property>
    <property name="upper">9</property>
    <property name="step_increment">0.25</property>
    <property name="page_increment">1</property>
  </object>
  <object class="GtkAdjustment" id="adjustment2">
    <property name="upper">50</property>
    <property name="step_increment">0.10000000000000001</property>
    <property name="page_increment">1</property>
  </object>
  <object class="GtkAdjustment" id="adjustment3">
    <property name="lower">0.5</property>
    <property name="upper">50</property>
    <property name="step_increment">0.10000000000000001</property>
    <property name="page_increment">1</property>
  </object>
  <object class="GtkGrid" id="BorderPage">
    <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="GtkGrid" id="grid6">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="hexpand">True</property>
        <property name="column_spacing">12</property>
        <property name="column_homogeneous">True</property>
        <child>
          <object class="GtkFrame" id="frame2">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="hexpand">True</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="hexpand">True</property>
                <property name="top_padding">6</property>
                <property name="left_padding">12</property>
                <child>
                  <object class="GtkGrid" id="grid9">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="hexpand">True</property>
                    <property name="row_spacing">6</property>
                    <child>
                      <object class="svxlo:SvxFrameSelector" id="framesel">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="hexpand">center</property>
                        <property name="vexpand">center</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="GtkLabel" id="userdefft">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_User-defined</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">2</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="label14">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Default</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">0</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="svtlo:ValueSet" id="presets">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="halign">start</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>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label8">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="label" translatable="yes">Line arrangement</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="frame3">
            <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="GtkGrid" id="grid8">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="row_spacing">5</property>
                    <child>
                      <object class="GtkLabel" id="label15">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">St_yle</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">0</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="label16">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Width</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">2</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="label17">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Color</property>
                        <property name="use_underline">True</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="svtlo:LineListBox" id="linestylelb">
                        <property name="visible">True</property>
                        <property name="can_focus">False</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="linewidthmf:0.00pt">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">•</property>
                        <property name="invisible_char_set">True</property>
                        <property name="adjustment">adjustment1</property>
                        <property name="digits">2</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="svtlo:ColorListBox" 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">5</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label9">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="label" translatable="yes">Line</property>
                <attributes>
                  <attribute name="weight" value="bold"/>
                </attributes>
              </object>
            </child>
          </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="GtkFrame" id="spacing">
            <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="GtkGrid" id="grid7">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="row_spacing">5</property>
                    <property name="column_spacing">8</property>
                    <child>
                      <object class="GtkSpinButton" id="leftmf:0.00mm">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">•</property>
                        <property name="invisible_char_set">True</property>
                        <property name="adjustment">adjustment2</property>
                        <property name="digits">2</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="GtkSpinButton" id="topmf:0.00mm">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">•</property>
                        <property name="invisible_char_set">True</property>
                        <property name="adjustment">adjustment2</property>
                        <property name="digits">2</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>
                      <object class="GtkSpinButton" id="rightmf:0.00mm">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">•</property>
                        <property name="invisible_char_set">True</property>
                        <property name="adjustment">adjustment2</property>
                        <property name="digits">2</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="GtkSpinButton" id="bottommf:0.00mm">
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="invisible_char">•</property>
                        <property name="invisible_char_set">True</property>
                        <property name="adjustment">adjustment2</property>
                        <property name="digits">2</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="GtkLabel" id="leftft">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Left</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">0</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="rightft">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">Right</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="topft">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Top</property>
                        <property name="use_underline">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">2</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                    <child>
                      <object class="GtkLabel" id="bottomft">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="xalign">0</property>
                        <property name="label" translatable="yes">_Bottom</property>
                        <property name="use_underline">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="GtkCheckButton" id="sync">
                        <property name="label" translatable="yes">Synchronize</property>
                        <property name="visible">True</property>
                        <property name="can_focus">True</property>
                        <property name="receives_default">False</property>
                        <property name="xalign">0</property>
                        <property name="draw_indicator">True</property>
                      </object>
                      <packing>
                        <property name="left_attach">0</property>
                        <property name="top_attach">4</property>
                        <property name="width">2</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                  </object>
                </child>
              </object>
            </child>
            <child type="label">
              <object class="GtkLabel" id="label10">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="label" translatable="yes">Spacing to contents</property>
                <attributes>
                  <attribute name="weight" value="bold"/>
                </attributes>
              </object>
            </child>
          </object>
          <packing>
            <property name="left_attach">2</property>
            <property name="top_attach">0</property>
            <property name="width">1</property>
            <property name="height">1</property>
          </packing>
        </child>
      </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="shadow">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="hexpand">True</property>
        <property name="label_xalign">0</property>
        <property name="shadow_type">none</property>
        <child>
          <object class="GtkAlignment" id="alignment5">
            <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="grid10">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="row_spacing">6</property>
                <property name="column_spacing">12</property>
                <property name="column_homogeneous">True</property>
                <child>
                  <object class="GtkLabel" id="label22">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="xalign">0</property>
                    <property name="label" translatable="yes">_Position</property>
                    <property name="use_underline">True</property>
                  </object>
                  <packing>
                    <property name="left_attach">0</property>
                    <property name="top_attach">0</property>
                    <property name="width">1</property>
                    <property name="height">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkLabel" id="distanceft">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="xalign">0</property>
                    <property name="label" translatable="yes">Distan_ce</property>
                    <property name="use_underline">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="shadowcolorft">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="xalign">0</property>
                    <property name="label" translatable="yes">C_olor</property>
                    <property name="use_underline">True</property>
                  </object>
                  <packing>
                    <property name="left_attach">2</property>
                    <property name="top_attach">0</property>
                    <property name="width">1</property>
                    <property name="height">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkSpinButton" id="distancemf:0.00mm">
                    <property name="visible">True</property>
                    <property name="can_focus">True</property>
                    <property name="halign">start</property>
                    <property name="invisible_char">•</property>
                    <property name="invisible_char_set">True</property>
                    <property name="adjustment">adjustment3</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="svtlo:ColorListBox" id="shadowcolorlb">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                  </object>
                  <packing>
                    <property name="left_attach">2</property>
                    <property name="top_attach">1</property>
                    <property name="width">1</property>
                    <property name="height">1</property>
                  </packing>
                </child>
                <child>
                  <object class="svtlo:ValueSet" id="shadows">
                    <property name="visible">True</property>
                    <property name="can_focus">True</property>
                    <property name="halign">start</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>
            </child>
          </object>
        </child>
        <child type="label">
          <object class="GtkLabel" id="label11">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="label" translatable="yes">Shadow style</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="properties">
        <property name="can_focus">False</property>
        <property name="no_show_all">True</property>
        <property name="hexpand">True</property>
        <property name="label_xalign">0</property>
        <property name="shadow_type">none</property>
        <child>
          <object class="GtkAlignment" id="alignment6">
            <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="grid1">
                <property name="visible">True</property>
                <property name="can_focus">False</property>
                <property name="row_spacing">6</property>
                <property name="column_spacing">12</property>
                <child>
                  <object class="GtkCheckButton" id="mergewithnext">
                    <property name="label" translatable="yes">_Merge with next paragraph</property>
                    <property name="can_focus">True</property>
                    <property name="receives_default">False</property>
                    <property name="no_show_all">True</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">0</property>
                    <property name="width">1</property>
                    <property name="height">1</property>
                  </packing>
                </child>
                <child>
                  <object class="GtkCheckButton" id="mergeadjacent">
                    <property name="label" translatable="yes">_Merge adjacent line styles</property>
                    <property name="can_focus">True</property>
                    <property name="receives_default">False</property>
                    <property name="no_show_all">True</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">1</property>
                    <property name="width">1</property>
                    <property name="height">1</property>
                  </packing>
                </child>
              </object>
            </child>
          </object>
        </child>
        <child type="label">
          <object class="GtkLabel" id="label12">
            <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>
  </object>
</interface>
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index faf5263..bf699fd 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -18,6 +18,7 @@
 */

#include <tools/debug.hxx>
#include <vcl/builder.hxx>
#include <vcl/decoview.hxx>
#include <vcl/svapp.hxx>
#include <vcl/scrbar.hxx>
@@ -101,6 +102,11 @@ ValueSet::ValueSet( Window* pParent, WinBits nWinStyle, bool bDisableTransientCh
    mbIsTransientChildrenDisabled = bDisableTransientChildren;
}

extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeValueSet(Window *pParent, VclBuilder::stringmap &)
{
    return new ValueSet(pParent, WB_TABSTOP);
}

// -----------------------------------------------------------------------

ValueSet::ValueSet( Window* pParent, const ResId& rResId, bool bDisableTransientChildren ) :
diff --git a/sw/uiconfig/swriter/ui/tableproperties.ui b/sw/uiconfig/swriter/ui/tableproperties.ui
index f359904..2989fab 100644
--- a/sw/uiconfig/swriter/ui/tableproperties.ui
+++ b/sw/uiconfig/swriter/ui/tableproperties.ui
@@ -55,697 +55,7 @@
              </packing>
            </child>
            <child>
              <object class="GtkGrid" id="grid5">
                <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="GtkGrid" id="grid6">
                    <property name="visible">True</property>
                    <property name="can_focus">False</property>
                    <property name="column_spacing">20</property>
                    <child>
                      <object class="GtkFrame" id="frame2">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="label_xalign">0.019999999552965164</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="left_padding">12</property>
                            <child>
                              <object class="GtkGrid" id="grid9">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="row_spacing">6</property>
                                <child>
                                  <object class="GtkDrawingArea" id="drawingarea2">
                                    <property name="width_request">100</property>
                                    <property name="height_request">100</property>
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</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="GtkLabel" id="label13">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="label" translatable="yes">User-defined</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="label14">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="yalign">0.49000000953674316</property>
                                    <property name="label" translatable="yes">Default</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="GtkGrid" id="grid11">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="column_spacing">4</property>
                                    <child>
                                      <object class="GtkImage" id="image1">
                                        <property name="visible">True</property>
                                        <property name="can_focus">False</property>
                                        <property name="stock">gtk-missing-image</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="GtkImage" id="image2">
                                        <property name="visible">True</property>
                                        <property name="can_focus">False</property>
                                        <property name="stock">gtk-missing-image</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="GtkImage" id="image3">
                                        <property name="visible">True</property>
                                        <property name="can_focus">False</property>
                                        <property name="stock">gtk-missing-image</property>
                                      </object>
                                      <packing>
                                        <property name="left_attach">2</property>
                                        <property name="top_attach">0</property>
                                        <property name="width">1</property>
                                        <property name="height">1</property>
                                      </packing>
                                    </child>
                                    <child>
                                      <object class="GtkImage" id="image4">
                                        <property name="visible">True</property>
                                        <property name="can_focus">False</property>
                                        <property name="stock">gtk-missing-image</property>
                                      </object>
                                      <packing>
                                        <property name="left_attach">3</property>
                                        <property name="top_attach">0</property>
                                        <property name="width">1</property>
                                        <property name="height">1</property>
                                      </packing>
                                    </child>
                                    <child>
                                      <object class="GtkImage" id="image5">
                                        <property name="visible">True</property>
                                        <property name="can_focus">False</property>
                                        <property name="stock">gtk-missing-image</property>
                                      </object>
                                      <packing>
                                        <property name="left_attach">4</property>
                                        <property name="top_attach">0</property>
                                        <property name="width">1</property>
                                        <property name="height">1</property>
                                      </packing>
                                    </child>
                                  </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>
                            </child>
                          </object>
                        </child>
                        <child type="label">
                          <object class="GtkLabel" id="label8">
                            <property name="visible">True</property>
                            <property name="can_focus">False</property>
                            <property name="label" translatable="yes">Line arrangement</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="frame3">
                        <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="left_padding">12</property>
                            <child>
                              <object class="GtkGrid" id="grid8">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="row_spacing">5</property>
                                <child>
                                  <object class="GtkLabel" id="label15">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Style</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="label16">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Width</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="label17">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Color</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="comboboxtext3">
                                    <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">1</property>
                                    <property name="width">1</property>
                                    <property name="height">1</property>
                                  </packing>
                                </child>
                                <child>
                                  <object class="GtkSpinButton" id="spinbutton1">
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="invisible_char">•</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="GtkComboBoxText" id="comboboxtext4">
                                    <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">5</property>
                                    <property name="width">1</property>
                                    <property name="height">1</property>
                                  </packing>
                                </child>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child type="label">
                          <object class="GtkLabel" id="label9">
                            <property name="visible">True</property>
                            <property name="can_focus">False</property>
                            <property name="label" translatable="yes">Line</property>
                            <attributes>
                              <attribute name="weight" value="bold"/>
                            </attributes>
                          </object>
                        </child>
                      </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="GtkFrame" id="frame4">
                        <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="left_padding">12</property>
                            <child>
                              <object class="GtkGrid" id="grid7">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="row_spacing">5</property>
                                <property name="column_spacing">8</property>
                                <child>
                                  <object class="GtkSpinButton" id="spinbutton2">
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="invisible_char">•</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="GtkSpinButton" id="spinbutton3">
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="invisible_char">•</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>
                                  <object class="GtkSpinButton" id="spinbutton4">
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="invisible_char">•</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="GtkSpinButton" id="spinbutton5">
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="invisible_char">•</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="GtkLabel" id="label18">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Left</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="label19">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Right</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="label20">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Top</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="label21">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="xalign">0</property>
                                    <property name="label" translatable="yes">Bottom</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="GtkCheckButton" id="checkbutton1">
                                    <property name="label" translatable="yes">Synchronize</property>
                                    <property name="visible">True</property>
                                    <property name="can_focus">True</property>
                                    <property name="receives_default">False</property>
                                    <property name="xalign">0</property>
                                    <property name="draw_indicator">True</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>
                                  <placeholder/>
                                </child>
                              </object>
                            </child>
                          </object>
                        </child>
                        <child type="label">
                          <object class="GtkLabel" id="label10">
                            <property name="visible">True</property>
                            <property name="can_focus">False</property>
                            <property name="label" translatable="yes">Spacing to contents</property>
                            <attributes>
                              <attribute name="weight" value="bold"/>
                            </attributes>
                          </object>
                        </child>
                      </object>
                      <packing>
                        <property name="left_attach">2</property>
                        <property name="top_attach">0</property>
                        <property name="width">1</property>
                        <property name="height">1</property>
                      </packing>
                    </child>
                  </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="frame5">
                    <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="alignment5">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="left_padding">12</property>
                        <child>
                          <object class="GtkGrid" id="grid10">
                            <property name="visible">True</property>
                            <property name="can_focus">False</property>
                            <property name="row_spacing">5</property>
                            <property name="column_spacing">22</property>
                            <child>
                              <object class="GtkLabel" id="label22">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="xalign">0</property>
                                <property name="label" translatable="yes">Position</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="label23">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="xalign">0</property>
                                <property name="label" translatable="yes">Distance</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="label24">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <property name="label" translatable="yes">Color</property>
                              </object>
                              <packing>
                                <property name="left_attach">2</property>
                                <property name="top_attach">0</property>
                                <property name="width">1</property>
                                <property name="height">1</property>
                              </packing>
                            </child>
                            <child>
                              <object class="GtkGrid" id="grid12">
                                <property name="visible">True</property>
                                <property name="can_focus">False</property>
                                <child>
                                  <object class="GtkImage" id="image6">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="stock">gtk-missing-image</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="GtkImage" id="image7">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="stock">gtk-missing-image</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="GtkImage" id="image8">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="stock">gtk-missing-image</property>
                                  </object>
                                  <packing>
                                    <property name="left_attach">2</property>
                                    <property name="top_attach">0</property>
                                    <property name="width">1</property>
                                    <property name="height">1</property>
                                  </packing>
                                </child>
                                <child>
                                  <object class="GtkImage" id="image9">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="stock">gtk-missing-image</property>
                                  </object>
                                  <packing>
                                    <property name="left_attach">3</property>
                                    <property name="top_attach">0</property>
                                    <property name="width">1</property>
                                    <property name="height">1</property>
                                  </packing>
                                </child>
                                <child>
                                  <object class="GtkImage" id="image10">
                                    <property name="visible">True</property>
                                    <property name="can_focus">False</property>
                                    <property name="stock">gtk-missing-image</property>
                                  </object>
                                  <packing>
                                    <property name="left_attach">4</property>
                                    <property name="top_attach">0</property>
                                    <property name="width">1</property>
                                    <property name="height">1</property>
                                  </packing>
                                </child>
                              </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="spinbutton6">
                                <property name="visible">True</property>
                                <property name="can_focus">True</property>
                                <property name="invisible_char">•</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="GtkComboBoxText" id="comboboxtext5">
                                <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">2</property>
                                <property name="top_attach">1</property>
                                <property name="width">1</property>
                                <property name="height">1</property>
                              </packing>
                            </child>
                          </object>
                        </child>
                      </object>
                    </child>
                    <child type="label">
                      <object class="GtkLabel" id="label11">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="label" translatable="yes">Shadow style</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="frame6">
                    <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="alignment6">
                        <property name="visible">True</property>
                        <property name="can_focus">False</property>
                        <property name="left_padding">12</property>
                        <child>
                          <object class="GtkCheckButton" id="checkbutton2">
                            <property name="label" translatable="yes">Merge adjacent  line styles</property>
                            <property name="visible">True</property>
                            <property name="can_focus">True</property>
                            <property name="receives_default">False</property>
                            <property name="xalign">0</property>
                            <property name="draw_indicator">True</property>
                          </object>
                        </child>
                      </object>
                    </child>
                    <child type="label">
                      <object class="GtkLabel" id="label12">
                        <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>
              </object>
              <packing>
                <property name="position">3</property>
              </packing>
              <placeholder/>
            </child>
            <child type="tab">
              <object class="GtkLabel" id="label1">