From e5d61932cb6c92954d808cf8d65a460ea19d5799 Mon Sep 17 00:00:00 2001 From: "Faisal M. Al-Otaibi" Date: Mon, 25 Jun 2012 09:27:16 +0300 Subject: fdo#42558 added Arabic Abjad and other known numberings to Page Numbering Change-Id: I3f62337d5824d59692af3e044141e5597d7e7d33 --- cui/source/tabpages/page.cxx | 78 ++++++++++++++++++++++++++++++++++++++++---- cui/source/tabpages/page.src | 28 ++++++++++++---- 2 files changed, 94 insertions(+), 12 deletions(-) (limited to 'cui/source/tabpages') diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx index b30d45d72e57..7e3babdafa3d 100644 --- a/cui/source/tabpages/page.cxx +++ b/cui/source/tabpages/page.cxx @@ -26,6 +26,10 @@ * ************************************************************************/ +#include +#include +#include +//------------------------------------------------------ #include #include #include @@ -69,6 +73,12 @@ #include #include +//Namespaces-------------------------------------------------------------- +using namespace com::sun::star::uno; +using namespace com::sun::star::text; +using namespace com::sun::star::style; +using rtl::OUString; + // static ---------------------------------------------------------------- static const long MINBODY = 284; // 0,5 cm rounded up in twips @@ -85,7 +95,6 @@ static sal_uInt16 pRanges[] = SID_SWREGISTER_MODE, 0 }; - // ------- Mapping page layout ------------------------------------------ sal_uInt16 aArr[] = @@ -361,6 +370,58 @@ SvxPageDescPage::SvxPageDescPage( Window* pParent, const SfxItemSet& rAttr ) : aPortraitBtn.SetAccessibleRelationMemberOf(&aOrientationFT); aLandscapeBtn.SetAccessibleRelationMemberOf(&aOrientationFT); + +// Get the CTL/Asian Language Numbering and added to list box + Reference lcl_GetNumberingProvider(); + Reference xDefNum = lcl_GetNumberingProvider(); + Reference xInfo(xDefNum, UNO_QUERY); + sal_Int16 nPos; + const sal_uInt16 nDontRemove = 0xffff; + std::vector< sal_uInt16> aRemove( aNumberFormatBox.GetEntryCount(), nDontRemove); + for (size_t i=0; i(i)); + if (nEntryData > NumberingType::CHARS_LOWER_LETTER_N) + aRemove[i] = nEntryData; + } + if(xInfo.is()) + { + Sequence aTypes = xInfo->getSupportedNumberingTypes( ); + const sal_Int16* pTypes = aTypes.getConstArray(); + for(sal_Int32 nType = 0; nType < aTypes.getLength(); nType++) + { + sal_Int16 nCurrent = pTypes[nType]; + if(nCurrent > NumberingType::CHARS_LOWER_LETTER_N) + { + sal_Bool bInsert = sal_True; + for(sal_uInt16 nEntry = 0; nEntry < aNumberFormatBox.GetEntryCount(); nEntry++) + { + sal_uInt16 nEntryData = (sal_uInt16)(sal_uLong)aNumberFormatBox.GetEntryData(nEntry); + if(nEntryData == (sal_uInt16) nCurrent) + { + bInsert = sal_False; + aRemove[nEntry] = nDontRemove; + break; + } + } + if(bInsert) + { + OUString aIdent = xInfo->getNumberingIdentifier( nCurrent ); + nPos = aNumberFormatBox.InsertEntry(aIdent); + aNumberFormatBox.SetEntryData(nPos,(void*)(sal_uLong)nCurrent); + } + } + } + } + for (size_t i=0; i(eNumType) ); + //adjust numeration type of the page style + //Get the Position of the saved NumType + for(int i=0; i ; - < "a, b, c, ..." ; Default ; > ; - < "I, II, III, ..." ; Default ; > ; - < "i, ii, iii, ..." ; Default ; > ; - < "1, 2, 3, ..." ; Default ; > ; - < "None" ; Default ; > ; + < "1, 2, 3, ..." ; 4/*SVX_NUM_ARABIC */; > ; + < "A, B, C, ..." ; 0/*SVX_NUM_CHARS_UPPER_LETTER */; > ; + < "a, b, c, ..." ; 1/*SVX_NUM_CHARS_LOWER_LETTER */; > ; + < "I, II, III, ..." ; 2/*SVX_NUM_ROMAN_UPPER */; > ; + < "i, ii, iii, ..." ; 3/*SVX_NUM_ROMAN_LOWER */; > ; + < "A, .., AA, .., AAA, ..." ; 9/*SVX_NUM_CHARS_UPPER_LETTER_N*/; > ; + < "a, .., aa, .., aaa, ..." ; 10/*SVX_NUM_CHARS_LOWER_LETTER_N*/; > ; + < "Native Numbering" ; 12 /*NATIVE_NUMBERING */; > ; + < "А, Б, .., Аа, Аб, ... (Bulgarian)" ; 38 /*CHARS_CYRILLIC_UPPER_LETTER_BG */; > ; + < "а, б, .., аа, аб, ... (Bulgarian)" ; 39 /*CHARS_CYRILLIC_LOWER_LETTER_BG */; > ; + < "А, Б, .., Аа, Бб, ... (Bulgarian)" ; 40 /*CHARS_CYRILLIC_UPPER_LETTER_N_BG */; > ; + < "а, б, .., аа, бб, ... (Bulgarian)" ; 41 /*CHARS_CYRILLIC_LOWER_LETTER_N_BG */; > ; + < "А, Б, .., Аа, Аб, ... (Russian)" ; 42 /*CHARS_CYRILLIC_UPPER_LETTER_RU */; > ; + < "а, б, .., аа, аб, ... (Russian)" ; 43 /*CHARS_CYRILLIC_LOWER_LETTER_RU */; > ; + < "А, Б, .., Аа, Бб, ... (Russian)" ; 44 /*CHARS_CYRILLIC_UPPER_LETTER_N_RU */; > ; + < "а, б, .., аа, бб, ... (Russian)" ; 45 /*CHARS_CYRILLIC_LOWER_LETTER_N_RU */; > ; + < "А, Б, .., Аа, Аб, ... (Serbian)" ; 48 /*CHARS_CYRILLIC_UPPER_LETTER_SR */; > ; + < "а, б, .., аа, аб, ... (Serbian)" ; 49 /*CHARS_CYRILLIC_LOWER_LETTER_SR */; > ; + < "А, Б, .., Аа, Бб, ... (Serbian)" ; 50 /*CHARS_CYRILLIC_UPPER_LETTER_N_SR */; > ; + < "а, б, .., аа, бб, ... (Serbian)" ; 51 /*CHARS_CYRILLIC_LOWER_LETTER_N_SR */; > ; + < "Α, Β, Γ, ... (Greek Upper Letter)"; 52 /*CHARS_GREEK_UPPER_LETTER */; > ; + < "α, β, γ, ... (Greek Lower Letter)"; 53 /*CHARS_GREEK_LOWER_LETTER */; > ; }; }; FixedText FT_TBL_ALIGN -- cgit v1.2.3