[Libreoffice-commits] .: Branch 'feature/cmclayouttrans' - cui/source cui/uiconfig cui/UI_cui.mk svtools/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Sep 19 03:33:47 PDT 2012


 cui/UI_cui.mk                      |    1 
 cui/source/inc/chardlg.hxx         |   54 +-
 cui/source/inc/cuires.hrc          |    3 
 cui/source/inc/helpid.hrc          |    1 
 cui/source/tabpages/chardlg.cxx    |  570 ++++++++++++++-----------------
 cui/source/tabpages/chardlg.hrc    |   53 --
 cui/source/tabpages/chardlg.src    |  329 ------------------
 cui/source/tabpages/strings.src    |    5 
 cui/uiconfig/ui/effectspage.ui     |  668 +++++++++++++++++++++++++++++++++++++
 svtools/source/control/ctrlbox.cxx |    7 
 10 files changed, 970 insertions(+), 721 deletions(-)

New commits:
commit f2e3781252b9a3e6bb8e67c2567d97e461c1b4bb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Sep 19 11:33:25 2012 +0100

    convert hard-coded layout of effects tabpage to .ui
    
    Change-Id: I6aa02f112b0b13402db1f0cf721d0db8862432bc

diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk
index f5a9cae..4419c3d 100644
--- a/cui/UI_cui.mk
+++ b/cui/UI_cui.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_UI_UI,cui))
 
 $(eval $(call gb_UI_add_uifiles,cui,\
 	cui/uiconfig/ui/10000 \
+	cui/uiconfig/ui/effectspage \
 	cui/uiconfig/ui/positionpage \
 	cui/uiconfig/ui/twolinespage \
 ))
