Providing a class name for your rich symbol can only get you
so far. For more control over how your rich symbol exports to MXML, you can use
the flexClassDefinition property. This property is defined in the same manner flexClassName is
defined, only it consists of many other definitions used in influencing the
MXML export:
Widget.elem.customData["flexClassDefinition"] = definitionObject;
The Flex class definition object contains any number of the following optional properties:
Note: You will not see these defined for the Flex components that come with Fireworks, as those definitions are handled internally by the MXML export itself.
Rectangle; defines the area around the element that is not part of the Flex component shape, but takes up space in Fireworks (for example, the Panel component in Flex has a drop shadow that does not apply towards its size in Flex, but does when recreated in Fireworks). It consists of four integer properties measured in pixels: top, right, bottom, and left (see Figure 3).
Example: margin = {top:5, right:5, bottom:5, left:5};
Rectangle; defines the area within the element that determines if another element can be seen as being a child of that element. If defined, any other element whose bounds are completely within the area marked by padding and are arranged above the current element will be a child element within the resulting MXML. It consists of four integer properties measured in pixels—top, right, bottom, and left—and is calculated after margin (see Figure 3).
Example: padding = {top:5, right:5, bottom:5, left:5};

Figure 3. Margin and padding relationships in respect to the Panel component
Object; defines a size offset to apply to the MXML definition of the exported element. It consists of two integer properties, width and height, measured in pixels that are added to the MXML width and height attributes. This does not have any affect on margin or padding properties; it simply consists of values that will be added to the final width and height attributes of the MXML tag produced.
Example: sizeOffset = {width:10, height:10};
Object; contains custom name-value pairs available to the MXML export, but not accessible as visible properties within Fireworks. During export, these are translated directly to MXML attributes or styles in combination with any properties defined within customData currentValues.
Example: customValues = {myNum:10, click:"clickHandler();"};
Array; a list of property names which are to be attributes in the exported MXML tag. By default all widget properties (defined as currentValues, customValues, or both) are considered attribute properties. By defining this list, you can restrict which properties, if any, are used as attributes. Those not provided will not be included as attributes of the resulting MXML tag.
Example: attributeProperties = ["label", "enabled"];
Array; a list of property names which are to be defined in the CSS Style tag for this class. If any of these properties are also attribute properties (implicit or explicit), they will instead become style properties.
Example: styleProperties = ["color", "textSelectedColor"];
Array; a list of the names of automatic attribute properties created for the MXML tag. Automatic attributes are those properties which are not listed as currentValues or customValues but are automatically determined and generated by the MXML export. This includes the following properties:
Note: defaultProperties cannot be style properties.
If this list is not defined, all default properties are added to the attribute list (where applicable). If defined, only those listed will be provided.
Note: Omitting styleName from defaultProperties will not prevent a style from being created for the object if it has styled properties.
Example: defaultProperties = ["x", "y", "width",
"height"];
Object; the namespace to be used in the MXML tag. This object should contain one key representing the namespace prefix whose value is the namespace URI. If this is not provided, the default namespace of mx is used.
Example: namespace = {ns:"http://www.example.com/2007/mxml"};
String; if defined, this represents the entire MXML output to be used for this element within the export. If this is defined, no other properties need to be set within the definition, as they will be ignored.
Example: textOnly = "<mx:ColorPicker id=\"cp\"
selectedColor=\"0xFFFFFF\"/>";
Boolean; if true, the object will be completely ignored during export; no MXML will be created, nor will any image will be exported. If this is set to true, no other properties need to be set within the definition, as they will be ignored.
Note: The ignored property has precedence over textOnly.
Example: ignored = true;