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
@ -14,7 +13,7 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
==================================================================== */ ==================================================================== */
package org.apache.poi.ddf; package org.apache.poi.ddf;
@ -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;
@ -57,7 +55,7 @@ public class EscherProperties
public static final short TEXT__USEHOSTMARGINS = 188; public static final short TEXT__USEHOSTMARGINS = 188;
public static final short TEXT__ROTATETEXTWITHSHAPE = 189; public static final short TEXT__ROTATETEXTWITHSHAPE = 189;
public static final short TEXT__SIZESHAPETOFITTEXT = 190; public static final short TEXT__SIZESHAPETOFITTEXT = 190;
public static final short TEXT__SIZE_TEXT_TO_FIT_SHAPE = 191 ; public static final short TEXT__SIZE_TEXT_TO_FIT_SHAPE = 191;
public static final short GEOTEXT__UNICODE = 192; public static final short GEOTEXT__UNICODE = 192;
public static final short GEOTEXT__RTFTEXT = 193; public static final short GEOTEXT__RTFTEXT = 193;
public static final short GEOTEXT__ALIGNMENTONCURVE = 194; public static final short GEOTEXT__ALIGNMENTONCURVE = 194;
@ -126,7 +124,7 @@ public class EscherProperties
public static final short GEOMETRY__FILLSHADESHAPEOK = 382; public static final short GEOMETRY__FILLSHADESHAPEOK = 382;
public static final short GEOMETRY__FILLOK = 383; public static final short GEOMETRY__FILLOK = 383;
public static final short FILL__FILLTYPE = 384; public static final short FILL__FILLTYPE = 384;
public static final short FILL__FILLCOLOR = 385 ; public static final short FILL__FILLCOLOR = 385;
public static final short FILL__FILLOPACITY = 386; public static final short FILL__FILLOPACITY = 386;
public static final short FILL__FILLBACKCOLOR = 387; public static final short FILL__FILLBACKCOLOR = 387;
public static final short FILL__BACKOPACITY = 388; public static final short FILL__BACKOPACITY = 388;
@ -159,7 +157,7 @@ public class EscherProperties
public static final short FILL__SHAPE = 445; public static final short FILL__SHAPE = 445;
public static final short FILL__USERECT = 446; public static final short FILL__USERECT = 446;
public static final short FILL__NOFILLHITTEST = 447; public static final short FILL__NOFILLHITTEST = 447;
public static final short LINESTYLE__COLOR = 448 ; public static final short LINESTYLE__COLOR = 448;
public static final short LINESTYLE__OPACITY = 449; public static final short LINESTYLE__OPACITY = 449;
public static final short LINESTYLE__BACKCOLOR = 450; public static final short LINESTYLE__BACKCOLOR = 450;
public static final short LINESTYLE__CRMOD = 451; public static final short LINESTYLE__CRMOD = 451;
@ -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();
} }
} }