Bugzilla 47412 - Fixed concurrency issue with EscherProperties.initProps()

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@787771 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Josh Micich 2009-06-23 18:06:18 +00:00
parent ce06581ad2
commit c71e498a11
2 changed files with 583 additions and 602 deletions

View File

@ -33,6 +33,7 @@
<changes> <changes>
<release version="3.5-beta7" date="2009-??-??"> <release version="3.5-beta7" date="2009-??-??">
<action dev="POI-DEVELOPERS" type="fix">47412 - Fixed concurrency issue with EscherProperties.initProps()</action>
<action dev="POI-DEVELOPERS" type="fix">47143 - Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles</action> <action dev="POI-DEVELOPERS" type="fix">47143 - Fixed OOM in HSSFWorkbook#getAllPictures when reading .xls files containing metafiles</action>
<action dev="POI-DEVELOPERS" type="add">Added implementation for ISNA()</action> <action dev="POI-DEVELOPERS" type="add">Added implementation for ISNA()</action>
<action dev="POI-DEVELOPERS" type="add">46793 - fixed SimpleShape#getLineWidth to handle default line width </action> <action dev="POI-DEVELOPERS" type="add">46793 - fixed SimpleShape#getLineWidth to handle default line width </action>

View File

@ -1,4 +1,3 @@
/* ==================================================================== /* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with contributor license agreements. See the NOTICE file distributed with
@ -27,8 +26,7 @@ import java.util.Map;
* *
* @author Glen Stampoultzis (glens at apache.org) * @author Glen Stampoultzis (glens at apache.org)
*/ */
public class EscherProperties public final class EscherProperties {
{
// Property constants // Property constants
public static final short TRANSFORM__ROTATION = 4; public static final short TRANSFORM__ROTATION = 4;
@ -306,320 +304,302 @@ public class EscherProperties
public static final short GROUPSHAPE__HIDDEN = 958; public static final short GROUPSHAPE__HIDDEN = 958;
public static final short GROUPSHAPE__PRINT = 959; public static final short GROUPSHAPE__PRINT = 959;
private static final Map<Short, EscherPropertyMetaData> properties = initProps();
private static Map properties; private static Map<Short, EscherPropertyMetaData> initProps() {
Map<Short, EscherPropertyMetaData> m = new HashMap<Short, EscherPropertyMetaData>();
private static void initProps() addProp(m, TRANSFORM__ROTATION, "transform.rotation");
{ addProp(m, PROTECTION__LOCKROTATION, "protection.lockrotation");
if ( properties == null ) addProp(m, PROTECTION__LOCKASPECTRATIO, "protection.lockaspectratio");
{ addProp(m, PROTECTION__LOCKPOSITION, "protection.lockposition");
properties = new HashMap(); addProp(m, PROTECTION__LOCKAGAINSTSELECT, "protection.lockagainstselect");
addProp( TRANSFORM__ROTATION, data( "transform.rotation" ) ); addProp(m, PROTECTION__LOCKCROPPING, "protection.lockcropping");
addProp( PROTECTION__LOCKROTATION , data( "protection.lockrotation" ) ); addProp(m, PROTECTION__LOCKVERTICES, "protection.lockvertices");
addProp( PROTECTION__LOCKASPECTRATIO , data( "protection.lockaspectratio" ) ); addProp(m, PROTECTION__LOCKTEXT, "protection.locktext");
addProp( PROTECTION__LOCKPOSITION , data( "protection.lockposition" ) ); addProp(m, PROTECTION__LOCKADJUSTHANDLES, "protection.lockadjusthandles");
addProp( PROTECTION__LOCKAGAINSTSELECT , data( "protection.lockagainstselect" ) ); addProp(m, PROTECTION__LOCKAGAINSTGROUPING, "protection.lockagainstgrouping", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( PROTECTION__LOCKCROPPING , data( "protection.lockcropping" ) ); addProp(m, TEXT__TEXTID, "text.textid");
addProp( PROTECTION__LOCKVERTICES , data( "protection.lockvertices" ) ); addProp(m, TEXT__TEXTLEFT, "text.textleft");
addProp( PROTECTION__LOCKTEXT , data( "protection.locktext" ) ); addProp(m, TEXT__TEXTTOP, "text.texttop");
addProp( PROTECTION__LOCKADJUSTHANDLES , data( "protection.lockadjusthandles" ) ); addProp(m, TEXT__TEXTRIGHT, "text.textright");
addProp( PROTECTION__LOCKAGAINSTGROUPING , data( "protection.lockagainstgrouping", EscherPropertyMetaData.TYPE_BOOLEAN ) ); addProp(m, TEXT__TEXTBOTTOM, "text.textbottom");
addProp( TEXT__TEXTID , data( "text.textid" ) ); addProp(m, TEXT__WRAPTEXT, "text.wraptext");
addProp( TEXT__TEXTLEFT , data( "text.textleft" ) ); addProp(m, TEXT__SCALETEXT, "text.scaletext");
addProp( TEXT__TEXTTOP , data( "text.texttop" ) ); addProp(m, TEXT__ANCHORTEXT, "text.anchortext");
addProp( TEXT__TEXTRIGHT , data( "text.textright" ) ); addProp(m, TEXT__TEXTFLOW, "text.textflow");
addProp( TEXT__TEXTBOTTOM , data( "text.textbottom" ) ); addProp(m, TEXT__FONTROTATION, "text.fontrotation");
addProp( TEXT__WRAPTEXT , data( "text.wraptext" ) ); addProp(m, TEXT__IDOFNEXTSHAPE, "text.idofnextshape");
addProp( TEXT__SCALETEXT , data( "text.scaletext" ) ); addProp(m, TEXT__BIDIR, "text.bidir");
addProp( TEXT__ANCHORTEXT , data( "text.anchortext" ) ); addProp(m, TEXT__SINGLECLICKSELECTS, "text.singleclickselects");
addProp( TEXT__TEXTFLOW , data( "text.textflow" ) ); addProp(m, TEXT__USEHOSTMARGINS, "text.usehostmargins");
addProp( TEXT__FONTROTATION , data( "text.fontrotation" ) ); addProp(m, TEXT__ROTATETEXTWITHSHAPE, "text.rotatetextwithshape");
addProp( TEXT__IDOFNEXTSHAPE , data( "text.idofnextshape" ) ); addProp(m, TEXT__SIZESHAPETOFITTEXT, "text.sizeshapetofittext");
addProp( TEXT__BIDIR , data( "text.bidir" ) ); addProp(m, TEXT__SIZE_TEXT_TO_FIT_SHAPE, "text.sizetexttofitshape", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( TEXT__SINGLECLICKSELECTS , data( "text.singleclickselects" ) ); addProp(m, GEOTEXT__UNICODE, "geotext.unicode");
addProp( TEXT__USEHOSTMARGINS , data( "text.usehostmargins" ) ); addProp(m, GEOTEXT__RTFTEXT, "geotext.rtftext");
addProp( TEXT__ROTATETEXTWITHSHAPE , data( "text.rotatetextwithshape" ) ); addProp(m, GEOTEXT__ALIGNMENTONCURVE, "geotext.alignmentoncurve");
addProp( TEXT__SIZESHAPETOFITTEXT , data( "text.sizeshapetofittext" ) ); addProp(m, GEOTEXT__DEFAULTPOINTSIZE, "geotext.defaultpointsize");
addProp( TEXT__SIZE_TEXT_TO_FIT_SHAPE, data( "text.sizetexttofitshape", EscherPropertyMetaData.TYPE_BOOLEAN ) ); addProp(m, GEOTEXT__TEXTSPACING, "geotext.textspacing");
addProp( GEOTEXT__UNICODE , data( "geotext.unicode" ) ); addProp(m, GEOTEXT__FONTFAMILYNAME, "geotext.fontfamilyname");
addProp( GEOTEXT__RTFTEXT , data( "geotext.rtftext" ) ); addProp(m, GEOTEXT__REVERSEROWORDER, "geotext.reverseroworder");
addProp( GEOTEXT__ALIGNMENTONCURVE , data( "geotext.alignmentoncurve" ) ); addProp(m, GEOTEXT__HASTEXTEFFECT, "geotext.hastexteffect");
addProp( GEOTEXT__DEFAULTPOINTSIZE , data( "geotext.defaultpointsize" ) ); addProp(m, GEOTEXT__ROTATECHARACTERS, "geotext.rotatecharacters");
addProp( GEOTEXT__TEXTSPACING , data( "geotext.textspacing" ) ); addProp(m, GEOTEXT__KERNCHARACTERS, "geotext.kerncharacters");
addProp( GEOTEXT__FONTFAMILYNAME , data( "geotext.fontfamilyname" ) ); addProp(m, GEOTEXT__TIGHTORTRACK, "geotext.tightortrack");
addProp( GEOTEXT__REVERSEROWORDER , data( "geotext.reverseroworder" ) ); addProp(m, GEOTEXT__STRETCHTOFITSHAPE, "geotext.stretchtofitshape");
addProp( GEOTEXT__HASTEXTEFFECT , data( "geotext.hastexteffect" ) ); addProp(m, GEOTEXT__CHARBOUNDINGBOX, "geotext.charboundingbox");
addProp( GEOTEXT__ROTATECHARACTERS , data( "geotext.rotatecharacters" ) ); addProp(m, GEOTEXT__SCALETEXTONPATH, "geotext.scaletextonpath");
addProp( GEOTEXT__KERNCHARACTERS , data( "geotext.kerncharacters" ) ); addProp(m, GEOTEXT__STRETCHCHARHEIGHT, "geotext.stretchcharheight");
addProp( GEOTEXT__TIGHTORTRACK , data( "geotext.tightortrack" ) ); addProp(m, GEOTEXT__NOMEASUREALONGPATH, "geotext.nomeasurealongpath");
addProp( GEOTEXT__STRETCHTOFITSHAPE , data( "geotext.stretchtofitshape" ) ); addProp(m, GEOTEXT__BOLDFONT, "geotext.boldfont");
addProp( GEOTEXT__CHARBOUNDINGBOX , data( "geotext.charboundingbox" ) ); addProp(m, GEOTEXT__ITALICFONT, "geotext.italicfont");
addProp( GEOTEXT__SCALETEXTONPATH , data( "geotext.scaletextonpath" ) ); addProp(m, GEOTEXT__UNDERLINEFONT, "geotext.underlinefont");
addProp( GEOTEXT__STRETCHCHARHEIGHT , data( "geotext.stretchcharheight" ) ); addProp(m, GEOTEXT__SHADOWFONT, "geotext.shadowfont");
addProp( GEOTEXT__NOMEASUREALONGPATH , data( "geotext.nomeasurealongpath" ) ); addProp(m, GEOTEXT__SMALLCAPSFONT, "geotext.smallcapsfont");
addProp( GEOTEXT__BOLDFONT , data( "geotext.boldfont" ) ); addProp(m, GEOTEXT__STRIKETHROUGHFONT, "geotext.strikethroughfont");
addProp( GEOTEXT__ITALICFONT , data( "geotext.italicfont" ) ); addProp(m, BLIP__CROPFROMTOP, "blip.cropfromtop");
addProp( GEOTEXT__UNDERLINEFONT , data( "geotext.underlinefont" ) ); addProp(m, BLIP__CROPFROMBOTTOM, "blip.cropfrombottom");
addProp( GEOTEXT__SHADOWFONT , data( "geotext.shadowfont" ) ); addProp(m, BLIP__CROPFROMLEFT, "blip.cropfromleft");
addProp( GEOTEXT__SMALLCAPSFONT , data( "geotext.smallcapsfont" ) ); addProp(m, BLIP__CROPFROMRIGHT, "blip.cropfromright");
addProp( GEOTEXT__STRIKETHROUGHFONT , data( "geotext.strikethroughfont" ) ); addProp(m, BLIP__BLIPTODISPLAY, "blip.bliptodisplay");
addProp( BLIP__CROPFROMTOP , data( "blip.cropfromtop" ) ); addProp(m, BLIP__BLIPFILENAME, "blip.blipfilename");
addProp( BLIP__CROPFROMBOTTOM , data( "blip.cropfrombottom" ) ); addProp(m, BLIP__BLIPFLAGS, "blip.blipflags");
addProp( BLIP__CROPFROMLEFT , data( "blip.cropfromleft" ) ); addProp(m, BLIP__TRANSPARENTCOLOR, "blip.transparentcolor");
addProp( BLIP__CROPFROMRIGHT , data( "blip.cropfromright" ) ); addProp(m, BLIP__CONTRASTSETTING, "blip.contrastsetting");
addProp( BLIP__BLIPTODISPLAY , data( "blip.bliptodisplay" ) ); addProp(m, BLIP__BRIGHTNESSSETTING, "blip.brightnesssetting");
addProp( BLIP__BLIPFILENAME , data( "blip.blipfilename" ) ); addProp(m, BLIP__GAMMA, "blip.gamma");
addProp( BLIP__BLIPFLAGS , data( "blip.blipflags" ) ); addProp(m, BLIP__PICTUREID, "blip.pictureid");
addProp( BLIP__TRANSPARENTCOLOR , data( "blip.transparentcolor" ) ); addProp(m, BLIP__DOUBLEMOD, "blip.doublemod");
addProp( BLIP__CONTRASTSETTING , data( "blip.contrastsetting" ) ); addProp(m, BLIP__PICTUREFILLMOD, "blip.picturefillmod");
addProp( BLIP__BRIGHTNESSSETTING , data( "blip.brightnesssetting" ) ); addProp(m, BLIP__PICTURELINE, "blip.pictureline");
addProp( BLIP__GAMMA , data( "blip.gamma" ) ); addProp(m, BLIP__PRINTBLIP, "blip.printblip");
addProp( BLIP__PICTUREID , data( "blip.pictureid" ) ); addProp(m, BLIP__PRINTBLIPFILENAME, "blip.printblipfilename");
addProp( BLIP__DOUBLEMOD , data( "blip.doublemod" ) ); addProp(m, BLIP__PRINTFLAGS, "blip.printflags");
addProp( BLIP__PICTUREFILLMOD , data( "blip.picturefillmod" ) ); addProp(m, BLIP__NOHITTESTPICTURE, "blip.nohittestpicture");
addProp( BLIP__PICTURELINE , data( "blip.pictureline" ) ); addProp(m, BLIP__PICTUREGRAY, "blip.picturegray");
addProp( BLIP__PRINTBLIP , data( "blip.printblip" ) ); addProp(m, BLIP__PICTUREBILEVEL, "blip.picturebilevel");
addProp( BLIP__PRINTBLIPFILENAME , data( "blip.printblipfilename" ) ); addProp(m, BLIP__PICTUREACTIVE, "blip.pictureactive");
addProp( BLIP__PRINTFLAGS , data( "blip.printflags" ) ); addProp(m, GEOMETRY__LEFT, "geometry.left");
addProp( BLIP__NOHITTESTPICTURE , data( "blip.nohittestpicture" ) ); addProp(m, GEOMETRY__TOP, "geometry.top");
addProp( BLIP__PICTUREGRAY , data( "blip.picturegray" ) ); addProp(m, GEOMETRY__RIGHT, "geometry.right");
addProp( BLIP__PICTUREBILEVEL , data( "blip.picturebilevel" ) ); addProp(m, GEOMETRY__BOTTOM, "geometry.bottom");
addProp( BLIP__PICTUREACTIVE , data( "blip.pictureactive" ) ); addProp(m, GEOMETRY__SHAPEPATH, "geometry.shapepath", EscherPropertyMetaData.TYPE_SHAPEPATH);
addProp( GEOMETRY__LEFT , data( "geometry.left" ) ); addProp(m, GEOMETRY__VERTICES, "geometry.vertices", EscherPropertyMetaData.TYPE_ARRAY);
addProp( GEOMETRY__TOP , data( "geometry.top" ) ); addProp(m, GEOMETRY__SEGMENTINFO, "geometry.segmentinfo", EscherPropertyMetaData.TYPE_ARRAY);
addProp( GEOMETRY__RIGHT , data( "geometry.right" ) ); addProp(m, GEOMETRY__ADJUSTVALUE, "geometry.adjustvalue");
addProp( GEOMETRY__BOTTOM , data( "geometry.bottom" ) ); addProp(m, GEOMETRY__ADJUST2VALUE, "geometry.adjust2value");
addProp( GEOMETRY__SHAPEPATH , data( "geometry.shapepath", EscherPropertyMetaData.TYPE_SHAPEPATH ) ); addProp(m, GEOMETRY__ADJUST3VALUE, "geometry.adjust3value");
addProp( GEOMETRY__VERTICES , data( "geometry.vertices" , EscherPropertyMetaData.TYPE_ARRAY ) ); addProp(m, GEOMETRY__ADJUST4VALUE, "geometry.adjust4value");
addProp( GEOMETRY__SEGMENTINFO , data( "geometry.segmentinfo", EscherPropertyMetaData.TYPE_ARRAY ) ); addProp(m, GEOMETRY__ADJUST5VALUE, "geometry.adjust5value");
addProp( GEOMETRY__ADJUSTVALUE , data( "geometry.adjustvalue" ) ); addProp(m, GEOMETRY__ADJUST6VALUE, "geometry.adjust6value");
addProp( GEOMETRY__ADJUST2VALUE , data( "geometry.adjust2value" ) ); addProp(m, GEOMETRY__ADJUST7VALUE, "geometry.adjust7value");
addProp( GEOMETRY__ADJUST3VALUE , data( "geometry.adjust3value" ) ); addProp(m, GEOMETRY__ADJUST8VALUE, "geometry.adjust8value");
addProp( GEOMETRY__ADJUST4VALUE , data( "geometry.adjust4value" ) ); addProp(m, GEOMETRY__ADJUST9VALUE, "geometry.adjust9value");
addProp( GEOMETRY__ADJUST5VALUE , data( "geometry.adjust5value" ) ); addProp(m, GEOMETRY__ADJUST10VALUE, "geometry.adjust10value");
addProp( GEOMETRY__ADJUST6VALUE , data( "geometry.adjust6value" ) ); addProp(m, GEOMETRY__SHADOWok, "geometry.shadowOK");
addProp( GEOMETRY__ADJUST7VALUE , data( "geometry.adjust7value" ) ); addProp(m, GEOMETRY__3DOK, "geometry.3dok");
addProp( GEOMETRY__ADJUST8VALUE , data( "geometry.adjust8value" ) ); addProp(m, GEOMETRY__LINEOK, "geometry.lineok");
addProp( GEOMETRY__ADJUST9VALUE , data( "geometry.adjust9value" ) ); addProp(m, GEOMETRY__GEOTEXTOK, "geometry.geotextok");
addProp( GEOMETRY__ADJUST10VALUE , data( "geometry.adjust10value" ) ); addProp(m, GEOMETRY__FILLSHADESHAPEOK, "geometry.fillshadeshapeok");
addProp( GEOMETRY__SHADOWok , data( "geometry.shadowOK" ) ); addProp(m, GEOMETRY__FILLOK, "geometry.fillok", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( GEOMETRY__3DOK , data( "geometry.3dok" ) ); addProp(m, FILL__FILLTYPE, "fill.filltype");
addProp( GEOMETRY__LINEOK , data( "geometry.lineok" ) ); addProp(m, FILL__FILLCOLOR, "fill.fillcolor", EscherPropertyMetaData.TYPE_RGB);
addProp( GEOMETRY__GEOTEXTOK , data( "geometry.geotextok" ) ); addProp(m, FILL__FILLOPACITY, "fill.fillopacity");
addProp( GEOMETRY__FILLSHADESHAPEOK , data( "geometry.fillshadeshapeok" ) ); addProp(m, FILL__FILLBACKCOLOR, "fill.fillbackcolor", EscherPropertyMetaData.TYPE_RGB);
addProp( GEOMETRY__FILLOK , data( "geometry.fillok", EscherPropertyMetaData.TYPE_BOOLEAN ) ); addProp(m, FILL__BACKOPACITY, "fill.backopacity");
addProp( FILL__FILLTYPE , data( "fill.filltype" ) ); addProp(m, FILL__CRMOD, "fill.crmod");
addProp( FILL__FILLCOLOR, data( "fill.fillcolor", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, FILL__PATTERNTEXTURE, "fill.patterntexture");
addProp( FILL__FILLOPACITY , data( "fill.fillopacity" ) ); addProp(m, FILL__BLIPFILENAME, "fill.blipfilename");
addProp( FILL__FILLBACKCOLOR , data( "fill.fillbackcolor", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, FILL__BLIPFLAGS, "fill.blipflags");
addProp( FILL__BACKOPACITY , data( "fill.backopacity" ) ); addProp(m, FILL__WIDTH, "fill.width");
addProp( FILL__CRMOD , data( "fill.crmod" ) ); addProp(m, FILL__HEIGHT, "fill.height");
addProp( FILL__PATTERNTEXTURE , data( "fill.patterntexture" ) ); addProp(m, FILL__ANGLE, "fill.angle");
addProp( FILL__BLIPFILENAME , data( "fill.blipfilename" ) ); addProp(m, FILL__FOCUS, "fill.focus");
addProp( FILL__BLIPFLAGS, data( "fill.blipflags" ) ); addProp(m, FILL__TOLEFT, "fill.toleft");
addProp( FILL__WIDTH , data( "fill.width" ) ); addProp(m, FILL__TOTOP, "fill.totop");
addProp( FILL__HEIGHT , data( "fill.height" ) ); addProp(m, FILL__TORIGHT, "fill.toright");
addProp( FILL__ANGLE , data( "fill.angle" ) ); addProp(m, FILL__TOBOTTOM, "fill.tobottom");
addProp( FILL__FOCUS , data( "fill.focus" ) ); addProp(m, FILL__RECTLEFT, "fill.rectleft");
addProp( FILL__TOLEFT , data( "fill.toleft" ) ); addProp(m, FILL__RECTTOP, "fill.recttop");
addProp( FILL__TOTOP , data( "fill.totop" ) ); addProp(m, FILL__RECTRIGHT, "fill.rectright");
addProp( FILL__TORIGHT , data( "fill.toright" ) ); addProp(m, FILL__RECTBOTTOM, "fill.rectbottom");
addProp( FILL__TOBOTTOM , data( "fill.tobottom" ) ); addProp(m, FILL__DZTYPE, "fill.dztype");
addProp( FILL__RECTLEFT , data( "fill.rectleft" ) ); addProp(m, FILL__SHADEPRESET, "fill.shadepreset");
addProp( FILL__RECTTOP , data( "fill.recttop" ) ); addProp(m, FILL__SHADECOLORS, "fill.shadecolors", EscherPropertyMetaData.TYPE_ARRAY);
addProp( FILL__RECTRIGHT , data( "fill.rectright" ) ); addProp(m, FILL__ORIGINX, "fill.originx");
addProp( FILL__RECTBOTTOM , data( "fill.rectbottom" ) ); addProp(m, FILL__ORIGINY, "fill.originy");
addProp( FILL__DZTYPE , data( "fill.dztype" ) ); addProp(m, FILL__SHAPEORIGINX, "fill.shapeoriginx");
addProp( FILL__SHADEPRESET , data( "fill.shadepreset" ) ); addProp(m, FILL__SHAPEORIGINY, "fill.shapeoriginy");
addProp( FILL__SHADECOLORS , data( "fill.shadecolors", EscherPropertyMetaData.TYPE_ARRAY ) ); addProp(m, FILL__SHADETYPE, "fill.shadetype");
addProp( FILL__ORIGINX , data( "fill.originx" ) ); addProp(m, FILL__FILLED, "fill.filled");
addProp( FILL__ORIGINY , data( "fill.originy" ) ); addProp(m, FILL__HITTESTFILL, "fill.hittestfill");
addProp( FILL__SHAPEORIGINX , data( "fill.shapeoriginx" ) ); addProp(m, FILL__SHAPE, "fill.shape");
addProp( FILL__SHAPEORIGINY , data( "fill.shapeoriginy" ) ); addProp(m, FILL__USERECT, "fill.userect");
addProp( FILL__SHADETYPE , data( "fill.shadetype" ) ); addProp(m, FILL__NOFILLHITTEST, "fill.nofillhittest", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( FILL__FILLED , data( "fill.filled" ) ); addProp(m, LINESTYLE__COLOR, "linestyle.color", EscherPropertyMetaData.TYPE_RGB);
addProp( FILL__HITTESTFILL , data( "fill.hittestfill" ) ); addProp(m, LINESTYLE__OPACITY, "linestyle.opacity");
addProp( FILL__SHAPE , data( "fill.shape" ) ); addProp(m, LINESTYLE__BACKCOLOR, "linestyle.backcolor", EscherPropertyMetaData.TYPE_RGB);
addProp( FILL__USERECT , data( "fill.userect" ) ); addProp(m, LINESTYLE__CRMOD, "linestyle.crmod");
addProp( FILL__NOFILLHITTEST , data( "fill.nofillhittest", EscherPropertyMetaData.TYPE_BOOLEAN ) ); addProp(m, LINESTYLE__LINETYPE, "linestyle.linetype");
addProp( LINESTYLE__COLOR, data( "linestyle.color", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, LINESTYLE__FILLBLIP, "linestyle.fillblip");
addProp( LINESTYLE__OPACITY , data( "linestyle.opacity" ) ); addProp(m, LINESTYLE__FILLBLIPNAME, "linestyle.fillblipname");
addProp( LINESTYLE__BACKCOLOR , data( "linestyle.backcolor", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, LINESTYLE__FILLBLIPFLAGS, "linestyle.fillblipflags");
addProp( LINESTYLE__CRMOD , data( "linestyle.crmod" ) ); addProp(m, LINESTYLE__FILLWIDTH, "linestyle.fillwidth");
addProp( LINESTYLE__LINETYPE , data( "linestyle.linetype" ) ); addProp(m, LINESTYLE__FILLHEIGHT, "linestyle.fillheight");
addProp( LINESTYLE__FILLBLIP , data( "linestyle.fillblip" ) ); addProp(m, LINESTYLE__FILLDZTYPE, "linestyle.filldztype");
addProp( LINESTYLE__FILLBLIPNAME , data( "linestyle.fillblipname" ) ); addProp(m, LINESTYLE__LINEWIDTH, "linestyle.linewidth");
addProp( LINESTYLE__FILLBLIPFLAGS , data( "linestyle.fillblipflags" ) ); addProp(m, LINESTYLE__LINEMITERLIMIT, "linestyle.linemiterlimit");
addProp( LINESTYLE__FILLWIDTH , data( "linestyle.fillwidth" ) ); addProp(m, LINESTYLE__LINESTYLE, "linestyle.linestyle");
addProp( LINESTYLE__FILLHEIGHT , data( "linestyle.fillheight" ) ); addProp(m, LINESTYLE__LINEDASHING, "linestyle.linedashing");
addProp( LINESTYLE__FILLDZTYPE , data( "linestyle.filldztype" ) ); addProp(m, LINESTYLE__LINEDASHSTYLE, "linestyle.linedashstyle", EscherPropertyMetaData.TYPE_ARRAY);
addProp( LINESTYLE__LINEWIDTH , data( "linestyle.linewidth" ) ); addProp(m, LINESTYLE__LINESTARTARROWHEAD, "linestyle.linestartarrowhead");
addProp( LINESTYLE__LINEMITERLIMIT , data( "linestyle.linemiterlimit" ) ); addProp(m, LINESTYLE__LINEENDARROWHEAD, "linestyle.lineendarrowhead");
addProp( LINESTYLE__LINESTYLE , data( "linestyle.linestyle" ) ); addProp(m, LINESTYLE__LINESTARTARROWWIDTH, "linestyle.linestartarrowwidth");
addProp( LINESTYLE__LINEDASHING , data( "linestyle.linedashing" ) ); addProp(m, LINESTYLE__LINEESTARTARROWLENGTH, "linestyle.lineestartarrowlength");
addProp( LINESTYLE__LINEDASHSTYLE , data( "linestyle.linedashstyle", EscherPropertyMetaData.TYPE_ARRAY ) ); addProp(m, LINESTYLE__LINEENDARROWWIDTH, "linestyle.lineendarrowwidth");
addProp( LINESTYLE__LINESTARTARROWHEAD , data( "linestyle.linestartarrowhead" ) ); addProp(m, LINESTYLE__LINEENDARROWLENGTH, "linestyle.lineendarrowlength");
addProp( LINESTYLE__LINEENDARROWHEAD , data( "linestyle.lineendarrowhead" ) ); addProp(m, LINESTYLE__LINEJOINSTYLE, "linestyle.linejoinstyle");
addProp( LINESTYLE__LINESTARTARROWWIDTH , data( "linestyle.linestartarrowwidth" ) ); addProp(m, LINESTYLE__LINEENDCAPSTYLE, "linestyle.lineendcapstyle");
addProp( LINESTYLE__LINEESTARTARROWLENGTH , data( "linestyle.lineestartarrowlength" ) ); addProp(m, LINESTYLE__ARROWHEADSOK, "linestyle.arrowheadsok");
addProp( LINESTYLE__LINEENDARROWWIDTH , data( "linestyle.lineendarrowwidth" ) ); addProp(m, LINESTYLE__ANYLINE, "linestyle.anyline");
addProp( LINESTYLE__LINEENDARROWLENGTH , data( "linestyle.lineendarrowlength" ) ); addProp(m, LINESTYLE__HITLINETEST, "linestyle.hitlinetest");
addProp( LINESTYLE__LINEJOINSTYLE , data( "linestyle.linejoinstyle" ) ); addProp(m, LINESTYLE__LINEFILLSHAPE, "linestyle.linefillshape");
addProp( LINESTYLE__LINEENDCAPSTYLE , data( "linestyle.lineendcapstyle" ) ); addProp(m, LINESTYLE__NOLINEDRAWDASH, "linestyle.nolinedrawdash", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( LINESTYLE__ARROWHEADSOK , data( "linestyle.arrowheadsok" ) ); addProp(m, SHADOWSTYLE__TYPE, "shadowstyle.type");
addProp( LINESTYLE__ANYLINE , data( "linestyle.anyline" ) ); addProp(m, SHADOWSTYLE__COLOR, "shadowstyle.color", EscherPropertyMetaData.TYPE_RGB);
addProp( LINESTYLE__HITLINETEST , data( "linestyle.hitlinetest" ) ); addProp(m, SHADOWSTYLE__HIGHLIGHT, "shadowstyle.highlight");
addProp( LINESTYLE__LINEFILLSHAPE , data( "linestyle.linefillshape" ) ); addProp(m, SHADOWSTYLE__CRMOD, "shadowstyle.crmod");
addProp( LINESTYLE__NOLINEDRAWDASH , data( "linestyle.nolinedrawdash", EscherPropertyMetaData.TYPE_BOOLEAN ) ); addProp(m, SHADOWSTYLE__OPACITY, "shadowstyle.opacity");
addProp( SHADOWSTYLE__TYPE , data( "shadowstyle.type" ) ); addProp(m, SHADOWSTYLE__OFFSETX, "shadowstyle.offsetx");
addProp( SHADOWSTYLE__COLOR , data( "shadowstyle.color", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, SHADOWSTYLE__OFFSETY, "shadowstyle.offsety");
addProp( SHADOWSTYLE__HIGHLIGHT , data( "shadowstyle.highlight" ) ); addProp(m, SHADOWSTYLE__SECONDOFFSETX, "shadowstyle.secondoffsetx");
addProp( SHADOWSTYLE__CRMOD , data( "shadowstyle.crmod" ) ); addProp(m, SHADOWSTYLE__SECONDOFFSETY, "shadowstyle.secondoffsety");
addProp( SHADOWSTYLE__OPACITY , data( "shadowstyle.opacity" ) ); addProp(m, SHADOWSTYLE__SCALEXTOX, "shadowstyle.scalextox");
addProp( SHADOWSTYLE__OFFSETX , data( "shadowstyle.offsetx" ) ); addProp(m, SHADOWSTYLE__SCALEYTOX, "shadowstyle.scaleytox");
addProp( SHADOWSTYLE__OFFSETY , data( "shadowstyle.offsety" ) ); addProp(m, SHADOWSTYLE__SCALEXTOY, "shadowstyle.scalextoy");
addProp( SHADOWSTYLE__SECONDOFFSETX , data( "shadowstyle.secondoffsetx" ) ); addProp(m, SHADOWSTYLE__SCALEYTOY, "shadowstyle.scaleytoy");
addProp( SHADOWSTYLE__SECONDOFFSETY , data( "shadowstyle.secondoffsety" ) ); addProp(m, SHADOWSTYLE__PERSPECTIVEX, "shadowstyle.perspectivex");
addProp( SHADOWSTYLE__SCALEXTOX , data( "shadowstyle.scalextox" ) ); addProp(m, SHADOWSTYLE__PERSPECTIVEY, "shadowstyle.perspectivey");
addProp( SHADOWSTYLE__SCALEYTOX , data( "shadowstyle.scaleytox" ) ); addProp(m, SHADOWSTYLE__WEIGHT, "shadowstyle.weight");
addProp( SHADOWSTYLE__SCALEXTOY , data( "shadowstyle.scalextoy" ) ); addProp(m, SHADOWSTYLE__ORIGINX, "shadowstyle.originx");
addProp( SHADOWSTYLE__SCALEYTOY , data( "shadowstyle.scaleytoy" ) ); addProp(m, SHADOWSTYLE__ORIGINY, "shadowstyle.originy");
addProp( SHADOWSTYLE__PERSPECTIVEX , data( "shadowstyle.perspectivex" ) ); addProp(m, SHADOWSTYLE__SHADOW, "shadowstyle.shadow");
addProp( SHADOWSTYLE__PERSPECTIVEY , data( "shadowstyle.perspectivey" ) ); addProp(m, SHADOWSTYLE__SHADOWOBSURED, "shadowstyle.shadowobsured");
addProp( SHADOWSTYLE__WEIGHT , data( "shadowstyle.weight" ) ); addProp(m, PERSPECTIVE__TYPE, "perspective.type");
addProp( SHADOWSTYLE__ORIGINX , data( "shadowstyle.originx" ) ); addProp(m, PERSPECTIVE__OFFSETX, "perspective.offsetx");
addProp( SHADOWSTYLE__ORIGINY , data( "shadowstyle.originy" ) ); addProp(m, PERSPECTIVE__OFFSETY, "perspective.offsety");
addProp( SHADOWSTYLE__SHADOW , data( "shadowstyle.shadow" ) ); addProp(m, PERSPECTIVE__SCALEXTOX, "perspective.scalextox");
addProp( SHADOWSTYLE__SHADOWOBSURED , data( "shadowstyle.shadowobsured" ) ); addProp(m, PERSPECTIVE__SCALEYTOX, "perspective.scaleytox");
addProp( PERSPECTIVE__TYPE , data( "perspective.type" ) ); addProp(m, PERSPECTIVE__SCALEXTOY, "perspective.scalextoy");
addProp( PERSPECTIVE__OFFSETX , data( "perspective.offsetx" ) ); addProp(m, PERSPECTIVE__SCALEYTOY, "perspective.scaleytoy");
addProp( PERSPECTIVE__OFFSETY , data( "perspective.offsety" ) ); addProp(m, PERSPECTIVE__PERSPECTIVEX, "perspective.perspectivex");
addProp( PERSPECTIVE__SCALEXTOX , data( "perspective.scalextox" ) ); addProp(m, PERSPECTIVE__PERSPECTIVEY, "perspective.perspectivey");
addProp( PERSPECTIVE__SCALEYTOX , data( "perspective.scaleytox" ) ); addProp(m, PERSPECTIVE__WEIGHT, "perspective.weight");
addProp( PERSPECTIVE__SCALEXTOY , data( "perspective.scalextoy" ) ); addProp(m, PERSPECTIVE__ORIGINX, "perspective.originx");
addProp( PERSPECTIVE__SCALEYTOY , data( "perspective.scaleytoy" ) ); addProp(m, PERSPECTIVE__ORIGINY, "perspective.originy");
addProp( PERSPECTIVE__PERSPECTIVEX , data( "perspective.perspectivex" ) ); addProp(m, PERSPECTIVE__PERSPECTIVEON, "perspective.perspectiveon");
addProp( PERSPECTIVE__PERSPECTIVEY , data( "perspective.perspectivey" ) ); addProp(m, THREED__SPECULARAMOUNT, "3d.specularamount");
addProp( PERSPECTIVE__WEIGHT , data( "perspective.weight" ) ); addProp(m, THREED__DIFFUSEAMOUNT, "3d.diffuseamount");
addProp( PERSPECTIVE__ORIGINX , data( "perspective.originx" ) ); addProp(m, THREED__SHININESS, "3d.shininess");
addProp( PERSPECTIVE__ORIGINY , data( "perspective.originy" ) ); addProp(m, THREED__EDGETHICKNESS, "3d.edgethickness");
addProp( PERSPECTIVE__PERSPECTIVEON , data( "perspective.perspectiveon" ) ); addProp(m, THREED__EXTRUDEFORWARD, "3d.extrudeforward");
addProp( THREED__SPECULARAMOUNT , data( "3d.specularamount" ) ); addProp(m, THREED__EXTRUDEBACKWARD, "3d.extrudebackward");
addProp( THREED__DIFFUSEAMOUNT , data( "3d.diffuseamount" ) ); addProp(m, THREED__EXTRUDEPLANE, "3d.extrudeplane");
addProp( THREED__SHININESS , data( "3d.shininess" ) ); addProp(m, THREED__EXTRUSIONCOLOR, "3d.extrusioncolor", EscherPropertyMetaData.TYPE_RGB);
addProp( THREED__EDGETHICKNESS , data( "3d.edgethickness" ) ); addProp(m, THREED__CRMOD, "3d.crmod");
addProp( THREED__EXTRUDEFORWARD , data( "3d.extrudeforward" ) ); addProp(m, THREED__3DEFFECT, "3d.3deffect");
addProp( THREED__EXTRUDEBACKWARD , data( "3d.extrudebackward" ) ); addProp(m, THREED__METALLIC, "3d.metallic");
addProp( THREED__EXTRUDEPLANE , data( "3d.extrudeplane" ) ); addProp(m, THREED__USEEXTRUSIONCOLOR, "3d.useextrusioncolor", EscherPropertyMetaData.TYPE_RGB);
addProp( THREED__EXTRUSIONCOLOR , data( "3d.extrusioncolor", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, THREED__LIGHTFACE, "3d.lightface");
addProp( THREED__CRMOD , data( "3d.crmod" ) ); addProp(m, THREEDSTYLE__YROTATIONANGLE, "3dstyle.yrotationangle");
addProp( THREED__3DEFFECT , data( "3d.3deffect" ) ); addProp(m, THREEDSTYLE__XROTATIONANGLE, "3dstyle.xrotationangle");
addProp( THREED__METALLIC , data( "3d.metallic" ) ); addProp(m, THREEDSTYLE__ROTATIONAXISX, "3dstyle.rotationaxisx");
addProp( THREED__USEEXTRUSIONCOLOR , data( "3d.useextrusioncolor", EscherPropertyMetaData.TYPE_RGB ) ); addProp(m, THREEDSTYLE__ROTATIONAXISY, "3dstyle.rotationaxisy");
addProp( THREED__LIGHTFACE , data( "3d.lightface" ) ); addProp(m, THREEDSTYLE__ROTATIONAXISZ, "3dstyle.rotationaxisz");
addProp( THREEDSTYLE__YROTATIONANGLE , data( "3dstyle.yrotationangle" ) ); addProp(m, THREEDSTYLE__ROTATIONANGLE, "3dstyle.rotationangle");
addProp( THREEDSTYLE__XROTATIONANGLE , data( "3dstyle.xrotationangle" ) ); addProp(m, THREEDSTYLE__ROTATIONCENTERX, "3dstyle.rotationcenterx");
addProp( THREEDSTYLE__ROTATIONAXISX , data( "3dstyle.rotationaxisx" ) ); addProp(m, THREEDSTYLE__ROTATIONCENTERY, "3dstyle.rotationcentery");
addProp( THREEDSTYLE__ROTATIONAXISY , data( "3dstyle.rotationaxisy" ) ); addProp(m, THREEDSTYLE__ROTATIONCENTERZ, "3dstyle.rotationcenterz");
addProp( THREEDSTYLE__ROTATIONAXISZ , data( "3dstyle.rotationaxisz" ) ); addProp(m, THREEDSTYLE__RENDERMODE, "3dstyle.rendermode");
addProp( THREEDSTYLE__ROTATIONANGLE , data( "3dstyle.rotationangle" ) ); addProp(m, THREEDSTYLE__TOLERANCE, "3dstyle.tolerance");
addProp( THREEDSTYLE__ROTATIONCENTERX , data( "3dstyle.rotationcenterx" ) ); addProp(m, THREEDSTYLE__XVIEWPOINT, "3dstyle.xviewpoint");
addProp( THREEDSTYLE__ROTATIONCENTERY , data( "3dstyle.rotationcentery" ) ); addProp(m, THREEDSTYLE__YVIEWPOINT, "3dstyle.yviewpoint");
addProp( THREEDSTYLE__ROTATIONCENTERZ , data( "3dstyle.rotationcenterz" ) ); addProp(m, THREEDSTYLE__ZVIEWPOINT, "3dstyle.zviewpoint");
addProp( THREEDSTYLE__RENDERMODE , data( "3dstyle.rendermode" ) ); addProp(m, THREEDSTYLE__ORIGINX, "3dstyle.originx");
addProp( THREEDSTYLE__TOLERANCE , data( "3dstyle.tolerance" ) ); addProp(m, THREEDSTYLE__ORIGINY, "3dstyle.originy");
addProp( THREEDSTYLE__XVIEWPOINT , data( "3dstyle.xviewpoint" ) ); addProp(m, THREEDSTYLE__SKEWANGLE, "3dstyle.skewangle");
addProp( THREEDSTYLE__YVIEWPOINT , data( "3dstyle.yviewpoint" ) ); addProp(m, THREEDSTYLE__SKEWAMOUNT, "3dstyle.skewamount");
addProp( THREEDSTYLE__ZVIEWPOINT , data( "3dstyle.zviewpoint" ) ); addProp(m, THREEDSTYLE__AMBIENTINTENSITY, "3dstyle.ambientintensity");
addProp( THREEDSTYLE__ORIGINX , data( "3dstyle.originx" ) ); addProp(m, THREEDSTYLE__KEYX, "3dstyle.keyx");
addProp( THREEDSTYLE__ORIGINY , data( "3dstyle.originy" ) ); addProp(m, THREEDSTYLE__KEYY, "3dstyle.keyy");
addProp( THREEDSTYLE__SKEWANGLE , data( "3dstyle.skewangle" ) ); addProp(m, THREEDSTYLE__KEYZ, "3dstyle.keyz");
addProp( THREEDSTYLE__SKEWAMOUNT , data( "3dstyle.skewamount" ) ); addProp(m, THREEDSTYLE__KEYINTENSITY, "3dstyle.keyintensity");
addProp( THREEDSTYLE__AMBIENTINTENSITY , data( "3dstyle.ambientintensity" ) ); addProp(m, THREEDSTYLE__FILLX, "3dstyle.fillx");
addProp( THREEDSTYLE__KEYX , data( "3dstyle.keyx" ) ); addProp(m, THREEDSTYLE__FILLY, "3dstyle.filly");
addProp( THREEDSTYLE__KEYY , data( "3dstyle.keyy" ) ); addProp(m, THREEDSTYLE__FILLZ, "3dstyle.fillz");
addProp( THREEDSTYLE__KEYZ , data( "3dstyle.keyz" ) ); addProp(m, THREEDSTYLE__FILLINTENSITY, "3dstyle.fillintensity");
addProp( THREEDSTYLE__KEYINTENSITY , data( "3dstyle.keyintensity" ) ); addProp(m, THREEDSTYLE__CONSTRAINROTATION, "3dstyle.constrainrotation");
addProp( THREEDSTYLE__FILLX , data( "3dstyle.fillx" ) ); addProp(m, THREEDSTYLE__ROTATIONCENTERAUTO, "3dstyle.rotationcenterauto");
addProp( THREEDSTYLE__FILLY , data( "3dstyle.filly" ) ); addProp(m, THREEDSTYLE__PARALLEL, "3dstyle.parallel");
addProp( THREEDSTYLE__FILLZ , data( "3dstyle.fillz" ) ); addProp(m, THREEDSTYLE__KEYHARSH, "3dstyle.keyharsh");
addProp( THREEDSTYLE__FILLINTENSITY , data( "3dstyle.fillintensity" ) ); addProp(m, THREEDSTYLE__FILLHARSH, "3dstyle.fillharsh");
addProp( THREEDSTYLE__CONSTRAINROTATION , data( "3dstyle.constrainrotation" ) ); addProp(m, SHAPE__MASTER, "shape.master");
addProp( THREEDSTYLE__ROTATIONCENTERAUTO , data( "3dstyle.rotationcenterauto" ) ); addProp(m, SHAPE__CONNECTORSTYLE, "shape.connectorstyle");
addProp( THREEDSTYLE__PARALLEL , data( "3dstyle.parallel" ) ); addProp(m, SHAPE__BLACKANDWHITESETTINGS, "shape.blackandwhitesettings");
addProp( THREEDSTYLE__KEYHARSH , data( "3dstyle.keyharsh" ) ); addProp(m, SHAPE__WMODEPUREBW, "shape.wmodepurebw");
addProp( THREEDSTYLE__FILLHARSH , data( "3dstyle.fillharsh" ) ); addProp(m, SHAPE__WMODEBW, "shape.wmodebw");
addProp( SHAPE__MASTER , data( "shape.master" ) ); addProp(m, SHAPE__OLEICON, "shape.oleicon");
addProp( SHAPE__CONNECTORSTYLE , data( "shape.connectorstyle" ) ); addProp(m, SHAPE__PREFERRELATIVERESIZE, "shape.preferrelativeresize");
addProp( SHAPE__BLACKANDWHITESETTINGS , data( "shape.blackandwhitesettings" ) ); addProp(m, SHAPE__LOCKSHAPETYPE, "shape.lockshapetype");
addProp( SHAPE__WMODEPUREBW , data( "shape.wmodepurebw" ) ); addProp(m, SHAPE__DELETEATTACHEDOBJECT, "shape.deleteattachedobject");
addProp( SHAPE__WMODEBW , data( "shape.wmodebw" ) ); addProp(m, SHAPE__BACKGROUNDSHAPE, "shape.backgroundshape");
addProp( SHAPE__OLEICON , data( "shape.oleicon" ) ); addProp(m, CALLOUT__CALLOUTTYPE, "callout.callouttype");
addProp( SHAPE__PREFERRELATIVERESIZE , data( "shape.preferrelativeresize" ) ); addProp(m, CALLOUT__XYCALLOUTGAP, "callout.xycalloutgap");
addProp( SHAPE__LOCKSHAPETYPE , data( "shape.lockshapetype" ) ); addProp(m, CALLOUT__CALLOUTANGLE, "callout.calloutangle");
addProp( SHAPE__DELETEATTACHEDOBJECT , data( "shape.deleteattachedobject" ) ); addProp(m, CALLOUT__CALLOUTDROPTYPE, "callout.calloutdroptype");
addProp( SHAPE__BACKGROUNDSHAPE , data( "shape.backgroundshape" ) ); addProp(m, CALLOUT__CALLOUTDROPSPECIFIED, "callout.calloutdropspecified");
addProp( CALLOUT__CALLOUTTYPE , data( "callout.callouttype" ) ); addProp(m, CALLOUT__CALLOUTLENGTHSPECIFIED, "callout.calloutlengthspecified");
addProp( CALLOUT__XYCALLOUTGAP , data( "callout.xycalloutgap" ) ); addProp(m, CALLOUT__ISCALLOUT, "callout.iscallout");
addProp( CALLOUT__CALLOUTANGLE , data( "callout.calloutangle" ) ); addProp(m, CALLOUT__CALLOUTACCENTBAR, "callout.calloutaccentbar");
addProp( CALLOUT__CALLOUTDROPTYPE , data( "callout.calloutdroptype" ) ); addProp(m, CALLOUT__CALLOUTTEXTBORDER, "callout.callouttextborder");
addProp( CALLOUT__CALLOUTDROPSPECIFIED , data( "callout.calloutdropspecified" ) ); addProp(m, CALLOUT__CALLOUTMINUSX, "callout.calloutminusx");
addProp( CALLOUT__CALLOUTLENGTHSPECIFIED , data( "callout.calloutlengthspecified" ) ); addProp(m, CALLOUT__CALLOUTMINUSY, "callout.calloutminusy");
addProp( CALLOUT__ISCALLOUT , data( "callout.iscallout" ) ); addProp(m, CALLOUT__DROPAUTO, "callout.dropauto");
addProp( CALLOUT__CALLOUTACCENTBAR , data( "callout.calloutaccentbar" ) ); addProp(m, CALLOUT__LENGTHSPECIFIED, "callout.lengthspecified");
addProp( CALLOUT__CALLOUTTEXTBORDER , data( "callout.callouttextborder" ) ); addProp(m, GROUPSHAPE__SHAPENAME, "groupshape.shapename");
addProp( CALLOUT__CALLOUTMINUSX , data( "callout.calloutminusx" ) ); addProp(m, GROUPSHAPE__DESCRIPTION, "groupshape.description");
addProp( CALLOUT__CALLOUTMINUSY , data( "callout.calloutminusy" ) ); addProp(m, GROUPSHAPE__HYPERLINK, "groupshape.hyperlink");
addProp( CALLOUT__DROPAUTO , data( "callout.dropauto" ) ); addProp(m, GROUPSHAPE__WRAPPOLYGONVERTICES, "groupshape.wrappolygonvertices", EscherPropertyMetaData.TYPE_ARRAY);
addProp( CALLOUT__LENGTHSPECIFIED , data( "callout.lengthspecified" ) ); addProp(m, GROUPSHAPE__WRAPDISTLEFT, "groupshape.wrapdistleft");
addProp( GROUPSHAPE__SHAPENAME , data( "groupshape.shapename" ) ); addProp(m, GROUPSHAPE__WRAPDISTTOP, "groupshape.wrapdisttop");
addProp( GROUPSHAPE__DESCRIPTION , data( "groupshape.description" ) ); addProp(m, GROUPSHAPE__WRAPDISTRIGHT, "groupshape.wrapdistright");
addProp( GROUPSHAPE__HYPERLINK , data( "groupshape.hyperlink" ) ); addProp(m, GROUPSHAPE__WRAPDISTBOTTOM, "groupshape.wrapdistbottom");
addProp( GROUPSHAPE__WRAPPOLYGONVERTICES , data( "groupshape.wrappolygonvertices", EscherPropertyMetaData.TYPE_ARRAY ) ); addProp(m, GROUPSHAPE__REGROUPID, "groupshape.regroupid");
addProp( GROUPSHAPE__WRAPDISTLEFT , data( "groupshape.wrapdistleft" ) ); addProp(m, GROUPSHAPE__EDITEDWRAP, "groupshape.editedwrap");
addProp( GROUPSHAPE__WRAPDISTTOP , data( "groupshape.wrapdisttop" ) ); addProp(m, GROUPSHAPE__BEHINDDOCUMENT, "groupshape.behinddocument");
addProp( GROUPSHAPE__WRAPDISTRIGHT , data( "groupshape.wrapdistright" ) ); addProp(m, GROUPSHAPE__ONDBLCLICKNOTIFY, "groupshape.ondblclicknotify");
addProp( GROUPSHAPE__WRAPDISTBOTTOM , data( "groupshape.wrapdistbottom" ) ); addProp(m, GROUPSHAPE__ISBUTTON, "groupshape.isbutton");
addProp( GROUPSHAPE__REGROUPID , data( "groupshape.regroupid" ) ); addProp(m, GROUPSHAPE__1DADJUSTMENT, "groupshape.1dadjustment");
addProp( GROUPSHAPE__EDITEDWRAP , data( "groupshape.editedwrap" ) ); addProp(m, GROUPSHAPE__HIDDEN, "groupshape.hidden");
addProp( GROUPSHAPE__BEHINDDOCUMENT , data( "groupshape.behinddocument" ) ); addProp(m, GROUPSHAPE__PRINT, "groupshape.print", EscherPropertyMetaData.TYPE_BOOLEAN);
addProp( GROUPSHAPE__ONDBLCLICKNOTIFY , data( "groupshape.ondblclicknotify" ) ); return m;
addProp( GROUPSHAPE__ISBUTTON , data( "groupshape.isbutton" ) );
addProp( GROUPSHAPE__1DADJUSTMENT , data( "groupshape.1dadjustment" ) );
addProp( GROUPSHAPE__HIDDEN , data( "groupshape.hidden" ) );
addProp( GROUPSHAPE__PRINT , data( "groupshape.print", EscherPropertyMetaData.TYPE_BOOLEAN ) );
}
} }
private static void addProp( int s, EscherPropertyMetaData data ) private static void addProp(Map<Short, EscherPropertyMetaData> m, int s, String propName) {
{ m.put(new Short((short) s), new EscherPropertyMetaData(propName));
properties.put( new Short( (short) s ), data );
} }
private static EscherPropertyMetaData data( String propName, byte type ) private static void addProp(Map<Short, EscherPropertyMetaData> m, int s, String propName, byte type) {
{ m.put(new Short((short) s), new EscherPropertyMetaData(propName, type));
return new EscherPropertyMetaData( propName, type );
} }
private static EscherPropertyMetaData data( String propName ) public static String getPropertyName(short propertyId) {
{ EscherPropertyMetaData o = properties.get(new Short(propertyId));
return new EscherPropertyMetaData( propName );
}
public static String getPropertyName( short propertyId )
{
initProps();
EscherPropertyMetaData o = (EscherPropertyMetaData) properties.get( new Short( propertyId ) );
return o == null ? "unknown" : o.getDescription(); return o == null ? "unknown" : o.getDescription();
} }
public static byte getPropertyType( short propertyId ) public static byte getPropertyType(short propertyId) {
{ EscherPropertyMetaData escherPropertyMetaData = properties.get(new Short(propertyId));
initProps();
EscherPropertyMetaData escherPropertyMetaData = (EscherPropertyMetaData) properties.get( new Short( propertyId ) );
return escherPropertyMetaData == null ? 0 : escherPropertyMetaData.getType(); return escherPropertyMetaData == null ? 0 : escherPropertyMetaData.getType();
} }
} }