2003-12-11 02:19:31 -06:00
/*************************************************************************
*
2008-04-10 16:02:34 -05:00
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER .
2003-12-11 02:19:31 -06:00
*
2010-02-12 08:01:35 -06:00
* Copyright 2000 , 2010 Oracle and / or its affiliates .
2003-12-11 02:19:31 -06:00
*
2008-04-10 16:02:34 -05:00
* OpenOffice . org - a multi - platform office productivity suite
2003-12-11 02:19:31 -06:00
*
2008-04-10 16:02:34 -05:00
* This file is part of OpenOffice . org .
2003-12-11 02:19:31 -06:00
*
2008-04-10 16:02:34 -05:00
* OpenOffice . org is free software : you can redistribute it and / or modify
* it under the terms of the GNU Lesser General Public License version 3
* only , as published by the Free Software Foundation .
2003-12-11 02:19:31 -06:00
*
2008-04-10 16:02:34 -05:00
* OpenOffice . org is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Lesser General Public License version 3 for more details
* ( a copy is included in the LICENSE file that accompanied this code ) .
2003-12-11 02:19:31 -06:00
*
2008-04-10 16:02:34 -05:00
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice . org . If not , see
* < http : //www.openoffice.org/license.html>
* for a copy of the LGPLv3 License .
2003-12-11 02:19:31 -06:00
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2006-09-17 07:22:12 -05:00
// MARKER(update_precomp.py): autogen include statement, do not remove
# include "precompiled_chart2.hxx"
2003-12-11 02:19:31 -06:00
# include "CharacterProperties.hxx"
2007-05-22 12:55:38 -05:00
# include "ContainerHelper.hxx"
2003-12-11 02:19:31 -06:00
# include "macros.hxx"
# include <com/sun/star/beans/PropertyAttribute.hpp>
# include <com/sun/star/style/XStyle.hpp>
# include <com/sun/star/awt/FontSlant.hpp>
# include <com/sun/star/lang/Locale.hpp>
# include <com/sun/star/awt/FontFamily.hpp>
# include <com/sun/star/awt/CharSet.hpp>
# include <com/sun/star/awt/FontPitch.hpp>
# include <com/sun/star/awt/FontUnderline.hpp>
# include <com/sun/star/awt/FontWeight.hpp>
# include <com/sun/star/awt/FontSlant.hpp>
# include <com/sun/star/style/CaseMap.hpp>
# include <com/sun/star/text/FontRelief.hpp>
# include <com/sun/star/text/FontEmphasis.hpp>
# include <com/sun/star/text/RubyAdjust.hpp>
2007-05-22 12:55:38 -05:00
# include <com/sun/star/awt/FontStrikeout.hpp>
2008-11-26 09:19:48 -06:00
# include <com/sun/star/text/WritingMode2.hpp>
2009-09-17 06:26:03 -05:00
# include <com/sun/star/i18n/ScriptType.hpp>
2007-05-22 12:55:38 -05:00
# include <comphelper/InlineContainer.hxx>
2003-12-11 02:19:31 -06:00
2009-09-17 06:26:03 -05:00
2008-04-04 05:00:12 -05:00
// header for struct SvtLinguConfig
# ifndef _SVTOOLS_LINGUCFG_HXX_
2009-10-06 00:38:24 -05:00
# include <unotools/lingucfg.hxx>
2008-04-04 05:00:12 -05:00
# endif
# ifndef INCLUDED_I18NPOOL_MSLANGID_HXX
# include <i18npool/mslangid.hxx>
# endif
# ifndef _SV_OUTDEV_HXX
# include <vcl/outdev.hxx>
# endif
2003-12-11 02:19:31 -06:00
using namespace : : com : : sun : : star ;
using : : com : : sun : : star : : beans : : Property ;
2007-05-22 12:55:38 -05:00
using : : rtl : : OUString ;
2003-12-11 02:19:31 -06:00
namespace chart
{
void CharacterProperties : : AddPropertiesToVector (
2007-05-22 12:55:38 -05:00
: : std : : vector < Property > & rOutProperties )
2003-12-11 02:19:31 -06:00
{
// CharacterProperties
rOutProperties . push_back (
Property ( C2U ( " CharFontName " ) ,
PROP_CHAR_FONT_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleName " ) ,
PROP_CHAR_FONT_STYLE_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
2007-07-25 02:55:28 -05:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 02:19:31 -06:00
// CharFontFamily (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamily " ) ,
PROP_CHAR_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSet (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSet " ) ,
PROP_CHAR_FONT_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitch (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitch " ) ,
PROP_CHAR_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharColor
rOutProperties . push_back (
Property ( C2U ( " CharColor " ) ,
PROP_CHAR_COLOR ,
: : getCppuType ( reinterpret_cast < const sal_Int32 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharBackColor
// rOutProperties.push_back(
// Property( C2U( "CharBackColor" ),
// PROP_CHAR_BACKGROUND_COLOR,
// ::getCppuType( reinterpret_cast< const sal_Int32 * >(0)),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT));
// CharEscapement
rOutProperties . push_back (
Property ( C2U ( " CharEscapement " ) ,
PROP_CHAR_ESCAPEMENT ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
2008-07-02 06:00:23 -05:00
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 02:19:31 -06:00
// CharHeight
rOutProperties . push_back (
Property ( C2U ( " CharHeight " ) ,
PROP_CHAR_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharUnderline (see awt.FontUnderline)
rOutProperties . push_back (
Property ( C2U ( " CharUnderline " ) ,
PROP_CHAR_UNDERLINE ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharUnderlineColor
rOutProperties . push_back (
Property ( C2U ( " CharUnderlineColor " ) ,
PROP_CHAR_UNDERLINE_COLOR ,
: : getCppuType ( reinterpret_cast < const sal_Int32 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
// CharUnderlineHasColor
rOutProperties . push_back (
Property ( C2U ( " CharUnderlineHasColor " ) ,
PROP_CHAR_UNDERLINE_HAS_COLOR ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWeight (see awt.FontWeight)
rOutProperties . push_back (
Property ( C2U ( " CharWeight " ) ,
PROP_CHAR_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPosture
rOutProperties . push_back (
Property ( C2U ( " CharPosture " ) ,
PROP_CHAR_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharAutoKerning " ) ,
PROP_CHAR_AUTO_KERNING ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
rOutProperties . push_back (
Property ( C2U ( " CharKerning " ) ,
PROP_CHAR_KERNING ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
// CharCaseMap (see style.CaseMap)
// rOutProperties.push_back(
// Property( C2U( "CharCaseMap" ),
// PROP_CHAR_CASE_MAPPING,
// ::getCppuType( reinterpret_cast< const sal_Int16 * >(0)),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// CharRotation
// rOutProperties.push_back(
// Property( C2U( "CharRotation" ),
// PROP_CHAR_ROTATION,
// ::getCppuType( reinterpret_cast< const sal_Int16 * >(0)),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// // CharScaleWidth
// rOutProperties.push_back(
// Property( C2U( "CharScaleWidth" ),
// PROP_CHAR_SCALE_WIDTH,
// ::getCppuType( reinterpret_cast< const sal_Int16 * >(0)),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// CharEscapementHeight
rOutProperties . push_back (
Property ( C2U ( " CharEscapementHeight " ) ,
PROP_CHAR_ESCAPEMENT_HEIGHT ,
: : getCppuType ( reinterpret_cast < const sal_Int8 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
2008-07-02 06:00:23 -05:00
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 02:19:31 -06:00
// CharCrossedOut
// rOutProperties.push_back(
// Property( C2U( "CharCrossedOut" ),
// PROP_CHAR_CROSSED_OUT,
// ::getBooleanCppuType(),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// CharStrikeout (see awt.FontStrikeout)
rOutProperties . push_back (
Property ( C2U ( " CharStrikeout " ) ,
PROP_CHAR_STRIKE_OUT ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWordMode
rOutProperties . push_back (
Property ( C2U ( " CharWordMode " ) ,
PROP_CHAR_WORD_MODE ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFlash
// rOutProperties.push_back(
// Property( C2U( "CharFlash" ),
// PROP_CHAR_FLASH,
// ::getBooleanCppuType(),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// CharLocale
rOutProperties . push_back (
Property ( C2U ( " CharLocale " ) ,
PROP_CHAR_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharShadowed
rOutProperties . push_back (
Property ( C2U ( " CharShadowed " ) ,
PROP_CHAR_SHADOWED ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharContoured
rOutProperties . push_back (
Property ( C2U ( " CharContoured " ) ,
PROP_CHAR_CONTOURED ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharRelief (see text.FontRelief)
rOutProperties . push_back (
Property ( C2U ( " CharRelief " ) ,
PROP_CHAR_RELIEF ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharEmphasize (see text.FontEmphasis)
rOutProperties . push_back (
Property ( C2U ( " CharEmphasis " ) ,
PROP_CHAR_EMPHASIS ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// // RubyText
// rOutProperties.push_back(
// Property( C2U( "RubyText" ),
// PROP_CHAR_RUBY_TEXT,
2007-05-22 12:55:38 -05:00
// ::getCppuType( reinterpret_cast< const OUString * >(0)),
2003-12-11 02:19:31 -06:00
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// // RubyAdjust (see text.RubyAdjust)
// rOutProperties.push_back(
// Property( C2U( "RubyAdjust" ),
// PROP_CHAR_RUBY_ADJUST,
// ::getCppuType( reinterpret_cast< const sal_Int16 * >(0)),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// // RubyCharStyleName
// rOutProperties.push_back(
// Property( C2U( "RubyStyleName" ),
// PROP_CHAR_RUBY_STYLE_NAME,
2007-05-22 12:55:38 -05:00
// ::getCppuType( reinterpret_cast< const OUString * >(0)),
2003-12-11 02:19:31 -06:00
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// // RubyIsAbove
// rOutProperties.push_back(
// Property( C2U( "RubyIsAbove" ),
// PROP_CHAR_RUBY_IS_ABOVE,
// ::getBooleanCppuType(),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// // CharNoHyphenation
// rOutProperties.push_back(
// Property( C2U( "InhibitHyphenation" ),
// PROP_CHAR_INHIBIT_HYPHENATION,
// ::getBooleanCppuType(),
// beans::PropertyAttribute::BOUND
// | beans::PropertyAttribute::MAYBEDEFAULT ));
// CharacterPropertiesAsian
// =====
// CharFontNameAsian
rOutProperties . push_back (
Property ( C2U ( " CharFontNameAsian " ) ,
PROP_CHAR_ASIAN_FONT_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontStyleNameAsian
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleNameAsian " ) ,
PROP_CHAR_ASIAN_FONT_STYLE_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
2007-07-25 02:55:28 -05:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 02:19:31 -06:00
// CharFontFamilyAsian (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamilyAsian " ) ,
PROP_CHAR_ASIAN_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSetAsian (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSetAsian " ) ,
PROP_CHAR_ASIAN_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitchAsian (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitchAsian " ) ,
PROP_CHAR_ASIAN_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharHeightAsian
rOutProperties . push_back (
Property ( C2U ( " CharHeightAsian " ) ,
PROP_CHAR_ASIAN_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWeightAsian
rOutProperties . push_back (
Property ( C2U ( " CharWeightAsian " ) ,
PROP_CHAR_ASIAN_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPostureAsian
rOutProperties . push_back (
Property ( C2U ( " CharPostureAsian " ) ,
PROP_CHAR_ASIAN_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharLocaleAsian
rOutProperties . push_back (
Property ( C2U ( " CharLocaleAsian " ) ,
PROP_CHAR_ASIAN_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharacterPropertiesComplex
// ===
// CharFontNameComplex
rOutProperties . push_back (
Property ( C2U ( " CharFontNameComplex " ) ,
PROP_CHAR_COMPLEX_FONT_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontStyleNameComplex
rOutProperties . push_back (
Property ( C2U ( " CharFontStyleNameComplex " ) ,
PROP_CHAR_COMPLEX_FONT_STYLE_NAME ,
2007-05-22 12:55:38 -05:00
: : getCppuType ( reinterpret_cast < const OUString * > ( 0 ) ) ,
2003-12-11 02:19:31 -06:00
beans : : PropertyAttribute : : BOUND
2007-07-25 02:55:28 -05:00
| beans : : PropertyAttribute : : MAYBEDEFAULT
| beans : : PropertyAttribute : : MAYBEVOID ) ) ;
2003-12-11 02:19:31 -06:00
// CharFontFamilyComplex (see awt.FontFamily)
rOutProperties . push_back (
Property ( C2U ( " CharFontFamilyComplex " ) ,
PROP_CHAR_COMPLEX_FONT_FAMILY ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontCharSetComplex (see awt.CharSet)
rOutProperties . push_back (
Property ( C2U ( " CharFontCharSetComplex " ) ,
PROP_CHAR_COMPLEX_CHAR_SET ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharFontPitchComplex (see awt.FontPitch)
rOutProperties . push_back (
Property ( C2U ( " CharFontPitchComplex " ) ,
PROP_CHAR_COMPLEX_FONT_PITCH ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharHeightComplex
rOutProperties . push_back (
Property ( C2U ( " CharHeightComplex " ) ,
PROP_CHAR_COMPLEX_CHAR_HEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharWeightComplex
rOutProperties . push_back (
Property ( C2U ( " CharWeightComplex " ) ,
PROP_CHAR_COMPLEX_WEIGHT ,
: : getCppuType ( reinterpret_cast < const float * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharPostureComplex
rOutProperties . push_back (
Property ( C2U ( " CharPostureComplex " ) ,
PROP_CHAR_COMPLEX_POSTURE ,
: : getCppuType ( reinterpret_cast < const awt : : FontSlant * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
// CharLocaleComplex
rOutProperties . push_back (
Property ( C2U ( " CharLocaleComplex " ) ,
PROP_CHAR_COMPLEX_LOCALE ,
: : getCppuType ( reinterpret_cast < const lang : : Locale * > ( 0 ) ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2008-11-26 09:19:48 -06:00
// Writing Mode left to right vs right to left
rOutProperties . push_back (
Property ( C2U ( " WritingMode " ) ,
PROP_WRITING_MODE ,
: : getCppuType ( reinterpret_cast < const sal_Int16 * > ( 0 ) ) , /*com::sun::star::text::WritingMode2*/
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2009-06-04 04:41:18 -05:00
rOutProperties . push_back (
Property ( C2U ( " ParaIsCharacterDistance " ) ,
PROP_PARA_IS_CHARACTER_DISTANCE ,
: : getBooleanCppuType ( ) ,
beans : : PropertyAttribute : : BOUND
| beans : : PropertyAttribute : : MAYBEDEFAULT ) ) ;
2003-12-11 02:19:31 -06:00
}
void CharacterProperties : : AddDefaultsToMap (
2007-05-22 12:55:38 -05:00
: : chart : : tPropertyValueMap & rOutMap )
2003-12-11 02:19:31 -06:00
{
2007-05-22 12:55:38 -05:00
const float fDefaultFontHeight = 13.0 ;
2008-04-04 05:00:12 -05:00
SvtLinguConfig aLinguConfig ;
2009-09-17 06:26:03 -05:00
lang : : Locale aDefaultLocale ;
2008-04-04 05:00:12 -05:00
aLinguConfig . GetProperty ( C2U ( " DefaultLocale " ) ) > > = aDefaultLocale ;
lang : : Locale aDefaultLocale_CJK ;
aLinguConfig . GetProperty ( C2U ( " DefaultLocale_CJK " ) ) > > = aDefaultLocale_CJK ;
lang : : Locale aDefaultLocale_CTL ;
aLinguConfig . GetProperty ( C2U ( " DefaultLocale_CTL " ) ) > > = aDefaultLocale_CTL ;
2009-09-17 06:26:03 -05:00
using namespace : : com : : sun : : star : : i18n : : ScriptType ;
LanguageType nLang ;
nLang = MsLangId : : resolveSystemLanguageByScriptType ( MsLangId : : convertLocaleToLanguage ( aDefaultLocale ) , LATIN ) ;
Font aFont = OutputDevice : : GetDefaultFont ( DEFAULTFONT_LATIN_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
nLang = MsLangId : : resolveSystemLanguageByScriptType ( MsLangId : : convertLocaleToLanguage ( aDefaultLocale_CJK ) , ASIAN ) ;
Font aFontCJK = OutputDevice : : GetDefaultFont ( DEFAULTFONT_CJK_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
nLang = MsLangId : : resolveSystemLanguageByScriptType ( MsLangId : : convertLocaleToLanguage ( aDefaultLocale_CTL ) , COMPLEX ) ;
Font aFontCTL = OutputDevice : : GetDefaultFont ( DEFAULTFONT_CTL_SPREADSHEET , nLang , DEFAULTFONT_FLAGS_ONLYONE , 0 ) ;
2008-04-04 05:00:12 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_NAME , OUString ( aFont . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_STYLE_NAME , OUString ( aFont . GetStyleName ( ) ) ) ;
2008-06-16 06:55:32 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_FAMILY , sal_Int16 ( aFont . GetFamily ( ) ) ) ; //awt::FontFamily::SWISS
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_CHAR_SET , sal_Int16 ( aFont . GetCharSet ( ) ) ) ; //use awt::CharSet::DONTKNOW instead of SYSTEM to avoid assertion issue 50249
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_FONT_PITCH , sal_Int16 ( aFont . GetPitch ( ) ) ) ; //awt::FontPitch::VARIABLE
2007-09-18 09:07:35 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int32 > ( rOutMap , PROP_CHAR_COLOR , - 1 ) ; //automatic color (COL_AUTO)
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_UNDERLINE , awt : : FontUnderline : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int32 > ( rOutMap , PROP_CHAR_UNDERLINE_COLOR , - 1 ) ; //automatic color (COL_AUTO)
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_UNDERLINE_HAS_COLOR , false ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_POSTURE , awt : : FontSlant_NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_AUTO_KERNING , true ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int16 > ( rOutMap , PROP_CHAR_KERNING , 0 ) ;
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_CASE_MAPPING, style::CaseMap::NONE );
// ::chart::PropertyHelper::setPropertyValueDefault< sal_Int16 >( rOutMap, PROP_CHAR_ROTATION, 0 );
// ::chart::PropertyHelper::setPropertyValueDefault< sal_Int16 >( rOutMap, PROP_CHAR_SCALE_WIDTH, 71 );
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_CROSSED_OUT, false );
: : chart : : PropertyHelper : : setPropertyValueDefault < sal_Int16 > ( rOutMap , PROP_CHAR_STRIKE_OUT , awt : : FontStrikeout : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_WORD_MODE , false ) ;
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_FLASH, false );
2008-04-04 05:00:12 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_LOCALE , aDefaultLocale ) ;
2007-09-18 09:07:35 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_SHADOWED , false ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_CONTOURED , false ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_RELIEF , text : : FontRelief : : NONE ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_EMPHASIS , text : : FontEmphasis : : NONE ) ;
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_RUBY_ADJUST, text::RubyAdjust_INDENT_BLOCK );
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_RUBY_STYLE_NAME, ?? );
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_RUBY_IS_ABOVE, true );
// ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_INHIBIT_HYPHENATION, false );
2003-12-11 02:19:31 -06:00
// Asian (com.sun.star.style.CharacterPropertiesAsian)
2007-09-18 09:07:35 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_POSTURE , awt : : FontSlant_NONE ) ;
2008-04-04 05:00:12 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_LOCALE , aDefaultLocale_CJK ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_NAME , OUString ( aFontCJK . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_STYLE_NAME , OUString ( aFontCJK . GetStyleName ( ) ) ) ;
2008-06-16 06:55:32 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_FAMILY , sal_Int16 ( aFontCJK . GetFamily ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_CHAR_SET , sal_Int16 ( aFontCJK . GetCharSet ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_ASIAN_FONT_PITCH , sal_Int16 ( aFontCJK . GetPitch ( ) ) ) ;
2003-12-11 02:19:31 -06:00
// Complex Text Layout (com.sun.star.style.CharacterPropertiesComplex)
2007-09-18 09:07:35 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_CHAR_HEIGHT , fDefaultFontHeight ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_WEIGHT , awt : : FontWeight : : NORMAL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_POSTURE , awt : : FontSlant_NONE ) ;
2008-04-04 05:00:12 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_LOCALE , aDefaultLocale_CTL ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_NAME , OUString ( aFontCTL . GetName ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_STYLE_NAME , OUString ( aFontCTL . GetStyleName ( ) ) ) ;
2008-06-16 06:55:32 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_FAMILY , sal_Int16 ( aFontCTL . GetFamily ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_CHAR_SET , sal_Int16 ( aFontCTL . GetCharSet ( ) ) ) ;
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_CHAR_COMPLEX_FONT_PITCH , sal_Int16 ( aFontCTL . GetPitch ( ) ) ) ;
2008-11-26 09:19:48 -06:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_WRITING_MODE , sal_Int16 ( com : : sun : : star : : text : : WritingMode2 : : PAGE ) ) ;
2009-06-04 04:41:18 -05:00
: : chart : : PropertyHelper : : setPropertyValueDefault ( rOutMap , PROP_PARA_IS_CHARACTER_DISTANCE , sal_True ) ;
2007-05-22 12:55:38 -05:00
}
bool CharacterProperties : : IsCharacterPropertyHandle ( sal_Int32 nHandle )
{
return ( FAST_PROPERTY_ID_START_CHAR_PROP < = nHandle & &
nHandle < CharacterProperties : : FAST_PROPERTY_ID_END_CHAR_PROP ) ;
}
// static
awt : : FontDescriptor CharacterProperties : : createFontDescriptorFromPropertySet (
const uno : : Reference < beans : : XMultiPropertySet > & xMultiPropSet )
{
awt : : FontDescriptor aResult ;
// Note: keep this sorted!
: : comphelper : : MakeVector < OUString > aPropNames
( C2U ( " CharFontCharSet " ) ) ; // CharSet
aPropNames
( C2U ( " CharFontFamily " ) ) // Family
( C2U ( " CharFontName " ) ) // Name
( C2U ( " CharFontPitch " ) ) // Pitch
( C2U ( " CharFontStyleName " ) ) // StyleName
( C2U ( " CharHeight " ) ) // Height
( C2U ( " CharPosture " ) ) // Slant
( C2U ( " CharStrikeout " ) ) // Strikeout
( C2U ( " CharUnderline " ) ) // Underline
( C2U ( " CharWeight " ) ) // Weight
( C2U ( " CharWordMode " ) ) // WordLineMode
;
uno : : Sequence < OUString > aPropNameSeq ( ContainerHelper : : ContainerToSequence ( aPropNames ) ) ;
uno : : Sequence < uno : : Any > aValues ( xMultiPropSet - > getPropertyValues ( aPropNameSeq ) ) ;
sal_Int32 i = 0 ;
// Note keep this sorted according to the list above (comments are the fieldnames)
aValues [ i + + ] > > = aResult . CharSet ;
aValues [ i + + ] > > = aResult . Family ;
aValues [ i + + ] > > = aResult . Name ;
aValues [ i + + ] > > = aResult . Pitch ;
aValues [ i + + ] > > = aResult . StyleName ;
2007-08-03 06:36:13 -05:00
float fCharHeight = 0 ;
2007-05-22 12:55:38 -05:00
aValues [ i + + ] > > = fCharHeight ;
aResult . Height = static_cast < sal_Int16 > ( fCharHeight ) ;
aValues [ i + + ] > > = aResult . Slant ;
aValues [ i + + ] > > = aResult . Strikeout ;
aValues [ i + + ] > > = aResult . Underline ;
aValues [ i + + ] > > = aResult . Weight ;
aValues [ i + + ] > > = aResult . WordLineMode ;
OSL_ASSERT ( i = = aValues . getLength ( ) ) ;
return aResult ;
2003-12-11 02:19:31 -06:00
}
} // namespace chart