a3acf41195
2009-05-22 09:10:36 +0200 iha r272170 : #i102130# color of pies is not loaded correctly 2009-04-27 17:16:20 +0200 iha r271294 : #i24203# compiler problem 2009-04-27 16:43:21 +0200 iha r271292 : #i101281# missing API documentation for secondary axis title properties 2009-04-27 15:26:05 +0200 hde r271276 : #i100987 2009-04-27 15:24:42 +0200 hde r271273 : #i100987 2009-04-24 15:08:33 +0200 iha r271214 : #i100995# crash with some logarithmic scalings 2009-04-22 18:50:56 +0200 dr r271134 : #i82177# write out deleted point labels 2009-04-22 18:40:48 +0200 iha r271133 : #i101281# missing API documentation for secondary axis title properties 2009-04-22 16:39:42 +0200 dr r271128 : #i82177# extensions for bubble charts 2009-04-22 14:37:00 +0200 dr r271114 : #i82177# import/export data label type and separator 2009-04-22 14:36:24 +0200 dr r271113 : #i82177# import/export data label type and separator 2009-04-21 15:25:26 +0200 dr r271038 : #i82177# import data label type and separator from BIFF8 CHFR records 2009-04-21 14:37:16 +0200 dr r271037 : #i82177# dump BIFF8 chart future records 2009-04-20 17:44:27 +0200 iha r271002 : #i96898# reduce library exports 2009-04-20 13:01:13 +0200 iha r270975 : #i24203# rotate data labels - help ids 2009-04-20 11:40:33 +0200 dr r270969 : #i96600# export of axis scaling/positioning properties 2009-04-16 16:02:31 +0200 dr r270892 : #i69599# keep Y axis left in 3d charts 2009-04-15 18:16:46 +0200 dr r270859 : #i69599# import of axis position settings 2009-04-15 18:16:01 +0200 dr r270858 : #i69599# correct handling of logarithmic crossing axes 2009-04-14 16:27:48 +0200 dr r270794 : #i96599# handle auto axis position on logarithmic axes 2009-04-09 19:59:51 +0200 dr r270722 : #i96599# import axis crossing settings, fix import of logarithmic scaling settings 2009-04-09 18:26:00 +0200 iha r270720 : #i96898# reduce library exports 2009-04-09 15:17:04 +0200 iha r270710 : #i96898# reduce library exports 2009-04-09 10:50:14 +0200 dr r270682 : #i24203# import/export of data label rotation, fixed some other broken stuff too 2009-04-08 16:54:54 +0200 dr r270657 : #i24203# import rotation for data point labels 2009-04-06 18:19:17 +0200 iha r270571 : #i100876# Axis scaling settings dialog wrong after API usage (anys different from double type) 2009-04-06 15:57:05 +0200 iha r270567 : #i100105# #i58585# leftover -> 2009-04-06 15:55:48 +0200 iha r270564 : #i58585# leftover -> 2009-04-02 16:41:07 +0200 iha r270422 : #i99721# remove unused code 2009-04-02 14:29:03 +0200 iha r270407 : #i99721# remove unused code 2009-03-26 10:58:23 +0100 iha r270059 : #i96898# reduce library exports 2009-03-26 10:13:49 +0100 iha r270055 : #i96898# reduce library exports 2009-03-25 09:39:13 +0100 iha r269998 : CWS-TOOLING: rebase CWS chart37 to trunk@269781 (milestone: DEV300:m44) 2009-03-24 17:56:56 +0100 iha r269986 : #i96898# reduce library exports 2009-03-24 16:56:44 +0100 iha r269974 : #i99721# remove unused code 2009-03-24 16:48:48 +0100 iha r269970 : #i89731# remove unused string 2009-03-24 15:44:04 +0100 iha r269961 : remove unused code 2009-03-24 15:22:45 +0100 iha r269959 : remove unused code 2009-03-24 15:17:17 +0100 iha r269957 : remove unused code 2009-03-24 11:14:53 +0100 iha r269923 : #i24203# rotate data labels 2009-03-09 12:10:25 +0100 hde r269076 : #i99300# 2009-03-06 15:56:26 +0100 iha r269011 : #i93953# Source Format for secondary axis without data 2009-02-17 15:59:05 +0100 iha r268177 : avoid warning during build 2009-02-17 15:01:59 +0100 iha r268173 : avoid warning during build 2009-02-13 09:39:03 +0100 ufi r267693 : i96999 2009-02-11 15:12:35 +0100 iha r267604 : removed unused string 2009-02-11 14:00:29 +0100 iha r267600 : #i96999# Corrected wording from 'correlation coefficient' to 'coefficient of determination' 2009-02-11 10:56:45 +0100 iha r267584 : #i89731# typo in resource string 2009-02-11 10:01:29 +0100 iha r267582 : #i89031# compile error on asian windows systems 2009-02-10 16:15:16 +0100 iha r267552 : #i24203# rotate data labels 2009-02-04 18:00:33 +0100 iha r267395 : #i98893# don't export defaults to file 2009-02-04 15:48:15 +0100 iha r267390 : #i92128# asian typography for chart elements 2009-02-04 15:17:41 +0100 iha r267386 : #i92128# asian typography for chart elements 2009-01-30 14:41:10 +0100 iha r267197 : CWS-TOOLING: rebase CWS chart37 to trunk@267171 (milestone: DEV300:m41)
604 lines
29 KiB
C++
604 lines
29 KiB
C++
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: CharacterProperties.cxx,v $
|
|
* $Revision: 1.11.46.1 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* 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.
|
|
*
|
|
* 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).
|
|
*
|
|
* 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.
|
|
*
|
|
************************************************************************/
|
|
|
|
// MARKER(update_precomp.py): autogen include statement, do not remove
|
|
#include "precompiled_chart2.hxx"
|
|
#include "CharacterProperties.hxx"
|
|
#include "ContainerHelper.hxx"
|
|
#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>
|
|
#include <com/sun/star/awt/FontStrikeout.hpp>
|
|
#include <com/sun/star/text/WritingMode2.hpp>
|
|
|
|
#include <comphelper/InlineContainer.hxx>
|
|
|
|
// header for struct SvtLinguConfig
|
|
#ifndef _SVTOOLS_LINGUCFG_HXX_
|
|
#include <svtools/lingucfg.hxx>
|
|
#endif
|
|
#ifndef INCLUDED_I18NPOOL_MSLANGID_HXX
|
|
#include <i18npool/mslangid.hxx>
|
|
#endif
|
|
#ifndef _SV_OUTDEV_HXX
|
|
#include <vcl/outdev.hxx>
|
|
#endif
|
|
|
|
using namespace ::com::sun::star;
|
|
|
|
using ::com::sun::star::beans::Property;
|
|
|
|
using ::rtl::OUString;
|
|
|
|
namespace chart
|
|
{
|
|
|
|
void CharacterProperties::AddPropertiesToVector(
|
|
::std::vector< Property > & rOutProperties )
|
|
{
|
|
// CharacterProperties
|
|
rOutProperties.push_back(
|
|
Property( C2U( "CharFontName" ),
|
|
PROP_CHAR_FONT_NAME,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT ));
|
|
rOutProperties.push_back(
|
|
Property( C2U( "CharFontStyleName" ),
|
|
PROP_CHAR_FONT_STYLE_NAME,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT
|
|
| beans::PropertyAttribute::MAYBEVOID ));
|
|
// 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
|
|
| beans::PropertyAttribute::MAYBEVOID ));
|
|
// 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
|
|
| beans::PropertyAttribute::MAYBEVOID ));
|
|
|
|
// 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,
|
|
// ::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
// 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,
|
|
// ::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
// 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,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT ));
|
|
// CharFontStyleNameAsian
|
|
rOutProperties.push_back(
|
|
Property( C2U( "CharFontStyleNameAsian" ),
|
|
PROP_CHAR_ASIAN_FONT_STYLE_NAME,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT
|
|
| beans::PropertyAttribute::MAYBEVOID ));
|
|
// 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,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT ));
|
|
// CharFontStyleNameComplex
|
|
rOutProperties.push_back(
|
|
Property( C2U( "CharFontStyleNameComplex" ),
|
|
PROP_CHAR_COMPLEX_FONT_STYLE_NAME,
|
|
::getCppuType( reinterpret_cast< const OUString * >(0)),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT
|
|
| beans::PropertyAttribute::MAYBEVOID ));
|
|
// 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 ));
|
|
|
|
// 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 ));
|
|
|
|
rOutProperties.push_back(
|
|
Property( C2U( "ParaIsCharacterDistance" ),
|
|
PROP_PARA_IS_CHARACTER_DISTANCE,
|
|
::getBooleanCppuType(),
|
|
beans::PropertyAttribute::BOUND
|
|
| beans::PropertyAttribute::MAYBEDEFAULT ));
|
|
}
|
|
|
|
void CharacterProperties::AddDefaultsToMap(
|
|
::chart::tPropertyValueMap & rOutMap )
|
|
{
|
|
const float fDefaultFontHeight = 13.0;
|
|
|
|
SvtLinguConfig aLinguConfig;
|
|
lang::Locale aDefaultLocale( C2U( "en" ), C2U( "US" ), OUString() );
|
|
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;
|
|
|
|
Font aFont = OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale ), DEFAULTFONT_FLAGS_ONLYONE, 0 );
|
|
Font aFontCJK = OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale_CJK ), DEFAULTFONT_FLAGS_ONLYONE, 0 );
|
|
Font aFontCTL = OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale_CTL ), DEFAULTFONT_FLAGS_ONLYONE, 0 );
|
|
|
|
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_FONT_NAME, OUString( aFont.GetName() ) );
|
|
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_FONT_STYLE_NAME, OUString(aFont.GetStyleName()) );
|
|
::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
|
|
::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 );
|
|
|
|
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_LOCALE, aDefaultLocale );
|
|
::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 );
|
|
|
|
// Asian (com.sun.star.style.CharacterPropertiesAsian)
|
|
::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 );
|
|
::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()) );
|
|
::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()) );
|
|
|
|
// Complex Text Layout (com.sun.star.style.CharacterPropertiesComplex)
|
|
::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 );
|
|
::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()) );
|
|
::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()) );
|
|
|
|
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_WRITING_MODE, sal_Int16( com::sun::star::text::WritingMode2::PAGE ) );
|
|
::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_PARA_IS_CHARACTER_DISTANCE, sal_True );
|
|
}
|
|
|
|
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;
|
|
float fCharHeight = 0;
|
|
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;
|
|
}
|
|
|
|
} // namespace chart
|