diff options
author | Olivier Hallot <olivier.hallot@alta.org.br> | 2013-02-11 21:41:19 -0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-02-14 12:44:06 +0000 |
commit | 4b21195e883472d020e18332976c35ad01393da9 (patch) | |
tree | 3b9ed98a129c02c000d1619db0cbc1f25c8f0d15 /cui | |
parent | d242d9e1efc7ecd4f9980190bbc53af9630baac7 (diff) |
Widget for asian typography
Change-Id: I70535593c3e06caca48ae8bc8b9476ae09210df8
Diffstat (limited to 'cui')
-rw-r--r-- | cui/UI_cui.mk | 1 | ||||
-rw-r--r-- | cui/source/inc/paragrph.hxx | 10 | ||||
-rw-r--r-- | cui/source/tabpages/paragrph.cxx | 40 | ||||
-rw-r--r-- | cui/source/tabpages/paragrph.hrc | 8 | ||||
-rw-r--r-- | cui/source/tabpages/paragrph.src | 37 | ||||
-rw-r--r-- | cui/uiconfig/ui/asiantypography.ui | 83 |
6 files changed, 107 insertions, 72 deletions
diff --git a/cui/UI_cui.mk b/cui/UI_cui.mk index f4af2314be6f..5799a878f4e7 100644 --- a/cui/UI_cui.mk +++ b/cui/UI_cui.mk @@ -10,6 +10,7 @@ $(eval $(call gb_UI_UI,cui)) $(eval $(call gb_UI_add_uifiles,cui,\ + cui/uiconfig/ui/asiantypography \ cui/uiconfig/ui/backgroundpage \ cui/uiconfig/ui/borderpage \ cui/uiconfig/ui/charnamepage \ diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx index ae9904fedcbc..045a29d422ad 100644 --- a/cui/source/inc/paragrph.hxx +++ b/cui/source/inc/paragrph.hxx @@ -278,17 +278,15 @@ private: //-------------------------------------------------------------------------- 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 673e1dcbcac4..96753dd7cae8 100644 --- a/cui/source/tabpages/paragrph.cxx +++ b/cui/source/tabpages/paragrph.cxx @@ -2221,19 +2221,17 @@ void SvxExtParagraphTabPage::PageCreated(SfxAllItemSet aSet) } 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 @@ sal_uInt16* SvxAsianTabPage::GetRanges() }; 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 @@ sal_Bool SvxAsianTabPage::FillItemSet( SfxItemSet& rSet ) 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 @@ static void lcl_SetBox(const SfxItemSet& rSet, sal_uInt16 nSlotId, TriStateBox& 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 cf44622c76ee..8377d757bad7 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 d27d636c28a3..5b3f14cc8cb8 100644 --- a/cui/source/tabpages/paragrph.src +++ b/cui/source/tabpages/paragrph.src @@ -692,43 +692,6 @@ TabPage RID_SVXPAGE_EXT_PARAGRAPH 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" ; diff --git a/cui/uiconfig/ui/asiantypography.ui b/cui/uiconfig/ui/asiantypography.ui new file mode 100644 index 000000000000..eeeb7a432812 --- /dev/null +++ b/cui/uiconfig/ui/asiantypography.ui @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<interface> + <!-- interface-requires gtk+ 3.0 --> + <object class="GtkFrame" id="AsianTypography"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="border_width">6</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="left_padding">12</property> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkCheckButton" id="checkForbidList"> + <property name="label" translatable="yes">Apply list of forbidden characters to the beginning and end of lines</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="inconsistent">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="checkHangPunct"> + <property name="label" translatable="yes">Allow hanging punctuation</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="inconsistent">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkCheckButton" id="checkApplySpacing"> + <property name="label" translatable="yes">Apply spacing between Asian, Latin and Complex text</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="xalign">0</property> + <property name="inconsistent">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="labelLineChange"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Line change</property> + <attributes> + <attribute name="weight" value="bold"/> + </attributes> + </object> + </child> + </object> +</interface> |