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
- [PATCH] Widget for asian typography · Olivier Hallot (via Code Review)
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.