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/2115

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/15/2115/1

Widget for asian typography

Change-Id: I70535593c3e06caca48ae8bc8b9476ae09210df8
---
M cui/source/inc/paragrph.hxx
M cui/source/tabpages/paragrph.cxx
M cui/source/tabpages/paragrph.hrc
M cui/source/tabpages/paragrph.src
4 files changed, 23 insertions(+), 72 deletions(-)



diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx
index ae9904f..045a29d 100644
--- a/cui/source/inc/paragrph.hxx
+++ b/cui/source/inc/paragrph.hxx
@@ -278,17 +278,15 @@
 //--------------------------------------------------------------------------
 class SvxAsianTabPage : public SfxTabPage
 {
-    FixedLine       aOptionsFL;
 
-    TriStateBox     aForbiddenRulesCB;
-    TriStateBox     aHangingPunctCB;
-
-    TriStateBox     aScriptSpaceCB;
+    CheckBox*     m_pForbiddenRulesCB;
+    CheckBox*     m_pHangingPunctCB;
+    CheckBox*     m_pScriptSpaceCB;
 
     SvxAsianTabPage( Window* pParent, const SfxItemSet& rSet );
 
 #ifdef _SVX_PARAGRPH_CXX
-    DECL_LINK( ClickHdl_Impl, TriStateBox* );
+    DECL_LINK( ClickHdl_Impl, CheckBox* );
 #endif
 public:
     ~SvxAsianTabPage();
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index 693012c..5d72269 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -2221,19 +2221,17 @@
 }
 
 SvxAsianTabPage::SvxAsianTabPage( Window* pParent, const SfxItemSet& rSet ) :
-    SfxTabPage(pParent, CUI_RES( RID_SVXPAGE_PARA_ASIAN ), rSet),
-    aOptionsFL(         this, CUI_RES(FL_AS_OPTIONS       )),
-    aForbiddenRulesCB(  this, CUI_RES(CB_AS_FORBIDDEN     )),
-    aHangingPunctCB(    this, CUI_RES(CB_AS_HANG_PUNC     )),
-    aScriptSpaceCB(     this, CUI_RES(CB_AS_SCRIPT_SPACE    ))//,
+    SfxTabPage(pParent, "AsianTypography","cui/ui/asiantypography.ui", rSet)
 
 {
-    FreeResource();
+    get(m_pForbiddenRulesCB,"checkForbidList");
+    get(m_pHangingPunctCB,"checkHangPunct");
+    get(m_pScriptSpaceCB,"checkApplySpacing");
 
     Link aLink = LINK( this, SvxAsianTabPage, ClickHdl_Impl );
-    aHangingPunctCB.SetClickHdl( aLink );
-    aScriptSpaceCB.SetClickHdl( aLink );
-    aForbiddenRulesCB.SetClickHdl( aLink );
+    m_pHangingPunctCB->SetClickHdl( aLink );
+    m_pScriptSpaceCB->SetClickHdl( aLink );
+    m_pForbiddenRulesCB->SetClickHdl( aLink );
 
 }
 
@@ -2255,34 +2253,34 @@
     };
     return pRanges;
 }