diff --git a/cui/source/inc/chardlg.hxx b/cui/source/inc/chardlg.hxx
index 584006b..c897afb 100644
--- a/cui/source/inc/chardlg.hxx
+++ b/cui/source/inc/chardlg.hxx
@@ -196,47 +196,39 @@ class SvxCharEffectsPage : public SvxCharBasePage
 {
 
 private:
-    VclVBox m_aBox;
-    VclGrid m_aGrid;
-
-    FixedText           m_aFontColorFT;
-    ColorListBox        m_aFontColorLB;
-
-    FixedText           m_aEffectsFT;
-    ListBox             m_aEffectsLB;
+    FixedText*          m_pFontColorFT;
+    ColorListBox*       m_pFontColorLB;
 
-    FixedText           m_aReliefFT;
-    ListBox             m_aReliefLB;
+    FixedText*          m_pEffectsFT;
+    ListBox*            m_pEffectsLB;
 
-    TriStateBox         m_aOutlineBtn;
-    TriStateBox         m_aShadowBtn;
-    TriStateBox         m_aBlinkingBtn;
-    TriStateBox         m_aHiddenBtn;
+    FixedText*          m_pReliefFT;
+    ListBox*            m_pReliefLB;
 
-    FixedLine           m_aVerticalLine;
+    TriStateBox*        m_pOutlineBtn;
+    TriStateBox*        m_pShadowBtn;
+    TriStateBox*        m_pBlinkingBtn;
+    TriStateBox*        m_pHiddenBtn;
 
-    FixedText           m_aOverlineFT;
-    ListBox             m_aOverlineLB;
-    FixedText           m_aOverlineColorFT;
-    ColorListBox        m_aOverlineColorLB;
+    ListBox*            m_pOverlineLB;
+    FixedText*          m_pOverlineColorFT;
+    ColorListBox*       m_pOverlineColorLB;
 
-    FixedText           m_aStrikeoutFT;
-    ListBox             m_aStrikeoutLB;
+    ListBox*            m_pStrikeoutLB;
 
-    FixedText           m_aUnderlineFT;
-    ListBox             m_aUnderlineLB;
-    FixedText           m_aUnderlineColorFT;
-    ColorListBox        m_aUnderlineColorLB;
+    ListBox*            m_pUnderlineLB;
+    FixedText*          m_pUnderlineColorFT;
+    ColorListBox*       m_pUnderlineColorLB;
 
-    CheckBox            m_aIndividualWordsBtn;
+    CheckBox*           m_pIndividualWordsBtn;
 
-    FixedLine           m_aAsianLine;
+    FixedLine*          m_pAsianLine;
 
-    FixedText           m_aEmphasisFT;
-    ListBox             m_aEmphasisLB;
+    FixedText*          m_pEmphasisFT;
+    ListBox*            m_pEmphasisLB;
 
-    FixedText           m_aPositionFT;
-    ListBox             m_aPositionLB;
+    FixedText*          m_pPositionFT;
+    ListBox*            m_pPositionLB;
 
     sal_uInt16              m_nHtmlMode;
 
diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc
index a82ef94..38965e1 100644
--- a/cui/source/inc/cuires.hrc
+++ b/cui/source/inc/cuires.hrc
@@ -100,8 +100,9 @@
 #define RID_SVXSTR_WARN_TABLE_OVERWRITE     (RID_SVX_START + 231)
 #define RID_SVXSTR_ASK_CHANGE_LINEEND       (RID_SVX_START + 184)
 #define RID_SVXSTR_ASK_DEL_LINEEND          (RID_SVX_START + 219)
-#define RID_SVXSTR_DESC_LINEEND             (RID_SVX_START + 238)
 #define RID_SVXSTR_WARN_NAME_DUPLICATE      (RID_SVX_START + 236)
+#define RID_SVXSTR_CHARNAME_TRANSPARENT     (RID_SVX_START + 237)
+#define RID_SVXSTR_DESC_LINEEND             (RID_SVX_START + 238)
 
 // autocor
 #define RID_OFAPAGE_AUTOCOMPLETE_OPTIONS (RID_OFA_START + 119)
diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc
index a10142f..ff10626 100644
--- a/cui/source/inc/helpid.hrc
+++ b/cui/source/inc/helpid.hrc
@@ -355,7 +355,6 @@
 #define HID_TRANS_POSITION_SIZE "CUI_HID_TRANS_POSITION_SIZE"
 #define HID_HYPHENATE "CUI_HID_HYPHENATE"
 #define HID_SVXPAGE_CHAR_NAME "CUI_HID_SVXPAGE_CHAR_NAME"
-#define HID_SVXPAGE_CHAR_EFFECTS "CUI_HID_SVXPAGE_CHAR_EFFECTS"
 #define HID_HYPERLINK_INTERNET "CUI_HID_HYPERLINK_INTERNET"
 #define HID_HYPERLINK_MAIL "CUI_HID_HYPERLINK_MAIL"
 #define HID_HYPERLINK_DOCUMENT "CUI_HID_HYPERLINK_DOCUMENT"
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 5fe5bf2..ac8f25e 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -191,12 +191,16 @@ inline SvxFont& SvxCharBasePage::GetPreviewCTLFont()
 
 SvxCharBasePage::SvxCharBasePage( Window* pParent, const ResId& rResId, const SfxItemSet& rItemset)
     : SfxTabPage( pParent, rResId, rItemset )
+    , m_pPreviewWin(NULL)
+    , m_pFontTypeFT(NULL)
     , m_bPreviewBackgroundToCharacter( sal_False )
 {
 }
 
 SvxCharBasePage::SvxCharBasePage( Window* pParent, const rtl::OString& rID, const rtl::OUString& rUIXMLDescription, const SfxItemSet& rItemset)
     : SfxTabPage( pParent, rID, rUIXMLDescription, rItemset )
+    , m_pPreviewWin(NULL)
+    , m_pFontTypeFT(NULL)
     , m_bPreviewBackgroundToCharacter( sal_False )
 {
 }
@@ -302,7 +306,7 @@ SvxCharNamePage::SvxCharNamePage( Window* pParent, const SfxItemSet& rInSet )
     m_aBox.set_expand(true);
 
     m_pImpl->m_aNoStyleText = String( CUI_RES( STR_CHARNAME_NOSTYLE ) );
-    m_pImpl->m_aTransparentText = String( CUI_RES( STR_CHARNAME_TRANSPARENT ) );
+    m_pImpl->m_aTransparentText = String( CUI_RES( RID_SVXSTR_CHARNAME_TRANSPARENT ) );
 
     SvtLanguageOptions aLanguageOptions;
     sal_Bool bShowCJK = aLanguageOptions.IsCJKFontEnabled();
@@ -1502,77 +1506,34 @@ void SvxCharNamePage::PageCreated (SfxAllItemSet aSet)
 // class SvxCharEffectsPage ----------------------------------------------
 
 SvxCharEffectsPage::SvxCharEffectsPage( Window* pParent, const SfxItemSet& rInSet )
-    : SvxCharBasePage( pParent, CUI_RES( RID_SVXPAGE_CHAR_EFFECTS ), rInSet )
-    , m_aBox(this, false, 7)
-    , m_aGrid(&m_aBox)
-    , m_aFontColorFT(&m_aGrid, CUI_RES(FT_FONTCOLOR))
-    , m_aFontColorLB(&m_aGrid, CUI_RES(LB_FONTCOLOR))
-    , m_aEffectsFT(&m_aGrid, CUI_RES(FT_EFFECTS))
-    , m_aEffectsLB(&m_aGrid, CUI_RES(LB_EFFECTS2))
-    , m_aReliefFT(&m_aGrid, CUI_RES(FT_RELIEF))
-    , m_aReliefLB(&m_aGrid, CUI_RES(LB_RELIEF))
-    , m_aOutlineBtn(&m_aGrid, CUI_RES(CB_OUTLINE))
-    , m_aShadowBtn(&m_aGrid, CUI_RES(CB_SHADOW))
-    , m_aBlinkingBtn(&m_aGrid, CUI_RES(CB_BLINKING))
-    , m_aHiddenBtn(&m_aGrid, CUI_RES(CB_CHARHIDDEN))
-    , m_aVerticalLine(&m_aGrid, CUI_RES(FL_EFFECTS_VERTICAL))
-    , m_aOverlineFT(&m_aGrid, CUI_RES(FT_OVERLINE))
-    , m_aOverlineLB(&m_aGrid, CUI_RES(LB_OVERLINE))
-    , m_aOverlineColorFT(&m_aGrid, CUI_RES(FT_OVERLINE_COLOR))
-    , m_aOverlineColorLB(&m_aGrid, CUI_RES(LB_OVERLINE_COLOR))
-    , m_aStrikeoutFT(&m_aGrid, CUI_RES(FT_STRIKEOUT))
-    , m_aStrikeoutLB(&m_aGrid, CUI_RES(LB_STRIKEOUT))
-    , m_aUnderlineFT(&m_aGrid, CUI_RES(FT_UNDERLINE))
-    , m_aUnderlineLB(&m_aGrid, CUI_RES(LB_UNDERLINE))
-    , m_aUnderlineColorFT(&m_aGrid, CUI_RES(FT_UNDERLINE_COLOR))
-    , m_aUnderlineColorLB(&m_aGrid, CUI_RES(LB_UNDERLINE_COLOR))
-    , m_aIndividualWordsBtn(&m_aGrid, CUI_RES(CB_INDIVIDUALWORDS))
-    , m_aAsianLine(&m_aGrid, CUI_RES(FL_EFFECTS_ASIAN))
-    , m_aEmphasisFT(&m_aGrid, CUI_RES(FT_EMPHASIS))
-    , m_aEmphasisLB(&m_aGrid, CUI_RES(LB_EMPHASIS))
-    , m_aPositionFT(&m_aGrid, CUI_RES(FT_POSITION))
-    , m_aPositionLB(&m_aGrid, CUI_RES(LB_POSITION))
-    , m_aTransparentColorName(CUI_RES(STR_CHARNAME_TRANSPARENT))
-{
-    m_aBox.set_expand(true);
-
-    m_aGrid.set_column_spacing(7);
-    m_aGrid.set_row_spacing(2);
+    : SvxCharBasePage(pParent, "EffectsPage", "cui/ui/effectspage.ui", rInSet)
+    , m_aTransparentColorName(CUI_RES(RID_SVXSTR_CHARNAME_TRANSPARENT))
+{
+    get(m_pFontColorFT, "fontcolorft");
+    get(m_pFontColorLB, "fontcolorlb");
+    get(m_pEffectsFT, "effectsft");
+    get(m_pEffectsLB, "effectslb");
+    get(m_pReliefFT, "reliefft");
+    get(m_pReliefLB, "relieflb");
+    get(m_pOutlineBtn, "outlinecb");
+    get(m_pShadowBtn, "shadowcb");
+    get(m_pBlinkingBtn, "blinkingcb");
+    get(m_pHiddenBtn, "hiddencb");
+    get(m_pOverlineLB, "overlinelb");
+    get(m_pOverlineColorFT, "overlinecolorft");
+    get(m_pOverlineColorLB, "overlinecolorlb");
+    get(m_pStrikeoutLB, "strikeoutlb");
+    get(m_pUnderlineLB, "underlinelb");
+    get(m_pUnderlineColorFT, "underlinecolorft");
+    get(m_pUnderlineColorLB, "underlinecolorlb");
+    get(m_pIndividualWordsBtn, "individualwordscb");
+    get(m_pAsianLine, "asianfl");
+    get(m_pEmphasisFT, "emphasisft");
+    get(m_pEmphasisLB, "emphasislb");
+    get(m_pPositionFT, "positionft");
+    get(m_pPositionLB, "positionlb");
 
-    setGridAttach(m_aFontColorFT, 0, 0);
-    setGridAttach(m_aFontColorLB, 0, 1);
-    setGridAttach(m_aEffectsFT, 0, 2);
-    setGridAttach(m_aEffectsLB, 0, 3);
-    setGridAttach(m_aReliefFT, 0, 4);
-    setGridAttach(m_aReliefLB, 0, 5);
-    setGridAttach(m_aOutlineBtn, 0, 6);
-    setGridAttach(m_aShadowBtn, 0, 7);
-    setGridAttach(m_aBlinkingBtn, 0, 8);
-    setGridAttach(m_aHiddenBtn, 0, 9);
-
-    setGridAttach(m_aVerticalLine, 1, 0, 1, 10);
-
-    setGridAttach(m_aOverlineFT, 2, 0);
-    setGridAttach(m_aOverlineLB, 2, 1);
-    setGridAttach(m_aStrikeoutFT, 2, 2);
-    setGridAttach(m_aStrikeoutLB, 2, 3);
-    setGridAttach(m_aUnderlineFT, 2, 4);
-    setGridAttach(m_aUnderlineLB, 2, 5);
-    setGridAttach(m_aIndividualWordsBtn, 2, 6);
-
-    setGridAttach(m_aOverlineColorFT, 3, 0);
-    setGridAttach(m_aOverlineColorLB, 3, 1);
-    setGridAttach(m_aUnderlineColorFT, 3, 4);
-    setGridAttach(m_aUnderlineColorLB, 3, 5);
-
-    setGridAttach(m_aAsianLine, 2, 7, 2);
-    setGridAttach(m_aEmphasisFT, 2, 8);
-    setGridAttach(m_aEmphasisLB, 2, 9);
-    setGridAttach(m_aPositionFT, 3, 8);
-    setGridAttach(m_aPositionLB, 3, 9);
-
-    makeWidgets(&m_aBox, CUI_RES(STR_CHARNAME_TRANSPARENT), WIN_EFFECTS_PREVIEW, FT_EFFECTS_FONTTYPE);
-    FreeResource();
+    get(m_pPreviewWin, "preview");
     Initialize();
 }
 
@@ -1612,9 +1573,9 @@ void SvxCharEffectsPage::Initialize()
     if ( !pColorTable.is() )
         pColorTable = XColorList::CreateStdColorList();
 
-    m_aUnderlineColorLB.SetUpdateMode( sal_False );
-    m_aOverlineColorLB.SetUpdateMode( sal_False );
-    m_aFontColorLB.SetUpdateMode( sal_False );
+    m_pUnderlineColorLB->SetUpdateMode( sal_False );
+    m_pOverlineColorLB->SetUpdateMode( sal_False );
+    m_pFontColorLB->SetUpdateMode( sal_False );
 
     {
         SfxPoolItem* pDummy;
@@ -1622,67 +1583,66 @@ void SvxCharEffectsPage::Initialize()
         if ( !pFrame ||
              SFX_ITEM_DEFAULT > pFrame->GetBindings().QueryState( SID_ATTR_AUTO_COLOR_INVALID, pDummy ) )
         {
-            m_aUnderlineColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
-            m_aOverlineColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
-            m_aFontColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
+            m_pUnderlineColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
+            m_pOverlineColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
+            m_pFontColorLB->InsertAutomaticEntryColor( Color( COL_AUTO ) );
         }
     }
     for ( long i = 0; i < pColorTable->Count(); i++ )
     {
         XColorEntry* pEntry = pColorTable->GetColor(i);
-        m_aUnderlineColorLB.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
-        m_aOverlineColorLB.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
-        m_aFontColorLB.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
+        m_pUnderlineColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
+        m_pOverlineColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
+        m_pFontColorLB->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
     }
 
-    m_aUnderlineColorLB.SetUpdateMode( sal_True );
-    m_aOverlineColorLB.SetUpdateMode( sal_True );
-    m_aFontColorLB.SetUpdateMode( sal_True );
-    m_aFontColorLB.SetSelectHdl( LINK( this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl ) );
+    m_pUnderlineColorLB->SetUpdateMode( sal_True );
+    m_pOverlineColorLB->SetUpdateMode( sal_True );
+    m_pFontColorLB->SetUpdateMode( sal_True );
+    m_pFontColorLB->SetSelectHdl( LINK( this, SvxCharEffectsPage, ColorBoxSelectHdl_Impl ) );
 
     // handler
     Link aLink = LINK( this, SvxCharEffectsPage, SelectHdl_Impl );
-    m_aUnderlineLB.SetSelectHdl( aLink );
-    m_aUnderlineColorLB.SetSelectHdl( aLink );
-    m_aOverlineLB.SetSelectHdl( aLink );
-    m_aOverlineColorLB.SetSelectHdl( aLink );
-    m_aStrikeoutLB.SetSelectHdl( aLink );
-    m_aEmphasisLB.SetSelectHdl( aLink );
-    m_aPositionLB.SetSelectHdl( aLink );
-    m_aEffectsLB.SetSelectHdl( aLink );
-    m_aReliefLB.SetSelectHdl( aLink );
-
-    m_aUnderlineLB.SelectEntryPos( 0 );
-    m_aUnderlineColorLB.SelectEntryPos( 0 );
-    m_aOverlineLB.SelectEntryPos( 0 );
-    m_aOverlineColorLB.SelectEntryPos( 0 );
-    m_aStrikeoutLB.SelectEntryPos( 0 );
-    m_aEmphasisLB.SelectEntryPos( 0 );
-    m_aPositionLB.SelectEntryPos( 0 );
+    m_pUnderlineLB->SetSelectHdl( aLink );
+    m_pUnderlineColorLB->SetSelectHdl( aLink );
+    m_pOverlineLB->SetSelectHdl( aLink );
+    m_pOverlineColorLB->SetSelectHdl( aLink );
+    m_pStrikeoutLB->SetSelectHdl( aLink );
+    m_pEmphasisLB->SetSelectHdl( aLink );
+    m_pPositionLB->SetSelectHdl( aLink );
+    m_pEffectsLB->SetSelectHdl( aLink );
+    m_pReliefLB->SetSelectHdl( aLink );
+
+    m_pUnderlineLB->SelectEntryPos( 0 );
+    m_pUnderlineColorLB->SelectEntryPos( 0 );
+    m_pOverlineLB->SelectEntryPos( 0 );
+    m_pOverlineColorLB->SelectEntryPos( 0 );
+    m_pStrikeoutLB->SelectEntryPos( 0 );
+    m_pEmphasisLB->SelectEntryPos( 0 );
+    m_pPositionLB->SelectEntryPos( 0 );
     SelectHdl_Impl( NULL );
-    SelectHdl_Impl( &m_aEmphasisLB );
+    SelectHdl_Impl( m_pEmphasisLB );
 
-    m_aEffectsLB.SelectEntryPos( 0 );
+    m_pEffectsLB->SelectEntryPos( 0 );
 
-    m_aIndividualWordsBtn.SetClickHdl( LINK( this, SvxCharEffectsPage, CbClickHdl_Impl ) );
+    m_pIndividualWordsBtn->SetClickHdl( LINK( this, SvxCharEffectsPage, CbClickHdl_Impl ) );
     aLink = LINK( this, SvxCharEffectsPage, TristClickHdl_Impl );
-    m_aOutlineBtn.SetClickHdl( aLink );
-    m_aShadowBtn.SetClickHdl( aLink );
+    m_pOutlineBtn->SetClickHdl( aLink );
+    m_pShadowBtn->SetClickHdl( aLink );
 
     if ( !SvtLanguageOptions().IsAsianTypographyEnabled() )
     {
-        m_aAsianLine.Hide();
-        m_aEmphasisFT.Hide();
-        m_aEmphasisLB.Hide();
-        m_aPositionFT.Hide();
-        m_aPositionLB.Hide();
+        m_pAsianLine->Hide();
+        m_pEmphasisFT->Hide();
+        m_pEmphasisLB->Hide();
+        m_pPositionFT->Hide();
+        m_pPositionLB->Hide();
     }
 }
 
 SvxCharEffectsPage::~SvxCharEffectsPage()
 {
-    delete m_pPreviewWin, m_pPreviewWin = NULL;
-    delete m_pFontTypeFT, m_pFontTypeFT = NULL;
+    m_pPreviewWin = NULL; //to-do, when all of these tab pages are converted to .ui this and the parent delete can go
 }
 
 // -----------------------------------------------------------------------
@@ -1693,33 +1653,33 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
     SvxFont& rCJKFont = GetPreviewCJKFont();
     SvxFont& rCTLFont = GetPreviewCTLFont();
 
-    sal_uInt16 nPos = m_aUnderlineLB.GetSelectEntryPos();
-    FontUnderline eUnderline = (FontUnderline)(sal_uLong)m_aUnderlineLB.GetEntryData( nPos );
-    nPos = m_aOverlineLB.GetSelectEntryPos();
-    FontUnderline eOverline = (FontUnderline)(sal_uLong)m_aOverlineLB.GetEntryData( nPos );
-    nPos = m_aStrikeoutLB.GetSelectEntryPos();
-    FontStrikeout eStrikeout = (FontStrikeout)(sal_uLong)m_aStrikeoutLB.GetEntryData( nPos );
+    sal_uInt16 nPos = m_pUnderlineLB->GetSelectEntryPos();
+    FontUnderline eUnderline = (FontUnderline)(sal_uLong)m_pUnderlineLB->GetEntryData( nPos );
+    nPos = m_pOverlineLB->GetSelectEntryPos();
+    FontUnderline eOverline = (FontUnderline)(sal_uLong)m_pOverlineLB->GetEntryData( nPos );
+    nPos = m_pStrikeoutLB->GetSelectEntryPos();
+    FontStrikeout eStrikeout = (FontStrikeout)(sal_uLong)m_pStrikeoutLB->GetEntryData( nPos );
     rFont.SetUnderline( eUnderline );
     rCJKFont.SetUnderline( eUnderline );
     rCTLFont.SetUnderline( eUnderline );
-    m_pPreviewWin->SetTextLineColor( m_aUnderlineColorLB.GetSelectEntryColor() );
+    m_pPreviewWin->SetTextLineColor( m_pUnderlineColorLB->GetSelectEntryColor() );
     rFont.SetOverline( eOverline );
     rCJKFont.SetOverline( eOverline );
     rCTLFont.SetOverline( eOverline );
-    m_pPreviewWin->SetOverlineColor( m_aOverlineColorLB.GetSelectEntryColor() );
+    m_pPreviewWin->SetOverlineColor( m_pOverlineColorLB->GetSelectEntryColor() );
     rFont.SetStrikeout( eStrikeout );
     rCJKFont.SetStrikeout( eStrikeout );
     rCTLFont.SetStrikeout( eStrikeout );
 
-    nPos = m_aPositionLB.GetSelectEntryPos();
-    sal_Bool bUnder = ( CHRDLG_POSITION_UNDER == (sal_uLong)m_aPositionLB.GetEntryData( nPos ) );
-    FontEmphasisMark eMark = (FontEmphasisMark)m_aEmphasisLB.GetSelectEntryPos();
+    nPos = m_pPositionLB->GetSelectEntryPos();
+    sal_Bool bUnder = ( CHRDLG_POSITION_UNDER == (sal_uLong)m_pPositionLB->GetEntryData( nPos ) );
+    FontEmphasisMark eMark = (FontEmphasisMark)m_pEmphasisLB->GetSelectEntryPos();
     eMark |= bUnder ? EMPHASISMARK_POS_BELOW : EMPHASISMARK_POS_ABOVE;
     rFont.SetEmphasisMark( eMark );
     rCJKFont.SetEmphasisMark( eMark );
     rCTLFont.SetEmphasisMark( eMark );
 
-    sal_uInt16 nRelief = m_aReliefLB.GetSelectEntryPos();
+    sal_uInt16 nRelief = m_pReliefLB->GetSelectEntryPos();
     if(LISTBOX_ENTRY_NOTFOUND != nRelief)
     {
         rFont.SetRelief( (FontRelief)nRelief );
@@ -1727,15 +1687,15 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
         rCTLFont.SetRelief( (FontRelief)nRelief );
     }
 
-    rFont.SetOutline( StateToAttr( m_aOutlineBtn.GetState() ) );
+    rFont.SetOutline( StateToAttr( m_pOutlineBtn->GetState() ) );
     rCJKFont.SetOutline( rFont.IsOutline() );
     rCTLFont.SetOutline( rFont.IsOutline() );
 
-    rFont.SetShadow( StateToAttr( m_aShadowBtn.GetState() ) );
+    rFont.SetShadow( StateToAttr( m_pShadowBtn->GetState() ) );
     rCJKFont.SetShadow( rFont.IsShadow() );
     rCTLFont.SetShadow( rFont.IsShadow() );
 
-    sal_uInt16 nCapsPos = m_aEffectsLB.GetSelectEntryPos();
+    sal_uInt16 nCapsPos = m_pEffectsLB->GetSelectEntryPos();
     if ( nCapsPos != LISTBOX_ENTRY_NOTFOUND )
     {
         rFont.SetCaseMap( (SvxCaseMap)nCapsPos );
@@ -1744,7 +1704,7 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
         rCTLFont.SetCaseMap( static_cast<SvxCaseMap>( nCapsPos == SVX_CASEMAP_KAPITAELCHEN ? SVX_CASEMAP_NOT_MAPPED : (SvxCaseMap)nCapsPos) );
     }
 
-    sal_Bool bWordLine = m_aIndividualWordsBtn.IsChecked();
+    sal_Bool bWordLine = m_pIndividualWordsBtn->IsChecked();
     rFont.SetWordLineMode( bWordLine );
     rCJKFont.SetWordLineMode( bWordLine );
     rCTLFont.SetWordLineMode( bWordLine );
@@ -1757,11 +1717,11 @@ void SvxCharEffectsPage::UpdatePreview_Impl()
 void SvxCharEffectsPage::SetCaseMap_Impl( SvxCaseMap eCaseMap )
 {
     if ( SVX_CASEMAP_END > eCaseMap )
-        m_aEffectsLB.SelectEntryPos(
+        m_pEffectsLB->SelectEntryPos(
             sal::static_int_cast< sal_uInt16 >( eCaseMap ) );
     else
     {
-        m_aEffectsLB.SetNoSelection();
+        m_pEffectsLB->SetNoSelection();
         eCaseMap = SVX_CASEMAP_NOT_MAPPED;
     }
 
@@ -1778,18 +1738,18 @@ void SvxCharEffectsPage::ResetColor_Impl( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aFontColorFT.Hide();
-            m_aFontColorLB.Hide();
+            m_pFontColorFT->Hide();
+            m_pFontColorLB->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aFontColorFT.Disable();
-            m_aFontColorLB.Disable();
+            m_pFontColorFT->Disable();
+            m_pFontColorLB->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aFontColorLB.SetNoSelection();
+            m_pFontColorLB->SetNoSelection();
             break;
 
         case SFX_ITEM_DEFAULT:
@@ -1806,20 +1766,20 @@ void SvxCharEffectsPage::ResetColor_Impl( const SfxItemSet& rSet )
             rCTLFont.SetColor( aColor.GetColor() == COL_AUTO ? Color(COL_BLACK) : aColor );
 
             m_pPreviewWin->Invalidate();
-            sal_uInt16 nSelPos = m_aFontColorLB.GetEntryPos( aColor );
+            sal_uInt16 nSelPos = m_pFontColorLB->GetEntryPos( aColor );
             if ( nSelPos == LISTBOX_ENTRY_NOTFOUND && aColor == Color( COL_TRANSPARENT ) )
-                nSelPos = m_aFontColorLB.GetEntryPos( m_aTransparentColorName );
+                nSelPos = m_pFontColorLB->GetEntryPos( m_aTransparentColorName );
 
             if ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
-                m_aFontColorLB.SelectEntryPos( nSelPos );
+                m_pFontColorLB->SelectEntryPos( nSelPos );
             else
             {
-                nSelPos = m_aFontColorLB.GetEntryPos( aColor );
+                nSelPos = m_pFontColorLB->GetEntryPos( aColor );
                 if ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
-                    m_aFontColorLB.SelectEntryPos( nSelPos );
+                    m_pFontColorLB->SelectEntryPos( nSelPos );
                 else
-                    m_aFontColorLB.SelectEntryPos(
-                        m_aFontColorLB.InsertEntry( aColor, String( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
+                    m_pFontColorLB->SelectEntryPos(
+                        m_pFontColorLB->InsertEntry( aColor, String( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
             }
             break;
         }
@@ -1838,16 +1798,16 @@ sal_Bool SvxCharEffectsPage::FillItemSetColor_Impl( SfxItemSet& rSet )
     const SfxItemSet& rOldSet = GetItemSet();
 
     Color aSelectedColor;
-    if ( m_aFontColorLB.GetSelectEntry() == m_aTransparentColorName )
+    if ( m_pFontColorLB->GetSelectEntry() == m_aTransparentColorName )
         aSelectedColor = Color( COL_TRANSPARENT );
     else
-        aSelectedColor = m_aFontColorLB.GetSelectEntryColor();
+        aSelectedColor = m_pFontColorLB->GetSelectEntryColor();
 
     if ( pOld && pOld->GetValue() == aSelectedColor )
         bChanged = sal_False;
 
     if ( !bChanged )
-        bChanged = ( m_aFontColorLB.GetSavedValue() == LISTBOX_ENTRY_NOTFOUND );
+        bChanged = ( m_pFontColorLB->GetSavedValue() == LISTBOX_ENTRY_NOTFOUND );
 
     if ( !bChanged && pExampleSet &&
          pExampleSet->GetItemState( nWhich, sal_False, (const SfxPoolItem**)&pItem ) == SFX_ITEM_SET &&
@@ -1856,7 +1816,7 @@ sal_Bool SvxCharEffectsPage::FillItemSetColor_Impl( SfxItemSet& rSet )
 
     sal_Bool bModified = sal_False;
 
-    if ( bChanged && m_aFontColorLB.GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
+    if ( bChanged && m_pFontColorLB->GetSelectEntryPos() != LISTBOX_ENTRY_NOTFOUND )
     {
         rSet.Put( SvxColorItem( aSelectedColor, nWhich ) );
         bModified = sal_True;
@@ -1871,31 +1831,31 @@ sal_Bool SvxCharEffectsPage::FillItemSetColor_Impl( SfxItemSet& rSet )
 
 IMPL_LINK( SvxCharEffectsPage, SelectHdl_Impl, ListBox*, pBox )
 {
-    if ( &m_aEmphasisLB == pBox )
+    if ( m_pEmphasisLB == pBox )
     {
-        sal_uInt16 nEPos = m_aEmphasisLB.GetSelectEntryPos();
+        sal_uInt16 nEPos = m_pEmphasisLB->GetSelectEntryPos();
         sal_Bool bEnable = ( nEPos > 0 && nEPos != LISTBOX_ENTRY_NOTFOUND );
-        m_aPositionFT.Enable( bEnable );
-        m_aPositionLB.Enable( bEnable );
+        m_pPositionFT->Enable( bEnable );
+        m_pPositionLB->Enable( bEnable );
     }
-    else if( &m_aReliefLB == pBox)
+    else if( m_pReliefLB == pBox)
     {
         sal_Bool bEnable = ( pBox->GetSelectEntryPos() == 0 );
-        m_aOutlineBtn.Enable( bEnable );
-        m_aShadowBtn.Enable( bEnable );
+        m_pOutlineBtn->Enable( bEnable );
+        m_pShadowBtn->Enable( bEnable );
     }
-    else if ( &m_aPositionLB != pBox )
+    else if ( m_pPositionLB != pBox )
     {
-        sal_uInt16 nUPos = m_aUnderlineLB.GetSelectEntryPos(),
-               nOPos = m_aOverlineLB.GetSelectEntryPos(),
-               nSPos = m_aStrikeoutLB.GetSelectEntryPos();
+        sal_uInt16 nUPos = m_pUnderlineLB->GetSelectEntryPos(),
+               nOPos = m_pOverlineLB->GetSelectEntryPos(),
+               nSPos = m_pStrikeoutLB->GetSelectEntryPos();
         sal_Bool bUEnable = ( nUPos > 0 && nUPos != LISTBOX_ENTRY_NOTFOUND );
         sal_Bool bOEnable = ( nOPos > 0 && nOPos != LISTBOX_ENTRY_NOTFOUND );
-        m_aUnderlineColorFT.Enable( bUEnable );
-        m_aUnderlineColorLB.Enable( bUEnable );
-        m_aOverlineColorFT.Enable( bOEnable );
-        m_aOverlineColorLB.Enable( bOEnable );
-        m_aIndividualWordsBtn.Enable( bUEnable || bOEnable || ( nSPos > 0 && nSPos != LISTBOX_ENTRY_NOTFOUND ) );
+        m_pUnderlineColorFT->Enable( bUEnable );
+        m_pUnderlineColorLB->Enable( bUEnable );
+        m_pOverlineColorFT->Enable( bOEnable );
+        m_pOverlineColorLB->Enable( bOEnable );
+        m_pIndividualWordsBtn->Enable( bUEnable || bOEnable || ( nSPos > 0 && nSPos != LISTBOX_ENTRY_NOTFOUND ) );
     }
     UpdatePreview_Impl();
     return 0;
@@ -1905,10 +1865,10 @@ IMPL_LINK( SvxCharEffectsPage, SelectHdl_Impl, ListBox*, pBox )
 
 IMPL_LINK_NOARG(SvxCharEffectsPage, UpdatePreview_Impl)
 {
-    bool bEnable = ( ( m_aUnderlineLB.GetSelectEntryPos() > 0 ) ||
-                     ( m_aOverlineLB.GetSelectEntryPos()  > 0 ) ||
-                     ( m_aStrikeoutLB.GetSelectEntryPos() > 0 ) );
-    m_aIndividualWordsBtn.Enable( bEnable );
+    bool bEnable = ( ( m_pUnderlineLB->GetSelectEntryPos() > 0 ) ||
+                     ( m_pOverlineLB->GetSelectEntryPos()  > 0 ) ||
+                     ( m_pStrikeoutLB->GetSelectEntryPos() > 0 ) );
+    m_pIndividualWordsBtn->Enable( bEnable );
 
     UpdatePreview_Impl();
     return 0;
@@ -1989,13 +1949,13 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     rCJKFont.SetUnderline( UNDERLINE_NONE );
     rCTLFont.SetUnderline( UNDERLINE_NONE );
 
-    m_aUnderlineLB.SelectEntryPos( 0 );
+    m_pUnderlineLB->SelectEntryPos( 0 );
     SfxItemState eState = rSet.GetItemState( nWhich );
 
     if ( eState >= SFX_ITEM_DONTCARE )
     {
         if ( eState == SFX_ITEM_DONTCARE )
-            m_aUnderlineLB.SetNoSelection();
+            m_pUnderlineLB->SetNoSelection();
         else
         {
             const SvxUnderlineItem& rItem = (SvxUnderlineItem&)rSet.Get( nWhich );
@@ -2006,36 +1966,36 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
 
             if ( eUnderline != UNDERLINE_NONE )
             {
-                for ( sal_uInt16 i = 0; i < m_aUnderlineLB.GetEntryCount(); ++i )
+                for ( sal_uInt16 i = 0; i < m_pUnderlineLB->GetEntryCount(); ++i )
                 {
-                    if ( (FontUnderline)(sal_uLong)m_aUnderlineLB.GetEntryData(i) == eUnderline )
+                    if ( (FontUnderline)(sal_uLong)m_pUnderlineLB->GetEntryData(i) == eUnderline )
                     {
-                        m_aUnderlineLB.SelectEntryPos(i);
+                        m_pUnderlineLB->SelectEntryPos(i);
                         bEnable = sal_True;
                         break;
                     }
                 }
 
                 Color aColor = rItem.GetColor();
-                sal_uInt16 nPos = m_aUnderlineColorLB.GetEntryPos( aColor );
+                sal_uInt16 nPos = m_pUnderlineColorLB->GetEntryPos( aColor );
 
                 if ( LISTBOX_ENTRY_NOTFOUND != nPos )
-                    m_aUnderlineColorLB.SelectEntryPos( nPos );
+                    m_pUnderlineColorLB->SelectEntryPos( nPos );
                 else
                 {
-                    nPos = m_aUnderlineColorLB.GetEntryPos( aColor );
+                    nPos = m_pUnderlineColorLB->GetEntryPos( aColor );
                     if ( LISTBOX_ENTRY_NOTFOUND != nPos )
-                        m_aUnderlineColorLB.SelectEntryPos( nPos );
+                        m_pUnderlineColorLB->SelectEntryPos( nPos );
                     else
-                        m_aUnderlineColorLB.SelectEntryPos(
-                            m_aUnderlineColorLB.InsertEntry( aColor,
+                        m_pUnderlineColorLB->SelectEntryPos(
+                            m_pUnderlineColorLB->InsertEntry( aColor,
                                 String( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
                 }
             }
             else
             {
-                m_aUnderlineColorLB.SelectEntry( Color( COL_AUTO ));
-                m_aUnderlineColorLB.Disable();
+                m_pUnderlineColorLB->SelectEntry( Color( COL_AUTO ));
+                m_pUnderlineColorLB->Disable();
             }
         }
     }
@@ -2046,13 +2006,13 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     rCJKFont.SetOverline( UNDERLINE_NONE );
     rCTLFont.SetOverline( UNDERLINE_NONE );
 
-    m_aOverlineLB.SelectEntryPos( 0 );
+    m_pOverlineLB->SelectEntryPos( 0 );
     eState = rSet.GetItemState( nWhich );
 
     if ( eState >= SFX_ITEM_DONTCARE )
     {
         if ( eState == SFX_ITEM_DONTCARE )
-            m_aOverlineLB.SetNoSelection();
+            m_pOverlineLB->SetNoSelection();
         else
         {
             const SvxOverlineItem& rItem = (SvxOverlineItem&)rSet.Get( nWhich );
@@ -2063,36 +2023,36 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
 
             if ( eOverline != UNDERLINE_NONE )
             {
-                for ( sal_uInt16 i = 0; i < m_aOverlineLB.GetEntryCount(); ++i )
+                for ( sal_uInt16 i = 0; i < m_pOverlineLB->GetEntryCount(); ++i )
                 {
-                    if ( (FontUnderline)(sal_uLong)m_aOverlineLB.GetEntryData(i) == eOverline )
+                    if ( (FontUnderline)(sal_uLong)m_pOverlineLB->GetEntryData(i) == eOverline )
                     {
-                        m_aOverlineLB.SelectEntryPos(i);
+                        m_pOverlineLB->SelectEntryPos(i);
                         bEnable = sal_True;
                         break;
                     }
                 }
 
                 Color aColor = rItem.GetColor();
-                sal_uInt16 nPos = m_aOverlineColorLB.GetEntryPos( aColor );
+                sal_uInt16 nPos = m_pOverlineColorLB->GetEntryPos( aColor );
 
                 if ( LISTBOX_ENTRY_NOTFOUND != nPos )
-                    m_aOverlineColorLB.SelectEntryPos( nPos );
+                    m_pOverlineColorLB->SelectEntryPos( nPos );
                 else
                 {
-                    nPos = m_aOverlineColorLB.GetEntryPos( aColor );
+                    nPos = m_pOverlineColorLB->GetEntryPos( aColor );
                     if ( LISTBOX_ENTRY_NOTFOUND != nPos )
-                        m_aOverlineColorLB.SelectEntryPos( nPos );
+                        m_pOverlineColorLB->SelectEntryPos( nPos );
                     else
-                        m_aOverlineColorLB.SelectEntryPos(
-                            m_aOverlineColorLB.InsertEntry( aColor,
+                        m_pOverlineColorLB->SelectEntryPos(
+                            m_pOverlineColorLB->InsertEntry( aColor,
                                 String( SVX_RES( RID_SVXSTR_COLOR_USER ) ) ) );
                 }
             }
             else
             {
-                m_aOverlineColorLB.SelectEntry( Color( COL_AUTO ));
-                m_aOverlineColorLB.Disable();
+                m_pOverlineColorLB->SelectEntry( Color( COL_AUTO ));
+                m_pOverlineColorLB->Disable();
             }
         }
     }
@@ -2103,13 +2063,13 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     rCJKFont.SetStrikeout( STRIKEOUT_NONE );
     rCTLFont.SetStrikeout( STRIKEOUT_NONE );
 
-    m_aStrikeoutLB.SelectEntryPos( 0 );
+    m_pStrikeoutLB->SelectEntryPos( 0 );
     eState = rSet.GetItemState( nWhich );
 
     if ( eState >= SFX_ITEM_DONTCARE )
     {
         if ( eState == SFX_ITEM_DONTCARE )
-            m_aStrikeoutLB.SetNoSelection();
+            m_pStrikeoutLB->SetNoSelection();
         else
         {
             const SvxCrossedOutItem& rItem = (SvxCrossedOutItem&)rSet.Get( nWhich );
@@ -2120,11 +2080,11 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
 
             if ( eStrikeout != STRIKEOUT_NONE )
             {
-                for ( sal_uInt16 i = 0; i < m_aStrikeoutLB.GetEntryCount(); ++i )
+                for ( sal_uInt16 i = 0; i < m_pStrikeoutLB->GetEntryCount(); ++i )
                 {
-                    if ( (FontStrikeout)(sal_uLong)m_aStrikeoutLB.GetEntryData(i) == eStrikeout )
+                    if ( (FontStrikeout)(sal_uLong)m_pStrikeoutLB->GetEntryData(i) == eStrikeout )
                     {
-                        m_aStrikeoutLB.SelectEntryPos(i);
+                        m_pStrikeoutLB->SelectEntryPos(i);
                         bEnable = sal_True;
                         break;
                     }
@@ -2138,16 +2098,16 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aIndividualWordsBtn.Hide();
+            m_pIndividualWordsBtn->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aIndividualWordsBtn.Disable();
+            m_pIndividualWordsBtn->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aIndividualWordsBtn.SetState( STATE_DONTKNOW );
+            m_pIndividualWordsBtn->SetState( STATE_DONTKNOW );
             break;
 
         case SFX_ITEM_DEFAULT:
@@ -2158,8 +2118,8 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
             rCJKFont.SetWordLineMode( rItem.GetValue() );
             rCTLFont.SetWordLineMode( rItem.GetValue() );
 
-            m_aIndividualWordsBtn.Check( rItem.GetValue() );
-            m_aIndividualWordsBtn.Enable( bEnable );
+            m_pIndividualWordsBtn->Check( rItem.GetValue() );
+            m_pIndividualWordsBtn->Enable( bEnable );
             break;
         }
     }
@@ -2176,49 +2136,49 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
         rCJKFont.SetEmphasisMark( eMark );
         rCTLFont.SetEmphasisMark( eMark );
 
-        m_aEmphasisLB.SelectEntryPos( (sal_uInt16)( eMark & EMPHASISMARK_STYLE ) );
+        m_pEmphasisLB->SelectEntryPos( (sal_uInt16)( eMark & EMPHASISMARK_STYLE ) );
         eMark &= ~EMPHASISMARK_STYLE;
         sal_uLong nEntryData = ( eMark == EMPHASISMARK_POS_ABOVE )
             ? CHRDLG_POSITION_OVER
             : ( eMark == EMPHASISMARK_POS_BELOW ) ? CHRDLG_POSITION_UNDER : 0;
 
-        for ( sal_uInt16 i = 0; i < m_aPositionLB.GetEntryCount(); i++ )
+        for ( sal_uInt16 i = 0; i < m_pPositionLB->GetEntryCount(); i++ )
         {
-            if ( nEntryData == (sal_uLong)m_aPositionLB.GetEntryData(i) )
+            if ( nEntryData == (sal_uLong)m_pPositionLB->GetEntryData(i) )
             {
-                m_aPositionLB.SelectEntryPos(i);
+                m_pPositionLB->SelectEntryPos(i);
                 break;
             }
         }
     }
     else if ( eState == SFX_ITEM_DONTCARE )
-        m_aEmphasisLB.SetNoSelection( );
+        m_pEmphasisLB->SetNoSelection( );
     else if ( eState == SFX_ITEM_UNKNOWN )
     {
-        m_aEmphasisFT.Hide();
-        m_aEmphasisLB.Hide();
+        m_pEmphasisFT->Hide();
+        m_pEmphasisLB->Hide();
     }
     else // SFX_ITEM_DISABLED or SFX_ITEM_READONLY
     {
-        m_aEmphasisFT.Disable();
-        m_aEmphasisLB.Disable();
+        m_pEmphasisFT->Disable();
+        m_pEmphasisLB->Disable();
     }
 
     // the select handler for the underline/overline/strikeout list boxes
 //  SelectHdl_Impl( NULL );
-    DBG_ASSERT(m_aUnderlineLB.GetSelectHdl() == m_aOverlineLB.GetSelectHdl(),
+    DBG_ASSERT(m_pUnderlineLB->GetSelectHdl() == m_pOverlineLB->GetSelectHdl(),
         "SvxCharEffectsPage::Reset: inconsistence (1)!");
-    DBG_ASSERT(m_aUnderlineLB.GetSelectHdl() == m_aStrikeoutLB.GetSelectHdl(),
+    DBG_ASSERT(m_pUnderlineLB->GetSelectHdl() == m_pStrikeoutLB->GetSelectHdl(),
         "SvxCharEffectsPage::Reset: inconsistence (1)!");
-    m_aUnderlineLB.GetSelectHdl().Call(NULL);
+    m_pUnderlineLB->GetSelectHdl().Call(NULL);
         // don't call SelectHdl_Impl directly!
         // in DisableControls, we may have re-reouted the select handler
 
     // the select handler for the emphasis listbox
-//  SelectHdl_Impl( &m_aEmphasisLB );
-    DBG_ASSERT(m_aEmphasisLB.GetSelectHdl() == LINK(this, SvxCharEffectsPage, SelectHdl_Impl),
+//  SelectHdl_Impl( m_pEmphasisLB );
+    DBG_ASSERT(m_pEmphasisLB->GetSelectHdl() == LINK(this, SvxCharEffectsPage, SelectHdl_Impl),
         "SvxCharEffectsPage::Reset: inconsistence (2)!");
-    m_aEmphasisLB.GetSelectHdl().Call( &m_aEmphasisLB );
+    m_pEmphasisLB->GetSelectHdl().Call( m_pEmphasisLB );
         // this is for consistency only. Here it would be allowed to call SelectHdl_Impl directly ...
 
     // Effects
@@ -2228,18 +2188,18 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aEffectsFT.Hide();
-            m_aEffectsLB.Hide();
+            m_pEffectsFT->Hide();
+            m_pEffectsLB->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aEffectsFT.Disable();
-            m_aEffectsLB.Disable();
+            m_pEffectsFT->Disable();
+            m_pEffectsLB->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aEffectsLB.SetNoSelection();
+            m_pEffectsLB->SetNoSelection();
             break;
 
         case SFX_ITEM_DEFAULT:
@@ -2258,26 +2218,26 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aReliefFT.Hide();
-            m_aReliefLB.Hide();
+            m_pReliefFT->Hide();
+            m_pReliefLB->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aReliefFT.Disable();
-            m_aReliefLB.Disable();
+            m_pReliefFT->Disable();
+            m_pReliefLB->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aReliefLB.SetNoSelection();
+            m_pReliefLB->SetNoSelection();
             break;
 
         case SFX_ITEM_DEFAULT:
         case SFX_ITEM_SET:
         {
             const SvxCharReliefItem& rItem = (const SvxCharReliefItem&)rSet.Get( nWhich );
-            m_aReliefLB.SelectEntryPos(rItem.GetValue());
-            SelectHdl_Impl(&m_aReliefLB);
+            m_pReliefLB->SelectEntryPos(rItem.GetValue());
+            SelectHdl_Impl(m_pReliefLB);
             break;
         }
     }
@@ -2288,24 +2248,24 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aOutlineBtn.Hide();
+            m_pOutlineBtn->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aOutlineBtn.Disable();
+            m_pOutlineBtn->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aOutlineBtn.SetState( STATE_DONTKNOW );
+            m_pOutlineBtn->SetState( STATE_DONTKNOW );
             break;
 
         case SFX_ITEM_DEFAULT:
         case SFX_ITEM_SET:
         {
             const SvxContourItem& rItem = (SvxContourItem&)rSet.Get( nWhich );
-            m_aOutlineBtn.SetState( (TriState)rItem.GetValue() );
-            m_aOutlineBtn.EnableTriState( sal_False );
+            m_pOutlineBtn->SetState( (TriState)rItem.GetValue() );
+            m_pOutlineBtn->EnableTriState( sal_False );
             break;
         }
     }
@@ -2317,24 +2277,24 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aShadowBtn.Hide();
+            m_pShadowBtn->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aShadowBtn.Disable();
+            m_pShadowBtn->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aShadowBtn.SetState( STATE_DONTKNOW );
+            m_pShadowBtn->SetState( STATE_DONTKNOW );
             break;
 
         case SFX_ITEM_DEFAULT:
         case SFX_ITEM_SET:
         {
             const SvxShadowedItem& rItem = (SvxShadowedItem&)rSet.Get( nWhich );
-            m_aShadowBtn.SetState( (TriState)rItem.GetValue() );
-            m_aShadowBtn.EnableTriState( sal_False );
+            m_pShadowBtn->SetState( (TriState)rItem.GetValue() );
+            m_pShadowBtn->EnableTriState( sal_False );
             break;
         }
     }
@@ -2346,24 +2306,24 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aBlinkingBtn.Hide();
+            m_pBlinkingBtn->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aBlinkingBtn.Disable();
+            m_pBlinkingBtn->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aBlinkingBtn.SetState( STATE_DONTKNOW );
+            m_pBlinkingBtn->SetState( STATE_DONTKNOW );
             break;
 
         case SFX_ITEM_DEFAULT:
         case SFX_ITEM_SET:
         {
             const SvxBlinkItem& rItem = (SvxBlinkItem&)rSet.Get( nWhich );
-            m_aBlinkingBtn.SetState( (TriState)rItem.GetValue() );
-            m_aBlinkingBtn.EnableTriState( sal_False );
+            m_pBlinkingBtn->SetState( (TriState)rItem.GetValue() );
+            m_pBlinkingBtn->EnableTriState( sal_False );
             break;
         }
     }
@@ -2374,24 +2334,24 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     switch ( eState )
     {
         case SFX_ITEM_UNKNOWN:
-            m_aHiddenBtn.Hide();
+            m_pHiddenBtn->Hide();
             break;
 
         case SFX_ITEM_DISABLED:
         case SFX_ITEM_READONLY:
-            m_aHiddenBtn.Disable();
+            m_pHiddenBtn->Disable();
             break;
 
         case SFX_ITEM_DONTCARE:
-            m_aHiddenBtn.SetState( STATE_DONTKNOW );
+            m_pHiddenBtn->SetState( STATE_DONTKNOW );
             break;
 
         case SFX_ITEM_DEFAULT:
         case SFX_ITEM_SET:
         {
             const SvxCharHiddenItem& rItem = (SvxCharHiddenItem&)rSet.Get( nWhich );
-            m_aHiddenBtn.SetState( (TriState)rItem.GetValue() );
-            m_aHiddenBtn.EnableTriState( sal_False );
+            m_pHiddenBtn->SetState( (TriState)rItem.GetValue() );
+            m_pHiddenBtn->EnableTriState( sal_False );
             break;
         }
     }
@@ -2403,21 +2363,21 @@ void SvxCharEffectsPage::Reset( const SfxItemSet& rSet )
     m_pPreviewWin->Invalidate();
 
     // save this settings
-    m_aUnderlineLB.SaveValue();
-    m_aUnderlineColorLB.SaveValue();
-    m_aOverlineLB.SaveValue();
-    m_aOverlineColorLB.SaveValue();
-    m_aStrikeoutLB.SaveValue();
-    m_aIndividualWordsBtn.SaveValue();
-    m_aEmphasisLB.SaveValue();
-    m_aPositionLB.SaveValue();
-    m_aEffectsLB.SaveValue();
-    m_aReliefLB.SaveValue();
-    m_aOutlineBtn.SaveValue();
-    m_aShadowBtn.SaveValue();
-    m_aBlinkingBtn.SaveValue();
-    m_aHiddenBtn.SaveValue();
-    m_aFontColorLB.SaveValue();
+    m_pUnderlineLB->SaveValue();
+    m_pUnderlineColorLB->SaveValue();
+    m_pOverlineLB->SaveValue();
+    m_pOverlineColorLB->SaveValue();
+    m_pStrikeoutLB->SaveValue();
+    m_pIndividualWordsBtn->SaveValue();
+    m_pEmphasisLB->SaveValue();
+    m_pPositionLB->SaveValue();
+    m_pEffectsLB->SaveValue();
+    m_pReliefLB->SaveValue();
+    m_pOutlineBtn->SaveValue();
+    m_pShadowBtn->SaveValue();
+    m_pBlinkingBtn->SaveValue();
+    m_pHiddenBtn->SaveValue();
+    m_pFontColorLB->SaveValue();
 }
 
 // -----------------------------------------------------------------------
@@ -2432,8 +2392,8 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Underline
     sal_uInt16 nWhich = GetWhich( SID_ATTR_CHAR_UNDERLINE );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_UNDERLINE );
-    sal_uInt16 nPos = m_aUnderlineLB.GetSelectEntryPos();
-    FontUnderline eUnder = (FontUnderline)(sal_uLong)m_aUnderlineLB.GetEntryData( nPos );
+    sal_uInt16 nPos = m_pUnderlineLB->GetSelectEntryPos();
+    FontUnderline eUnder = (FontUnderline)(sal_uLong)m_pUnderlineLB->GetEntryData( nPos );
 
     if ( pOld )
     {
@@ -2446,7 +2406,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
 
         const SvxUnderlineItem& rItem = *( (const SvxUnderlineItem*)pOld );
         if ( (FontUnderline)rItem.GetValue() == eUnder &&
-             ( UNDERLINE_NONE == eUnder || rItem.GetColor() == m_aUnderlineColorLB.GetSelectEntryColor() ) &&
+             ( UNDERLINE_NONE == eUnder || rItem.GetColor() == m_pUnderlineColorLB->GetSelectEntryColor() ) &&
              ! bAllowChg )
             bChanged = false;
     }
@@ -2454,7 +2414,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     if ( bChanged )
     {
         SvxUnderlineItem aNewItem( eUnder, nWhich );
-        aNewItem.SetColor( m_aUnderlineColorLB.GetSelectEntryColor() );
+        aNewItem.SetColor( m_pUnderlineColorLB->GetSelectEntryColor() );
         rSet.Put( aNewItem );
         bModified = sal_True;
     }
@@ -2466,8 +2426,8 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Overline
     nWhich = GetWhich( SID_ATTR_CHAR_OVERLINE );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_OVERLINE );
-    nPos = m_aOverlineLB.GetSelectEntryPos();
-    FontUnderline eOver = (FontUnderline)(sal_uLong)m_aOverlineLB.GetEntryData( nPos );
+    nPos = m_pOverlineLB->GetSelectEntryPos();
+    FontUnderline eOver = (FontUnderline)(sal_uLong)m_pOverlineLB->GetEntryData( nPos );
 
     if ( pOld )
     {
@@ -2480,7 +2440,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
 
         const SvxOverlineItem& rItem = *( (const SvxOverlineItem*)pOld );
         if ( (FontUnderline)rItem.GetValue() == eOver &&
-             ( UNDERLINE_NONE == eOver || rItem.GetColor() == m_aOverlineColorLB.GetSelectEntryColor() ) &&
+             ( UNDERLINE_NONE == eOver || rItem.GetColor() == m_pOverlineColorLB->GetSelectEntryColor() ) &&
              ! bAllowChg )
             bChanged = false;
     }
@@ -2488,7 +2448,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     if ( bChanged )
     {
         SvxOverlineItem aNewItem( eOver, nWhich );
-        aNewItem.SetColor( m_aOverlineColorLB.GetSelectEntryColor() );
+        aNewItem.SetColor( m_pOverlineColorLB->GetSelectEntryColor() );
         rSet.Put( aNewItem );
         bModified = sal_True;
     }
@@ -2500,8 +2460,8 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Strikeout
     nWhich = GetWhich( SID_ATTR_CHAR_STRIKEOUT );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_STRIKEOUT );
-    nPos = m_aStrikeoutLB.GetSelectEntryPos();
-    FontStrikeout eStrike = (FontStrikeout)(sal_uLong)m_aStrikeoutLB.GetEntryData( nPos );
+    nPos = m_pStrikeoutLB->GetSelectEntryPos();
+    FontStrikeout eStrike = (FontStrikeout)(sal_uLong)m_pStrikeoutLB->GetEntryData( nPos );
 
     if ( pOld )
     {
@@ -2513,7 +2473,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
                          SFX_ITEM_DEFAULT > rOldSet.GetItemState( nWhich, sal_True );
 
         const SvxCrossedOutItem& rItem = *( (const SvxCrossedOutItem*)pOld );
-        if ( !m_aStrikeoutLB.IsEnabled()
+        if ( !m_pStrikeoutLB->IsEnabled()
             || ((FontStrikeout)rItem.GetValue() == eStrike  && !bAllowChg) )
             bChanged = false;
     }
@@ -2535,17 +2495,17 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     if ( pOld )
     {
         const SvxWordLineModeItem& rItem = *( (const SvxWordLineModeItem*)pOld );
-        if ( rItem.GetValue() == m_aIndividualWordsBtn.IsChecked() )
+        if ( rItem.GetValue() == m_pIndividualWordsBtn->IsChecked() )
             bChanged = false;
     }
 
     if ( rOldSet.GetItemState( nWhich ) == SFX_ITEM_DONTCARE &&
-         m_aIndividualWordsBtn.IsChecked() == m_aIndividualWordsBtn.GetSavedValue() )
+         m_pIndividualWordsBtn->IsChecked() == m_pIndividualWordsBtn->GetSavedValue() )
         bChanged = false;
 
     if ( bChanged )
     {
-        rSet.Put( SvxWordLineModeItem( m_aIndividualWordsBtn.IsChecked(), nWhich ) );
+        rSet.Put( SvxWordLineModeItem( m_pIndividualWordsBtn->IsChecked(), nWhich ) );
         bModified = sal_True;
     }
     else if ( SFX_ITEM_DEFAULT == rOldSet.GetItemState( nWhich, sal_False ) )
@@ -2556,12 +2516,12 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Emphasis
     nWhich = GetWhich( SID_ATTR_CHAR_EMPHASISMARK );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_EMPHASISMARK );
-    sal_uInt16 nMarkPos = m_aEmphasisLB.GetSelectEntryPos();
-    sal_uInt16 nPosPos = m_aPositionLB.GetSelectEntryPos();
+    sal_uInt16 nMarkPos = m_pEmphasisLB->GetSelectEntryPos();
+    sal_uInt16 nPosPos = m_pPositionLB->GetSelectEntryPos();
     FontEmphasisMark eMark = (FontEmphasisMark)nMarkPos;
-    if ( m_aPositionLB.IsEnabled() )
+    if ( m_pPositionLB->IsEnabled() )
     {
-        eMark |= ( CHRDLG_POSITION_UNDER == (sal_uLong)m_aPositionLB.GetEntryData( nPosPos ) )
+        eMark |= ( CHRDLG_POSITION_UNDER == (sal_uLong)m_pPositionLB->GetEntryData( nPosPos ) )
             ? EMPHASISMARK_POS_BELOW : EMPHASISMARK_POS_ABOVE;
     }
 
@@ -2576,7 +2536,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     }
 
     if ( rOldSet.GetItemState( nWhich ) == SFX_ITEM_DONTCARE &&
-         m_aEmphasisLB.GetSavedValue() == nMarkPos && m_aPositionLB.GetSavedValue() == nPosPos )
+         m_pEmphasisLB->GetSavedValue() == nMarkPos && m_pPositionLB->GetSavedValue() == nPosPos )
         bChanged = false;
 
     if ( bChanged )
@@ -2594,7 +2554,7 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_CASEMAP );
     SvxCaseMap eCaseMap = SVX_CASEMAP_NOT_MAPPED;
     bool bChecked = false;
-    sal_uInt16 nCapsPos = m_aEffectsLB.GetSelectEntryPos();
+    sal_uInt16 nCapsPos = m_pEffectsLB->GetSelectEntryPos();
     if ( nCapsPos != LISTBOX_ENTRY_NOTFOUND )
     {
         eCaseMap = (SvxCaseMap)nCapsPos;
@@ -2627,10 +2587,10 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
 
     //Relief
     nWhich = GetWhich(SID_ATTR_CHAR_RELIEF);
-    if(m_aReliefLB.GetSelectEntryPos() != m_aReliefLB.GetSavedValue())
+    if(m_pReliefLB->GetSelectEntryPos() != m_pReliefLB->GetSavedValue())
     {
-        m_aReliefLB.SaveValue();
-        SvxCharReliefItem aRelief((FontRelief)m_aReliefLB.GetSelectEntryPos(), nWhich);
+        m_pReliefLB->SaveValue();
+        SvxCharReliefItem aRelief((FontRelief)m_pReliefLB->GetSelectEntryPos(), nWhich);
         rSet.Put(aRelief);
     }
 
@@ -2638,13 +2598,13 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     const SfxItemSet* pExampleSet = GetTabDialog() ? GetTabDialog()->GetExampleSet() : NULL;
     nWhich = GetWhich( SID_ATTR_CHAR_CONTOUR );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_CONTOUR );
-    TriState eState = m_aOutlineBtn.GetState();
+    TriState eState = m_pOutlineBtn->GetState();
     const SfxPoolItem* pItem;
 
     if ( pOld )
     {
         const SvxContourItem& rItem = *( (const SvxContourItem*)pOld );
-        if ( rItem.GetValue() == StateToAttr( eState ) && m_aOutlineBtn.GetSavedValue() == eState )
+        if ( rItem.GetValue() == StateToAttr( eState ) && m_pOutlineBtn->GetSavedValue() == eState )
             bChanged = false;
     }
 
@@ -2665,12 +2625,12 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Shadow
     nWhich = GetWhich( SID_ATTR_CHAR_SHADOWED );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_SHADOWED );
-    eState = m_aShadowBtn.GetState();
+    eState = m_pShadowBtn->GetState();
 
     if ( pOld )
     {
         const SvxShadowedItem& rItem = *( (const SvxShadowedItem*)pOld );
-        if ( rItem.GetValue() == StateToAttr( eState ) && m_aShadowBtn.GetSavedValue() == eState )
+        if ( rItem.GetValue() == StateToAttr( eState ) && m_pShadowBtn->GetSavedValue() == eState )
             bChanged = false;
     }
 
@@ -2691,12 +2651,12 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Blinking
     nWhich = GetWhich( SID_ATTR_FLASH );
     pOld = GetOldItem( rSet, SID_ATTR_FLASH );
-    eState = m_aBlinkingBtn.GetState();
+    eState = m_pBlinkingBtn->GetState();
 
     if ( pOld )
     {
         const SvxBlinkItem& rItem = *( (const SvxBlinkItem*)pOld );
-        if ( rItem.GetValue() == StateToAttr( eState ) && m_aBlinkingBtn.GetSavedValue() == eState )
+        if ( rItem.GetValue() == StateToAttr( eState ) && m_pBlinkingBtn->GetSavedValue() == eState )
             bChanged = false;
     }
 
@@ -2715,13 +2675,13 @@ sal_Bool SvxCharEffectsPage::FillItemSet( SfxItemSet& rSet )
     // Hidden
     nWhich = GetWhich( SID_ATTR_CHAR_HIDDEN );
     pOld = GetOldItem( rSet, SID_ATTR_CHAR_HIDDEN );
-    eState = m_aHiddenBtn.GetState();
+    eState = m_pHiddenBtn->GetState();
     bChanged = true;
 
     if ( pOld )
     {
         const SvxCharHiddenItem& rItem = *( (const SvxCharHiddenItem*)pOld );
-        if ( rItem.GetValue() == StateToAttr( eState ) && m_aHiddenBtn.GetSavedValue() == eState )
+        if ( rItem.GetValue() == StateToAttr( eState ) && m_pHiddenBtn->GetSavedValue() == eState )
             bChanged = false;
     }
 
@@ -2746,30 +2706,30 @@ void SvxCharEffectsPage::DisableControls( sal_uInt16 nDisable )
 {
     if ( ( DISABLE_CASEMAP & nDisable ) == DISABLE_CASEMAP )
     {
-        m_aEffectsFT.Disable();
-        m_aEffectsLB.Disable();
+        m_pEffectsFT->Disable();
+        m_pEffectsLB->Disable();
     }
 
     if ( ( DISABLE_WORDLINE & nDisable ) == DISABLE_WORDLINE )
-        m_aIndividualWordsBtn.Disable();
+        m_pIndividualWordsBtn->Disable();
 
     if ( ( DISABLE_BLINK & nDisable ) == DISABLE_BLINK )
-        m_aBlinkingBtn.Disable();
+        m_pBlinkingBtn->Disable();
 
     if ( ( DISABLE_UNDERLINE_COLOR & nDisable ) == DISABLE_UNDERLINE_COLOR )
     {
         // disable the controls
-        m_aUnderlineColorFT.Disable( );
-        m_aUnderlineColorLB.Disable( );
+        m_pUnderlineColorFT->Disable( );
+        m_pUnderlineColorLB->Disable( );
         // and reroute the selection handler of the controls which normally would affect the color box dis-/enabling
-        m_aUnderlineLB.SetSelectHdl(LINK(this, SvxCharEffectsPage, UpdatePreview_Impl));
-        m_aStrikeoutLB.SetSelectHdl(LINK(this, SvxCharEffectsPage, UpdatePreview_Impl));
+        m_pUnderlineLB->SetSelectHdl(LINK(this, SvxCharEffectsPage, UpdatePreview_Impl));
+        m_pStrikeoutLB->SetSelectHdl(LINK(this, SvxCharEffectsPage, UpdatePreview_Impl));
     }
 }
 
 void SvxCharEffectsPage::EnableFlash()
 {
-    m_aBlinkingBtn.Show();
+    m_pBlinkingBtn->Show();
 }
 
 // -----------------------------------------------------------------------
diff --git a/cui/source/tabpages/chardlg.hrc b/cui/source/tabpages/chardlg.hrc
index f379afa..6a187aa 100644
--- a/cui/source/tabpages/chardlg.hrc
+++ b/cui/source/tabpages/chardlg.hrc
@@ -60,64 +60,11 @@
 #define LB_COLOR2               142
 
 #define STR_CHARNAME_NOSTYLE        150
-#define STR_CHARNAME_TRANSPARENT    151
 #define STR_CHARNAME_FAMILY         152
 #define STR_CHARNAME_FONT           153
 #define STR_CHARNAME_STYLE          154
 #define STR_CHARNAME_TYPEFACE       155
 
-// EffectsPage --------------------------------------------------------------
-
-#define FT_FONTCOLOR            201
-#define LB_FONTCOLOR            202
-
-#define FT_EFFECTS              203
-#define LB_EFFECTS              204
-#define LB_EFFECTS2             205
-
-#define FT_RELIEF               206
-#define LB_RELIEF               207
-
-#define CB_OUTLINE              208
-#define CB_SHADOW               209
-#define CB_BLINKING             210
-#define CB_CHARHIDDEN           211
-
-#define FL_EFFECTS_VERTICAL     220
-
-#define FT_OVERLINE             221
-#define LB_OVERLINE             222
-#define FT_OVERLINE_COLOR       223
-#define LB_OVERLINE_COLOR       224
-
-#define FT_STRIKEOUT            225
-#define LB_STRIKEOUT            226
-
-#define FT_UNDERLINE            227
-#define LB_UNDERLINE            228
-#define FT_UNDERLINE_COLOR      229
-#define LB_UNDERLINE_COLOR      230
-
-#define CB_INDIVIDUALWORDS      231
-
-#define FL_EFFECTS_ASIAN        240
-
-#define FT_EMPHASIS             241
-#define LB_EMPHASIS             242
-#define FT_POSITION             243
-#define LB_POSITION             244
-
-#define WIN_EFFECTS_PREVIEW     251
-#define FT_EFFECTS_FONTTYPE     252
-
-#define STR_EFFECTS_CAPITALS    261
-#define STR_EFFECTS_LOWERCASE   262
-#define STR_EFFECTS_TITLE       263
-#define STR_EFFECTS_SMALL       264
-#define STR_EFFECTS_OUTLINE     265
-#define STR_EFFECTS_SHADOW      266
-#define STR_EFFECTS_BLINKING    267
-
 #define FT_WEST_NAME_NOCJK                    423
 #define LB_WEST_NAME_NOCJK                    424
 #define FT_WEST_STYLE_NOCJK                   425
diff --git a/cui/source/tabpages/chardlg.src b/cui/source/tabpages/chardlg.src
index 7ed895c..6fc18e5 100644
--- a/cui/source/tabpages/chardlg.src
+++ b/cui/source/tabpages/chardlg.src
@@ -358,10 +358,6 @@ TabPage RID_SVXPAGE_CHAR_NAME
     {
         Text [ en-US ] = "No %1";
     };
-    String STR_CHARNAME_TRANSPARENT
-    {
-        Text [ en-US ] = "Transparent";
-    };
     String STR_CHARNAME_FAMILY
     {
         Text [ en-US ] = "Family";
@@ -379,328 +375,3 @@ TabPage RID_SVXPAGE_CHAR_NAME
         Text [ en-US ] = "Typeface";
     };
 };
-
-// RID_SVXPAGE_CHAR_EFFECTS ---------------------------------------------------
-
-TabPage RID_SVXPAGE_CHAR_EFFECTS
-{
-    HelpId = HID_SVXPAGE_CHAR_EFFECTS ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    Hide = TRUE ;
-    FixedText FT_FONTCOLOR
-    {
-        Pos = MAP_APPFONT ( 10 , 4 );
-        Size = MAP_APPFONT ( 82 , 8 );
-        Text [ en-US ] = "Font ~color" ;
-    };
-    ListBox LB_FONTCOLOR
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_FONTCOLOR";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 10 , 15 );
-        Size = MAP_APPFONT ( 82 , 72 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-    };
-    FixedText FT_EFFECTS
-    {
-        Pos = MAP_APPFONT( 10 , 33 );
-        Size = MAP_APPFONT( 82 , 8 );
-        Text [ en-US ] = "~Effects" ;
-    };
-    ListBox LB_EFFECTS2
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_EFFECTS2";
-        Pos = MAP_APPFONT ( 10 , 44 ) ;
-        Size = MAP_APPFONT ( 82 , 56 ) ;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; Default ; > ;
-            < "Capitals" ; Default ; > ;
-            < "Lowercase" ; Default ; > ;
-            < "Title" ; Default ; > ;
-            < "Small capitals" ; Default ; > ;
-        };
-    };
-    FixedText FT_RELIEF
-    {
-        Pos = MAP_APPFONT ( 10 , 62 );
-        Size = MAP_APPFONT ( 82 , 8 );
-        Text [ en-US ] = "~Relief";
-    };
-    ListBox LB_RELIEF
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_RELIEF";
-        Pos = MAP_APPFONT ( 10 , 73 ) ;
-        Size = MAP_APPFONT ( 82 , 56 ) ;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; Default ; > ;
-            < "Embossed" ; Default ; > ;
-            < "Engraved" ; Default ; > ;
-        };
-    };
-    TriStateBox CB_OUTLINE
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_CHAR_EFFECTS:CB_OUTLINE";
-        Pos = MAP_APPFONT ( 10 , 93 ) ;
-        Size = MAP_APPFONT ( 82 , 10 ) ;
-        Text [ en-US ] = "Out~line" ;
-    };
-    TriStateBox CB_SHADOW
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_CHAR_EFFECTS:CB_SHADOW";
-        Pos = MAP_APPFONT ( 10 , 107 ) ;
-        Size = MAP_APPFONT ( 82 , 10 ) ;
-        Text [ en-US ] = "Sha~dow" ;
-    };
-    TriStateBox CB_BLINKING
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_CHAR_EFFECTS:CB_BLINKING";
-        Pos = MAP_APPFONT ( 10 , 121 ) ;
-        Size = MAP_APPFONT ( 82 , 10 ) ;
-        Hide = TRUE;
-        Text [ en-US ] = "~Blinking" ;
-    };
-    TriStateBox CB_CHARHIDDEN
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_CHAR_EFFECTS:CB_CHARHIDDEN";
-        Pos = MAP_APPFONT ( 10 , 135 ) ;
-        Size = MAP_APPFONT ( 82 , 10 ) ;
-        Text [ en-US ] = "H~idden" ;
-    };
-    FixedLine FL_EFFECTS_VERTICAL
-    {
-        Pos = MAP_APPFONT ( 100 , 4 ) ;
-        Size = MAP_APPFONT ( 4 , 142 ) ;
-        Vert = TRUE;
-    };
-    FixedText FT_OVERLINE
-    {
-        Pos = MAP_APPFONT( 110 , 4 );
-        Size = MAP_APPFONT( 68 , 8 );
-        Text [ en-US ] = "~Overlining" ;
-    };
-    ListBox LB_OVERLINE
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_OVERLINE";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 110 , 15 );
-        Size = MAP_APPFONT ( 68 , 72 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; CHRDLG_UNDERLINE_NONE ; > ;
-            < "Single" ; CHRDLG_UNDERLINE_SINGLE ; > ;
-            < "Double" ; CHRDLG_UNDERLINE_DOUBLE ; > ;
-            < "Bold"; CHRDLG_UNDERLINE_BOLD; > ;
-            < "Dotted" ; CHRDLG_UNDERLINE_DOTTED ; > ;
-            < "Dotted (Bold)" ; CHRDLG_UNDERLINE_BOLDDOTTED; > ;
-            < "Dash"; CHRDLG_UNDERLINE_DASH; > ;
-            < "Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASH; > ;
-            < "Long Dash"; CHRDLG_UNDERLINE_LONGDASH; > ;
-            < "Long Dash (Bold)"; CHRDLG_UNDERLINE_BOLDLONGDASH; > ;
-            < "Dot Dash"; CHRDLG_UNDERLINE_DASHDOT; > ;
-            < "Dot Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASHDOT; > ;
-            < "Dot Dot Dash"; CHRDLG_UNDERLINE_DASHDOTDOT; > ;
-            < "Dot Dot Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASHDOTDOT; > ;
-            < "Wave"; CHRDLG_UNDERLINE_WAVE; > ;
-            < "Wave (Bold)"; CHRDLG_UNDERLINE_BOLDWAVE; > ;
-            < "Double Wave"; CHRDLG_UNDERLINE_DOUBLEWAVE; > ;
-        };
-    };
-    FixedText FT_OVERLINE_COLOR
-    {
-        Pos = MAP_APPFONT ( 184 , 4 );
-        Size = MAP_APPFONT ( 68 , 8 );
-        Text [ en-US ] = "O~verline color";
-    };
-    ListBox LB_OVERLINE_COLOR
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_OVERLINE_COLOR";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 184 , 15 );
-        Size = MAP_APPFONT ( 68 , 100 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-    };
-    FixedText FT_STRIKEOUT
-    {
-        Pos = MAP_APPFONT ( 110 , 33 );
-        Size = MAP_APPFONT ( 68 , 8 );
-        Text [ en-US ] = "~Strikethrough" ;
-    };
-    ListBox LB_STRIKEOUT
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_STRIKEOUT";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 110 , 44 );
-        Size = MAP_APPFONT ( 68 , 72 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; CHRDLG_STRIKEOUT_NONE ; > ;
-            < "Single" ; CHRDLG_STRIKEOUT_SINGLE ; > ;
-            < "Double" ; CHRDLG_STRIKEOUT_DOUBLE ; > ;
-            < "Bold" ; CHRDLG_STRIKEOUT_BOLD ; > ;
-            < "With /" ; CHRDLG_STRIKEOUT_SLASH ; > ;
-            < "With X" ; CHRDLG_STRIKEOUT_X ; > ;
-        };
-    };
-    FixedText FT_UNDERLINE
-    {
-        Pos = MAP_APPFONT( 110 , 62 );
-        Size = MAP_APPFONT( 68 , 8 );
-        Text [ en-US ] = "~Underlining" ;
-    };
-    ListBox LB_UNDERLINE
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_UNDERLINE";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 110 , 73 );
-        Size = MAP_APPFONT ( 68 , 72 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; CHRDLG_UNDERLINE_NONE ; > ;
-            < "Single" ; CHRDLG_UNDERLINE_SINGLE ; > ;
-            < "Double" ; CHRDLG_UNDERLINE_DOUBLE ; > ;
-            < "Bold"; CHRDLG_UNDERLINE_BOLD; > ;
-            < "Dotted" ; CHRDLG_UNDERLINE_DOTTED ; > ;
-            < "Dotted (Bold)" ; CHRDLG_UNDERLINE_BOLDDOTTED; > ;
-            < "Dash"; CHRDLG_UNDERLINE_DASH; > ;
-            < "Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASH; > ;
-            < "Long Dash"; CHRDLG_UNDERLINE_LONGDASH; > ;
-            < "Long Dash (Bold)"; CHRDLG_UNDERLINE_BOLDLONGDASH; > ;
-            < "Dot Dash"; CHRDLG_UNDERLINE_DASHDOT; > ;
-            < "Dot Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASHDOT; > ;
-            < "Dot Dot Dash"; CHRDLG_UNDERLINE_DASHDOTDOT; > ;
-            < "Dot Dot Dash (Bold)"; CHRDLG_UNDERLINE_BOLDDASHDOTDOT; > ;
-            < "Wave"; CHRDLG_UNDERLINE_WAVE; > ;
-            < "Wave (Bold)"; CHRDLG_UNDERLINE_BOLDWAVE; > ;
-            < "Double Wave"; CHRDLG_UNDERLINE_DOUBLEWAVE; > ;
-        };
-    };
-    FixedText FT_UNDERLINE_COLOR
-    {
-        Pos = MAP_APPFONT ( 184 , 62 );
-        Size = MAP_APPFONT ( 68 , 8 );
-        Text [ en-US ] = "U~nderline color";
-    };
-    ListBox LB_UNDERLINE_COLOR
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_UNDERLINE_COLOR";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 184 , 73 );
-        Size = MAP_APPFONT ( 68 , 100 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-    };
-    CheckBox CB_INDIVIDUALWORDS
-    {
-        HelpID = "cui:CheckBox:RID_SVXPAGE_CHAR_EFFECTS:CB_INDIVIDUALWORDS";
-        Pos = MAP_APPFONT ( 110 , 93 );
-        Size = MAP_APPFONT ( 68 , 10 );
-        TabStop = TRUE;
-        Text [ en-US ] = "Individual ~words" ;
-    };
-    FixedLine FL_EFFECTS_ASIAN
-    {
-        Pos = MAP_APPFONT ( 106 , 110 ) ;
-        Size = MAP_APPFONT ( 148 , 4 ) ;
-    };
-    FixedText FT_EMPHASIS
-    {
-        Pos = MAP_APPFONT ( 110 , 117 );
-        Size = MAP_APPFONT ( 68 , 8 );
-        Text [ en-US ] = "Emp~hasis mark" ;
-    };
-    ListBox LB_EMPHASIS
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_EMPHASIS";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 110 , 128 );
-        Size = MAP_APPFONT ( 68 , 72 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "(Without)" ; default ; > ;
-            < "Dot" ; default ; > ;
-            < "Circle" ; default ; > ;
-            < "Disc" ; default ; > ;
-            < "Accent" ; default ; > ;
-        };
-    };
-    FixedText FT_POSITION
-    {
-        Pos = MAP_APPFONT ( 184 , 117 );
-        Size = MAP_APPFONT ( 68 , 8 );
-        Text [ en-US ] = "~Position" ;
-    };
-    ListBox LB_POSITION
-    {
-        HelpID = "cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_POSITION";
-        Border = TRUE;
-        Pos = MAP_APPFONT ( 184 , 128 );
-        Size = MAP_APPFONT ( 68 , 48 );
-        TabStop = TRUE;
-        DropDown = TRUE;
-        StringList [ en-US ] =
-        {
-            < "Above text" ; CHRDLG_POSITION_OVER ; > ;
-            < "Below text" ; CHRDLG_POSITION_UNDER ; > ;
-        };
-    };
-    Window WIN_EFFECTS_PREVIEW
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 6 , 149 ) ;
-        Size = MAP_APPFONT ( 248 , 37 ) ;
-        Text [ en-US ] = "Example";
-    };
-    FixedText FT_EFFECTS_FONTTYPE
-    {
-        Pos = MAP_APPFONT ( 6 , 168 ) ;
-        Size = MAP_APPFONT ( 248 , 16 ) ;
-        WordBreak = TRUE ;
-            Hide = TRUE;
-    };
-    String STR_EFFECTS_CAPITALS
-    {
-        Text [ en-US ] = "Capitals" ;
-    };
-    String STR_EFFECTS_LOWERCASE
-    {
-        Text [ en-US ] = "Lowercase" ;
-    };
-    String STR_EFFECTS_TITLE
-    {
-        Text [ en-US ] = "Title" ;
-    };
-    String STR_EFFECTS_SMALL
-    {
-        Text [ en-US ] = "Small Capitals" ;
-    };
-    String STR_EFFECTS_OUTLINE
-    {
-        Text [ en-US ] = "Outline" ;
-    };
-    String STR_EFFECTS_SHADOW
-    {
-        Text [ en-US ] = "Shadow" ;
-    };
-    String STR_EFFECTS_BLINKING
-    {
-        Text [ en-US ] = "Blinking" ;
-    };
-    String STR_CHARNAME_TRANSPARENT
-    {
-        Text [ en-US ] = "Transparent";
-    };
-};
diff --git a/cui/source/tabpages/strings.src b/cui/source/tabpages/strings.src
index 4f39be3..2da1f88 100644
--- a/cui/source/tabpages/strings.src
+++ b/cui/source/tabpages/strings.src
@@ -131,4 +131,7 @@ String RID_SVXSTR_ASK_CHANGE_LINEEND
 {
     Text [ en-US ] = "The arrowhead was modified without saving.\nWould you like to save the arrowhead now?" ;
 };
