Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/4236

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/36/4236/1

Convert Drop Caps tab page to UI widgets

Change-Id: Ic66f367d23b84666dd0165108c405b5b625b798b
---
M extras/source/glade/libreoffice-catalog.xml.in
M sw/UIConfig_swriter.mk
M sw/source/ui/chrdlg/drpcps.cxx
D sw/source/ui/chrdlg/drpcps.hrc
M sw/source/ui/chrdlg/drpcps.src
M sw/source/ui/inc/drpcps.hxx
A sw/uiconfig/swriter/ui/dropcapspage.ui
7 files changed, 502 insertions(+), 303 deletions(-)



diff --git a/extras/source/glade/libreoffice-catalog.xml.in 
b/extras/source/glade/libreoffice-catalog.xml.in
index 145b71c..06b4039 100644
--- a/extras/source/glade/libreoffice-catalog.xml.in
+++ b/extras/source/glade/libreoffice-catalog.xml.in
@@ -117,6 +117,9 @@
     <glade-widget-class title="Caption Preview" name="swuilo-SwCaptionPreview"
                         generic-name="Caption Preview Window" parent="GtkDrawingArea"
                         icon-name="widget-gtk-drawingarea"/>
+    <glade-widget-class title="Drop Caps Preview" name="swuilo-SwDropCapsPict"
+                        generic-name="Drop Caps Preview Window" parent="GtkDrawingArea"
+                        icon-name="widget-gtk-drawingarea"/>
     <glade-widget-class title="Extension List" name="deploymentgui-ExtBoxWithBtns"
                         generic-name="Extensions List" parent="GtkDrawingArea"
                         icon-name="widget-gtk-drawingarea"/>
diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk
index daf19a7..1108705 100644
--- a/sw/UIConfig_swriter.mk
+++ b/sw/UIConfig_swriter.mk
@@ -73,6 +73,7 @@
        sw/uiconfig/swriter/ui/columnwidth \
        sw/uiconfig/swriter/ui/converttexttable \
        sw/uiconfig/swriter/ui/createauthorentry \
+       sw/uiconfig/swriter/ui/dropcapspage \
        sw/uiconfig/swriter/ui/dropdownfielddialog \
        sw/uiconfig/swriter/ui/endnotepage \
        sw/uiconfig/swriter/ui/editcategories \
diff --git a/sw/source/ui/chrdlg/drpcps.cxx b/sw/source/ui/chrdlg/drpcps.cxx
index 1a11874..9b0a505 100644
--- a/sw/source/ui/chrdlg/drpcps.cxx
+++ b/sw/source/ui/chrdlg/drpcps.cxx
@@ -26,6 +26,7 @@
 #include "globals.hrc"
 
 #include <vcl/metric.hxx>
+
 #include <svl/stritem.hxx>
 #include <editeng/fontitem.hxx>
 #include <sfx2/htmlmode.hxx>
@@ -46,7 +47,6 @@
 #include "charfmt.hxx"
 
 #include "chrdlg.hrc"
-#include "drpcps.hrc"
 
 
 using namespace css;
@@ -66,11 +66,11 @@
     String          maScriptText;
     Color           maBackColor;
     Color           maTextLineColor;
-    sal_uInt8           mnLines;
+    sal_uInt8       mnLines;
     long            mnTotLineH;
     long            mnLineH;
     long            mnTextH;
-    sal_uInt16          mnDistance;
+    sal_uInt16      mnDistance;
     sal_Int32       mnLeading;
     Printer*        mpPrinter;
     bool            mbDelPrinter;
@@ -100,6 +100,7 @@
     void            GetFontSettings( const SwDropCapsPage& _rPage, Font& _rFont, sal_uInt16 
_nWhich );
     void            GetFirstScriptSegment(xub_StrLen &start, xub_StrLen &end, sal_uInt16 
&scriptType);
     bool            GetNextScriptSegment(size_t &nIdx, xub_StrLen &start, xub_StrLen &end, 
sal_uInt16 &scriptType);
+
 public:
 
     SwDropCapsPict(Window *pParent, const ResId &rResId)
@@ -110,9 +111,24 @@
         , mpPrinter( NULL )
         , mbDelPrinter( false )
     {}
+
+    SwDropCapsPict(Window *pParent, WinBits nBits)
+        : Control(pParent, nBits)
+        , mnTotLineH(0)
+        , mnLineH(0)
+        , mnTextH(0)
+        , mpPrinter( NULL )
+        , mbDelPrinter( false )
+    {}
+
     ~SwDropCapsPict();
 
     void UpdatePaintSettings( void );       // also invalidates control!