-
+//FIXME: This crash in Calc, but works in Writer/Draw/Impress
 sal_Bool        SvxAsianTabPage::FillItemSet( SfxItemSet& rSet )
 {
     sal_Bool bRet = sal_False;
     SfxItemPool* pPool = rSet.GetPool();
-    if(aScriptSpaceCB.IsChecked() != aScriptSpaceCB.GetSavedValue())
+    if(m_pScriptSpaceCB->IsChecked() != m_pScriptSpaceCB->GetSavedValue())
     {
         SfxBoolItem* pNewItem = (SfxBoolItem*)rSet.Get(
             pPool->GetWhich(SID_ATTR_PARA_SCRIPTSPACE)).Clone();
-        pNewItem->SetValue(aScriptSpaceCB.IsChecked());
+        pNewItem->SetValue(m_pScriptSpaceCB->IsChecked());
         rSet.Put(*pNewItem);
         delete pNewItem;
         bRet = sal_True;
     }
-    if(aHangingPunctCB.IsChecked() != aHangingPunctCB.GetSavedValue())
+    if(m_pHangingPunctCB->IsChecked() != m_pHangingPunctCB->GetSavedValue())
     {
         SfxBoolItem* pNewItem = (SfxBoolItem*)rSet.Get(
             pPool->GetWhich(SID_ATTR_PARA_HANGPUNCTUATION)).Clone();
-        pNewItem->SetValue(aHangingPunctCB.IsChecked());
+        pNewItem->SetValue(m_pHangingPunctCB->IsChecked());
         rSet.Put(*pNewItem);
         delete pNewItem;
         bRet = sal_True;
     }
-    if(aForbiddenRulesCB.IsChecked() != aForbiddenRulesCB.GetSavedValue())
+    if(m_pForbiddenRulesCB->IsChecked() != m_pForbiddenRulesCB->GetSavedValue())
     {
         SfxBoolItem* pNewItem = (SfxBoolItem*)rSet.Get(
             pPool->GetWhich(SID_ATTR_PARA_FORBIDDEN_RULES)).Clone();
-        pNewItem->SetValue(aForbiddenRulesCB.IsChecked());
+        pNewItem->SetValue(m_pForbiddenRulesCB->IsChecked());
         rSet.Put(*pNewItem);
         delete pNewItem;
         bRet = sal_True;
@@ -2290,7 +2288,7 @@
     return bRet;
 }
 
-static void lcl_SetBox(const SfxItemSet& rSet, sal_uInt16 nSlotId, TriStateBox& rBox)
+static void lcl_SetBox(const SfxItemSet& rSet, sal_uInt16 nSlotId, CheckBox& rBox)
 {
     sal_uInt16 _nWhich = rSet.GetPool()->GetWhich(nSlotId);
     SfxItemState eState = rSet.GetItemState(_nWhich, sal_True);
@@ -2309,14 +2307,14 @@
 
 void SvxAsianTabPage::Reset( const SfxItemSet& rSet )
 {
-    lcl_SetBox(rSet, SID_ATTR_PARA_FORBIDDEN_RULES, aForbiddenRulesCB );
-    lcl_SetBox(rSet, SID_ATTR_PARA_HANGPUNCTUATION, aHangingPunctCB );
+    lcl_SetBox(rSet, SID_ATTR_PARA_FORBIDDEN_RULES, *m_pForbiddenRulesCB );
+    lcl_SetBox(rSet, SID_ATTR_PARA_HANGPUNCTUATION, *m_pHangingPunctCB );
 
     //character distance not yet available
-    lcl_SetBox(rSet, SID_ATTR_PARA_SCRIPTSPACE, aScriptSpaceCB );
+    lcl_SetBox(rSet, SID_ATTR_PARA_SCRIPTSPACE, *m_pScriptSpaceCB );
 }
 
-IMPL_LINK( SvxAsianTabPage, ClickHdl_Impl, TriStateBox*, pBox )
+IMPL_LINK( SvxAsianTabPage, ClickHdl_Impl, CheckBox*, pBox )
 {
     pBox->EnableTriState( sal_False );
     return 0;
diff --git a/cui/source/tabpages/paragrph.hrc b/cui/source/tabpages/paragrph.hrc
index cf44622..8377d75 100644
--- a/cui/source/tabpages/paragrph.hrc
+++ b/cui/source/tabpages/paragrph.hrc
@@ -100,14 +100,6 @@
 #define LB_TEXTDIRECTION                92
 
 
-//asian typography
-#define FL_AS_OPTIONS                   1
-#define CB_AS_HANG_PUNC                 2
-
-#define CB_AS_FORBIDDEN                 4
-
-#define CB_AS_SCRIPT_SPACE              7
-
 #define STR_EXAMPLE                     5010
 #define STR_PAGE_STYLE                  5011
 #endif
diff --git a/cui/source/tabpages/paragrph.src b/cui/source/tabpages/paragrph.src
index d27d636..5b3f14c 100644
--- a/cui/source/tabpages/paragrph.src
+++ b/cui/source/tabpages/paragrph.src
@@ -692,43 +692,6 @@
         Left = TRUE ;
     };
 };
-
-// Asian typography
-TabPage RID_SVXPAGE_PARA_ASIAN
-{
-    HelpId = HID_SVXPAGE_PARA_ASIAN ;
-    Hide = TRUE ;
-    Text [ en-US ] = "Asian Typography";
-    Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
-    FixedLine FL_AS_OPTIONS
-    {
-        Pos = MAP_APPFONT ( 6 , 3 ) ;
-        Size = MAP_APPFONT ( 248 , 8 ) ;
-        Text [ en-US ] = "Line change";
-    };
-    TriStateBox CB_AS_FORBIDDEN
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_PARA_ASIAN:CB_AS_FORBIDDEN";
-        Pos = MAP_APPFONT ( 12 , 14 ) ;
-        Size = MAP_APPFONT ( 242 , 10 ) ;
-        Text [ en-US ] = "Apply list of forbidden characters to the beginning and end of lines";
-    };
-    TriStateBox CB_AS_HANG_PUNC
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_PARA_ASIAN:CB_AS_HANG_PUNC";
-        Pos = MAP_APPFONT ( 12 , 28 ) ;
-        Size = MAP_APPFONT ( 242 , 10 ) ;
-        Text [ en-US ] = "Allow hanging punctuation";
-    };
-    TriStateBox CB_AS_SCRIPT_SPACE
-    {
-        HelpID = "cui:TriStateBox:RID_SVXPAGE_PARA_ASIAN:CB_AS_SCRIPT_SPACE";
-        Pos = MAP_APPFONT ( 12 , 42 ) ;
-        Size = MAP_APPFONT ( 242 , 10 ) ;
-        Text [ en-US ] = "Apply spacing between Asian, Latin and Complex text";
-    };
-};
-
 String STR_EXAMPLE
 {
     Text [ en-US ] = "Example" ;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I70535593c3e06caca48ae8bc8b9476ae09210df8
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Olivier Hallot <olivier.hallot@alta.org.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.