-
+String RID_SVXSTR_CHARNAME_TRANSPARENT
+{
+    Text [ en-US ] = "Transparent";
+};
diff --git a/cui/uiconfig/ui/effectspage.ui b/cui/uiconfig/ui/effectspage.ui
new file mode 100644
index 0000000..1ce3890
--- /dev/null
+++ b/cui/uiconfig/ui/effectspage.ui
@@ -0,0 +1,668 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkListStore" id="liststore1">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">(Without)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Capitals</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Lowercase</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Title</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Small capitals</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore2">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">(Without)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Embossed</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Engraved</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore3">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">(Without)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dot</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Circle</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Disc</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Accent</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore4">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name gint1 -->
+      <column type="gint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Above text</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Below text</col>
+        <col id="1">1</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore5">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name gint1 -->
+      <column type="gint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">(Without)</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Single</col>
+        <col id="1">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Double</col>
+        <col id="1">2</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bold</col>
+        <col id="1">4</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">With /</col>
+        <col id="1">5</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">With X</col>
+        <col id="1">6</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="liststore6">
+    <columns>
+      <!-- column-name gchararray1 -->
+      <column type="gchararray"/>
+      <!-- column-name gint1 -->
+      <column type="gint"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">(Without)</col>
+        <col id="1">0</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Single</col>
+        <col id="1">1</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Double</col>
+        <col id="1">2</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bold</col>
+        <col id="1">12</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dotted</col>
+        <col id="1">3</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dotted (Bold)</col>
+        <col id="1">13</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dash</col>
+        <col id="1">5</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dash (Bold)</col>
+        <col id="1">14</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Long Dash</col>
+        <col id="1">6</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Long Dash (Bold)</col>
+        <col id="1">15</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dot Dash</col>
+        <col id="1">7</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dot Dash (Bold)</col>
+        <col id="1">16</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dot Dot Dash</col>
+        <col id="1">8</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Dot Dot Dash (Bold)</col>
+        <col id="1">17</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Wave</col>
+        <col id="1">10</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Wave (Bold)</col>
+        <col id="1">18</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Double Wave</col>
+        <col id="1">11</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkBox" id="EffectsPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="orientation">vertical</property>
+    <child>
+      <object class="GtkFrame" id="frame15">
+        <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="alignment15">
+            <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="column_spacing">6</property>
+                <child>
+                  <object class="GtkLabel" id="fontcolorft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Font color</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="effectsft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Effects</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="reliefft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Relief</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="GtkLabel" id="label46">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Overlining</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label47">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Strikethrough</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label48">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Underlining</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="overlinecolorft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Overline color</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="GtkLabel" id="underlinecolorft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Underline Color</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">4</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svtlo:ColorListBox" id="fontcolorlb">
+                    <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="GtkComboBox" id="effectslb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore1</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="GtkComboBox" id="overlinelb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore6</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="GtkComboBox" id="relieflb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore2</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="underlinelb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore6</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="strikeoutlb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore5</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</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="underlinecolorlb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">5</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="svtlo:ColorListBox" id="overlinecolorlb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">1</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="outlinecb">
+                    <property name="label" translatable="yes">Outline</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="inconsistent">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="shadowcb">
+                    <property name="label" translatable="yes">Shadow</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="inconsistent">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="blinkingcb">
+                    <property name="label" translatable="yes">Blinking</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="inconsistent">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="hiddencb">
+                    <property name="label" translatable="yes">Hidden</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="inconsistent">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">0</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="individualwordscb">
+                    <property name="label" translatable="yes">Individual words</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="xalign">0</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">6</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="emphasislb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore3</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="positionlb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="model">liststore4</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">3</property>
+                    <property name="top_attach">9</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="positionft">
+                    <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">3</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="emphasisft">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Emphasis mark</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">8</property>
+                    <property name="width">1</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="separator1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="top_attach">0</property>
+                    <property name="width">1</property>
+                    <property name="height">10</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSeparator" id="asianfl">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">2</property>
+                    <property name="top_attach">7</property>
+                    <property name="width">2</property>
+                    <property name="height">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label42">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Options</property>
+            <property name="use_markup">True</property>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkFrame" id="frame12">
+        <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="alignment12">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="left_padding">12</property>
+            <child>
+              <object class="svxlo:SvxFontPrevWindow" id="preview">
+                <property name="height_request">100</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+            </child>
+          </object>
+        </child>
+        <child type="label">
+          <object class="GtkLabel" id="label50">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label" translatable="yes">Preview</property>
+            <property name="use_markup">True</property>
+          </object>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="pack_type">end</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/svtools/source/control/ctrlbox.cxx b/svtools/source/control/ctrlbox.cxx
index c2e26b9..5d3ed44 100644
--- a/svtools/source/control/ctrlbox.cxx
+++ b/svtools/source/control/ctrlbox.cxx
@@ -124,6 +124,13 @@ ColorListBox::ColorListBox( Window* pParent, const ResId& rResId ) :
     ImplInit();
 }
 
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeColorListBox(Window *pParent)
+{
+    ColorListBox *pListBox = new ColorListBox(pParent, WB_LEFT|WB_DROPDOWN|WB_VCENTER|WB_3DLOOK);
+    pListBox->SetDropDownLineCount(16); //arbitrary
+    return pListBox;
+}
+
 // -----------------------------------------------------------------------
 
 ColorListBox::~ColorListBox()


More information about the Libreoffice-commits mailing list