summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2011-10-05 17:31:01 -0500
committerNorbert Thiebaud <nthiebaud@gmail.com>2011-10-05 18:09:03 -0500
commitfe1f6d273c1d89e14eb4197bc2fab4c8bc45d7fe (patch)
tree87fc536975af2c11929afe38fd2f1427aebfeccd /oox
parentec294b77c0e9ac6202cce751f08aaf0f500fcf11 (diff)
Revert "custom shapes import improvements"
Diffstat (limited to 'oox')
-rw-r--r--oox/Library_oox.mk1
-rw-r--r--oox/inc/oox/drawingml/customshapeproperties.hxx17
-rw-r--r--oox/source/drawingml/customshapegeometry.cxx367
-rw-r--r--oox/source/drawingml/customshapeproperties.cxx1836
-rw-r--r--oox/source/drawingml/diagram/diagramlayoutatoms.cxx20
-rw-r--r--oox/source/drawingml/diagram/layoutnodecontext.cxx3
-rw-r--r--oox/source/drawingml/graphicshapecontext.cxx6
-rw-r--r--oox/source/drawingml/shape.cxx1
-rw-r--r--oox/source/helper/propertymap.cxx15
-rw-r--r--oox/source/token/tokens.txt8
10 files changed, 2101 insertions, 173 deletions
diff --git a/oox/Library_oox.mk b/oox/Library_oox.mk
index 8de35c9056ee..1a3dceefd71c 100644
--- a/oox/Library_oox.mk
+++ b/oox/Library_oox.mk
@@ -125,7 +125,6 @@ $(eval $(call gb_Library_add_exception_objects,oox,\
oox/source/drawingml/color \
oox/source/drawingml/connectorshapecontext \
oox/source/drawingml/customshapegeometry \
- oox/source/drawingml/customshapepresets \
oox/source/drawingml/customshapeproperties \
oox/source/drawingml/diagram/constraintlistcontext \
oox/source/drawingml/diagram/datamodelcontext \
diff --git a/oox/inc/oox/drawingml/customshapeproperties.hxx b/oox/inc/oox/drawingml/customshapeproperties.hxx
index 47098dd845dd..413b2a76357f 100644
--- a/oox/inc/oox/drawingml/customshapeproperties.hxx
+++ b/oox/inc/oox/drawingml/customshapeproperties.hxx
@@ -30,7 +30,6 @@
#define OOX_DRAWINGML_CUSTOMSHAPEPROPERTIES_HXX
#include <boost/shared_ptr.hpp>
-#include <boost/unordered_map.hpp>
#include <vector>
#include <map>
#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -124,9 +123,8 @@ public:
const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet,
const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > & xShape) const;
- sal_Int32 getShapePresetType() const { return mnShapePresetType; }
- ::rtl::OUString getShapePresetTypeName() const;
- void setShapePresetType( sal_Int32 nShapePresetType ){ mnShapePresetType = nShapePresetType; };
+ const rtl::OUString& getShapePresetType() const { return maShapePresetType; }
+ void setShapePresetType( const rtl::OUString& rShapePresetType ){ maShapePresetType = rShapePresetType; };
std::vector< CustomShapeGuide >& getAdjustmentGuideList(){ return maAdjustmentGuideList; };
std::vector< CustomShapeGuide >& getGuideList(){ return maGuideList; };
@@ -142,11 +140,9 @@ public:
static sal_Int32 SetCustomShapeGuideValue( std::vector< CustomShapeGuide >& rGuideList, const CustomShapeGuide& rGuide );
static sal_Int32 GetCustomShapeGuideValue( const std::vector< CustomShapeGuide >& rGuideList, const rtl::OUString& rFormulaName );
- sal_Int32 getArcNum() { return mnArcNum++; }
-
private:
- sal_Int32 mnShapePresetType;
+ rtl::OUString maShapePresetType;
std::vector< CustomShapeGuide > maAdjustmentGuideList;
std::vector< CustomShapeGuide > maGuideList;
std::vector< AdjustHandle > maAdjustHandleList;
@@ -158,13 +154,6 @@ private:
maSegments;
sal_Bool mbMirroredX;
sal_Bool mbMirroredY;
-
- typedef boost::unordered_map< sal_Int32, PropertyMap > PresetsMap;
-
- static PresetsMap maPresetsMap;
- static void initializePresetsMap();
-
- sal_Int32 mnArcNum;
};
} }
diff --git a/oox/source/drawingml/customshapegeometry.cxx b/oox/source/drawingml/customshapegeometry.cxx
index c99665631544..9c2218655a02 100644
--- a/oox/source/drawingml/customshapegeometry.cxx
+++ b/oox/source/drawingml/customshapegeometry.cxx
@@ -50,7 +50,6 @@ enum FormularCommand
FC_PLUSMINUS,
FC_PLUSDIV,
FC_IFELSE,
- FC_IFELSE1,
FC_ABS,
FC_AT2,
FC_CAT2,
@@ -77,7 +76,6 @@ static FormularCommandNameTable pFormularCommandNameTable[] =
{ "+-", FC_PLUSMINUS },
{ "+/", FC_PLUSDIV },
{ "ifelse", FC_IFELSE },
- { "?:", FC_IFELSE1 },
{ "abs", FC_ABS },
{ "at2", FC_AT2 },
{ "cat2", FC_CAT2 },
@@ -233,14 +231,14 @@ rtl::OUString GetFormulaParameter( const EnhancedCustomShapeParameter& rParamete
// ---------------------------------------------------------------------
-static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCustomShapeProperties, const::rtl::OUString& rValue, sal_Bool bNoSymbols = sal_True )
+static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCustomShapeProperties, const::rtl::OUString& rValue, sal_Bool bNoSymbols, bool bAbs = false )
{
com::sun::star::drawing::EnhancedCustomShapeParameter aRet;
if ( rValue.getLength() )
{
sal_Bool bConstant = sal_True;
- sal_Int32 nConstant = -1;
- sal_Int32 nIntVal = 0;
+ sal_Int32 nConstant = 0;
+ sal_Char nVal = 0;
// first check if its a constant value
switch( AttributeConversion::decodeToken( rValue ) )
@@ -250,7 +248,6 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
case XML_5cd8 : nConstant = 225 * 60000; break;
case XML_7cd8 : nConstant = 315 * 60000; break;
case XML_cd2 : nConstant = 180 * 60000; break;
- case XML_cd3 : nConstant = 120 * 60000; break;
case XML_cd4 : nConstant = 90 * 60000; break;
case XML_cd8 : nConstant = 45 * 60000; break;
@@ -272,26 +269,22 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
break;
- case XML_hd10 : // !!PASSTHROUGH INTENDED
- nIntVal += 2; // */ h 1.0 10.0
- case XML_hd8 : // */ h 1.0 8.0
- nIntVal += 2;
- case XML_hd6 : // */ h 1.0 6.0
- nIntVal++;
- case XML_hd5 : // */ h 1.0 5.0
- nIntVal++;
- case XML_hd4 : // */ h 1.0 4.0
- nIntVal++;
- case XML_hd3 : // */ h 1.0 3.0
- nIntVal++;
- case XML_hd2 : // */ h 1.0 2.0
- case XML_vc : // */ h 1.0 2.0
+ case XML_hd8 : // !!PASSTHROUGH INTENDED
+ nVal += 2; // */ h 1.0 8.0
+ case XML_hd6 : // */ h 1.0 6.0
+ nVal++;
+ case XML_hd5 : // */ h 1.0 5.0
+ nVal++;
+ case XML_hd4 : // */ h 1.0 4.0
+ nVal += 2;
+ case XML_hd2 : // */ h 1.0 2.0
+ case XML_vc : // */ h 1.0 2.0
{
- nIntVal += 2;
+ nVal += '2';
CustomShapeGuide aGuide;
aGuide.maName = rValue;
- aGuide.maFormula = CREATE_OUSTRING( "height/" ) + rtl::OUString::valueOf( nIntVal );
+ aGuide.maFormula = CREATE_OUSTRING( "height/" ) + rtl::OUString( nVal );
aRet.Value = Any( CustomShapeProperties::SetCustomShapeGuideValue( rCustomShapeProperties.getGuideList(), aGuide ) );
aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
@@ -326,23 +319,19 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
}
break;
- case XML_ssd32 : // */ ss 1.0 32.0
- nIntVal += 16;
- case XML_ssd16 : // */ ss 1.0 16.0
- nIntVal += 8;
- case XML_ssd8 : // */ ss 1.0 8.0
- nIntVal += 2;
- case XML_ssd6 : // */ ss 1.0 6.0
- nIntVal += 2;
- case XML_ssd4 : // */ ss 1.0 4.0
- nIntVal += 2;
- case XML_ssd2 : // */ ss 1.0 2.0
+ case XML_ssd8 : // */ ss 1.0 8.0
+ nVal += 2;
+ case XML_ssd6 : // */ ss 1.0 6.0
+ nVal += 2;
+ case XML_ssd4 : // */ ss 1.0 4.0
+ nVal += 2;
+ case XML_ssd2 : // */ ss 1.0 2.0
{
- nIntVal += '2';
+ nVal += '2';
CustomShapeGuide aGuide;
aGuide.maName = rValue;
- aGuide.maFormula = CREATE_OUSTRING( "min(width,height)/" ) + rtl::OUString::valueOf( nIntVal );
+ aGuide.maFormula = CREATE_OUSTRING( "min(width,height)/" ) + rtl::OUString( nVal );
aRet.Value = Any( CustomShapeProperties::SetCustomShapeGuideValue( rCustomShapeProperties.getGuideList(), aGuide ) );
aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
@@ -366,30 +355,24 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
}
break;
- case XML_wd32 : // */ w 1.0 32.0
- nIntVal += 20;
- case XML_wd12 : // */ w 1.0 12.0
- nIntVal += 2;
case XML_wd10 : // */ w 1.0 10.0
- nIntVal += 2;
+ nVal += 2;
case XML_wd8 : // */ w 1.0 8.0
- nIntVal += 2;
+ nVal += 2;
case XML_wd6 : // */ w 1.0 6.0
- nIntVal++;
+ nVal++;
case XML_wd5 : // */ w 1.0 5.0
- nIntVal++;
+ nVal++;
case XML_wd4 : // */ w 1.0 4.0
- nIntVal++;
- case XML_wd3 : // */ w 1.0 3.0
- nIntVal++;
+ nVal += 2;
case XML_hc : // */ w 1.0 2.0
case XML_wd2 : // */ w 1.0 2.0
{
- nIntVal += 2;
+ nVal += '2';
CustomShapeGuide aGuide;
aGuide.maName = rValue;
- aGuide.maFormula = CREATE_OUSTRING( "width/" ) + rtl::OUString::valueOf( nIntVal );
+ aGuide.maFormula = CREATE_OUSTRING( "width/" ) + rtl::OUString( nVal );
aRet.Value = Any( CustomShapeProperties::SetCustomShapeGuideValue( rCustomShapeProperties.getGuideList(), aGuide ) );
aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
@@ -402,7 +385,8 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
}
if ( bConstant )
{
- if (nConstant != -1) {
+ if ( nConstant )
+ {
aRet.Value = Any( nConstant );
aRet.Type = EnhancedCustomShapeParameterType::NORMAL;
}
@@ -417,7 +401,7 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
}
if ( ( n >= '0' ) && ( n <= '9' ) )
{ // seems to be a ST_Coordinate
- aRet.Value = Any( (sal_Int32)(rValue.toInt32() ) );
+ aRet.Value = Any( (sal_Int32)(rValue.toInt32() / ( bAbs ? 1 : 5 ) ) );
aRet.Type = EnhancedCustomShapeParameterType::NORMAL;
}
else
@@ -437,10 +421,7 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
aRet.Type = EnhancedCustomShapeParameterType::EQUATION;
}
else
- {
- OSL_TRACE("error: unhandled value '%s'", OUStringToOString( rValue, RTL_TEXTENCODING_ASCII_US ).getStr());
aRet.Value = Any( rValue );
- }
}
}
}
@@ -448,6 +429,19 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
return aRet;
}
+static EnhancedCustomShapeParameter GetAdjAngle( CustomShapeProperties& rCustomShapeProperties, const ::rtl::OUString& rValue )
+{
+ EnhancedCustomShapeParameter aAngle( GetAdjCoordinate( rCustomShapeProperties, rValue, sal_True ) );
+ if ( aAngle.Type == EnhancedCustomShapeParameterType::NORMAL )
+ {
+ sal_Int32 nValue = 0;
+ aAngle.Value >>= nValue;
+ double fValue = ( static_cast< double >( nValue ) / 60000.0 ) * 360.0;
+ aAngle.Value <<= fValue;
+ }
+ return aAngle;
+}
+
// ---------------------------------------------------------------------
// CT_GeomGuideList
class GeomGuideListContext : public ContextHandler
@@ -527,7 +521,6 @@ static rtl::OUString convertToOOEquation( CustomShapeProperties& rCustomShapePro
}
break;
case FC_IFELSE :
- case FC_IFELSE1 :
{
if ( nParameters == 3 )
aEquation = CREATE_OUSTRING( "if(" ) + sParameters[ 0 ] + CREATE_OUSTRING( "," )
@@ -543,22 +536,22 @@ static rtl::OUString convertToOOEquation( CustomShapeProperties& rCustomShapePro
case FC_AT2 :
{
if ( nParameters == 2 )
- aEquation = CREATE_OUSTRING( "(10800000*atan2(" ) + sParameters[ 1 ] + CREATE_OUSTRING( "," )
- + sParameters[ 0 ] + CREATE_OUSTRING( "))/pi" );
+ aEquation = CREATE_OUSTRING( "atan2(" ) + sParameters[ 0 ] + CREATE_OUSTRING( "," )
+ + sParameters[ 1 ] + CREATE_OUSTRING( ")" );
}
break;
case FC_CAT2 :
{
if ( nParameters == 3 )
- aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*(cos(atan2(" ) +
- sParameters[ 2 ] + CREATE_OUSTRING( "," ) + sParameters[ 1 ] + CREATE_OUSTRING( ")))" );
+ aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*(cos(arctan(" ) +
+ sParameters[ 1 ] + CREATE_OUSTRING( "," ) + sParameters[ 2 ] + CREATE_OUSTRING( ")))" );
}
break;
case FC_COS :
{
if ( nParameters == 2 )
- aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*cos(pi*(" ) +
- sParameters[ 1 ] + CREATE_OUSTRING( ")/10800000)" );
+ aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*cos(" ) +
+ sParameters[ 1 ] + CREATE_OUSTRING( ")" );
}
break;
case FC_MAX :
@@ -596,15 +589,15 @@ static rtl::OUString convertToOOEquation( CustomShapeProperties& rCustomShapePro
case FC_SAT2 :
{
if ( nParameters == 3 )
- aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*(sin(atan2(" ) +
- sParameters[ 2 ] + CREATE_OUSTRING( "," ) + sParameters[ 1 ] + CREATE_OUSTRING( ")))" );
+ aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*(sin(arctan(" ) +
+ sParameters[ 1 ] + CREATE_OUSTRING( "," ) + sParameters[ 2 ] + CREATE_OUSTRING( ")))" );
}
break;
case FC_SIN :
{
if ( nParameters == 2 )
- aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*sin(pi*(" ) +
- sParameters[ 1 ] + CREATE_OUSTRING( ")/10800000)" );
+ aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*sin(" ) +
+ sParameters[ 1 ] + CREATE_OUSTRING( ")" );
}
break;
case FC_SQRT :
@@ -616,8 +609,8 @@ static rtl::OUString convertToOOEquation( CustomShapeProperties& rCustomShapePro
case FC_TAN :
{
if ( nParameters == 2 )
- aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*tan(pi*(" ) +
- sParameters[ 1 ] + CREATE_OUSTRING( ")/10800000)" );
+ aEquation = sParameters[ 0 ] + CREATE_OUSTRING( "*tan(" ) +
+ sParameters[ 1 ] + CREATE_OUSTRING( ")" );
}
break;
case FC_VAL :
@@ -664,8 +657,8 @@ public:
AdjPoint2DContext::AdjPoint2DContext( ContextHandler& rParent, const Reference< XFastAttributeList >& xAttribs, CustomShapeProperties& rCustomShapeProperties, EnhancedCustomShapeParameterPair& rAdjPoint2D )
: ContextHandler( rParent )
{
- rAdjPoint2D.First = GetAdjCoordinate( rCustomShapeProperties, xAttribs->getOptionalValue( XML_x ), sal_True );
- rAdjPoint2D.Second = GetAdjCoordinate( rCustomShapeProperties, xAttribs->getOptionalValue( XML_y ), sal_True );
+ rAdjPoint2D.First = GetAdjCoordinate( rCustomShapeProperties, xAttribs->getOptionalValue( XML_x ), sal_True, true );
+ rAdjPoint2D.Second = GetAdjCoordinate( rCustomShapeProperties, xAttribs->getOptionalValue( XML_y ), sal_True, true );
}
// ---------------------------------------------------------------------
@@ -760,11 +753,11 @@ PolarAdjustHandleContext::PolarAdjustHandleContext( ContextHandler& rParent, con
}
if ( aAttribs.hasAttribute( XML_minAng ) )
{
- mrAdjustHandle.min2 = GetAdjCoordinate( mrCustomShapeProperties, aAttribs.getString( XML_minAng, aEmptyDefault ) );
+ mrAdjustHandle.min2 = GetAdjAngle( mrCustomShapeProperties, aAttribs.getString( XML_minAng, aEmptyDefault ) );
}
if ( aAttribs.hasAttribute( XML_maxAng ) )
{
- mrAdjustHandle.max2 = GetAdjCoordinate( mrCustomShapeProperties, aAttribs.getString( XML_maxAng, aEmptyDefault ) );
+ mrAdjustHandle.max2 = GetAdjAngle( mrCustomShapeProperties, aAttribs.getString( XML_maxAng, aEmptyDefault ) );
}
}
@@ -832,7 +825,7 @@ ConnectionSiteContext::ConnectionSiteContext( ContextHandler& rParent, const Ref
, mrConnectionSite( rConnectionSite )
, mrCustomShapeProperties( rCustomShapeProperties )
{
- mrConnectionSite.ang = GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_ang ) );
+ mrConnectionSite.ang = GetAdjAngle( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_ang ) );
}
Reference< XFastContextHandler > ConnectionSiteContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& xAttribs ) throw (SAXException, RuntimeException)
@@ -1065,43 +1058,28 @@ Reference< XFastContextHandler > Path2DContext::createFastChildContext( sal_Int3
break;
case A_TOKEN( arcTo ) : // CT_Path2DArcTo
{
- if ( !mrSegments.empty() && ( mrSegments.back().Command == EnhancedCustomShapeSegmentCommand::ARCANGLETO ) )
+ if ( !mrSegments.empty() && ( mrSegments.back().Command == EnhancedCustomShapeSegmentCommand::ARCTO ) )
mrSegments.back().Count++;
else
{
EnhancedCustomShapeSegment aSegment;
- aSegment.Command = EnhancedCustomShapeSegmentCommand::ARCANGLETO;
+ aSegment.Command = EnhancedCustomShapeSegmentCommand::ARCTO;
aSegment.Count = 1;
mrSegments.push_back( aSegment );
}
-
- EnhancedCustomShapeParameterPair aScale;
- EnhancedCustomShapeParameterPair aAngles;
-
- aScale.First = GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_wR ), sal_True );
- aScale.Second = GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_hR ), sal_True );
-
- CustomShapeGuide aGuide;
- sal_Int32 nArcNum = mrCustomShapeProperties.getArcNum();
-
- // start angle
- aGuide.maName = CREATE_OUSTRING("arctosa") + rtl::OUString::valueOf( nArcNum );
- aGuide.maFormula = CREATE_OUSTRING( "(")
- + GetFormulaParameter( GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_stAng ) ) )
- + CREATE_OUSTRING( ")/60000.0" );
- aAngles.First.Value = Any( CustomShapeProperties::SetCustomShapeGuideValue( mrCustomShapeProperties.getGuideList(), aGuide ) );
- aAngles.First.Type = EnhancedCustomShapeParameterType::EQUATION;
-
- // swing angle
- aGuide.maName = CREATE_OUSTRING("arctosw") + rtl::OUString::valueOf( nArcNum );
- aGuide.maFormula = CREATE_OUSTRING( "(")
- + GetFormulaParameter( GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_swAng ) ) )
- + CREATE_OUSTRING( ")/60000.0" );
- aAngles.Second.Value = Any( CustomShapeProperties::SetCustomShapeGuideValue( mrCustomShapeProperties.getGuideList(), aGuide ) );
- aAngles.Second.Type = EnhancedCustomShapeParameterType::EQUATION;
-
- mrPath2D.parameter.push_back( aScale );
- mrPath2D.parameter.push_back( aAngles );
+ EnhancedCustomShapeParameter aWidth = GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_wR ), sal_True );
+ EnhancedCustomShapeParameter aHeight = GetAdjCoordinate( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_hR ), sal_True );
+ EnhancedCustomShapeParameter aStartAngle = GetAdjAngle( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_stAng ) );
+ EnhancedCustomShapeParameter swAngle = GetAdjAngle( mrCustomShapeProperties, xAttribs->getOptionalValue( XML_swAng ) );
+
+ EnhancedCustomShapeParameterPair aPt1; // TODO: conversion from (wr hr stAng swAng)
+ EnhancedCustomShapeParameterPair aPt2; // to (x1 y1 x2 y2 x3 y3 x y) needed
+ EnhancedCustomShapeParameterPair aPt3;
+ EnhancedCustomShapeParameterPair aPt;
+ mrPath2D.parameter.push_back( aPt1 );
+ mrPath2D.parameter.push_back( aPt2 );
+ mrPath2D.parameter.push_back( aPt3 );
+ mrPath2D.parameter.push_back( aPt );
}
break;
case A_TOKEN( quadBezTo ) :
@@ -1820,6 +1798,179 @@ OUString GetShapePresetType( sal_Int32 nType )
return sType;
}
+static OUString GetTextShapeType( sal_Int32 nType )
+{
+ OSL_ASSERT((nType & sal_Int32(0xFFFF0000))==0);
+ OUString sType;
+ switch( nType )
+ {
+ case XML_textNoShape: // TODO
+ case XML_textPlain: {
+ static const OUString sTextPlain = CREATE_OUSTRING( "fontwork-plain-text" );
+ sType = sTextPlain;
+ } break;
+ case XML_textStop: {
+ static const OUString sTextStop = CREATE_OUSTRING( "fontwork-stop" );
+ sType = sTextStop;
+ } break;
+ case XML_textTriangle: {
+ static const OUString sTextTriangle = CREATE_OUSTRING( "fontwork-triangle-up" );
+ sType = sTextTriangle;
+ } break;
+ case XML_textTriangleInverted: {
+ static const OUString sTextTriangleInverted = CREATE_OUSTRING( "fontwork-triangle-down" );
+ sType = sTextTriangleInverted;
+ } break;
+ case XML_textChevron: {
+ static const OUString sTextChevron = CREATE_OUSTRING( "fontwork-chevron-up" );
+ sType = sTextChevron;
+ } break;
+ case XML_textChevronInverted: {
+ static const OUString sTextChevronInverted = CREATE_OUSTRING( "fontwork-chevron-down" );
+ sType = sTextChevronInverted;
+ } break;
+ case XML_textRingInside: {
+ static const OUString sTextRingInside = CREATE_OUSTRING( "mso-spt142" );
+ sType = sTextRingInside;
+ } break;
+ case XML_textRingOutside: {
+ static const OUString sTextRingOutside = CREATE_OUSTRING( "mso-spt143" );
+ sType = sTextRingOutside;
+ } break;
+ case XML_textArchUp: {
+ static const OUString sTextArchUp = CREATE_OUSTRING( "fontwork-arch-up-curve" );
+ sType = sTextArchUp;
+ } break;
+ case XML_textArchDown: {
+ static const OUString sTextArchDown = CREATE_OUSTRING( "fontwork-arch-down-curve" );
+ sType = sTextArchDown;
+ } break;
+ case XML_textCircle: {
+ static const OUString sTextCircle = CREATE_OUSTRING( "fontwork-circle-curve" );
+ sType = sTextCircle;
+ } break;
+ case XML_textButton: {
+ static const OUString sTextButton = CREATE_OUSTRING( "fontwork-open-circle-curve" );
+ sType = sTextButton;
+ } break;
+ case XML_textArchUpPour: {
+ static const OUString sTextArchUpPour = CREATE_OUSTRING( "fontwork-arch-up-pour" );
+ sType = sTextArchUpPour;
+ } break;
+ case XML_textArchDownPour: {
+ static const OUString sTextArchDownPour = CREATE_OUSTRING( "fontwork-arch-down-pour" );
+ sType = sTextArchDownPour;
+ } break;
+ case XML_textCirclePour: {
+ static const OUString sTextCirclePour = CREATE_OUSTRING( "fontwork-circle-pour" );
+ sType = sTextCirclePour;
+ } break;
+ case XML_textButtonPour: {
+ static const OUString sTextButtonPour = CREATE_OUSTRING( "fontwork-open-circle-pour" );
+ sType = sTextButtonPour;
+ } break;
+ case XML_textCurveUp: {
+ static const OUString sTextCurveUp = CREATE_OUSTRING( "fontwork-curve-up" );
+ sType = sTextCurveUp;
+ } break;
+ case XML_textCurveDown: {
+ static const OUString sTextCurveDown = CREATE_OUSTRING( "fontwork-curve-down" );
+ sType = sTextCurveDown;
+ } break;
+ case XML_textCanUp: {
+ static const OUString sTextCanUp = CREATE_OUSTRING( "mso-spt174" );
+ sType = sTextCanUp;
+ } break;
+ case XML_textCanDown: {
+ static const OUString sTextCanDown = CREATE_OUSTRING( "mso-spt175" );
+ sType = sTextCanDown;
+ } break;
+ case XML_textWave1: {
+ static const OUString sTextWave1 = CREATE_OUSTRING( "fontwork-wave" );
+ sType = sTextWave1;
+ } break;
+ case XML_textWave2: {
+ static const OUString sTextWave2 = CREATE_OUSTRING( "mso-spt157" );
+ sType = sTextWave2;
+ } break;
+ case XML_textDoubleWave1: {
+ static const OUString sTextDoubleWave1 = CREATE_OUSTRING( "mso-spt158" );
+ sType = sTextDoubleWave1;
+ } break;
+ case XML_textWave4: {
+ static const OUString sTextWave4 = CREATE_OUSTRING( "mso-spt159" );
+ sType = sTextWave4;
+ } break;
+ case XML_textInflate: {
+ static const OUString sTextInflate = CREATE_OUSTRING( "fontwork-inflate" );
+ sType = sTextInflate;
+ } break;
+ case XML_textDeflate: {
+ static const OUString sTextDeflate = CREATE_OUSTRING( "mso-spt161" );
+ sType = sTextDeflate;
+ } break;
+ case XML_textInflateBottom: {
+ static const OUString sTextInflateBottom = CREATE_OUSTRING( "mso-spt162" );
+ sType = sTextInflateBottom;
+ } break;
+ case XML_textDeflateBottom: {
+ static const OUString sTextDeflateBottom = CREATE_OUSTRING( "mso-spt163" );
+ sType = sTextDeflateBottom;
+ } break;
+ case XML_textInflateTop: {
+ static const OUString sTextInflateTop = CREATE_OUSTRING( "mso-spt164" );
+ sType = sTextInflateTop;
+ } break;
+ case XML_textDeflateTop: {
+ static const OUString sTextDeflateTop = CREATE_OUSTRING( "mso-spt165" );
+ sType = sTextDeflateTop;
+ } break;
+ case XML_textDeflateInflate: {
+ static const OUString sTextDeflateInflate = CREATE_OUSTRING( "mso-spt166" );
+ sType = sTextDeflateInflate;
+ } break;
+ case XML_textDeflateInflateDeflate: {
+ static const OUString sTextDeflateInflateDeflate = CREATE_OUSTRING( "mso-spt167" );
+ sType = sTextDeflateInflateDeflate;
+ } break;
+ case XML_textFadeRight: {
+ static const OUString sTextFadeRight = CREATE_OUSTRING( "fontwork-fade-right" );
+ sType = sTextFadeRight;
+ } break;
+ case XML_textFadeLeft: {
+ static const OUString sTextFadeLeft = CREATE_OUSTRING( "fontwork-fade-left" );
+ sType = sTextFadeLeft;
+ } break;
+ case XML_textFadeUp: {
+ static const OUString sTextFadeUp = CREATE_OUSTRING( "fontwork-fade-up" );
+ sType = sTextFadeUp;
+ } break;
+ case XML_textFadeDown: {
+ static const OUString sTextFadeDown = CREATE_OUSTRING( "fontwork-fade-down" );
+ sType = sTextFadeDown;
+ } break;
+ case XML_textSlantUp: {
+ static const OUString sTextSlantUp = CREATE_OUSTRING( "fontwork-slant-up" );
+ sType = sTextSlantUp;
+ } break;
+ case XML_textSlantDown: {
+ static const OUString sTextSlantDown = CREATE_OUSTRING( "fontwork-slant-down" );
+ sType = sTextSlantDown;
+ } break;
+ case XML_textCascadeUp: {
+ static const OUString sTextCascadeUp = CREATE_OUSTRING( "fontwork-fade-up-and-right" );
+ sType = sTextCascadeUp;
+ } break;
+ case XML_textCascadeDown: {
+ static const OUString sTextCascadeDown = CREATE_OUSTRING( "fontwork-fade-up-and-left" );
+ sType = sTextCascadeDown;
+ } break;
+ default:
+ break;
+ }
+ return sType;
+}
+
// ---------------------------------------------------------------------
// CT_CustomGeometry2D
CustomShapeGeometryContext::CustomShapeGeometryContext( ContextHandler& rParent, const Reference< XFastAttributeList >& /* xAttribs */, CustomShapeProperties& rCustomShapeProperties )
@@ -1877,9 +2028,12 @@ PresetShapeGeometryContext::PresetShapeGeometryContext( ContextHandler& rParent,
: ContextHandler( rParent )
, mrCustomShapeProperties( rCustomShapeProperties )
{
+ OUString sShapeType;
sal_Int32 nShapeType = xAttribs->getOptionalValueToken( XML_prst, FastToken::DONTKNOW );
- OSL_ENSURE( nShapeType != FastToken::DONTKNOW, "oox::drawingml::CustomShapeCustomGeometryContext::CustomShapeCustomGeometryContext(), unknown shape type" );
- mrCustomShapeProperties.setShapePresetType( nShapeType );
+ if ( nShapeType != FastToken::DONTKNOW )
+ sShapeType = GetShapePresetType( nShapeType );
+ OSL_ENSURE( sShapeType.getLength(), "oox::drawingml::CustomShapeCustomGeometryContext::CustomShapeCustomGeometryContext(), unknown shape type" );
+ mrCustomShapeProperties.setShapePresetType( sShapeType );
}
Reference< XFastContextHandler > PresetShapeGeometryContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& ) throw (SAXException, RuntimeException)
@@ -1896,9 +2050,12 @@ PresetTextShapeContext::PresetTextShapeContext( ContextHandler& rParent, const R
: ContextHandler( rParent )
, mrCustomShapeProperties( rCustomShapeProperties )
{
+ OUString sShapeType;
sal_Int32 nShapeType = xAttribs->getOptionalValueToken( XML_prst, FastToken::DONTKNOW );
- OSL_ENSURE( nShapeType != FastToken::DONTKNOW, "oox::drawingml::CustomShapeCustomGeometryContext::CustomShapeCustomGeometryContext(), unknown shape type" );
- mrCustomShapeProperties.setShapePresetType( nShapeType );
+ if ( nShapeType != FastToken::DONTKNOW )
+ sShapeType = GetTextShapeType( nShapeType );
+ OSL_ENSURE( sShapeType.getLength(), "oox::drawingml::CustomShapeCustomGeometryContext::CustomShapeCustomGeometryContext(), unknown shape type" );
+ mrCustomShapeProperties.setShapePresetType( sShapeType );
}
Reference< XFastContextHandler > PresetTextShapeContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& ) throw (SAXException, RuntimeException)
diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx
index 68b05fea99d7..a10aa0dc4f7c 100644
--- a/oox/source/drawingml/customshapeproperties.cxx
+++ b/oox/source/drawingml/customshapeproperties.cxx
@@ -30,7 +30,6 @@
#include "oox/helper/helper.hxx"
#include "oox/helper/propertymap.hxx"
#include "oox/helper/propertyset.hxx"
-#include "oox/token/tokenmap.hxx"
#include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/beans/XMultiPropertySet.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -51,21 +50,14 @@ using namespace ::com::sun::star::drawing;
namespace oox { namespace drawingml {
CustomShapeProperties::CustomShapeProperties()
-: mnShapePresetType ( -1 )
-, mbMirroredX ( sal_False )
+: mbMirroredX ( sal_False )
, mbMirroredY ( sal_False )
-, mnArcNum ( 0 )
{
}
CustomShapeProperties::~CustomShapeProperties()
{
}
-::rtl::OUString CustomShapeProperties::getShapePresetTypeName() const
-{
- return StaticTokenMap::get().getUnicodeTokenName( mnShapePresetType );
-}
-
sal_Int32 CustomShapeProperties::SetCustomShapeGuideValue( std::vector< CustomShapeGuide >& rGuideList, const CustomShapeGuide& rGuide )
{
sal_uInt32 nIndex = 0;
@@ -99,27 +91,1823 @@ void CustomShapeProperties::apply( const CustomShapePropertiesPtr& /* rSourceCus
// not sure if this needs to be implemented
}
-CustomShapeProperties::PresetsMap CustomShapeProperties::maPresetsMap;
-
void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFilterBase */,
const Reference < XPropertySet >& xPropSet, const Reference < XShape > & xShape ) const
{
- if ( mnShapePresetType >= 0 )
+ if ( maShapePresetType.getLength() )
+ {
+ OSL_TRACE("preset: %s", USS(maShapePresetType));
+
+ static OUString sLeftRightArrow = CREATE_OUSTRING("left-right-arrow");
+ static OUString sRightArrow = CREATE_OUSTRING("right-arrow");
+ static OUString sStripedRightArrow = CREATE_OUSTRING("striped-right-arrow");
+ static OUString sWedgeRoundedRectCallout = CREATE_OUSTRING("round-rectangular-callout");
+
+if ( maShapePresetType.equals( sWedgeRoundedRectCallout ) ) {
+ PropertyMap aPropertyMap;
+
+ Sequence< EnhancedCustomShapeAdjustmentValue > aAdjSequence (3);
+ {
+ Any aAny ((sal_Int32) -4166);
+ aAdjSequence [0].Value = aAny;
+ }
+ {
+ Any aAny ((sal_Int32) 12500);
+ aAdjSequence [1].Value = aAny;
+ }
+ {
+ Any aAny ((sal_Int32) 3333);
+ aAdjSequence [2].Value = aAny;
+ }
+ aPropertyMap [PROP_AdjustmentValues] <<= aAdjSequence;
+
+ Sequence< OUString > aStringSequence (43);
+ aStringSequence[0] = CREATE_OUSTRING ("width*$0 /20000");
+ aStringSequence[1] = CREATE_OUSTRING ("height*$1 /20000");
+ aStringSequence[2] = CREATE_OUSTRING ("width/2");
+ aStringSequence[3] = CREATE_OUSTRING ("?2 +?0 -0");
+ aStringSequence[4] = CREATE_OUSTRING ("height/2");
+ aStringSequence[5] = CREATE_OUSTRING ("?4 +?1 -0");
+ aStringSequence[6] = CREATE_OUSTRING ("?0 *height/width");
+ aStringSequence[7] = CREATE_OUSTRING ("abs(?1 )");
+ aStringSequence[8] = CREATE_OUSTRING ("abs(?6 )");
+ aStringSequence[9] = CREATE_OUSTRING ("?7 +0-?8 ");
+ aStringSequence[10] = CREATE_OUSTRING ("");
+ aStringSequence[11] = CREATE_OUSTRING ("");
+ aStringSequence[12] = CREATE_OUSTRING ("width*?10 /2");
+ aStringSequence[13] = CREATE_OUSTRING ("width*?11 /2");
+ aStringSequence[14] = CREATE_OUSTRING ("");
+ aStringSequence[15] = CREATE_OUSTRING ("");
+ aStringSequence[16] = CREATE_OUSTRING ("height*?14 /2");
+ aStringSequence[17] = CREATE_OUSTRING ("height*?15 /2");
+ aStringSequence[18] = CREATE_OUSTRING ("");
+ aStringSequence[19] = CREATE_OUSTRING ("");
+ aStringSequence[20] = CREATE_OUSTRING ("");
+ aStringSequence[21] = CREATE_OUSTRING ("");
+ aStringSequence[22] = CREATE_OUSTRING ("");
+ aStringSequence[23] = CREATE_OUSTRING ("");
+ aStringSequence[24] = CREATE_OUSTRING ("");
+ aStringSequence[25] = CREATE_OUSTRING ("");
+ aStringSequence[26] = CREATE_OUSTRING ("");
+ aStringSequence[27] = CREATE_OUSTRING ("");
+ aStringSequence[28] = CREATE_OUSTRING ("");
+ aStringSequence[29] = CREATE_OUSTRING ("");
+ aStringSequence[30] = CREATE_OUSTRING ("");
+ aStringSequence[31] = CREATE_OUSTRING ("");
+ aStringSequence[32] = CREATE_OUSTRING ("");
+ aStringSequence[33] = CREATE_OUSTRING ("");
+ aStringSequence[34] = CREATE_OUSTRING ("min(width,height)");
+ aStringSequence[35] = CREATE_OUSTRING ("?34 *$2 /20000");
+ aStringSequence[36] = CREATE_OUSTRING ("width+0-?35 ");
+ aStringSequence[37] = CREATE_OUSTRING ("height+0-?35 ");
+ aStringSequence[38] = CREATE_OUSTRING ("?35 *5857/20000");
+ aStringSequence[39] = CREATE_OUSTRING ("width+0-?38 ");
+ aStringSequence[40] = CREATE_OUSTRING ("height+0-?38 ");
+ aStringSequence[41] = CREATE_OUSTRING ("height");
+ aStringSequence[42] = CREATE_OUSTRING ("width");
+ aPropertyMap [PROP_Equations] <<= aStringSequence;
+
+ Sequence< Sequence < PropertyValue > > aPropSequenceSequence (1);
+ {
+ Sequence< PropertyValue > aPropSequence (7);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 3);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeXMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 429496729);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeXMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) -429496729);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RangeYMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 429496729);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [3].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [4].Name = CREATE_OUSTRING ("RangeYMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) -429496729);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [4].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [5].Name = CREATE_OUSTRING ("RefX");
+ Any aAny ((sal_Int32) 0);
+ aPropSequence [5].Value = makeAny (aAny);
+ }
+ {
+ aPropSequence [6].Name = CREATE_OUSTRING ("RefY");
+ Any aAny ((sal_Int32) 1);
+ aPropSequence [6].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [0] = aPropSequence;
+ }
+ aPropertyMap [PROP_Handles] <<= aPropSequenceSequence;
+
+ aPropertyMap [PROP_MirroredX] <<= Any ((sal_Bool) sal_False);
+
+ aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
+
+ Sequence< PropertyValue > aPropSequence (2);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
+ Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (32);
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 35);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [0] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [1] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [2] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [3] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [4] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 12);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [5] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 21);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 29);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [6] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 13);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [7] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 36);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [8] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [9] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [10] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [11] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [12] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 42);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 16);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [13] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 23);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 31);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [14] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 42);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 17);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [15] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 42);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 37);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [16] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [17] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [18] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [19] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [20] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 13);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 41);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [21] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 25);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 33);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [22] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 12);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 41);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [23] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 35);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 41);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [24] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [25] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [26] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [27] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [28] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 17);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [29] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 19);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 27);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [30] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 16);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [31] = aParameterPair;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPairSeq);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("Segments");
+ Sequence< EnhancedCustomShapeSegment > aSegmentSeq (11);
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [0] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 10;
+ aSegment.Count = 1;
+ aSegmentSeq [1] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 4;
+ aSegmentSeq [2] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 10;
+ aSegment.Count = 1;
+ aSegmentSeq [3] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 4;
+ aSegmentSeq [4] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 10;
+ aSegment.Count = 1;
+ aSegmentSeq [5] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 4;
+ aSegmentSeq [6] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 10;
+ aSegment.Count = 1;
+ aSegmentSeq [7] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 3;
+ aSegmentSeq [8] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [9] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 5;
+ aSegment.Count = 0;
+ aSegmentSeq [10] = aSegment;
+ }
+ aPropSequence [1].Value = makeAny (aSegmentSeq);
+ }
+ aPropertyMap [PROP_Path] <<= aPropSequence;
+
+ awt::Rectangle aRectangle;
+ aRectangle.X = 0;
+ aRectangle.Y = 0;
+ aRectangle.Width = 4663800;
+ aRectangle.Height = 283680;
+ aPropertyMap [PROP_ViewBox] <<= aRectangle;
+
+ aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-wedge-round-rect-callout");
+
+ Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
+ PropertySet aPropSet( xPropSet );
+ aPropSet.setProperty( PROP_CustomShapeGeometry, aSeq );
+ OSL_TRACE("created ooxml preset for ooxml-wedge-round-rect-callout");
+ }
+ else if ( maShapePresetType.equals( sLeftRightArrow ) ) {
+ PropertyMap aPropertyMap;
+
+ Sequence< EnhancedCustomShapeAdjustmentValue > aAdjSequence (2);
+ {
+ Any aAny ((sal_Int32) 10000);
+ aAdjSequence [0].Value = aAny;
+ }
+ {
+ Any aAny ((sal_Int32) 10000);
+ aAdjSequence [1].Value = aAny;
+ }
+ aPropertyMap [PROP_AdjustmentValues] <<= aAdjSequence;
+
+ Sequence< OUString > aStringSequence (16);
+ aStringSequence[0] = CREATE_OUSTRING ("min(width,height)");
+ aStringSequence[1] = CREATE_OUSTRING ("10000*width/?0 ");
+ aStringSequence[2] = CREATE_OUSTRING ("if(0-$0 ,0,if(20000-$0 ,$0 ,20000))");
+ aStringSequence[3] = CREATE_OUSTRING ("if(0-$1 ,0,if(?1 -$1 ,$1 ,?1 ))");
+ aStringSequence[4] = CREATE_OUSTRING ("?0 *?3 /20000");
+ aStringSequence[5] = CREATE_OUSTRING ("width+0-?4 ");
+ aStringSequence[6] = CREATE_OUSTRING ("height*?2 /40000");
+ aStringSequence[7] = CREATE_OUSTRING ("height/2");
+ aStringSequence[8] = CREATE_OUSTRING ("?7 +0-?6 ");
+ aStringSequence[9] = CREATE_OUSTRING ("?7 +?6 -0");
+ aStringSequence[10] = CREATE_OUSTRING ("height/2");
+ aStringSequence[11] = CREATE_OUSTRING ("?8 *?4 /?10 ");
+ aStringSequence[12] = CREATE_OUSTRING ("?4 +0-?11 ");
+ aStringSequence[13] = CREATE_OUSTRING ("?5 +?11 -0");
+ aStringSequence[14] = CREATE_OUSTRING ("width");
+ aStringSequence[15] = CREATE_OUSTRING ("height");
+ aPropertyMap [PROP_Equations] <<= aStringSequence;
+
+ Sequence< Sequence < PropertyValue > > aPropSequenceSequence (2);
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeYMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 20000);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeYMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefY");
+ Any aAny ((sal_Int32) 0);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [0] = aPropSequence;
+ }
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeXMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 1);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeXMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefX");
+ Any aAny ((sal_Int32) 1);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [1] = aPropSequence;
+ }
+ aPropertyMap [PROP_Handles] <<= aPropSequenceSequence;
+
+ aPropertyMap [PROP_MirroredX] <<= Any ((sal_Bool) sal_False);
+
+ aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
+
+ Sequence< PropertyValue > aPropSequence (2);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
+ Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (10);
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 7);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [0] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [1] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [2] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [3] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [4] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 14);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 7);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [5] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 15);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [6] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [7] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [8] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 15);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [9] = aParameterPair;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPairSeq);
+ }
{
- OSL_TRACE("preset: %d", mnShapePresetType);
+ aPropSequence [1].Name = CREATE_OUSTRING ("Segments");
+ Sequence< EnhancedCustomShapeSegment > aSegmentSeq (4);
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [0] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 9;
+ aSegmentSeq [1] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [2] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 5;
+ aSegment.Count = 0;
+ aSegmentSeq [3] = aSegment;
+ }
+ aPropSequence [1].Value = makeAny (aSegmentSeq);
+ }
+ aPropertyMap [PROP_Path] <<= aPropSequence;
- if (maPresetsMap.empty())
- initializePresetsMap();
+ awt::Rectangle aRectangle;
+ aRectangle.X = 0;
+ aRectangle.Y = 0;
+ aRectangle.Width = 4663800;
+ aRectangle.Height = 283680;
+ aPropertyMap [PROP_ViewBox] <<= aRectangle;
- if (maPresetsMap.find(mnShapePresetType) != maPresetsMap.end()) {
- OSL_TRACE("found property map for preset: %s (%d)", USS(getShapePresetTypeName()), mnShapePresetType);
+ aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-left-right-arrow");
- Sequence< PropertyValue > aSeq = maPresetsMap[ mnShapePresetType ].makePropertyValueSequence();
+ Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
PropertySet aPropSet( xPropSet );
aPropSet.setProperty( PROP_CustomShapeGeometry, aSeq );
+ OSL_TRACE("created ooxml preset for ooxml-left-right-arrow");
+
+ } else if ( maShapePresetType.equals( sStripedRightArrow ) ) {
+ PropertyMap aPropertyMap;
+
+ Sequence< EnhancedCustomShapeAdjustmentValue > aAdjSequence (2);
+ {
+ Any aAny ((sal_Int32) 10000);
+ aAdjSequence [0].Value = aAny;
+ }
+ {
+ Any aAny ((sal_Int32) 10000);
+ aAdjSequence [1].Value = aAny;
+ }
+ aPropertyMap [PROP_AdjustmentValues] <<= aAdjSequence;
+
+ Sequence< OUString > aStringSequence (17);
+ aStringSequence[0] = CREATE_OUSTRING ("min(width,height)");
+ aStringSequence[1] = CREATE_OUSTRING ("16875*width/?0 ");
+ aStringSequence[2] = CREATE_OUSTRING ("if(0-$0 ,0,if(20000-$0 ,$0 ,20000))");
+ aStringSequence[3] = CREATE_OUSTRING ("if(0-$1 ,0,if(?1 -$1 ,$1 ,?1 ))");
+ aStringSequence[4] = CREATE_OUSTRING ("?0 *1/6");
+ aStringSequence[5] = CREATE_OUSTRING ("?0 *?3 /20000");
+ aStringSequence[6] = CREATE_OUSTRING ("width+0-?5 ");
+ aStringSequence[7] = CREATE_OUSTRING ("height*?2 /40000");
+ aStringSequence[8] = CREATE_OUSTRING ("height/2");
+ aStringSequence[9] = CREATE_OUSTRING ("?8 +0-?7 ");
+ aStringSequence[10] = CREATE_OUSTRING ("?8 +?7 -0");
+ aStringSequence[11] = CREATE_OUSTRING ("height/2");
+ aStringSequence[12] = CREATE_OUSTRING ("?7 *?5 /?11 ");
+ aStringSequence[13] = CREATE_OUSTRING ("width+0-?12 ");
+ aStringSequence[14] = CREATE_OUSTRING ("height");
+ aStringSequence[15] = CREATE_OUSTRING ("width");
+ aStringSequence[16] = CREATE_OUSTRING ("min(width,height)/8");
+ aPropertyMap [PROP_Equations] <<= aStringSequence;
+
+ Sequence< Sequence < PropertyValue > > aPropSequenceSequence (2);
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeYMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 20000);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeYMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefY");
+ Any aAny ((sal_Int32) 0);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [0] = aPropSequence;
+ }
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 6);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeXMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 1);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeXMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefX");
+ Any aAny ((sal_Int32) 1);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [1] = aPropSequence;
+ }
+ aPropertyMap [PROP_Handles] <<= aPropSequenceSequence;
+
+ aPropertyMap [PROP_MirroredX] <<= Any ((sal_Bool) sal_False);
+
+ aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
+
+ Sequence< PropertyValue > aPropSequence (2);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
+ Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (15);
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [0] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ OUString str = CREATE_OUSTRING ("ssd32");
+ aParameter.Value = makeAny (str);
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [1] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ OUString str = CREATE_OUSTRING ("ssd32");
+ aParameter.Value = makeAny (str);
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [2] = aParameterPair;
}
- else
{
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [3] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ OUString str = CREATE_OUSTRING ("ssd16");
+ aParameter.Value = makeAny (str);
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [4] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 16);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [5] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 16);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [6] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ OUString str = CREATE_OUSTRING ("ssd16");
+ aParameter.Value = makeAny (str);
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [7] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [8] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 6);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [9] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 6);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [10] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 15);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [11] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 6);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 14);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [12] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 6);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [13] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 4);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 10);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [14] = aParameterPair;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPairSeq);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("Segments");
+ Sequence< EnhancedCustomShapeSegment > aSegmentSeq (10);
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [0] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 3;
+ aSegmentSeq [1] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [2] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [3] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 3;
+ aSegmentSeq [4] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [5] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [6] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 6;
+ aSegmentSeq [7] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [8] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 5;
+ aSegment.Count = 0;
+ aSegmentSeq [9] = aSegment;
+ }
+ aPropSequence [1].Value = makeAny (aSegmentSeq);
+ }
+ aPropertyMap [PROP_Path] <<= aPropSequence;
+
+ awt::Rectangle aRectangle;
+ aRectangle.X = 0;
+ aRectangle.Y = 0;
+ aRectangle.Width = 4663800;
+ aRectangle.Height = 283680;
+ aPropertyMap [PROP_ViewBox] <<= aRectangle;
+
+ aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-striped-right-arrow");
+
+ Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
+ PropertySet aPropSet( xPropSet );
+ aPropSet.setProperty( PROP_CustomShapeGeometry, aSeq );
+ OSL_TRACE("created ooxml preset for ooxml-striped-right-arrow");
+
+ } else if ( maShapePresetType.equals( sRightArrow ) ) {
+ PropertyMap aPropertyMap;
+
+ Sequence< EnhancedCustomShapeAdjustmentValue > aAdjSequence (2);
+ {
+ Any aAny ((sal_Int32) 18000);
+ aAdjSequence [0].Value = aAny;
+ }
+ {
+ Any aAny ((sal_Int32) 10000);
+ aAdjSequence [1].Value = aAny;
+ }
+ aPropertyMap [PROP_AdjustmentValues] <<= aAdjSequence;
+
+ Sequence< OUString > aStringSequence (15);
+ aStringSequence[0] = CREATE_OUSTRING ("min(width,height)");
+ aStringSequence[1] = CREATE_OUSTRING ("20000*width/?0 ");
+ aStringSequence[2] = CREATE_OUSTRING ("if(0-$0 ,0,if(20000-$0 ,$0 ,20000))");
+ aStringSequence[3] = CREATE_OUSTRING ("if(0-$1 ,0,if(?1 -$1 ,$1 ,?1 ))");
+ aStringSequence[4] = CREATE_OUSTRING ("?0 *?3 /20000");
+ aStringSequence[5] = CREATE_OUSTRING ("width+0-?4 ");
+ aStringSequence[6] = CREATE_OUSTRING ("height*?2 /40000");
+ aStringSequence[7] = CREATE_OUSTRING ("height/2");
+ aStringSequence[8] = CREATE_OUSTRING ("?7 +0-?6 ");
+ aStringSequence[9] = CREATE_OUSTRING ("?7 +?6 -0");
+ aStringSequence[10] = CREATE_OUSTRING ("height/2");
+ aStringSequence[11] = CREATE_OUSTRING ("?8 *?4 /?10 ");
+ aStringSequence[12] = CREATE_OUSTRING ("?5 +?11 -0");
+ aStringSequence[13] = CREATE_OUSTRING ("height");
+ aStringSequence[14] = CREATE_OUSTRING ("width");
+ aPropertyMap [PROP_Equations] <<= aStringSequence;
+
+ Sequence< Sequence < PropertyValue > > aPropSequenceSequence (2);
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeYMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 20000);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeYMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefY");
+ Any aAny ((sal_Int32) 0);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [0] = aPropSequence;
+ }
+ {
+ Sequence< PropertyValue > aPropSequence (4);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Position");
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPair);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("RangeXMaximum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 1);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aPropSequence [1].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [2].Name = CREATE_OUSTRING ("RangeXMinimum");
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 0);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::NORMAL;
+ aPropSequence [2].Value = makeAny (aParameter);
+ }
+ {
+ aPropSequence [3].Name = CREATE_OUSTRING ("RefX");
+ Any aAny ((sal_Int32) 1);
+ aPropSequence [3].Value = makeAny (aAny);
+ }
+ aPropSequenceSequence [1] = aPropSequence;
+ }
+ aPropertyMap [PROP_Handles] <<= aPropSequenceSequence;
+
+ aPropertyMap [PROP_MirroredX] <<= Any ((sal_Bool) sal_False);
+
+ aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
+
+ Sequence< PropertyValue > aPropSequence (2);
+ {
+ aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
+ Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (7);
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [0] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 8);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [1] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [2] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 14);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 7);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [3] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 13);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [4] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 5);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [5] = aParameterPair;
+ }
+ {
+ EnhancedCustomShapeParameterPair aParameterPair;
+ {
+ EnhancedCustomShapeParameter aParameter;
+ aParameterPair.First = aParameter;
+ }
+ {
+ EnhancedCustomShapeParameter aParameter;
+ Any aAny ((sal_Int32) 9);
+ aParameter.Value = aAny;
+ aParameter.Type = EnhancedCustomShapeParameterType::EQUATION;
+ aParameterPair.Second = aParameter;
+ }
+ aParameterPairSeq [6] = aParameterPair;
+ }
+ aPropSequence [0].Value = makeAny (aParameterPairSeq);
+ }
+ {
+ aPropSequence [1].Name = CREATE_OUSTRING ("Segments");
+ Sequence< EnhancedCustomShapeSegment > aSegmentSeq (4);
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 1;
+ aSegment.Count = 1;
+ aSegmentSeq [0] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 2;
+ aSegment.Count = 6;
+ aSegmentSeq [1] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 4;
+ aSegment.Count = 0;
+ aSegmentSeq [2] = aSegment;
+ }
+ {
+ EnhancedCustomShapeSegment aSegment;
+ aSegment.Command = 5;
+ aSegment.Count = 0;
+ aSegmentSeq [3] = aSegment;
+ }
+ aPropSequence [1].Value = makeAny (aSegmentSeq);
+ }
+ aPropertyMap [PROP_Path] <<= aPropSequence;
+
+ awt::Rectangle aRectangle;
+ aRectangle.X = 0;
+ aRectangle.Y = 0;
+ aRectangle.Width = 1050480;
+ aRectangle.Height = 456840;
+ aPropertyMap [PROP_ViewBox] <<= aRectangle;
+
+
+ aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-right-arrow");
+ //aPropertyMap[ PROP_Type ] <<= CREATE_OUSTRING( "non-primitive" );
+
+ Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
+ PropertySet aPropSet( xPropSet );
+ aPropSet.setProperty( PROP_CustomShapeGeometry, aSeq );
+ OSL_TRACE("created ooxml preset");
+
+#ifdef DEBUG
+ aPropertyMap.dump();
+ aPropertyMap.dumpCode();
+#endif
+ } else {
//const uno::Reference < drawing::XShape > xShape( xPropSet, UNO_QUERY );
Reference< drawing::XEnhancedCustomShapeDefaulter > xDefaulter( xShape, UNO_QUERY );
if( xDefaulter.is() )
@@ -130,7 +1918,7 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
aPropertyMap[ PROP_MirroredY ] <<= Any( mbMirroredY );
Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
aPropSet.setProperty( PROP_CustomShapeGeometry, aSeq );
- xDefaulter->createCustomShapeDefaults( getShapePresetTypeName() );
+ xDefaulter->createCustomShapeDefaults( maShapePresetType );
}
}
@@ -176,9 +1964,9 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
xPropSet->setPropertyValue( sCustomShapeGeometry, Any( aGeoPropSeq ) );
}
}
- else if ( aGeoPropSeq[ i ].Name.equals( sType ) )
+ else if ( aGeoPropSeq[ i ].Name.equals( sType ) && !maShapePresetType.equals ( CREATE_OUSTRING ( "right-arrow" ) ) )
{
- aGeoPropSeq[ i ].Value <<= getShapePresetTypeName();
+ aGeoPropSeq[ i ].Value <<= maShapePresetType;
}
}
}
@@ -290,10 +2078,8 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
aPropertyMap[ PROP_Handles ] <<= aHandles;
#ifdef DEBUG
- //aPropertyMap.dump();
- OSL_TRACE("==cscode== begin");
+ aPropertyMap.dump();
aPropertyMap.dumpCode();
- OSL_TRACE("==cscode== end");
#endif
// converting the vector to a sequence
Sequence< PropertyValue > aSeq = aPropertyMap.makePropertyValueSequence();
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
index 16b9420edcf1..137453763d5b 100644
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
@@ -421,8 +421,9 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const Diagram& rDgm, sal_uI
rShape->getCustomShapeProperties() = aDataNode2->second->mpShape->getCustomShapeProperties();
rShape->setMasterTextListStyle( aDataNode2->second->mpShape->getMasterTextListStyle() );
- OSL_TRACE( "Custom shape with preset type %d added for layout node named \"%s\"",
- rShape->getCustomShapeProperties()->getShapePresetType(),
+ OSL_TRACE( "Custom shape with preset type %s added for layout node named \"%s\"",
+ OUSTRING_TO_CSTR(
+ rShape->getCustomShapeProperties()->getShapePresetType()),
OUSTRING_TO_CSTR( msName ) );
}
@@ -460,8 +461,9 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const Diagram& rDgm, sal_uI
}
else
{
- OSL_TRACE("ShapeCreationVisitor::visit: no data node name found while processing shape type %d for layout node named \"%s\"",
- rShape->getCustomShapeProperties()->getShapePresetType(),
+ OSL_TRACE("ShapeCreationVisitor::visit: no data node name found while processing shape type %s for layout node named \"%s\"",
+ OUSTRING_TO_CSTR(
+ rShape->getCustomShapeProperties()->getShapePresetType()),
OUSTRING_TO_CSTR( msName ) );
}
@@ -509,8 +511,9 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const Diagram& rDgm, sal_uI
}
else
{
- OSL_TRACE("ShapeCreationVisitor::visit: no text found while processing shape type %d for layout node named \"%s\"",
- rShape->getCustomShapeProperties()->getShapePresetType(),
+ OSL_TRACE("ShapeCreationVisitor::visit: no text found while processing shape type %s for layout node named \"%s\"",
+ OUSTRING_TO_CSTR(
+ rShape->getCustomShapeProperties()->getShapePresetType()),
OUSTRING_TO_CSTR( msName ) );
}
@@ -642,8 +645,9 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom)
ShapePtr pCurrShape(rAtom.getShape());
if( pCurrShape )
{
- OSL_TRACE("ShapeCreationVisitor::visit: processing shape type %d",
- pCurrShape->getCustomShapeProperties()->getShapePresetType() );
+ OSL_TRACE("ShapeCreationVisitor::visit: processing shape type %s",
+ OUSTRING_TO_CSTR(
+ pCurrShape->getCustomShapeProperties()->getShapePresetType()) );
// TODO(F3): cloned shape shares all properties by reference,
// don't change them!
diff --git a/oox/source/drawingml/diagram/layoutnodecontext.cxx b/oox/source/drawingml/diagram/layoutnodecontext.cxx
index f00b3ddf5ed0..b01b4a414313 100644
--- a/oox/source/drawingml/diagram/layoutnodecontext.cxx
+++ b/oox/source/drawingml/diagram/layoutnodecontext.cxx
@@ -306,7 +306,8 @@ LayoutNodeContext::createFastChildContext( ::sal_Int32 aElement,
pShape.reset( new Shape("com.sun.star.drawing.CustomShape") );
const sal_Int32 nType(xAttribs->getOptionalValueToken( XML_type, XML_obj ));
pShape->setSubType( nType );
- pShape->getCustomShapeProperties()->setShapePresetType( nType );
+ pShape->getCustomShapeProperties()->setShapePresetType(
+ GetShapePresetType( nType ) );
}
else
{
diff --git a/oox/source/drawingml/graphicshapecontext.cxx b/oox/source/drawingml/graphicshapecontext.cxx
index 5f7385a2d98d..e181fb7f01ca 100644
--- a/oox/source/drawingml/graphicshapecontext.cxx
+++ b/oox/source/drawingml/graphicshapecontext.cxx
@@ -84,7 +84,11 @@ Reference< XFastContextHandler > GraphicShapeContext::createFastChildContext( sa
CustomShapePropertiesPtr pCstmShpProps
(mpShapePtr->getCustomShapeProperties());
- pCstmShpProps->setShapePresetType( getBaseToken( aElementToken ) );
+ sal_uInt32 nType = getBaseToken( aElementToken );
+ OUString sType(GetShapePresetType(nType));
+
+ if (sType.getLength() > 0)
+ pCstmShpProps->setShapePresetType(sType);
}
if( !xRet.is() )
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index d7168233e865..07b3f5bcf550 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -528,7 +528,6 @@ Reference< XShape > Shape::createAndInsert(
mpCustomShapePropertiesPtr->setMirroredX( sal_True );
if ( mbFlipV )
mpCustomShapePropertiesPtr->setMirroredY( sal_True );
- OSL_TRACE("==cscode== shape name: '%s'", rtl::OUStringToOString(msName, RTL_TEXTENCODING_UTF8 ).getStr());
mpCustomShapePropertiesPtr->pushToPropSet( rFilterBase, xSet, mxShape );
}
diff --git a/oox/source/helper/propertymap.cxx b/oox/source/helper/propertymap.cxx
index ae2e495b90f0..2ac3b3fdfc4b 100644
--- a/oox/source/helper/propertymap.cxx
+++ b/oox/source/helper/propertymap.cxx
@@ -496,7 +496,7 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
if( value >>= strValue ) {
printLevel (level);
fprintf (stderr,"OUString str = CREATE_OUSTRING (\"%s\");\n", USS( strValue ) );
- return "Any (str)";
+ return "str";
} else if( value >>= strArray ) {
printLevel (level);
fprintf (stderr,"Sequence< OUString > aStringSequence (%"SAL_PRIdINT32");\n", strArray.getLength());
@@ -781,25 +781,22 @@ void PropertyMap::dumpCode( Reference< XPropertySet > rXPropSet )
Reference< XPropertySetInfo > info = rXPropSet->getPropertySetInfo ();
Sequence< Property > props = info->getProperties ();
const OUString sType = CREATE_OUSTRING( "Type" );
- const OUString sViewBox = CREATE_OUSTRING( "ViewBox" );
+
+ OSL_TRACE("dump props, len: %d", props.getLength ());
for (int i=0; i < props.getLength (); i++) {
// ignore Type, it is set elsewhere
- if (props[i].Name.equals (sType) || props[i].Name.equals (sViewBox))
+ if (props[i].Name.equals (sType))
continue;
OString name = OUStringToOString( props [i].Name, RTL_TEXTENCODING_UTF8);
int level = 1;
try {
+ const char* var = lclDumpAnyValueCode (rXPropSet->getPropertyValue (props [i].Name), level);
printLevel (level);
- fprintf (stderr, "{\n");
- const char* var = lclDumpAnyValueCode (rXPropSet->getPropertyValue (props [i].Name), level + 1);
- printLevel (level + 1);
- fprintf (stderr,"aPropertyMap [PROP_%s] <<= %s;\n", name.getStr(), var);
- printLevel (level);
- fprintf (stderr, "}\n");
+ fprintf (stderr,"aPropertyMap [PROP_%s] <<= %s;\n\n", name.getStr(), var);
} catch (const Exception& e) {
fprintf (stderr,"unable to get '%s' value\n", USS(props [i].Name));
}
diff --git a/oox/source/token/tokens.txt b/oox/source/token/tokens.txt
index 4f86a03b8f8a..c168532dfb74 100644
--- a/oox/source/token/tokens.txt
+++ b/oox/source/token/tokens.txt
@@ -1072,7 +1072,6 @@ ccw
ccwIn
ccwOut
cd2
-cd3
cd4
cd8
cell
@@ -2536,9 +2535,7 @@ hash
hashData
hashValue
hc
-hd10
hd2
-hd3
hd4
hd5
hd6
@@ -4787,9 +4784,7 @@ srcOrd
srcRect
srgbClr
ss
-ssd16
ssd2
-ssd32
ssd4
ssd6
ssd8
@@ -5567,10 +5562,7 @@ wavyDouble
wavyHeavy
wd
wd10
-wd12
wd2
-wd3
-wd32
wd4
wd5
wd6