+
+    // TODO: Work in progress
+    inline void     SetPictSize();
+    virtual Size    GetOptimalPictSize() const;
+    // end WIP
 
     inline void SetText( const OUString& rT );
     inline void SetLines( sal_uInt8 nL );
@@ -121,12 +137,28 @@
 
     void        DrawPrev( const Point& rPt );
 };
+// TODO: Work in progress
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSwDropCapsPict(Window *pParent, 
VclBuilder::stringmap &)
+{
+    return new SwDropCapsPict(pParent, WB_BORDER);
+}
 
 inline void SwDropCapsPict::SetText( const OUString& rT )
 {
     maText = rT;
     UpdatePaintSettings();
 }
+// TODO: Work in progress
+inline void SwDropCapsPict::SetPictSize()
+{
+}
+
+// TODO: Work in progress
+Size SwDropCapsPict::GetOptimalPictSize() const
+{
+    return LogicToPixel(Size(105 , 80), MAP_APPFONT);
+}
+
 
 inline void SwDropCapsPict::SetLines( sal_uInt8 nL )
 {
@@ -248,7 +280,7 @@
     Font aFont;
     {
         SwDropCapsPage* pPage = ( SwDropCapsPage* ) GetParent();
-        if (!pPage->aTemplateBox.GetSelectEntryPos())
+        if (!pPage->m_pTemplateBox->GetSelectEntryPos())
         {
             // query the Font at paragraph's beginning
             pPage->rSh.SttCrsrMove();
@@ -273,7 +305,7 @@
         {
             // query Font at character template
             SwCharFmt *pFmt = pPage->rSh.GetCharStyle(
-                                    pPage->aTemplateBox.GetSelectEntry(),
+                                    pPage->m_pTemplateBox->GetSelectEntry(),
                                     SwWrtShell::GETSTYLE_CREATEANY );
             OSL_ENSURE(pFmt, "character style doesn't exist!");
             const SvxFontItem &rFmtFont = pFmt->GetFont();
@@ -331,7 +363,8 @@
 
     SetFillColor( maBackColor );
 
-    Size aOutputSizePixel( GetOutputSizePixel() );
+    //Size aOutputSizePixel( GetOutputSizePixel() );
+    Size aOutputSizePixel( GetOptimalSize() );
 
     DrawRect(Rectangle(Point(0, 0), aOutputSizePixel ));
     SetClipRegion(Region(Rectangle(
@@ -349,7 +382,7 @@
     sal_uLong lDistance = mnDistance;
     sal_uInt16 nDistW = (sal_uInt16) (sal_uLong) (((lDistance * 100) / 240) * mnTotLineH) / 100;
     SetFillColor( maBackColor );
-    if(((SwDropCapsPage*)GetParent())->aDropCapsBox.IsChecked())
+    if(((SwDropCapsPage*)GetParent())->m_pDropCapsBox->IsChecked())
     {
         Size    aTextSize( maTextSize );
         aTextSize.Width() += nDistW;
@@ -511,54 +544,55 @@
 
 SwDropCapsPage::SwDropCapsPage(Window *pParent, const SfxItemSet &rSet) :
 
-    SfxTabPage(pParent, SW_RES(TP_DROPCAPS), rSet),
+    SfxTabPage(pParent, "DropCapPage","modules/swriter/ui/dropcapspage.ui", rSet),
 
-    aSettingsFL   (this, SW_RES(FL_SETTINGS)),
-    aDropCapsBox  (this, SW_RES(CB_SWITCH   )),
-    aWholeWordCB  (this, SW_RES(CB_WORD     )),
-    aSwitchText   (this, SW_RES(FT_DROPCAPS )),
-    aDropCapsField(this, SW_RES(FLD_DROPCAPS)),
-    aLinesText    (this, SW_RES(TXT_LINES   )),
-    aLinesField   (this, SW_RES(FLD_LINES   )),
-    aDistanceText (this, SW_RES(TXT_DISTANCE)),
-    aDistanceField(this, SW_RES(FLD_DISTANCE)),
-
-    aContentFL    (this, SW_RES(FL_CONTENT )),
-    aTextText     (this, SW_RES(TXT_TEXT    )),
-    aTextEdit     (this, SW_RES(EDT_TEXT    )),
-    aTemplateText (this, SW_RES(TXT_TEMPLATE)),
-    aTemplateBox  (this, SW_RES(BOX_TEMPLATE)),
-
-    pPict         (new SwDropCapsPict(this, SW_RES(CNT_PICT))),
-
+    //pPict         (new SwDropCapsPict(this, SW_RES(CNT_PICT))),
     bModified(sal_False),
     bFormat(sal_True),
     rSh(::GetActiveView()->GetWrtShell())
 {
-    FreeResource();
+    get(m_pDropCapsBox,"checkCB_SWITCH");
+    get(m_pWholeWordCB,"checkCB_WORD");
+    get(m_pDropCapsField,"spinFLD_DROPCAPS");
+    get(m_pLinesField,"spinFLD_LINES");
+    get(m_pDistanceField,"spinFLD_DISTANCE");
+    get(m_pContentFL,"frameFL_CONTENT");
+    get(m_pTextText,"labelTXT_TEXT");
+    get(m_pTextEdit,"entryEDT_TEXT");
+    get(m_pTemplateBox,"comboBOX_TEMPLATE");
+
+// TODO: Work in progress
+    get(m_pSwDropCapsGrid,"DropCapPage");
+    pPict = new SwDropCapsPict(m_pSwDropCapsGrid, WB_BORDER);
+
+    pPict->set_grid_left_attach(0);
+    pPict->set_grid_top_attach(0);
+    pPict->SetPictSize();
+// end WIP
     SetExchangeSupport();
 
     sal_uInt16 nHtmlMode = ::GetHtmlMode((const SwDocShell*)SfxObjectShell::Current());
     bHtmlMode = nHtmlMode & HTMLMODE_ON ? sal_True : sal_False;
 
     // In the template dialog the text is not influenceable
-    aTextText.Enable( !bFormat );
-    aTextEdit.Enable( !bFormat );
+    m_pTextText->Enable( !bFormat );
+    m_pTextEdit->Enable( !bFormat );
 
     // Metrics
-    SetMetric( aDistanceField, GetDfltMetric(bHtmlMode) );
+    SetMetric( *m_pDistanceField, GetDfltMetric(bHtmlMode) );
+
 
     pPict->SetBorderStyle( WINDOW_BORDER_MONO );
 
     // Install handler
     Link aLk = LINK(this, SwDropCapsPage, ModifyHdl);
-    aDropCapsField.SetModifyHdl( aLk );
-    aLinesField   .SetModifyHdl( aLk );
-    aDistanceField.SetModifyHdl( aLk );
-    aTextEdit     .SetModifyHdl( aLk );
-    aDropCapsBox  .SetClickHdl (LINK(this, SwDropCapsPage, ClickHdl ));
-    aTemplateBox  .SetSelectHdl(LINK(this, SwDropCapsPage, SelectHdl));
-    aWholeWordCB  .SetClickHdl (LINK(this, SwDropCapsPage, WholeWordHdl ));
+    m_pDropCapsField->SetModifyHdl( aLk );
+    m_pLinesField->SetModifyHdl( aLk );
+    m_pDistanceField->SetModifyHdl( aLk );
+    m_pTextEdit->SetModifyHdl( aLk );
+    m_pDropCapsBox->SetClickHdl (LINK(this, SwDropCapsPage, ClickHdl ));
+    m_pTemplateBox->SetSelectHdl(LINK(this, SwDropCapsPage, SelectHdl));
+    m_pWholeWordCB->SetClickHdl (LINK(this, SwDropCapsPage, WholeWordHdl ));
 }
 
  SwDropCapsPage::~SwDropCapsPage()
@@ -605,45 +639,45 @@
     SwFmtDrop aFmtDrop((SwFmtDrop &) rSet.Get(RES_PARATR_DROP));
     if (aFmtDrop.GetLines() > 1)
     {
-        aDropCapsField.SetValue(aFmtDrop.GetChars());
-        aLinesField   .SetValue(aFmtDrop.GetLines());
-        aDistanceField.SetValue(aDistanceField.Normalize(aFmtDrop.GetDistance()), FUNIT_TWIP);
-        aWholeWordCB  .Check   (aFmtDrop.GetWholeWord());
+        m_pDropCapsField->SetValue(aFmtDrop.GetChars());
+        m_pLinesField->SetValue(aFmtDrop.GetLines());
+        m_pDistanceField->SetValue(m_pDistanceField->Normalize(aFmtDrop.GetDistance()), 
FUNIT_TWIP);
+        m_pWholeWordCB->Check(aFmtDrop.GetWholeWord());
     }
     else
     {
-        aDropCapsField.SetValue(1);
-        aLinesField   .SetValue(3);
-        aDistanceField.SetValue(0);
+        m_pDropCapsField->SetValue(1);
+        m_pLinesField->SetValue(3);
+        m_pDistanceField->SetValue(0);
     }
 
-    ::FillCharStyleListBox(aTemplateBox, rSh.GetView().GetDocShell(), true);
+    ::FillCharStyleListBox(*m_pTemplateBox, rSh.GetView().GetDocShell(), true);
 
-    aTemplateBox.InsertEntry(SW_RESSTR(SW_STR_NONE), 0);
+    m_pTemplateBox->InsertEntry(SW_RESSTR(SW_STR_NONE), 0);
 
     // Reset format
-    aTemplateBox.SelectEntryPos(0);
+    m_pTemplateBox->SelectEntryPos(0);
     if (aFmtDrop.GetCharFmt())
-        aTemplateBox.SelectEntry(aFmtDrop.GetCharFmt()->GetName());
+        m_pTemplateBox->SelectEntry(aFmtDrop.GetCharFmt()->GetName());
 
     // Enable controls
-    aDropCapsBox.Check(aFmtDrop.GetLines() > 1);
-    const sal_uInt16 nVal = sal_uInt16(aDropCapsField.GetValue());
+    m_pDropCapsBox->Check(aFmtDrop.GetLines() > 1);
+    const sal_uInt16 nVal = sal_uInt16(m_pDropCapsField->GetValue());
     if (bFormat)
-        aTextEdit.SetText(GetDefaultString(nVal));
+        m_pTextEdit->SetText(GetDefaultString(nVal));
     else
     {
-        aTextEdit.SetText(rSh.GetDropTxt(nVal));
-        aTextEdit.Enable();
-        aTextText.Enable();
+        m_pTextEdit->SetText(rSh.GetDropTxt(nVal));
+        m_pTextEdit->Enable();
+        m_pTextText->Enable();
     }
 
     // Preview
-    pPict->SetValues(   aTextEdit.GetText(),
-                        sal_uInt8( aLinesField.GetValue() ),
-                        sal_uInt16( aDistanceField.Denormalize( aDistanceField.GetValue( 
FUNIT_TWIP ) ) ) );
+    pPict->SetValues(   m_pTextEdit->GetText(),
+                        sal_uInt8( m_pLinesField->GetValue() ),
+                        sal_uInt16( m_pDistanceField->Denormalize( m_pDistanceField->GetValue( 
FUNIT_TWIP ) ) ) );
 
-    ClickHdl(&aDropCapsBox);
+    ClickHdl(m_pDropCapsBox);
     bModified = sal_False;
 }
 
@@ -654,25 +688,25 @@
 
 IMPL_LINK_NOARG(SwDropCapsPage, ClickHdl)
 {
-    sal_Bool bChecked = aDropCapsBox.IsChecked();
+    sal_Bool bChecked = m_pDropCapsBox->IsChecked();
 
-    aWholeWordCB  .Enable( bChecked && !bHtmlMode );
+    m_pWholeWordCB->Enable( bChecked && !bHtmlMode );
 
-    aSwitchText.Enable( bChecked && !aWholeWordCB.IsChecked() );
-    aDropCapsField.Enable( bChecked && !aWholeWordCB.IsChecked() );
-    aLinesText   .Enable( bChecked );
-    aLinesField   .Enable( bChecked );
-    aDistanceText.Enable( bChecked );
-    aDistanceField.Enable( bChecked );
-    aTemplateText .Enable( bChecked );
-    aTemplateBox  .Enable( bChecked );
-    aTextEdit     .Enable( bChecked && !bFormat );
-    aTextText     .Enable( bChecked && !bFormat );
+    //aSwitchText.Enable( bChecked && !m_pWholeWordCB->IsChecked() );
+    m_pDropCapsField->Enable( bChecked && !m_pWholeWordCB->IsChecked() );
+    //aLinesText   .Enable( bChecked );
+    m_pLinesField->Enable( bChecked );
+    //aDistanceText.Enable( bChecked );
+    m_pDistanceField->Enable( bChecked );
+    //aTemplateText .Enable( bChecked );
+    m_pTemplateBox->Enable( bChecked );
+    m_pTextEdit->Enable( bChecked && !bFormat );
+    //aTextText     .Enable( bChecked && !bFormat );
 
     if ( bChecked )
     {
-        ModifyHdl(&aDropCapsField);
-        aDropCapsField.GrabFocus();
+        ModifyHdl(m_pDropCapsField);
+        m_pDropCapsField->GrabFocus();
     }
     else
         pPict->SetText(aEmptyStr);
@@ -689,9 +723,9 @@
 
 IMPL_LINK_NOARG(SwDropCapsPage, WholeWordHdl)
 {
-    aDropCapsField.Enable( !aWholeWordCB.IsChecked() );
+    m_pDropCapsField->Enable( !m_pWholeWordCB->IsChecked() );
 
-    ModifyHdl(&aDropCapsField);
+    ModifyHdl(m_pDropCapsField);
 
     bModified = sal_True;
 
@@ -708,13 +742,13 @@
     String sPreview;
 
     // set text if applicable
-    if (pEdit == &aDropCapsField)
+    if (pEdit == m_pDropCapsField)
     {
         sal_uInt16 nVal;
         bool bSetText = false;
 
-        if (!aWholeWordCB.IsChecked())
-            nVal = (sal_uInt16)aDropCapsField.GetValue();
+        if (!m_pWholeWordCB->IsChecked())
+            nVal = (sal_uInt16)m_pDropCapsField->GetValue();
         else
             nVal = 0;
 
@@ -726,7 +760,7 @@
             sPreview = rSh.GetDropTxt(nVal);
         }
 
-        String sEdit(aTextEdit.GetText());
+        String sEdit(m_pTextEdit->GetText());
 
         if (sEdit.Len() && sPreview.CompareTo(sEdit, sEdit.Len()) != COMPARE_EQUAL)
         {
@@ -735,23 +769,23 @@
         }
 
         if (bSetText)
-            aTextEdit.SetText(sPreview);
+            m_pTextEdit->SetText(sPreview);
     }
-    else if (pEdit == &aTextEdit)   // set quantity if applicable
+    else if (pEdit == m_pTextEdit)   // set quantity if applicable
     {
-        sal_Int32 nTmp = aTextEdit.GetText().getLength();
-        aDropCapsField.SetValue(std::max((sal_uInt16)1, (sal_uInt16)nTmp));
+        sal_Int32 nTmp = m_pTextEdit->GetText().getLength();
+        m_pDropCapsField->SetValue(std::max((sal_uInt16)1, (sal_uInt16)nTmp));
 
-        sPreview = aTextEdit.GetText().copy(0, nTmp);
+        sPreview = m_pTextEdit->GetText().copy(0, nTmp);
     }
 
     // adjust image
-    if (pEdit == &aDropCapsField || pEdit == &aTextEdit)
+    if (pEdit == m_pDropCapsField || pEdit == m_pTextEdit)
         pPict->SetText (sPreview);
-    else if (pEdit == &aLinesField)
-        pPict->SetLines((sal_uInt8)aLinesField.GetValue());
+    else if (pEdit == m_pLinesField)
+        pPict->SetLines((sal_uInt8)m_pLinesField->GetValue());
     else
-        
pPict->SetDistance((sal_uInt16)aDistanceField.Denormalize(aDistanceField.GetValue(FUNIT_TWIP)));
+        
pPict->SetDistance((sal_uInt16)m_pDistanceField->Denormalize(m_pDistanceField->GetValue(FUNIT_TWIP)));
 
     bModified = sal_True;
 
@@ -782,18 +816,18 @@
     {
         SwFmtDrop aFmt;
 
-        sal_Bool bOn = aDropCapsBox.IsChecked();
+        sal_Bool bOn = m_pDropCapsBox->IsChecked();
         if(bOn)
         {
             // quantity, lines, gap
-            aFmt.GetChars()     = (sal_uInt8) aDropCapsField.GetValue();
-            aFmt.GetLines()     = (sal_uInt8) aLinesField.GetValue();
-            aFmt.GetDistance()  = (sal_uInt16) 
aDistanceField.Denormalize(aDistanceField.GetValue(FUNIT_TWIP));
-            aFmt.GetWholeWord() = aWholeWordCB.IsChecked();
+            aFmt.GetChars()     = (sal_uInt8) m_pDropCapsField->GetValue();
+            aFmt.GetLines()     = (sal_uInt8) m_pLinesField->GetValue();
+            aFmt.GetDistance()  = (sal_uInt16) 
m_pDistanceField->Denormalize(m_pDistanceField->GetValue(FUNIT_TWIP));
+            aFmt.GetWholeWord() = m_pWholeWordCB->IsChecked();
 
             // template
-            if (aTemplateBox.GetSelectEntryPos())
-                aFmt.SetCharFmt(rSh.GetCharStyle(aTemplateBox.GetSelectEntry()));
+            if (m_pTemplateBox->GetSelectEntryPos())
+                aFmt.SetCharFmt(rSh.GetCharStyle(m_pTemplateBox->GetSelectEntry()));
         }
         else
         {
@@ -810,12 +844,12 @@
 
         // hard text formatting
         // Bug 24974: in designer/template catalog this doesn't make sense!!
-        if( !bFormat && aDropCapsBox.IsChecked() )
+        if( !bFormat && m_pDropCapsBox->IsChecked() )
         {
-            String sText(aTextEdit.GetText());
+            String sText(m_pTextEdit->GetText());
 
-            if (!aWholeWordCB.IsChecked())
-                sText.Erase( static_cast< xub_StrLen >(aDropCapsField.GetValue()));
+            if (!m_pWholeWordCB->IsChecked())
+                sText.Erase( static_cast< xub_StrLen >(m_pDropCapsField->GetValue()));
 
             SfxStringItem aStr(FN_PARAM_1, sText);
             rSet.Put( aStr );
diff --git a/sw/source/ui/chrdlg/drpcps.hrc b/sw/source/ui/chrdlg/drpcps.hrc
deleted file mode 100644
index 4dc16c2..0000000
--- a/sw/source/ui/chrdlg/drpcps.hrc
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _DRPCPS_HRC
-#define _DRPCPS_HRC
-
-// #define ******************************************************************
-
-#define FT_DROPCAPS   1
-#define FLD_DROPCAPS   2
-#define TXT_LINES      3
-#define FLD_LINES      4
-#define TXT_DISTANCE   5
-#define FLD_DISTANCE   6
-#define CNT_PICT       7
-#define TXT_TEXT       8
-#define EDT_TEXT       9
-#define TXT_TEMPLATE  10
-#define BOX_TEMPLATE  11
-#define FL_SETTINGS  12
-#define CB_SWITCH     13
-#define FL_CONTENT   15
-#define CB_WORD       16
-
-#endif
-
-// ********************************************************************** EOF
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/chrdlg/drpcps.src b/sw/source/ui/chrdlg/drpcps.src
index 79b4a3e..6436ad0 100644
--- a/sw/source/ui/chrdlg/drpcps.src
+++ b/sw/source/ui/chrdlg/drpcps.src
@@ -19,7 +19,6 @@
 
 #include "globals.hrc"
 #include "chrdlg.hrc"
-#include "drpcps.hrc"
 #include "helpid.h"
  // TabDialog ****************************************************************
 TabDialog DLG_DROPCAPS
@@ -42,146 +41,7 @@
         };
     };
 };
- // TabPage ******************************************************************
-TabPage TP_DROPCAPS
-{
-    HelpID = HID_DROPCAPS ;
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    Hide = TRUE ;
-    CheckBox CB_SWITCH
-    {
-        HelpID = "sw:CheckBox:TP_DROPCAPS:CB_SWITCH";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 90 , 10 ) ;
-        Text [ en-US ] = "Display drop caps" ;
-    };
-    CheckBox CB_WORD
-    {
-        HelpID = "sw:CheckBox:TP_DROPCAPS:CB_WORD";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 90 , 10 ) ;
-        Text [ en-US ] = "~Whole word" ;
-    };
-    FixedText FT_DROPCAPS
-    {
-        Pos = MAP_APPFONT ( 12 , 44 ) ;
-        Size = MAP_APPFONT ( 70 , 8 ) ;
-        Text [ en-US ] = "Number of ~characters:" ;
-    };
-    NumericField FLD_DROPCAPS
-    {
-        HelpID = "sw:NumericField:TP_DROPCAPS:FLD_DROPCAPS";
-        Border = TRUE ;
-        First = 1 ;
-        Last = 9 ;
-        Left = TRUE ;
-        Maximum = 9 ;
-        Minimum = 1 ;
-        Pos = MAP_APPFONT ( 89 , 42 ) ;
-        Repeat = TRUE ;
-        Size = MAP_APPFONT ( 36 , 12 ) ;
-        Spin = TRUE ;
-        TabStop = TRUE ;
-    };
-    FixedText TXT_LINES
-    {
-        Left = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 60 ) ;
-        Size = MAP_APPFONT ( 70 , 8 ) ;
-        Text [ en-US ] = "~Lines" ;
-    };
-    NumericField FLD_LINES
-    {
-        HelpID = "sw:NumericField:TP_DROPCAPS:FLD_LINES";
-        Border = TRUE ;
-        First = 2 ;
-        Last = 9 ;
-        Left = TRUE ;
-        Maximum = 9 ;
-        Minimum = 2 ;
-        Pos = MAP_APPFONT ( 89 , 58 ) ;
-        Repeat = TRUE ;
-        Size = MAP_APPFONT ( 36 , 12 ) ;
-        Spin = TRUE ;
-        TabStop = TRUE ;
-    };
-    FixedText TXT_DISTANCE
-    {
-        Left = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 76 ) ;
-        Size = MAP_APPFONT ( 70 , 8 ) ;
-        Text [ en-US ] = "Space to text" ;
-    };
-    MetricField FLD_DISTANCE
-    {
-        HelpID = "sw:MetricField:TP_DROPCAPS:FLD_DISTANCE";
-        Border = TRUE ;
-        DecimalDigits = 2 ;
-        First = 0 ;
-        Last = 200 ;
-        Left = TRUE ;
-        Maximum = 200 ;
-        Minimum = 0 ;
-        Pos = MAP_APPFONT ( 89 , 74 ) ;
-        Repeat = TRUE ;
-        Size = MAP_APPFONT ( 36 , 12 ) ;
-        Spin = TRUE ;
-        SpinSize = 10 ;
-        TabStop = TRUE ;
-        Unit = FUNIT_CM ;
-    };
-    FixedLine FL_SETTINGS
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 125 , 8 ) ;
-        Text [ en-US ] = "Settings" ;
-    };
-    Control CNT_PICT
-    {
-        Border = TRUE ;
-        Pos = MAP_APPFONT ( 143 , 7 ) ;
-        Size = MAP_APPFONT ( 105 , 80 ) ;
-    };
-    FixedText TXT_TEXT
-    {
-        Left = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 102 ) ;
-        Size = MAP_APPFONT ( 125 , 8 ) ;
-        Text [ en-US ] = "~Text" ;
-    };
-    Edit EDT_TEXT
-    {
-        HelpID = "sw:Edit:TP_DROPCAPS:EDT_TEXT";
-        Border = TRUE ;
-        Left = TRUE ;
-        Pos = MAP_APPFONT ( 143 , 100 ) ;
-        Size = MAP_APPFONT ( 105 , 12 ) ;
-        TabStop = TRUE ;
-        MaxTextLength = 9 ;
-    };
-    FixedText TXT_TEMPLATE
-    {
-        Left = TRUE ;
-        Pos = MAP_APPFONT ( 12 , 118 ) ;
-        Size = MAP_APPFONT ( 125 , 8 ) ;
-        Text [ en-US ] = "Character St~yle" ;
-    };
-    ListBox BOX_TEMPLATE
-    {
-        HelpID = "sw:ListBox:TP_DROPCAPS:BOX_TEMPLATE";
-        Border = TRUE ;
-        DropDown = TRUE ;
-        Pos = MAP_APPFONT ( 143 , 116 ) ;
-        Size = MAP_APPFONT ( 105 , 61 ) ;
-        TabStop = TRUE ;
-    };
-    FixedLine FL_CONTENT
-    {
-        Pos = MAP_APPFONT ( 6 , 89 ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Contents" ;
-    };
-};
+
  // ********************************************************************** EOF
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/inc/drpcps.hxx b/sw/source/ui/inc/drpcps.hxx
index c6784d4..9cc5d84 100644
--- a/sw/source/ui/inc/drpcps.hxx
+++ b/sw/source/ui/inc/drpcps.hxx
@@ -53,28 +53,29 @@
 class SwDropCapsPage : public SfxTabPage
 {
 friend class SwDropCapsPict;
+    // TODO: Work in progress
+    VclGrid*         m_pSwDropCapsGrid;
+    //FixedLine       aSettingsFL;
+    CheckBox*        m_pDropCapsBox;
+    CheckBox*        m_pWholeWordCB;
+    //FixedText       aSwitchText;
+    NumericField*    m_pDropCapsField;
+    //FixedText       aLinesText;
+    NumericField*    m_pLinesField;
+    //FixedText       aDistanceText;
+    MetricField*     m_pDistanceField;
 
-    FixedLine       aSettingsFL;
-    CheckBox        aDropCapsBox;
-    CheckBox        aWholeWordCB;
-    FixedText       aSwitchText;
-    NumericField    aDropCapsField;
-    FixedText       aLinesText;
-    NumericField    aLinesField;
-    FixedText       aDistanceText;
-    MetricField     aDistanceField;
+    VclFrame*        m_pContentFL;
+    FixedText*       m_pTextText;
+    Edit*            m_pTextEdit;
+    //FixedText       aTemplateText;
+    ListBox*         m_pTemplateBox;
 
-    FixedLine       aContentFL;
-    FixedText       aTextText;
-    Edit            aTextEdit;
-    FixedText       aTemplateText;
-    ListBox         aTemplateBox;
+    SwDropCapsPict   *pPict;
 
-    SwDropCapsPict  *pPict;
-
-    sal_Bool            bModified;
-    sal_Bool            bFormat;
-    sal_Bool            bHtmlMode;
+    sal_Bool          bModified;
+    sal_Bool          bFormat;
+    sal_Bool          bHtmlMode;
 
     SwWrtShell &rSh;
 
@@ -101,6 +102,9 @@
     virtual void Reset      (const SfxItemSet &rSet);
 
     void    SetFormat(sal_Bool bSet){bFormat = bSet;}
+protected:
+    void aSwitchText(sal_Bool bChecked);
+    //void SW_RES(int arg1);
 };
 
 #endif
diff --git a/sw/uiconfig/swriter/ui/dropcapspage.ui b/sw/uiconfig/swriter/ui/dropcapspage.ui
new file mode 100644
index 0000000..50f7e42
--- /dev/null
+++ b/sw/uiconfig/swriter/ui/dropcapspage.ui
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <!-- interface-requires LibreOffice 1.0 -->
+  <object class="GtkAdjustment" id="adjustmentFLD_DISTANCE">
+    <property name="upper">200</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentFLD_DROPCAPS">
+    <property name="lower">1</property>
+    <property name="upper">9</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustmentFLD_LINES">
+    <property name="lower">2</property>
+    <property name="upper">9</property>
+    <property name="value">2</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkGrid" id="DropCapPage">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="hexpand">True</property>
+    <property name="border_width">6</property>
+    <property name="row_spacing">12</property>
+    <property name="column_spacing">6</property>
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkFrame" id="frame1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">none</property>
+            <child>
+              <object class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="top_padding">6</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkGrid" id="grid2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">12</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="GtkCheckButton" id="checkCB_SWITCH">
+                        <property name="label" translatable="yes">_Display drop caps</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="checkCB_WORD">
+                        <property name="label" translatable="yes">_Whole word</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelFT_DROPCAPS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">Number of _characters:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">spinFLD_DROPCAPS</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="labelTXT_LINES">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Lines:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">spinFLD_LINES</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">0</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="labelTXT_DISTANCE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Space to text:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">spinFLD_DISTANCE:0cm</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="GtkSpinButton" id="spinFLD_DROPCAPS">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentFLD_DROPCAPS</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">2</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="spinFLD_LINES">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentFLD_LINES</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">3</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="spinFLD_DISTANCE:0cm">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="adjustment">adjustmentFLD_DISTANCE</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">4</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="labelFL_SETTING">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Settings</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="frameFL_CONTENT">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">none</property>
+            <child>
+              <object class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="top_padding">6</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkGrid" id="grid1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="row_spacing">12</property>
+                    <property name="column_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="labelTXT_TEXT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Text:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">entryEDT_TEXT</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="labelTXT_TEMPLATE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Character st_yle:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">comboBOX_TEMPLATE</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="GtkEntry" id="entryEDT_TEXT">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="invisible_char">•</property>
+                        <property name="invisible_char_set">True</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">0</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="comboBOX_TEMPLATE">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="top_attach">1</property>
+                        <property name="width">1</property>
+                        <property name="height">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="labelFL_CONTENT">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Contents</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </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="swuilo-SwDropCapsPict" id="drawingareaWN_EXAMPLE">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+      </object>
+      <packing>
+        <property name="left_attach">1</property>
+        <property name="top_attach">0</property>
+        <property name="width">1</property>
+        <property name="height">1</property>
+      </packing>
+    </child>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroup1">
+    <widgets>
+      <widget name="checkCB_SWITCH"/>
+      <widget name="checkCB_WORD"/>
+      <widget name="labelFT_DROPCAPS"/>
+      <widget name="labelTXT_LINES"/>
+      <widget name="labelTXT_DISTANCE"/>
+      <widget name="labelTXT_TEXT"/>
+      <widget name="labelTXT_TEMPLATE"/>
+    </widgets>
+  </object>
+  <object class="GtkSizeGroup" id="sizegroup2">
+    <widgets>
+      <widget name="spinFLD_DROPCAPS"/>
+      <widget name="spinFLD_LINES"/>
+      <widget name="spinFLD_DISTANCE:0cm"/>
+      <widget name="entryEDT_TEXT"/>
+      <widget name="comboBOX_TEMPLATE"/>
+    </widgets>
+  </object>
+</interface>

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

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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.