Skip to content

Emulation Components

Andrew Wetmore edited this page Apr 21, 2021 · 18 revisions

The Emulation Components are components designed to emulate, but not guarantee, 100% backward-compatibility with Flex components. There are two sets right now:

  1. MXRoyale contains emulations of UIComponent and other MX components.
  2. SparkRoyale will contain emulation of Spark components

This document has the following sections:

Creating an Emulation Component

There are two approaches to creating an emulation component. Which approach to choose depends on what the Flex code for the component looked like and whether there are existing HTML-based components or HTMLElements that can better implement the component than migrating all of that Flex code. For example, simple controls like Button and TextInput are better implemented as thin wrappers on HTMLElements. Even Panel and much of DataGrid and AdvancedDataGrid are better implemented on top of the Royale basic components. That's because those component's Flex code rely on Flash classes that have different behavior in the browser and there are HTMLElements that have the required functionality.

But other components are "higher-level". They subclass or compose these components that wrap HTMLElements. Examples are Charts and Spark Form. There wasn't much Flash dependencies that would be hard to emulate and there weren't HTMLElements that could do the job better.

The plan is to quickly create classes with stubs for APIs we know our migrating users are using based on -api-reports sent in by these users. The current list is at the end of this page. The goal is not to try to get every line of code in an existing MX or Spark component to work in Royale. Instead, we just want to get the public APIs that are actually used to work.

The rest of this document was written back when all we were doing is creating emulation components that wrapped HTMLElements. Lately, more and more components and features are being developed in a different approach. That approach is described in Creating A High-level Emulation Component

When creating a lower-level emulation component, we first want to try to get the migrating user's app to compile. So the process is to quickly create a class of the same package name and class name as the Flex component and either copy in Royale APIs (renaming if necessary), copying in the API from the flex-sdk repo (if it will work as is) or copying in the API from the flex-sdk repo and removing all of the code and leaving a TODO. That way you will hopefully discover that only a subset of the APIs are actually used and need emulation.

We have created an emulation of UIComponent and several components already. Emulation components don't have to retain their Flex class hierarchy if the intermediate ancestor classes are not directly used in user code. For example, mx:Application currently just subclasses Container instead of LayoutContainer. Really, the goal is to toss out as much Flex code as we possibly can and use Royale beads instead to implement the API. But we are copying APIs from flex-sdk in order to retain the ASDoc on the APIs as it will probably be a better starting point in order to document the emulation components.

So, I am currently doing the following process:

  1. Visit this GitHub issue and place a check in the checkbox next to the components you are going to work on. You may have to hit the "Edit" button first. I think there is no "Save" button. Clicking a checkbox seems to save it.

  2. Copy file from flex-sdk to the proper folder in the frameworks/projects/MXRoyale folders. UIComponent is in frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent, for example.

  3. Comment out all import statements and "use namespace mx_internal".

  4. Comment out all [Style] metadata. The few styles folks need we will implement as properties. At least, that's the plan for now. This is because Flex CSS is not browser CSS compliant.

  5. Search the API list report: Delete everything not mentioned. Sometimes a subclass will be using that API in which case it should be kept. Events should be in the report so delete unmentioned events. If APIs are not in list, delete them unless you know they are needed to implement something that is used.

  6. If the current implementation won't work, replace with:

  //To Do
  if (goog::DEBUG)
     trace("<name of api> is not implemented");
  1. If you need to return a value, just pick a reasonable value for now.

  2. If the component is used in MXML, add it to src/main/resources/mx-royale-manifest.xml. If not (an Event or helper class), add it to src/main/royale/MXRoyaleClasses.as

  3. Make sure it compiles without warnings. You can use @royalesuppresspublicvarwarning in an ASDoc comment to suppress public var warnings for public vars that are not used in handling server data. See ListEvent.as for an example.

  4. References to flash.events.Event in API surfaces like parameters and return types should be replaced by org.apache.flex.events.Event. Also:

flash.events.MouseEvent should be replaced by org.apache.flex.events.MouseEvent.
flash.events.IEventDispatcher should be replaced by org.apache.flex.events.IEventDispatcher.
flash.events.EventDispatcher should be replaced by org.apache.flex.events.EventDispatcher.

The internal implementation can still use flash.*.* if it is in COMPILE::SWF blocks.

Things to keep in mind:

Infrastructure (commitProperties, measure, updateDisplayList, etc should not be preserved. Remove it. We expect the underlying Basic or Express component and beads will effectively result in the same visuals. We keep invalidateProperties, invalidateSize and invalidateDisplayList because it is called from app code. I think it can just do nothing. We'll figure that out later.

Some imports can be replaced with Royale imports like org.apache.royale.geom and org.apache.royale.events

Most Flash APIs are not being emulated at this time. Replace DisplayObject, DisplayObjectContainer, Sprite with IUIComponent or UIComponent. Some Flash APIs have mx.. emulations.

You may need to add an API for a Flash API to UIComponent or some other low-level ancestor class like Button.

It should be rare to need to emulate an mx_internal method, but mx_internal should be ok to use.

API List

This is the list of APIs we know users are using. The number after each API is a relative number of how often it was used in the applications that we have data on. There is a separate GitHub Issue tracking the progress of creating the emulations of these APIs. To generate the API List for your Flex app, see this page.

mx.charts.AreaChart:dataProvider 	6
mx.charts.AreaChart:height 	6
mx.charts.AreaChart:horizontalAxis 	6
mx.charts.AreaChart:paddingLeft 	6
mx.charts.AreaChart:paddingRight 	6
mx.charts.AreaChart:series 	6
mx.charts.AreaChart:setStyle 	24
mx.charts.AreaChart:showDataTips 	6
mx.charts.AreaChart:type 	6
mx.charts.AreaChart:width 	6
mx.charts.BarChart:bottom 	1
mx.charts.BarChart:dataProvider 	6
mx.charts.BarChart:height 	5
mx.charts.BarChart:horizontalAxis 	2
mx.charts.BarChart:left 	1
mx.charts.BarChart:paddingLeft 	3
mx.charts.BarChart:paddingTop 	3
mx.charts.BarChart:right 	1
mx.charts.BarChart:series 	9
mx.charts.BarChart:setStyle 	20
mx.charts.BarChart:showDataTips 	6
mx.charts.BarChart:top 	1
mx.charts.BarChart:verticalAxis 	6
mx.charts.BarChart:visible 	51
mx.charts.BarChart:width 	5
mx.charts.CategoryAxis 	18
mx.charts.CategoryAxis:categoryField 	54
mx.charts.CategoryAxis:dataProvider 	10
mx.charts.CategoryAxis:displayName 	25
mx.charts.CategoryAxis:formatForScreen 	14
mx.charts.CategoryAxis:labelFunction 	24
mx.charts.chartClasses.CartesianTransform 	72
mx.charts.chartClasses.CartesianTransform:HORIZONTAL_AXIS 	14
mx.charts.chartClasses.CartesianTransform:VERTICAL_AXIS 	14
mx.charts.chartClasses.ChartBase 	6
mx.charts.chartClasses.ChartBase:showDataTips 	96
mx.charts.chartClasses.DataTip 	1
mx.charts.chartClasses.DataTip:createChildren 	10
mx.charts.chartClasses.DataTip:data 	78
mx.charts.chartClasses.DataTip:updateDisplayList 	10
mx.charts.chartClasses.DataTransform 	6
mx.charts.chartClasses.DataTransform:getAxis 	16
mx.charts.chartClasses.GraphicsUtilities 	72
mx.charts.chartClasses.GraphicsUtilities:drawArc 	8
mx.charts.chartClasses.GraphicsUtilities:setLineStyle 	16
mx.charts.chartClasses.RenderData 	24
mx.charts.chartClasses.RenderData:elementBounds 	146
mx.charts.chartClasses.RenderData:filteredCache 	121
mx.charts.chartClasses.Series 	42
mx.charts.chartClasses.Series:getElementBounds 	16
mx.charts.chartClasses.Series:getRenderDataForTransition 	16
mx.charts.chartClasses.Series:invalidateDisplayList 	20
mx.charts.chartClasses.Series:setStyle 	48
mx.charts.chartClasses.Series:transitionRenderData 	16
mx.charts.chartClasses.Series:validateNow 	8
mx.charts.ChartItem:index 	63
mx.charts.ChartItem:item 	45
mx.charts.ColumnChart:addEventListener 	60
mx.charts.ColumnChart:bottom 	1
mx.charts.ColumnChart:dataProvider 	19
mx.charts.ColumnChart:dataTipFunction 	6
mx.charts.ColumnChart:fontFamily 	2
mx.charts.ColumnChart:height 	18
mx.charts.ColumnChart:horizontalAxis 	19
mx.charts.ColumnChart:left 	1
mx.charts.ColumnChart:paddingLeft 	6
mx.charts.ColumnChart:paddingTop 	6
mx.charts.ColumnChart:removeEventListener 	48
mx.charts.ColumnChart:right 	1
mx.charts.ColumnChart:series 	22
mx.charts.ColumnChart:setStyle 	56
mx.charts.ColumnChart:showDataTips 	19
mx.charts.ColumnChart:top 	1
mx.charts.ColumnChart:type 	4
mx.charts.ColumnChart:verticalAxis 	6
mx.charts.ColumnChart:visible 	93
mx.charts.ColumnChart:width 	18
mx.charts.events.ChartItemEvent 	729
mx.charts.events.ChartItemEvent:hitData 	288
mx.charts.events.ChartItemEvent:ITEM_CLICK 	273
mx.charts.HitData 	42
mx.charts.HitData:chartItem 	258
mx.charts.HitData:element 	10
mx.charts.HitData:item 	120
mx.charts.Legend:bottom 	1
mx.charts.Legend:dataProvider 	23
mx.charts.Legend:height 	1
mx.charts.Legend:left 	1
mx.charts.Legend:right 	1
mx.charts.Legend:visible 	200
mx.charts.LinearAxis 	18
mx.charts.LinearAxis:baseAtZero 	11
mx.charts.LinearAxis:formatForScreen 	14
mx.charts.LinearAxis:labelFunction 	24
mx.charts.LinearAxis:title 	11
mx.charts.LineChart:addEventListener 	60
mx.charts.LineChart:dataProvider 	15
mx.charts.LineChart:dataTipFunction 	6
mx.charts.LineChart:fontFamily 	2
mx.charts.LineChart:height 	15
mx.charts.LineChart:horizontalAxis 	15
mx.charts.LineChart:paddingLeft 	9
mx.charts.LineChart:paddingTop 	9
mx.charts.LineChart:removeEventListener 	48
mx.charts.LineChart:series 	15
mx.charts.LineChart:seriesFilters 	3
mx.charts.LineChart:setStyle 	20
mx.charts.LineChart:showDataTips 	15
mx.charts.LineChart:verticalAxis 	3
mx.charts.LineChart:visible 	48
mx.charts.LineChart:width 	15
mx.charts.PieChart:addEventListener 	36
mx.charts.PieChart:bottom 	1
mx.charts.PieChart:dataProvider 	14
mx.charts.PieChart:dataTipFunction 	6
mx.charts.PieChart:fontFamily 	2
mx.charts.PieChart:height 	9
mx.charts.PieChart:innerRadius 	2
mx.charts.PieChart:left 	1
mx.charts.PieChart:paddingLeft 	3
mx.charts.PieChart:paddingTop 	3
mx.charts.PieChart:percentHeight 	4
mx.charts.PieChart:percentWidth 	4
mx.charts.PieChart:removeEventListener 	24
mx.charts.PieChart:right 	1
mx.charts.PieChart:series 	13
mx.charts.PieChart:setStyle 	20
mx.charts.PieChart:showDataTips 	62
mx.charts.PieChart:top 	1
mx.charts.PieChart:visible 	51
mx.charts.PieChart:width 	9
mx.charts.PlotChart:dataProvider 	2
mx.charts.PlotChart:height 	2
mx.charts.PlotChart:horizontalAxis 	2
mx.charts.PlotChart:series 	2
mx.charts.PlotChart:setStyle 	8
mx.charts.PlotChart:showDataTips 	2
mx.charts.PlotChart:width 	2
mx.charts.renderers.ShadowLineRenderer 	48
mx.charts.series.AreaSeries:yField 	36
mx.charts.series.BarSeries 	55
mx.charts.series.BarSeries:displayName 	29
mx.charts.series.BarSeries:fill 	9
mx.charts.series.BarSeries:stroke 	9
mx.charts.series.BarSeries:styleName 	6
mx.charts.series.BarSeries:xField 	33
mx.charts.series.BarSeries:yField 	33
mx.charts.series.ColumnSeries 	73
mx.charts.series.ColumnSeries:dataTransform 	16
mx.charts.series.ColumnSeries:displayName 	42
mx.charts.series.ColumnSeries:fill 	6
mx.charts.series.ColumnSeries:itemRenderer 	2
mx.charts.series.ColumnSeries:stroke 	6
mx.charts.series.ColumnSeries:styleName 	4
mx.charts.series.ColumnSeries:xField 	26
mx.charts.series.ColumnSeries:yField 	68
mx.charts.series.items.ColumnSeriesItem 	42
mx.charts.series.items.ColumnSeriesItem:xValue 	12
mx.charts.series.items.ColumnSeriesItem:yValue 	12
mx.charts.series.items.PieSeriesItem 	60
mx.charts.series.items.PieSeriesItem:angle 	8
mx.charts.series.items.PieSeriesItem:fill 	8
mx.charts.series.items.PieSeriesItem:innerRadius 	8
mx.charts.series.items.PieSeriesItem:origin 	8
mx.charts.series.items.PieSeriesItem:outerRadius 	8
mx.charts.series.items.PieSeriesItem:percentValue 	36
mx.charts.series.items.PieSeriesItem:startAngle 	8
mx.charts.series.LineSeries:displayName 	12
mx.charts.series.LineSeries:itemRenderer 	4
mx.charts.series.LineSeries:lineSegmentRenderer 	12
mx.charts.series.LineSeries:lineStroke 	12
mx.charts.series.LineSeries:styleName 	4
mx.charts.series.LineSeries:yField 	28
mx.charts.series.PieSeries 	55
mx.charts.series.PieSeries:calloutStroke 	3
mx.charts.series.PieSeries:dataProvider 	20
mx.charts.series.PieSeries:displayName 	20
mx.charts.series.PieSeries:field 	29
mx.charts.series.PieSeries:filters 	23
mx.charts.series.PieSeries:insideLabelSizeLimit 	3
mx.charts.series.PieSeries:itemRenderer 	4
mx.charts.series.PieSeries:labelField 	3
mx.charts.series.PieSeries:labelFunction 	3
mx.charts.series.PieSeries:labelPosition 	9
mx.charts.series.PieSeries:nameField 	23
mx.charts.series.PieSeries:radialStroke 	3
mx.charts.series.PieSeries:setStyle 	24
mx.charts.series.PieSeries:stroke 	3
mx.charts.series.PlotSeries:yField 	12
mx.collections.ArrayCollection 	38566
mx.collections.ArrayCollection:addAll 	106
mx.collections.ArrayCollection:addItem 	1930
mx.collections.ArrayCollection:addItemAt 	216
mx.collections.ArrayCollection:createCursor 	42
mx.collections.ArrayCollection:filterFunction 	2140
mx.collections.ArrayCollection:getItemAt 	2282
mx.collections.ArrayCollection:getItemIndex 	2685
mx.collections.ArrayCollection:itemUpdated 	20
mx.collections.ArrayCollection:length 	13662
mx.collections.ArrayCollection:refresh 	7202
mx.collections.ArrayCollection:removeAll 	898
mx.collections.ArrayCollection:removeItemAt 	1248
mx.collections.ArrayCollection:setItemAt 	772
mx.collections.ArrayCollection:sort 	168
mx.collections.ArrayCollection:source 	26
mx.collections.ArrayCollection:toArray 	13
mx.collections.ArrayList 	16
mx.collections.ArrayList:source 	8
mx.collections.Grouping:fields 	2
mx.collections.Grouping:label 	1
mx.collections.GroupingCollection2:grouping 	2
mx.collections.GroupingCollection2:refresh 	4
mx.collections.GroupingCollection2:source 	1
mx.collections.GroupingField:name 	1
mx.collections.ICollectionView 	258
mx.collections.IList 	13
mx.collections.IViewCursor 	13
mx.collections.ListCollectionView 	76
mx.collections.ListCollectionView:addItem 	12
mx.collections.ListCollectionView:getItemAt 	72
mx.collections.ListCollectionView:length 	85
mx.collections.ListCollectionView:refresh 	64
mx.collections.ListCollectionView:removeAll 	176
mx.collections.ListCollectionView:removeItemAt 	4
mx.collections.ListCollectionView:sort 	40
mx.collections.ListCollectionView:toArray 	5
mx.collections.Sort 	528
mx.collections.Sort:fields 	188
mx.collections.SortField 	480
mx.collections.SortField:caseInsensitive 	24
mx.collections.SortField:name 	152
mx.collections.SortField:numeric 	128
mx.collections.XMLListCollection 	22
mx.containers.Box:height 	22
mx.containers.Box:horizontalAlign 	14
mx.containers.Box:includeInLayout 	72
mx.containers.Box:paddingLeft 	12
mx.containers.Box:paddingRight 	1
mx.containers.Box:verticalAlign 	14
mx.containers.Box:visible 	72
mx.containers.Box:width 	22
mx.containers.Box:x 	8
mx.containers.Box:y 	8
mx.containers.Canvas 	127
mx.containers.Canvas:addChild 	14
mx.containers.Canvas:addElement 	48
mx.containers.Canvas:addEventListener 	48
mx.containers.Canvas:backgroundColor 	8
mx.containers.Canvas:borderStyle 	6
mx.containers.Canvas:borderVisible 	2
mx.containers.Canvas:bottom 	19
mx.containers.Canvas:dragDrop 	6
mx.containers.Canvas:dragEnter 	6
mx.containers.Canvas:getChildAt 	192
mx.containers.Canvas:getChildren 	90
mx.containers.Canvas:getStyle 	6
mx.containers.Canvas:graphics 	60
mx.containers.Canvas:height 	65
mx.containers.Canvas:horizontalCenter 	4
mx.containers.Canvas:id 	4
mx.containers.Canvas:left 	19
mx.containers.Canvas:mask 	4
mx.containers.Canvas:move 	1
mx.containers.Canvas:removeAllChildren 	28
mx.containers.Canvas:resize 	1
mx.containers.Canvas:right 	19
mx.containers.Canvas:scroll 	2
mx.containers.Canvas:setStyle 	8
mx.containers.Canvas:textAlign 	6
mx.containers.Canvas:top 	19
mx.containers.Canvas:updateDisplayList 	5
mx.containers.Canvas:verticalCenter 	4
mx.containers.Canvas:width 	107
mx.containers.Canvas:x 	2
mx.containers.Canvas:y 	2
mx.containers.ControlBar:height 	6
mx.containers.ControlBar:width 	1
mx.containers.FormHeading:fontWeight 	8
mx.containers.FormHeading:height 	8
mx.containers.FormHeading:label 	8
mx.containers.FormHeading:width 	2
mx.containers.FormHeading:x 	8
mx.containers.FormHeading:y 	8
mx.containers.Grid:borderVisible 	67
mx.containers.Grid:cornerRadius 	2
mx.containers.Grid:height 	27
mx.containers.Grid:horizontalGap 	69
mx.containers.Grid:paddingBottom 	18
mx.containers.Grid:paddingLeft 	69
mx.containers.Grid:paddingRight 	69
mx.containers.Grid:paddingTop 	79
mx.containers.Grid:verticalGap 	2
mx.containers.Grid:width 	83
mx.containers.Grid:x 	82
mx.containers.Grid:y 	82
mx.containers.GridItem:colSpan 	3
mx.containers.GridItem:height 	268
mx.containers.GridItem:horizontalAlign 	298
mx.containers.GridItem:paddingLeft 	2
mx.containers.GridItem:paddingRight 	3
mx.containers.GridItem:paddingTop 	2
mx.containers.GridItem:textAlign 	8
mx.containers.GridItem:verticalAlign 	3
mx.containers.GridItem:width 	336
mx.containers.GridRow:borderVisible 	2
mx.containers.GridRow:height 	35
mx.containers.GridRow:paddingBottom 	4
mx.containers.GridRow:paddingTop 	5
mx.containers.GridRow:width 	95
mx.containers.HBox 	5
mx.containers.HBox:borderVisible 	3
mx.containers.HBox:bottom 	2
mx.containers.HBox:height 	12
mx.containers.HBox:horizontalAlign 	15
mx.containers.HBox:horizontalCenter 	1
mx.containers.HBox:horizontalGap 	7
mx.containers.HBox:horizontalScrollPolicy 	7
mx.containers.HBox:paddingBottom 	1
mx.containers.HBox:paddingLeft 	8
mx.containers.HBox:paddingRight 	1
mx.containers.HBox:paddingTop 	1
mx.containers.HBox:right 	2
mx.containers.HBox:verticalAlign 	14
mx.containers.HBox:visible 	40
mx.containers.HBox:width 	16
mx.containers.HBox:x 	9
mx.containers.HBox:y 	10
mx.containers.HDividedBox:bottom 	2
mx.containers.HDividedBox:height 	304
mx.containers.HDividedBox:left 	2
mx.containers.HDividedBox:right 	2
mx.containers.HDividedBox:top 	2
mx.containers.HDividedBox:width 	304
mx.containers.HDividedBox:x 	5
mx.containers.HDividedBox:y 	5
mx.containers.Panel:height 	1
mx.containers.Panel:paddingBottom 	1
mx.containers.Panel:paddingLeft 	1
mx.containers.Panel:paddingRight 	1
mx.containers.Panel:paddingTop 	1
mx.containers.Panel:title 	1
mx.containers.Panel:width 	1
mx.containers.TitleWindow:bottom 	2
mx.containers.TitleWindow:close 	475
mx.containers.TitleWindow:cornerRadius 	55
mx.containers.TitleWindow:creationComplete 	490
mx.containers.TitleWindow:creationPolicy 	2
mx.containers.TitleWindow:dropShadowVisible 	14
mx.containers.TitleWindow:fontWeight 	47
mx.containers.TitleWindow:height 	505
mx.containers.TitleWindow:horizontalAlign 	4
mx.containers.TitleWindow:layout 	18
mx.containers.TitleWindow:minHeight 	10
mx.containers.TitleWindow:paddingBottom 	2
mx.containers.TitleWindow:paddingLeft 	2
mx.containers.TitleWindow:paddingRight 	3
mx.containers.TitleWindow:paddingTop 	2
mx.containers.TitleWindow:showCloseButton 	72
mx.containers.TitleWindow:title 	487
mx.containers.TitleWindow:top 	2
mx.containers.TitleWindow:verticalAlign 	50
mx.containers.TitleWindow:width 	507
mx.containers.TitleWindow:x 	2
mx.containers.VBox:addChild 	4
mx.containers.VBox:addElement 	132
mx.containers.VBox:backgroundColor 	1
mx.containers.VBox:borderColor 	1
mx.containers.VBox:borderStyle 	1
mx.containers.VBox:bottom 	13
mx.containers.VBox:creationComplete 	1
mx.containers.VBox:getStyle 	20
mx.containers.VBox:height 	12
mx.containers.VBox:horizontalAlign 	2
mx.containers.VBox:horizontalScrollPolicy 	3
mx.containers.VBox:paddingBottom 	2
mx.containers.VBox:paddingLeft 	2
mx.containers.VBox:paddingRight 	2
mx.containers.VBox:paddingTop 	2
mx.containers.VBox:removeAllChildren 	4
mx.containers.VBox:removeAllElements 	36
mx.containers.VBox:resize 	1
mx.containers.VBox:right 	3
mx.containers.VBox:top 	13
mx.containers.VBox:verticalAlign 	1
mx.containers.VBox:verticalGap 	1
mx.containers.VBox:verticalScrollPolicy 	3
mx.containers.VBox:visible 	32
mx.containers.VBox:width 	25
mx.containers.VBox:x 	16
mx.containers.VBox:y 	3
mx.containers.VDividedBox:height 	2
mx.containers.VDividedBox:width 	2
mx.containers.ViewStack 	15
mx.containers.ViewStack:addChild 	8
mx.containers.ViewStack:addChildAt 	8
mx.containers.ViewStack:addElement 	4
mx.containers.ViewStack:borderStyle 	11
mx.containers.ViewStack:bottom 	32
mx.containers.ViewStack:childDescriptors 	30
mx.containers.ViewStack:creationPolicy 	141
mx.containers.ViewStack:enabled 	8
mx.containers.ViewStack:height 	120
mx.containers.ViewStack:left 	8
mx.containers.ViewStack:length 	14
mx.containers.ViewStack:numChildren 	60
mx.containers.ViewStack:paddingTop 	1
mx.containers.ViewStack:percentHeight 	4
mx.containers.ViewStack:percentWidth 	4
mx.containers.ViewStack:removeAllElements 	4
mx.containers.ViewStack:removeChildAt 	124
mx.containers.ViewStack:right 	3
mx.containers.ViewStack:selectedChild 	36
mx.containers.ViewStack:selectedIndex 	41
mx.containers.ViewStack:top 	33
mx.containers.ViewStack:validateDisplayList 	4
mx.containers.ViewStack:validateNow 	4
mx.containers.ViewStack:width 	143
mx.containers.ViewStack:x 	118
mx.containers.ViewStack:y 	100
mx.controls.AdvancedDataGrid 	1086
mx.controls.AdvancedDataGrid:allowDragSelection 	80
mx.controls.AdvancedDataGrid:allowMultipleSelection 	174
mx.controls.AdvancedDataGrid:borderVisible 	150
mx.controls.AdvancedDataGrid:bottom 	538
mx.controls.AdvancedDataGrid:change 	293
mx.controls.AdvancedDataGrid:click 	3
mx.controls.AdvancedDataGrid:columnCount 	5
mx.controls.AdvancedDataGrid:columns 	1241
mx.controls.AdvancedDataGrid:columnWidth 	5
mx.controls.AdvancedDataGrid:dataProvider 	4392
mx.controls.AdvancedDataGrid:dataTipFunction 	1
mx.controls.AdvancedDataGrid:designViewDataType 	55
mx.controls.AdvancedDataGrid:doubleClick 	34
mx.controls.AdvancedDataGrid:doubleClickEnabled 	93
mx.controls.AdvancedDataGrid:dragEnabled 	2
mx.controls.AdvancedDataGrid:draggableColumns 	6
mx.controls.AdvancedDataGrid:editable 	80
mx.controls.AdvancedDataGrid:enabled 	33
mx.controls.AdvancedDataGrid:focusEnabled 	2
mx.controls.AdvancedDataGrid:focusOut 	1
mx.controls.AdvancedDataGrid:fontFamily 	3
mx.controls.AdvancedDataGrid:groupedColumns 	2
mx.controls.AdvancedDataGrid:headerHeight 	7
mx.controls.AdvancedDataGrid:headerRelease 	2
mx.controls.AdvancedDataGrid:headerStyleName 	21
mx.controls.AdvancedDataGrid:headerWordWrap 	1
mx.controls.AdvancedDataGrid:height 	308
mx.controls.AdvancedDataGrid:horizontalCenter 	1
mx.controls.AdvancedDataGrid:horizontalScrollPolicy 	467
mx.controls.AdvancedDataGrid:initialize 	1
mx.controls.AdvancedDataGrid:invalidateList 	20
mx.controls.AdvancedDataGrid:itemClick 	39
mx.controls.AdvancedDataGrid:itemDoubleClick 	59
mx.controls.AdvancedDataGrid:itemEditBeginning 	11
mx.controls.AdvancedDataGrid:itemEditEnd 	11
mx.controls.AdvancedDataGrid:itemRenderer 	85
mx.controls.AdvancedDataGrid:left 	577
mx.controls.AdvancedDataGrid:lockedColumnCount 	10
mx.controls.AdvancedDataGrid:maxHeight 	1
mx.controls.AdvancedDataGrid:maxWidth 	61
mx.controls.AdvancedDataGrid:minHeight 	1
mx.controls.AdvancedDataGrid:mouseEnabled 	60
mx.controls.AdvancedDataGrid:resizableColumns 	414
mx.controls.AdvancedDataGrid:right 	562
mx.controls.AdvancedDataGrid:rowCount 	32
mx.controls.AdvancedDataGrid:rowHeight 	598
mx.controls.AdvancedDataGrid:scrollToIndex 	692
mx.controls.AdvancedDataGrid:selectedIndex 	18223
mx.controls.AdvancedDataGrid:selectedIndices 	58
mx.controls.AdvancedDataGrid:selectedItem 	36076
mx.controls.AdvancedDataGrid:selectedItems 	4728
mx.controls.AdvancedDataGrid:selectionMode 	109
mx.controls.AdvancedDataGrid:show 	2
mx.controls.AdvancedDataGrid:sortableColumns 	15
mx.controls.AdvancedDataGrid:sortExpertMode 	659
mx.controls.AdvancedDataGrid:styleFunction 	6
mx.controls.AdvancedDataGrid:styleName 	670
mx.controls.AdvancedDataGrid:tabChildren 	8
mx.controls.AdvancedDataGrid:tabEnabled 	95
mx.controls.AdvancedDataGrid:tabFocusEnabled 	254
mx.controls.AdvancedDataGrid:tabIndex 	50
mx.controls.AdvancedDataGrid:textAlign 	347
mx.controls.AdvancedDataGrid:toolTip 	4
mx.controls.AdvancedDataGrid:top 	555
mx.controls.AdvancedDataGrid:validateDisplayList 	24
mx.controls.AdvancedDataGrid:validateNow 	4428
mx.controls.AdvancedDataGrid:variableRowHeight 	61
mx.controls.AdvancedDataGrid:verticalAlign 	626
mx.controls.AdvancedDataGrid:verticalScrollPolicy 	32
mx.controls.AdvancedDataGrid:verticalScrollPosition 	80
mx.controls.AdvancedDataGrid:visible 	83
mx.controls.AdvancedDataGrid:width 	222
mx.controls.AdvancedDataGrid:wordWrap 	55
mx.controls.AdvancedDataGrid:x 	147
mx.controls.AdvancedDataGrid:y 	180
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn 	1505
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:backgroundColor
	2
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:clone 	1190
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:color 	34
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:dataField 	9174
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:editable 	2428
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:editorDataField
	62
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:editorUsesEnterK
ey 	40
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:fontFamily 	5
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:fontSize 	38
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:fontWeight 	38
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:headerRenderer
	13
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:headerStyleName
	60
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:headerText 	6524
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:headerWordWrap
	205
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:itemEditor 	58
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:itemRenderer
	118
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:labelFunction
	1182
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:minWidth 	14
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:rendererIsEditor
	3
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:resizable 	2561
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:showDataTips 	9
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:sortable 	16
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:sortCompareFunct
ion 	224
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:styleFunction
	53
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:textAlign 	326
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:visible 	3736
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:width 	4737
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn:wordWrap 	23
mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup:children 	4
mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup:headerText
	2
mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer:horizont
alAlign 	5
mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer:data 	19
mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer:getStyle
	3
mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer:listData
	32
mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer:setStyle
	30
mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer:validatePr
operties 	5
mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer:click 	3
mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer:focusEna
bled 	3
mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer:focusIn
	4
mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer:height
	21
mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer:mxmlCont
ent 	50
mx.controls.Alert 	115238
mx.controls.Alert:NO 	8588
mx.controls.Alert:OK 	89
mx.controls.Alert:show 	28898
mx.controls.Alert:visible 	9
mx.controls.Alert:YES 	2817
mx.controls.Button 	62
mx.controls.Button:accessibilityEnabled 	6399
mx.controls.Button:addEventListener 	12
mx.controls.Button:bottom 	1713
mx.controls.Button:buttonMode 	2568
mx.controls.Button:click 	3630
mx.controls.Button:cornerRadius 	2178
mx.controls.Button:data 	2961
mx.controls.Button:disabledIcon 	10
mx.controls.Button:enabled 	14874
mx.controls.Button:fontFamily 	1002
mx.controls.Button:fontSize 	1003
mx.controls.Button:fontStyle 	286
mx.controls.Button:fontWeight 	1016
mx.controls.Button:getExplicitOrMeasuredHeight 	7
mx.controls.Button:getExplicitOrMeasuredWidth 	7
mx.controls.Button:height 	3367
mx.controls.Button:horizontalCenter 	8
mx.controls.Button:icon 	12
mx.controls.Button:id 	21
mx.controls.Button:label 	3690
mx.controls.Button:labelPlacement 	5
mx.controls.Button:left 	107
mx.controls.Button:mouseChildren 	2463
mx.controls.Button:percentWidth 	4
mx.controls.Button:right 	631
mx.controls.Button:selected 	23
mx.controls.Button:setFocus 	4
mx.controls.Button:setStyle 	4
mx.controls.Button:styleName 	2
mx.controls.Button:tabIndex 	3253
mx.controls.Button:textAlign 	1337
mx.controls.Button:toolTip 	1092
mx.controls.Button:top 	97
mx.controls.Button:uid 	2645
mx.controls.Button:useHandCursor 	1154
mx.controls.Button:visible 	275
mx.controls.Button:width 	3547
mx.controls.Button:x 	2887
mx.controls.Button:y 	1936
mx.controls.CheckBox 	33
mx.controls.CheckBox:addEventListener 	4
mx.controls.CheckBox:change 	3
mx.controls.CheckBox:click 	33
mx.controls.CheckBox:enabled 	40
mx.controls.CheckBox:horizontalCenter 	65
mx.controls.CheckBox:id 	8
mx.controls.CheckBox:label 	10
mx.controls.CheckBox:labelPlacement 	2
mx.controls.CheckBox:selected 	189
mx.controls.CheckBox:selectedField 	68
mx.controls.CheckBox:setStyle 	24
mx.controls.CheckBox:textAlign 	61
mx.controls.CheckBox:uid 	8
mx.controls.CheckBox:visible 	9
mx.controls.CheckBox:width 	64
mx.controls.CheckBox:x 	32
mx.controls.CheckBox:y 	18
mx.controls.ColorPicker 	12
mx.controls.ColorPicker:height 	3
mx.controls.ColorPicker:selectedColor 	13
mx.controls.ColorPicker:width 	3
mx.controls.ColorPicker:x 	3
mx.controls.ColorPicker:y 	3
mx.controls.ComboBase:downArrowButton 	41
mx.controls.ComboBase:editable 	78
mx.controls.ComboBase:imeMode 	8
mx.controls.ComboBase:textInput 	190
mx.controls.ComboBase:textInputStyleFilters 	5
mx.controls.ComboBox 	55
mx.controls.ComboBox:buttonMode 	1
mx.controls.ComboBox:change 	6
mx.controls.ComboBox:dataProvider 	7
mx.controls.ComboBox:editable 	1
mx.controls.ComboBox:enabled 	1
mx.controls.ComboBox:horizontalCenter 	1
mx.controls.ComboBox:restrict 	1
mx.controls.ComboBox:rowCount 	1
mx.controls.ComboBox:selectedIndex 	46
mx.controls.ComboBox:selectedLabel 	20
mx.controls.ComboBox:toolTip 	1
mx.controls.ComboBox:width 	4
mx.controls.DataGrid 	30
mx.controls.DataGrid:allowMultipleSelection 	2
mx.controls.DataGrid:columns 	5
mx.controls.DataGrid:dataProvider 	23
mx.controls.DataGrid:fontFamily 	2
mx.controls.DataGrid:fontSize 	2
mx.controls.DataGrid:height 	5
mx.controls.DataGrid:itemClick 	3
mx.controls.DataGrid:itemDoubleClick 	3
mx.controls.DataGrid:rowCount 	7
mx.controls.DataGrid:selectedIndex 	7
mx.controls.DataGrid:selectedIndices 	17
mx.controls.DataGrid:selectedItem 	17
mx.controls.DataGrid:selectedItems 	45
mx.controls.DataGrid:styleName 	2
mx.controls.DataGrid:width 	5
mx.controls.DataGrid:x 	2
mx.controls.DataGrid:y 	2
mx.controls.dataGridClasses.DataGridColumn 	9
mx.controls.dataGridClasses.DataGridColumn:dataField 	28
mx.controls.dataGridClasses.DataGridColumn:headerText 	13
mx.controls.dataGridClasses.DataGridColumn:labelFunction 	3
mx.controls.dataGridClasses.DataGridColumn:rendererIsEditor 	3
mx.controls.dataGridClasses.DataGridColumn:width 	1
mx.controls.DateChooser 	1
mx.controls.DateChooser:displayedMonth 	4
mx.controls.DateChooser:displayedYear 	4
mx.controls.DateChooser:selectedDate 	31
mx.controls.DateField 	8204
mx.controls.DateField:createChildren 	5
mx.controls.DateField:dateToString 	52
mx.controls.DateField:dropdown 	6
mx.controls.DateField:editable 	81
mx.controls.DateField:enabled 	59
mx.controls.DateField:fontFamily 	2
mx.controls.DateField:fontSize 	2
mx.controls.DateField:formatString 	107
mx.controls.DateField:height 	85
mx.controls.DateField:labelFunction 	15
mx.controls.DateField:selectedDate 	42
mx.controls.DateField:showToday 	70
mx.controls.DateField:stringToDate 	3093
mx.controls.DateField:tabIndex 	89
mx.controls.DateField:text 	2341
mx.controls.DateField:valueCommit 	8
mx.controls.DateField:width 	93
mx.controls.DateField:x 	92
mx.controls.DateField:y 	92
mx.controls.DateField:yearNavigationEnabled 	87
mx.controls.HRule:height 	1
mx.controls.HRule:strokeColor 	1
mx.controls.HRule:strokeWidth 	1
mx.controls.HRule:width 	20
mx.controls.HRule:x 	19
mx.controls.HRule:y 	19
mx.controls.Image 	10
mx.controls.Image:accessibilityEnabled 	12
mx.controls.Image:bottom 	3
mx.controls.Image:buttonMode 	1340
mx.controls.Image:click 	1379
mx.controls.Image:enabled 	1328
mx.controls.Image:height 	1443
mx.controls.Image:horizontalAlign 	9
mx.controls.Image:horizontalCenter 	8
mx.controls.Image:left 	4
mx.controls.Image:maintainAspectRatio 	4
mx.controls.Image:mouseChildren 	1304
mx.controls.Image:right 	126
mx.controls.Image:rollOut 	4
mx.controls.Image:rollOver 	4
mx.controls.Image:scaleContent 	145
mx.controls.Image:source 	1457
mx.controls.Image:tabEnabled 	588
mx.controls.Image:tabFocusEnabled 	619
mx.controls.Image:tabIndex 	313
mx.controls.Image:toolTip 	102
mx.controls.Image:top 	112
mx.controls.Image:uid 	1
mx.controls.Image:useHandCursor 	599
mx.controls.Image:verticalAlign 	5
mx.controls.Image:verticalCenter 	1
mx.controls.Image:visible 	706
mx.controls.Image:width 	1443
mx.controls.Image:x 	1296
mx.controls.Image:y 	1364
**mx.controls.Label** 	69
**mx.controls.Label:alpha** 	16
mx.controls.Label:click 	1
mx.controls.Label:color 	1
**mx.controls.Label:data** 	21
**mx.controls.Label:htmlText** 	1
mx.controls.Label:measuredHeight 	7
mx.controls.Label:measuredWidth 	7
mx.controls.Label:setActualSize 	4
mx.controls.Label:setStyle 	20
**mx.controls.Label:text** 	56
mx.controls.Label:textAlign 	5
**mx.controls.Label:width** 	5
**mx.controls.Label:x** 	8
**mx.controls.Label:y** 	8
mx.controls.LinkButton:bottom 	19
mx.controls.LinkButton:click 	64
mx.controls.LinkButton:color 	4
mx.controls.LinkButton:enabled 	268
mx.controls.LinkButton:fontWeight 	2
mx.controls.LinkButton:height 	35
mx.controls.LinkButton:label 	64
mx.controls.LinkButton:left 	16
mx.controls.LinkButton:right 	7
mx.controls.LinkButton:setFocus 	4
mx.controls.LinkButton:styleName 	18
mx.controls.LinkButton:tabIndex 	38
mx.controls.LinkButton:textAlign 	2
mx.controls.LinkButton:textDecoration 	46
mx.controls.LinkButton:toolTip 	18
mx.controls.LinkButton:top 	6
mx.controls.LinkButton:uid 	1
mx.controls.LinkButton:visible 	8
mx.controls.LinkButton:width 	43
mx.controls.LinkButton:x 	23
mx.controls.LinkButton:y 	69
mx.controls.List 	50
mx.controls.List:borderStyle 	1
mx.controls.List:bottom 	4
mx.controls.List:click 	1
mx.controls.List:dataProvider 	221
mx.controls.List:editable 	1
mx.controls.List:enabled 	1
mx.controls.List:height 	147
mx.controls.List:itemRenderer 	1
mx.controls.List:rowCount 	161
mx.controls.List:rowHeight 	161
mx.controls.List:showDataTips 	161
mx.controls.List:top 	3
mx.controls.List:valueCommit 	2
mx.controls.List:visible 	1
mx.controls.List:width 	162
mx.controls.List:x 	161
mx.controls.List:y 	157
mx.controls.listClasses.AdvancedListBase:selectedIndex 	73
mx.controls.listClasses.AdvancedListBase:selectedItem 	334
mx.controls.listClasses.AdvancedListBase:selectedItems 	1162
mx.controls.listClasses.BaseListData:columnIndex 	5
mx.controls.listClasses.BaseListData:owner 	5
mx.controls.listClasses.ListBase:selectedIndex 	26
mx.controls.listClasses.ListBase:variableRowHeight 	8
mx.controls.MenuBar:dataProvider 	4
mx.controls.MenuBar:height 	4
mx.controls.MenuBar:iconField 	4
mx.controls.MenuBar:itemClick 	4
mx.controls.MenuBar:labelField 	4
mx.controls.MenuBar:menuShow 	4
mx.controls.MenuBar:width 	4
mx.controls.MenuBar:x 	4
mx.controls.MenuBar:y 	4
mx.controls.NumericStepper:change 	3
mx.controls.NumericStepper:maxChars 	20
mx.controls.NumericStepper:maximum 	23
mx.controls.NumericStepper:minimum 	23
mx.controls.NumericStepper:stepSize 	20
mx.controls.NumericStepper:textAlign 	20
mx.controls.NumericStepper:value 	113
mx.controls.NumericStepper:valueCommit 	3
mx.controls.NumericStepper:visible 	2
mx.controls.NumericStepper:width 	3
mx.controls.ProgressBar:bottom 	1
mx.controls.ProgressBar:color 	18
mx.controls.ProgressBar:height 	19
mx.controls.ProgressBar:horizontalCenter 	1
mx.controls.ProgressBar:indeterminate 	1
mx.controls.ProgressBar:label 	193
mx.controls.ProgressBar:labelPlacement 	2
mx.controls.ProgressBar:maximum 	47
mx.controls.ProgressBar:minimum 	19
mx.controls.ProgressBar:mode 	19
mx.controls.ProgressBar:right 	1
mx.controls.ProgressBar:setProgress 	140
mx.controls.ProgressBar:source 	1
mx.controls.ProgressBar:verticalCenter 	1
mx.controls.ProgressBar:visible 	246
mx.controls.ProgressBar:width 	16
mx.controls.ProgressBar:x 	18
mx.controls.ProgressBar:y 	18
mx.controls.RadioButton:click 	5
mx.controls.RadioButton:enabled 	66
mx.controls.RadioButton:fontWeight 	2
mx.controls.RadioButton:group 	2
mx.controls.RadioButton:groupName 	31
mx.controls.RadioButton:height 	2
mx.controls.RadioButton:label 	33
mx.controls.RadioButton:labelPlacement 	2
mx.controls.RadioButton:selected 	13
mx.controls.RadioButton:value 	31
mx.controls.RadioButton:width 	3
mx.controls.RadioButton:x 	29
mx.controls.RadioButton:y 	29
mx.controls.RadioButtonGroup:change 	1
mx.controls.RadioButtonGroup:itemClick 	8
mx.controls.RadioButtonGroup:selectedValue 	514
mx.controls.RichTextEditor 	18
mx.controls.RichTextEditor:bottom 	1
mx.controls.RichTextEditor:dropShadowVisible 	1
mx.controls.RichTextEditor:fontFamilyCombo 	81
mx.controls.RichTextEditor:fontSize 	1
mx.controls.RichTextEditor:fontSizeCombo 	81
mx.controls.RichTextEditor:height 	7
mx.controls.RichTextEditor:htmlText 	55
mx.controls.RichTextEditor:left 	2
mx.controls.RichTextEditor:linkTextInput 	48
mx.controls.RichTextEditor:paddingBottom 	4
mx.controls.RichTextEditor:paddingTop 	4
mx.controls.RichTextEditor:right 	1
mx.controls.RichTextEditor:selection 	13
mx.controls.RichTextEditor:showControlBar 	1
mx.controls.RichTextEditor:tabEnabled 	4
mx.controls.RichTextEditor:tabIndex 	4
mx.controls.RichTextEditor:text 	63
mx.controls.RichTextEditor:textArea 	108
mx.controls.RichTextEditor:title 	8
mx.controls.RichTextEditor:toolbar 	81
mx.controls.RichTextEditor:top 	2
mx.controls.RichTextEditor:valueCommit 	2
mx.controls.RichTextEditor:verticalScrollPolicy 	4
mx.controls.RichTextEditor:visible 	3
mx.controls.RichTextEditor:width 	7
mx.controls.RichTextEditor:x 	6
mx.controls.RichTextEditor:y 	6
mx.controls.Spacer:height 	6
mx.controls.Spacer:width 	14
mx.controls.Text 	10
mx.controls.Text:addEventListener 	4
mx.controls.Text:buttonMode 	4
mx.controls.Text:color 	8
mx.controls.Text:graphics 	7
mx.controls.Text:height 	4
mx.controls.Text:htmlText 	4
mx.controls.Text:mouseChildren 	4
mx.controls.Text:mouseEnabled 	8
mx.controls.Text:selectable 	4
mx.controls.Text:setStyle 	56
mx.controls.Text:text 	12
mx.controls.Text:toolTip 	4
mx.controls.Text:useHandCursor 	4
mx.controls.Text:width 	8
mx.controls.Text:x 	10
mx.controls.Text:y 	10
mx.controls.TextArea 	30
mx.controls.TextArea:accessibilityEnabled 	1
mx.controls.TextArea:addEventListener 	4
mx.controls.TextArea:contentBackgroundColor 	18
mx.controls.TextArea:editable 	28
mx.controls.TextArea:enabled 	26
mx.controls.TextArea:height 	76
mx.controls.TextArea:maxChars 	109
mx.controls.TextArea:restrict 	1
mx.controls.TextArea:tabEnabled 	1
mx.controls.TextArea:tabFocusEnabled 	1
mx.controls.TextArea:tabIndex 	73
mx.controls.TextArea:text 	157
mx.controls.TextArea:textAlign 	15
mx.controls.TextArea:visible 	13
mx.controls.TextArea:width 	76
mx.controls.TextArea:x 	75
mx.controls.TextArea:y 	75
mx.controls.textClasses.TextRange:beginIndex 	8
mx.controls.TextInput 	33
mx.controls.TextInput:border 	12
mx.controls.TextInput:borderVisible 	3
mx.controls.TextInput:createChildren 	5
mx.controls.TextInput:creationComplete 	4
mx.controls.TextInput:editable 	7
mx.controls.TextInput:enabled 	209
mx.controls.TextInput:enter 	1
mx.controls.TextInput:height 	14
mx.controls.TextInput:keyDownHandler 	5
mx.controls.TextInput:maxChars 	25
mx.controls.TextInput:measure 	5
mx.controls.TextInput:restrict 	17
mx.controls.TextInput:selectionBeginIndex 	6
mx.controls.TextInput:setFocus 	8
mx.controls.TextInput:setSelection 	30
mx.controls.TextInput:styleChanged 	5
mx.controls.TextInput:text 	835
mx.controls.TextInput:textAlign 	10
mx.controls.TextInput:textField 	102
mx.controls.TextInput:toolTip 	3
mx.controls.TextInput:updateDisplayList 	10
mx.controls.TextInput:valueCommit 	1
mx.controls.TextInput:visible 	6
mx.controls.TextInput:width 	29
mx.controls.TextInput:x 	11
mx.controls.TextInput:y 	11
mx.controls.ToggleButtonBar:buttonWidth 	1
mx.controls.ToggleButtonBar:dataProvider 	2
mx.controls.ToggleButtonBar:horizontalGap 	1
mx.controls.ToggleButtonBar:itemClick 	1
mx.controls.ToggleButtonBar:selectedIndex 	19
mx.controls.ToggleButtonBar:toggleOnClick 	1
mx.controls.ToolTip 	6
mx.controls.Tree 	30
mx.controls.Tree:borderVisible 	2
mx.controls.Tree:bottom 	2
mx.controls.Tree:contentBackgroundColor 	2
mx.controls.Tree:dataDescriptor 	16
mx.controls.Tree:dataProvider 	52
mx.controls.Tree:defaultLeafIcon 	2
mx.controls.Tree:expandChildrenOf 	4
mx.controls.Tree:folderClosedIcon 	2
mx.controls.Tree:folderOpenIcon 	2
mx.controls.Tree:getParentItem 	17
mx.controls.Tree:itemRenderer 	2
mx.controls.Tree:labelField 	2
mx.controls.Tree:left 	1
mx.controls.Tree:openItems 	22
mx.controls.Tree:right 	1
mx.controls.Tree:setStyle 	4
mx.controls.Tree:top 	2
mx.controls.Tree:validateNow 	8
mx.controls.Tree:width 	1
mx.controls.Tree:x 	1
mx.controls.treeClasses.ITreeDataDescriptor 	6
mx.controls.treeClasses.TreeItemRenderer:createChildren 	5
mx.controls.treeClasses.TreeItemRenderer:data 	11
mx.controls.treeClasses.TreeItemRenderer:icon 	57
mx.controls.treeClasses.TreeItemRenderer:label 	33
mx.controls.treeClasses.TreeItemRenderer:listData 	6
mx.controls.treeClasses.TreeItemRenderer:updateDisplayList 	5
mx.controls.treeClasses.TreeListData 	18
mx.controls.treeClasses.TreeListData:item 	14
mx.controls.treeClasses.TreeListData:owner 	5
mx.controls.VRule:height 	13
mx.controls.VRule:x 	13
mx.controls.VRule:y 	13
mx.controls.VScrollBar 	8
mx.controls.VScrollBar:addEventListener 	4
mx.controls.VScrollBar:alpha 	4
mx.controls.VScrollBar:measuredWidth 	20
mx.controls.VScrollBar:scrollPosition 	28
mx.controls.VScrollBar:setScrollProperties 	4
mx.core.Application 	200
mx.core.Application:application 	92
mx.core.ClassFactory 	46
mx.core.ClassFactory:properties 	16
mx.core.Container 	38
mx.core.Container:addChild 	37
mx.core.Container:addEventListener 	15
mx.core.Container:commitProperties 	5
mx.core.Container:contentMouseX 	24
mx.core.Container:contentMouseY 	24
mx.core.Container:createChildren 	10
mx.core.Container:data 	1138
mx.core.Container:removeChild 	32
mx.core.Container:updateDisplayList 	5
mx.core.DragSource 	11
mx.core.DragSource:addData 	16
mx.core.DragSource:dataForFormat 	40
mx.core.EdgeMetrics 	38
mx.core.EdgeMetrics:bottom 	23
mx.core.EdgeMetrics:EMPTY 	9
mx.core.EdgeMetrics:left 	77
mx.core.EdgeMetrics:right 	32
mx.core.EdgeMetrics:top 	87
mx.core.EventPriority 	540
mx.core.EventPriority:DEFAULT_HANDLER 	216
mx.core.FlexGlobals 	5228
mx.core.FlexGlobals:topLevelApplication 	2068
mx.core.FlexVersion 	40
mx.core.FlexVersion:compatibilityVersion 	7
mx.core.FlexVersion:VERSION_3_0 	9
mx.core.IChildList 	15
mx.core.IDataRenderer 	70
mx.core.IFactory 	14
mx.core.IFlexDisplayObject 	39
mx.core.IInvalidating 	13
mx.core.IToolTip 	4
mx.core.IUIComponent 	21
mx.core.IVisualElement 	163
mx.core.IVisualElementContainer 	16
mx.core.mx_internal 	19
**mx.core.UIComponent** 	395
**mx.core.UIComponent:addChild** 	70
**mx.core.UIComponent:addChildAt** 	12
**mx.core.UIComponent:addEventListener** 	48
**mx.core.UIComponent:bottom** 	16
~~mx.core.UIComponent:buttonMode~~ 	4
**mx.core.UIComponent:cacheAsBitmap** 	3
**mx.core.UIComponent:callLater** 	24
**mx.core.UIComponent:clearStyle** 	16
**mx.core.UIComponent:createChildren** 	5
**mx.core.UIComponent:currentState** 	84
**mx.core.UIComponent:cursorManager** 	36
**mx.core.UIComponent:dispatchEvent** 	75
**mx.core.UIComponent:document** (renamed to 'component') 	33
**mx.core.UIComponent:doubleClickEnabled**	3
**mx.core.UIComponent:enabled** 	316
**mx.core.UIComponent:filters** 	19
**mx.core.UIComponent:focusManager** 	14792
**mx.core.UIComponent:getStyle** 	633
**mx.core.UIComponent:globalToLocal** 	7
**mx.core.UIComponent:graphics** 	41
**mx.core.UIComponent:height** 	228
**mx.core.UIComponent:id**	113
**mx.core.UIComponent:initializationComplete** 	30
**mx.core.UIComponent:initialized** 	8
**mx.core.UIComponent:invalidateDisplayList** 	77
**mx.core.UIComponent:invalidateProperties** 	51
**mx.core.UIComponent:invalidateSize** 	17
**mx.core.UIComponent:isPopUp** 	33
**mx.core.UIComponent:localToGlobal** 	14
~~mx.core.UIComponent:mask~~ 	8
**mx.core.UIComponent:maxHeight** 	7
**mx.core.UIComponent:maxWidth** 	7
**mx.core.UIComponent:measuredHeight** 	108
**mx.core.UIComponent:measuredMinHeight** 	39
**mx.core.UIComponent:measuredMinWidth** 	24
**mx.core.UIComponent:measuredWidth** 	24
**mx.core.UIComponent:measureText** 	60
**mx.core.UIComponent:minHeight** 	51
**mx.core.UIComponent:minWidth** 	49
mx.core.UIComponent:mouseEnabled 	4
**mx.core.UIComponent:mouseX** 	46
**mx.core.UIComponent:mouseY** 	52
**mx.core.UIComponent:move** 	4
**mx.core.UIComponent:owns** 	3
**mx.core.UIComponent:parent** 	251
**mx.core.UIComponent:parentApplication** 	390317
**mx.core.UIComponent:parentDocument (renamed to 'parentComponent')  845
**mx.core.UIComponent:percentHeight** 	3
**mx.core.UIComponent:percentWidth** 	3
**mx.core.UIComponent:removeChild** 	6
**mx.core.UIComponent:removeEventListener** 	36
~~mx.core.UIComponent:scrollRect~~ 	17
**mx.core.UIComponent:setActualSize** 	9
**mx.core.UIComponent:setFocus** 	8
mx.core.UIComponent:setLayoutBoundsSize 	10
**mx.core.UIComponent:setStyle** 	41
**mx.core.UIComponent:startDrag** 	4
**mx.core.UIComponent:stopDrag** 	4
**mx.core.UIComponent:styleName** 	8
**mx.core.UIComponent:systemManager** 	413
**mx.core.UIComponent:toolTip** 	16
**mx.core.UIComponent:uid** 	24
**mx.core.UIComponent:unscaledHeight** 	10
**mx.core.UIComponent:unscaledWidth** 	25
**mx.core.UIComponent:updateDisplayList** 	10
mx.core.UIComponent:useHandCursor 	4
**mx.core.UIComponent:validateDisplayList** 	24
**mx.core.UIComponent:validateNow** 	48
**mx.core.UIComponent:validateProperties** 	5
**mx.core.UIComponent:visible** 	472
**mx.core.UIComponent:width** 	242
**mx.core.UIComponent:x** 	167
**mx.core.UIComponent:y** 	167
mx.core.UITextField 	41
mx.core.UITextField:alpha 	4
mx.core.UITextField:htmlText 	3
mx.core.UITextField:measuredHeight 	37
mx.core.UITextField:measuredWidth 	7
mx.core.UITextField:move 	8
mx.core.UITextField:setActualSize 	16
mx.core.UITextField:setColor 	4
mx.core.UITextField:setTextFormat 	4
mx.core.UITextField:styleName 	8
mx.core.UITextField:text 	81
mx.core.UITextField:x 	8
mx.core.UITextField:y 	4
mx.effects.Blur 	53
mx.effects.Blur:blurXFrom 	20
mx.effects.Blur:blurXTo 	20
mx.effects.Blur:blurYFrom 	20
mx.effects.Blur:blurYTo 	20
mx.effects.Blur:duration 	4
mx.effects.CompositeEffect 	12
mx.effects.CompositeEffect:children 	5
mx.effects.easing.Exponential 	72
mx.effects.easing.Exponential:easeOut 	28
mx.effects.Effect 	124
mx.effects.Effect:instanceClass 	9
mx.effects.Effect:play 	12
mx.effects.Effect:target 	5
mx.effects.effectClasses.CompositeEffectInstance 	6
mx.effects.effectClasses.TweenEffectInstance:createTween 	15
mx.effects.effectClasses.TweenEffectInstance:easingFunction 	12
mx.effects.effectClasses.TweenEffectInstance:onTweenUpdate 	10
mx.effects.effectClasses.TweenEffectInstance:tween 	30
mx.effects.EffectInstance:duration 	15
mx.effects.EffectInstance:play 	5
mx.effects.EffectInstance:target 	31
mx.effects.Glow:alphaFrom 	20
mx.effects.Glow:alphaTo 	20
mx.effects.Glow:blurXFrom 	20
mx.effects.Glow:blurXTo 	20
mx.effects.Glow:blurYFrom 	20
mx.effects.Glow:blurYTo 	20
mx.effects.Glow:color 	20
mx.effects.Glow:duration 	20
mx.effects.Glow:strength 	20
mx.effects.IEffectInstance 	9
mx.effects.Move 	198
mx.effects.Move:duration 	68
mx.effects.Move:easingFunction 	12
mx.effects.Move:end 	4
mx.effects.Move:isPlaying 	5
mx.effects.Move:pause 	4
mx.effects.Move:play 	4
mx.effects.Move:xTo 	72
mx.effects.Move:yTo 	72
mx.effects.Parallel 	157
mx.effects.Parallel:addChild 	84
mx.effects.Parallel:addEventListener 	8
mx.effects.Parallel:children 	24
mx.effects.Parallel:duration 	36
mx.effects.Parallel:end 	8
mx.effects.Parallel:isPlaying 	10
mx.effects.Parallel:pause 	8
mx.effects.Parallel:play 	8
mx.effects.Resize 	153
mx.effects.Resize:duration 	64
mx.effects.Resize:easingFunction 	4
mx.effects.Resize:heightTo 	58
mx.effects.Resize:widthTo 	56
mx.effects.Sequence 	51
mx.effects.Sequence:addChild 	64
mx.effects.Sequence:end 	12
mx.effects.Tween:easingFunction 	4
mx.effects.Tween:getCurrentValue 	5
mx.effects.TweenEffect:initInstance 	15
mx.events.AdvancedDataGridEvent 	108
mx.events.AdvancedDataGridEvent:columnIndex 	169
mx.events.AdvancedDataGridEvent:currentTarget 	120
mx.events.AdvancedDataGridEvent:dataField 	35
mx.events.AdvancedDataGridEvent:HEADER_RELEASE 	7
mx.events.AdvancedDataGridEvent:preventDefault 	100
mx.events.AdvancedDataGridEvent:rowIndex 	91
mx.events.CalendarLayoutChangeEvent 	6
mx.events.CloseEvent 	2886
mx.events.CloseEvent:CLOSE 	7
mx.events.CloseEvent:detail 	2496
mx.events.CollectionEvent 	168
mx.events.CollectionEvent:COLLECTION_CHANGE 	56
mx.events.CollectionEventKind 	108
mx.events.CollectionEventKind:ADD 	7
mx.events.CollectionEventKind:REFRESH 	21
mx.events.CollectionEventKind:REMOVE 	14
mx.events.DividerEvent 	6
mx.events.DragEvent 	348
mx.events.DragEvent:action 	16
mx.events.DragEvent:currentTarget 	50
mx.events.DragEvent:DRAG_COMPLETE 	7
mx.events.DragEvent:DRAG_DROP 	49
mx.events.DragEvent:DRAG_ENTER 	49
mx.events.DragEvent:DRAG_EXIT 	7
mx.events.DragEvent:DRAG_OVER 	7
mx.events.DragEvent:DRAG_START 	7
mx.events.DragEvent:dragInitiator 	80
mx.events.DragEvent:dragSource 	90
mx.events.DragEvent:isDefaultPrevented 	4
mx.events.EffectEvent 	155
mx.events.EffectEvent:EFFECT_END 	43
mx.events.EffectEvent:EFFECT_START 	14
mx.events.EffectEvent:effectInstance 	47
mx.events.EffectEvent:type 	13
mx.events.FlexEvent 	3613
mx.events.FlexEvent:CREATION_COMPLETE 	35
mx.events.FlexEvent:currentTarget 	105
mx.events.FlexEvent:HIDE 	29
mx.events.FlexEvent:INITIALIZE 	7
mx.events.FlexEvent:SHOW 	29
mx.events.FlexEvent:target 	40
mx.events.FlexEvent:type 	19
mx.events.FlexEvent:VALUE_COMMIT 	7
mx.events.IndexChangedEvent 	76
mx.events.IndexChangedEvent:CHANGE 	21
mx.events.IndexChangedEvent:currentTarget 	5
mx.events.IndexChangedEvent:newIndex 	14
mx.events.ItemClickEvent 	3
mx.events.ListEvent 	153
mx.events.ListEvent:columnIndex 	257
mx.events.ListEvent:currentTarget 	29
mx.events.ListEvent:rowIndex 	120
mx.events.ListEvent:target 	25
mx.events.MenuEvent 	12
mx.events.MenuEvent:item 	36
mx.events.MenuEvent:menu 	36
mx.events.ModuleEvent 	160
mx.events.ModuleEvent:ERROR 	26
mx.events.ModuleEvent:errorText 	18
mx.events.ModuleEvent:module 	8
mx.events.ModuleEvent:READY 	26
mx.events.MoveEvent 	18
mx.events.MoveEvent:MOVE 	7
mx.events.PropertyChangeEvent 	14
mx.events.PropertyChangeEvent:createUpdateEvent 	5
mx.events.ResizeEvent 	89
mx.events.ResizeEvent:RESIZE 	21
mx.events.SandboxMouseEvent 	36
mx.events.SandboxMouseEvent:MOUSE_UP_SOMEWHERE 	14
mx.events.ScrollEvent 	21
mx.events.ScrollEvent:SCROLL 	7
mx.events.ValidationResultEvent 	17479
mx.events.ValidationResultEvent:INVALID 	6984
mx.events.ValidationResultEvent:type 	35
mx.formatters.DateFormatter 	992
mx.formatters.DateFormatter:format 	645
mx.formatters.DateFormatter:formatString 	351
mx.formatters.DateFormatter:parseDateString 	63
mx.formatters.NumberFormatter 	22
mx.formatters.NumberFormatter:decimalSeparatorFrom 	391
mx.formatters.NumberFormatter:decimalSeparatorTo 	391
mx.formatters.NumberFormatter:format 	9483
mx.formatters.NumberFormatter:precision 	933
mx.formatters.NumberFormatter:rounding 	561
mx.formatters.NumberFormatter:thousandsSeparatorFrom 	368
mx.formatters.NumberFormatter:thousandsSeparatorTo 	367
mx.formatters.NumberFormatter:useNegativeSign 	894
mx.formatters.NumberFormatter:useThousandsSeparator 	930
mx.formatters.SwitchSymbolFormatter 	81
mx.graphics.GradientEntry:alpha 	16
mx.graphics.GradientEntry:color 	60
mx.graphics.GradientEntry:ratio 	8
mx.graphics.IFill 	12
mx.graphics.IStroke 	24
mx.graphics.LinearGradient:entries 	28
mx.graphics.LinearGradient:rotation 	14
mx.graphics.LinearGradientStroke:entries 	20
mx.graphics.LinearGradientStroke:rotation 	10
mx.graphics.LinearGradientStroke:weight 	10
mx.graphics.SolidColor 	17
mx.graphics.SolidColor:alpha 	56
mx.graphics.SolidColor:color 	92
mx.graphics.SolidColorStroke:alpha 	85
mx.graphics.SolidColorStroke:caps 	7
mx.graphics.SolidColorStroke:color 	99
mx.graphics.SolidColorStroke:pixelHinting 	4
mx.graphics.SolidColorStroke:weight 	86
mx.graphics.Stroke 	20
mx.logging.ILogger 	3
mx.logging.Log 	23
mx.logging.Log:getLogger 	9
mx.logging.LogEventLevel 	22
mx.logging.LogEventLevel:ALL 	9
mx.logging.targets.TraceTarget 	8
mx.logging.targets.TraceTarget:addLogger 	4
mx.logging.targets.TraceTarget:filters 	4
mx.logging.targets.TraceTarget:includeLevel 	4
mx.logging.targets.TraceTarget:includeTime 	4
mx.logging.targets.TraceTarget:level 	4
mx.logging.targets.TraceTarget:removeLogger 	4
mx.managers.BrowserManager 	32
mx.managers.BrowserManager:getInstance 	12
mx.managers.CursorManager 	120
mx.managers.CursorManager:currentCursorID 	6
mx.managers.CursorManager:removeBusyCursor 	8
mx.managers.CursorManager:removeCursor 	12
mx.managers.CursorManager:setCursor 	16
mx.managers.CursorManagerPriority 	20
mx.managers.CursorManagerPriority:MEDIUM 	8
mx.managers.DragManager 	296
mx.managers.DragManager:acceptDragDrop 	24
mx.managers.DragManager:doDrag 	8
mx.managers.DragManager:LINK 	60
mx.managers.DragManager:showFeedback 	16
mx.managers.IBrowserManager 	2
mx.managers.IFocusManagerComponent 	2
mx.managers.ISystemManager 	35
mx.managers.PopUpManager 	55068
mx.managers.PopUpManager:addPopUp 	3884
mx.managers.PopUpManager:centerPopUp 	4032
mx.managers.PopUpManager:createPopUp 	820
mx.managers.PopUpManager:removePopUp 	9620
mx.messaging.channels.AMFChannel 	18
mx.messaging.channels.AMFChannel:pollingEnabled 	4
mx.messaging.channels.AMFChannel:pollingInterval 	4
mx.messaging.ChannelSet 	47
mx.messaging.ChannelSet:addChannel 	8
mx.modules.IModuleInfo 	12
mx.modules.Module 	10
mx.modules.Module:cornerRadius 	11
mx.modules.Module:creationComplete 	707
mx.modules.Module:fontWeight 	11
mx.modules.Module:height 	720
mx.modules.Module:layout 	706
mx.modules.Module:paddingLeft 	1
mx.modules.Module:verticalAlign 	11
mx.modules.Module:verticalScrollPolicy 	13
mx.modules.Module:width 	720
mx.modules.ModuleLoader 	2
mx.modules.ModuleLoader:applicationDomain 	86
mx.modules.ModuleLoader:child 	10
mx.modules.ModuleLoader:height 	103
mx.modules.ModuleLoader:horizontalCenter 	42
mx.modules.ModuleLoader:paddingTop 	4
mx.modules.ModuleLoader:progress 	84
mx.modules.ModuleLoader:ready 	2
mx.modules.ModuleLoader:top 	40
mx.modules.ModuleLoader:url 	507
mx.modules.ModuleLoader:verticalAlign 	62
mx.modules.ModuleLoader:width 	103
mx.modules.ModuleLoader:x 	38
mx.modules.ModuleLoader:y 	38
mx.modules.ModuleManager 	36
mx.modules.ModuleManager:getModule 	14
mx.printing.FlexPrintJob 	11
mx.printing.FlexPrintJob:addObject 	4
mx.printing.FlexPrintJob:send 	4
mx.printing.FlexPrintJob:start 	5
mx.printing.FlexPrintJobScaleType 	18
mx.printing.FlexPrintJobScaleType:SHOW_ALL 	7
mx.rpc.AsyncResponder 	12
mx.rpc.AsyncToken 	46
mx.rpc.AsyncToken:addResponder 	24
mx.rpc.events.FaultEvent 	4080
mx.rpc.events.FaultEvent:currentTarget 	2521
mx.rpc.events.FaultEvent:fault 	43317
mx.rpc.events.InvokeEvent 	3
mx.rpc.events.ResultEvent 	14412
mx.rpc.events.ResultEvent:message 	264
mx.rpc.events.ResultEvent:result 	36434
mx.rpc.events.ResultEvent:token 	27
mx.rpc.events.ResultEvent:toString 	5
mx.rpc.Fault:faultCode 	7834
mx.rpc.Fault:faultDetail 	7870
mx.rpc.Fault:faultString 	7878
mx.rpc.http.HTTPService 	37
mx.rpc.http.HTTPService:addEventListener 	24
mx.rpc.http.HTTPService:resultFormat 	12
mx.rpc.http.HTTPService:send 	19
mx.rpc.http.HTTPService:url 	19
mx.rpc.http.mxml.HTTPService 	33
mx.rpc.http.mxml.HTTPService:addEventListener 	24
mx.rpc.http.mxml.HTTPService:method 	12
mx.rpc.http.mxml.HTTPService:resultFormat 	12
mx.rpc.http.mxml.HTTPService:send 	12
mx.rpc.http.mxml.HTTPService:showBusyCursor 	12
mx.rpc.http.mxml.HTTPService:url 	12
mx.rpc.remoting.mxml.RemoteObject 	46
mx.rpc.remoting.mxml.RemoteObject:addEventListener 	12
mx.rpc.remoting.mxml.RemoteObject:channelSet 	4638
mx.rpc.remoting.mxml.RemoteObject:concurrency 	101
mx.rpc.remoting.mxml.RemoteObject:destination 	4656
mx.rpc.remoting.mxml.RemoteObject:fault 	4586
mx.rpc.remoting.mxml.RemoteObject:requestTimeout 	9
mx.rpc.remoting.mxml.RemoteObject:result 	4575
mx.rpc.remoting.mxml.RemoteObject:showBusyCursor 	4606
mx.rpc.remoting.RemoteObject 	138
mx.rpc.remoting.RemoteObject:addEventListener 	8
mx.rpc.remoting.RemoteObject:channelSet 	8
mx.rpc.remoting.RemoteObject:destination 	8
mx.rpc.remoting.RemoteObject:showBusyCursor 	8
mx.rpc.Responder 	15
mx.rpc.soap.WebService 	4
mx.rpc.soap.WebService:loadWSDL 	4
mx.skins.Border:borderMetrics 	9
mx.skins.ProgrammaticSkin 	20
mx.skins.ProgrammaticSkin:getStyle 	22
mx.skins.ProgrammaticSkin:invalidateDisplayList 	8
mx.skins.ProgrammaticSkin:updateDisplayList 	10
mx.skins.RectangularBorder 	18
mx.states.State:exitState 	2
mx.styles.CSSStyleDeclaration 	11
mx.styles.CSSStyleDeclaration:defaultFactory 	4
mx.styles.ISimpleStyleClient 	12
mx.styles.IStyleManager2 	3
mx.styles.StyleProxy 	6
mx.utils.ArrayUtil 	18
mx.utils.ArrayUtil:getItemIndex 	7
mx.utils.Base64Decoder 	33
mx.utils.Base64Decoder:decode 	12
mx.utils.Base64Decoder:drain 	5
mx.utils.Base64Decoder:toByteArray 	14
mx.utils.Base64Encoder 	22
mx.utils.Base64Encoder:encode 	4
mx.utils.Base64Encoder:encodeBytes 	4
mx.utils.Base64Encoder:toString 	12
mx.utils.ObjectProxy 	3
mx.utils.ObjectUtil 	3548
mx.utils.ObjectUtil:compare 	28
mx.utils.ObjectUtil:copy 	78
mx.utils.ObjectUtil:dateCompare 	69
mx.utils.ObjectUtil:numericCompare 	1020
mx.utils.ObjectUtil:stringCompare 	80
mx.utils.StringUtil 	430
mx.utils.StringUtil:substitute 	84
mx.utils.StringUtil:trim 	81
mx.utils.URLUtil 	64
mx.utils.URLUtil:getProtocol 	12
mx.utils.URLUtil:getServerNameWithPort 	12
mx.validators.DateValidator:formatError 	6
mx.validators.DateValidator:inputFormat 	157
mx.validators.DateValidator:property 	156
mx.validators.DateValidator:required 	76
mx.validators.DateValidator:requiredFieldError 	1
mx.validators.DateValidator:source 	156
mx.validators.DateValidator:triggerEvent 	11
mx.validators.DateValidator:validate 	1562
mx.validators.EmailValidator:property 	13
mx.validators.EmailValidator:required 	46
mx.validators.EmailValidator:source 	8
mx.validators.EmailValidator:trigger 	3
mx.validators.EmailValidator:triggerEvent 	3
mx.validators.EmailValidator:validate 	123
mx.validators.NumberValidator:allowNegative 	89
mx.validators.NumberValidator:decimalPointCountError 	25
mx.validators.NumberValidator:decimalSeparator 	25
mx.validators.NumberValidator:domain 	25
mx.validators.NumberValidator:enabled 	89
mx.validators.NumberValidator:exceedsMaxError 	9
mx.validators.NumberValidator:invalidCharError 	2
mx.validators.NumberValidator:lowerThanMinError 	35
mx.validators.NumberValidator:maxValue 	63
mx.validators.NumberValidator:minValue 	92
mx.validators.NumberValidator:negativeError 	14
mx.validators.NumberValidator:precision 	25
mx.validators.NumberValidator:precisionError 	25
mx.validators.NumberValidator:property 	144
mx.validators.NumberValidator:required 	113
mx.validators.NumberValidator:separationError 	25
mx.validators.NumberValidator:source 	143
mx.validators.NumberValidator:thousandsSeparator 	25
mx.validators.NumberValidator:trigger 	20
mx.validators.NumberValidator:triggerEvent 	20
mx.validators.NumberValidator:validate 	1617
mx.validators.PhoneNumberValidator:allowedFormatChars 	6
mx.validators.PhoneNumberValidator:property 	6
mx.validators.PhoneNumberValidator:source 	6
mx.validators.PhoneNumberValidator:validate 	66
mx.validators.RegExpValidator:expression 	16
mx.validators.RegExpValidator:flags 	16
mx.validators.RegExpValidator:property 	16
mx.validators.RegExpValidator:required 	16
mx.validators.RegExpValidator:requiredFieldError 	16
mx.validators.RegExpValidator:source 	16
mx.validators.RegExpValidator:validate 	198
mx.validators.StringValidator 	64
mx.validators.StringValidator:maxLength 	8
mx.validators.StringValidator:minLength 	32
mx.validators.StringValidator:property 	673
mx.validators.StringValidator:required 	671
mx.validators.StringValidator:requiredFieldError 	97
mx.validators.StringValidator:source 	673
mx.validators.StringValidator:validate 	5839
mx.validators.Validator:listener 	1
mx.validators.Validator:required 	1

spark.components.BorderContainer 	1042
spark.components.BorderContainer:addElement 	16
spark.components.BorderContainer:backgroundColor 	9
spark.components.BorderContainer:backgroundImage 	8
spark.components.BorderContainer:blockProgression 	2
spark.components.BorderContainer:borderColor 	13
spark.components.BorderContainer:borderStyle 	2
spark.components.BorderContainer:borderVisible 	1925
spark.components.BorderContainer:borderWeight 	3
spark.components.BorderContainer:bottom 	277
spark.components.BorderContainer:click 	1
spark.components.BorderContainer:color 	5
spark.components.BorderContainer:contentBackgroundColor 	1
spark.components.BorderContainer:cornerRadius 	142
spark.components.BorderContainer:creationComplete 	2
spark.components.BorderContainer:dropShadowVisible 	5
spark.components.BorderContainer:enabled 	961
spark.components.BorderContainer:fontFamily 	11
spark.components.BorderContainer:fontSize 	11
spark.components.BorderContainer:getElementAt 	1448
spark.components.BorderContainer:height 	3436
spark.components.BorderContainer:horizontalCenter 	412
spark.components.BorderContainer:includeInLayout 	32
spark.components.BorderContainer:layout 	47
spark.components.BorderContainer:left 	273
spark.components.BorderContainer:maxHeight 	1
spark.components.BorderContainer:maxWidth 	38
spark.components.BorderContainer:minHeight 	3
spark.components.BorderContainer:minWidth 	248
spark.components.BorderContainer:mxmlContentFactory 	6695
spark.components.BorderContainer:numElements 	1230
spark.components.BorderContainer:removeAllElements 	12
spark.components.BorderContainer:resize 	2
spark.components.BorderContainer:right 	213
spark.components.BorderContainer:skinClass 	1
spark.components.BorderContainer:tabIndex 	110
spark.components.BorderContainer:textAlign 	5
spark.components.BorderContainer:top 	358
spark.components.BorderContainer:verticalCenter 	318
spark.components.BorderContainer:visible 	720
spark.components.BorderContainer:width 	3865
spark.components.BorderContainer:x 	2069
spark.components.BorderContainer:y 	2062
spark.components.Button 	57
spark.components.Button:accessibilityEnabled 	479
spark.components.Button:addEventListener 	8
spark.components.Button:bottom 	80
spark.components.Button:buttonMode 	422
spark.components.Button:click 	656
spark.components.Button:color 	4
spark.components.Button:cornerRadius 	431
spark.components.Button:dispatchEvent 	8
spark.components.Button:doubleClickEnabled 	10
spark.components.Button:enabled 	820
spark.components.Button:errorString 	11
spark.components.Button:focusEnabled 	2
spark.components.Button:fontFamily 	396
spark.components.Button:fontSize 	424
spark.components.Button:fontStyle 	388
spark.components.Button:fontWeight 	13
spark.components.Button:height 	592
spark.components.Button:horizontalCenter 	9
spark.components.Button:id 	4
spark.components.Button:label 	728
spark.components.Button:left 	1
spark.components.Button:mouseChildren 	408
spark.components.Button:right 	63
spark.components.Button:setStyle 	4
spark.components.Button:skinClass 	11
spark.components.Button:tabIndex 	58
spark.components.Button:toolTip 	427
spark.components.Button:top 	14
spark.components.Button:uid 	441
spark.components.Button:useHandCursor 	397
spark.components.Button:visible 	124
spark.components.Button:width 	626
spark.components.Button:x 	539
spark.components.Button:y 	575
spark.components.CheckBox 	80
spark.components.CheckBox:accessibilityEnabled 	3
spark.components.CheckBox:bottom 	1
spark.components.CheckBox:change 	30
spark.components.CheckBox:click 	46
spark.components.CheckBox:direction 	3
spark.components.CheckBox:enabled 	1511
spark.components.CheckBox:fontSize 	21
spark.components.CheckBox:fontWeight 	37
spark.components.CheckBox:height 	434
spark.components.CheckBox:label 	1117
spark.components.CheckBox:left 	1
spark.components.CheckBox:mouseEnabled 	200
spark.components.CheckBox:right 	4
spark.components.CheckBox:selected 	7100
spark.components.CheckBox:tabEnabled 	6
spark.components.CheckBox:tabIndex 	228
spark.components.CheckBox:textAlign 	7
spark.components.CheckBox:toolTip 	4
spark.components.CheckBox:top 	3
spark.components.CheckBox:uid 	186
spark.components.CheckBox:valueCommit 	15
spark.components.CheckBox:visible 	164
spark.components.CheckBox:width 	473
spark.components.CheckBox:x 	714
spark.components.CheckBox:y 	715
spark.components.ComboBox:dataProvider 	1
spark.components.ComboBox:enabled 	12
spark.components.ComboBox:selectedItem 	21
spark.components.ComboBox:visible 	2
spark.components.ComboBox:width 	3
spark.components.ComboBox:x 	3
spark.components.ComboBox:y 	3
spark.components.DataGroup:getElementAt 	4
spark.components.DataGroup:itemRenderer 	3
spark.components.DataGroup:layout 	3
spark.components.DataRenderer:data 	857
spark.components.DropDownList 	68
spark.components.DropDownList:accessibilityEnabled 	24
spark.components.DropDownList:bottom 	1
spark.components.DropDownList:change 	177
spark.components.DropDownList:changing 	3
spark.components.DropDownList:click 	2
spark.components.DropDownList:cornerRadius 	1
spark.components.DropDownList:dataProvider 	1098
spark.components.DropDownList:enabled 	1534
spark.components.DropDownList:fontFamily 	4
spark.components.DropDownList:fontSize 	4
spark.components.DropDownList:fontWeight 	4
spark.components.DropDownList:height 	564
spark.components.DropDownList:initialize 	3
spark.components.DropDownList:labelField 	8
spark.components.DropDownList:left 	14
spark.components.DropDownList:open 	3
spark.components.DropDownList:requireSelection 	62
spark.components.DropDownList:right 	12
spark.components.DropDownList:selectedIndex 	4047
spark.components.DropDownList:selectedItem 	26193
spark.components.DropDownList:skin 	15
spark.components.DropDownList:tabIndex 	513
spark.components.DropDownList:textAlign 	14
spark.components.DropDownList:top 	2
spark.components.DropDownList:uid 	7
spark.components.DropDownList:validateNow 	68
spark.components.DropDownList:valueCommit 	2
spark.components.DropDownList:visible 	177
spark.components.DropDownList:width 	716
spark.components.DropDownList:x 	693
spark.components.DropDownList:y 	708
spark.components.Group:addElement 	4
spark.components.Group:addEventListener 	8
spark.components.Group:bottom 	113
spark.components.Group:clipAndEnableScrolling 	4
spark.components.Group:color 	1
spark.components.Group:commitProperties 	10
spark.components.Group:creationComplete 	167
spark.components.Group:explicitHeight 	8
spark.components.Group:explicitWidth 	8
spark.components.Group:height 	319
spark.components.Group:horizontalCenter 	1
spark.components.Group:initialize 	2
spark.components.Group:layout 	90
spark.components.Group:left 	94
spark.components.Group:mask 	10
spark.components.Group:maxHeight 	1
spark.components.Group:maxWidth 	1
spark.components.Group:minHeight 	20
spark.components.Group:minWidth 	20
spark.components.Group:mxmlContent 	544
spark.components.Group:removeEventListener 	8
spark.components.Group:right 	113
spark.components.Group:tabIndex 	1
spark.components.Group:textAlign 	2
spark.components.Group:top 	118
spark.components.Group:updateDisplayList 	10
spark.components.Group:verticalCenter 	1
spark.components.Group:visible 	3
spark.components.Group:width 	307
spark.components.Group:x 	14
spark.components.Group:y 	12
spark.components.HGroup 	1
spark.components.HGroup:bottom 	2
spark.components.HGroup:gap 	88
spark.components.HGroup:getElementAt 	4
spark.components.HGroup:height 	74
spark.components.HGroup:horizontalAlign 	22
spark.components.HGroup:left 	3
spark.components.HGroup:mxmlContent 	186
spark.components.HGroup:numElements 	5
spark.components.HGroup:paddingLeft 	1
spark.components.HGroup:paddingRight 	5
spark.components.HGroup:right 	1
spark.components.HGroup:top 	1
spark.components.HGroup:verticalAlign 	66
spark.components.HGroup:visible 	6
spark.components.HGroup:width 	92
spark.components.HGroup:x 	1
spark.components.HGroup:y 	1
spark.components.Label 	13
spark.components.Label:backgroundAlpha 	1
spark.components.Label:backgroundColor 	661
spark.components.Label:bottom 	58
spark.components.Label:buttonMode 	1
spark.components.Label:chromeColor 	3
spark.components.Label:clearStyle 	56
spark.components.Label:color 	108
spark.components.Label:enabled 	69
spark.components.Label:fontFamily 	64
spark.components.Label:fontSize 	143
spark.components.Label:fontStyle 	5
spark.components.Label:fontWeight 	1125
spark.components.Label:height 	6217
spark.components.Label:horizontalCenter 	13
spark.components.Label:kerning 	2
spark.components.Label:left 	112
spark.components.Label:lineBreak 	2
spark.components.Label:maxDisplayedLines 	6
spark.components.Label:measuredHeight 	34
spark.components.Label:measuredWidth 	16
spark.components.Label:measureText 	14
spark.components.Label:minHeight 	5
spark.components.Label:mouseChildren 	2
spark.components.Label:mouseEnabled 	3
spark.components.Label:name 	1
spark.components.Label:right 	25
spark.components.Label:setStyle 	80
spark.components.Label:styleName 	10
spark.components.Label:tabIndex 	3
spark.components.Label:text 	10454
spark.components.Label:textAlign 	6879
spark.components.Label:textDecoration 	26
spark.components.Label:top 	99
spark.components.Label:useHandCursor 	1
spark.components.Label:valueCommit 	2
spark.components.Label:verticalAlign 	6128
spark.components.Label:verticalCenter 	11
spark.components.Label:visible 	1721
spark.components.Label:width 	6811
spark.components.Label:x 	7512
spark.components.Label:y 	7539
spark.components.List 	56
spark.components.List:borderVisible 	6
spark.components.List:bottom 	1
spark.components.List:change 	4
spark.components.List:click 	2
spark.components.List:dataProvider 	7
spark.components.List:fontSize 	2
spark.components.List:height 	6
spark.components.List:itemRenderer 	3
spark.components.List:layout 	2
spark.components.List:left 	1
spark.components.List:right 	1
spark.components.List:skinClass 	2
spark.components.List:top 	1
spark.components.List:width 	6
spark.components.List:x 	4
spark.components.List:y 	4
spark.components.NavigatorContent:click 	5
spark.components.NavigatorContent:enabled 	317
spark.components.NavigatorContent:getElementAt 	16
spark.components.NavigatorContent:height 	343
spark.components.NavigatorContent:includeInLayout 	2
spark.components.NavigatorContent:label 	471
spark.components.NavigatorContent:layout 	19
spark.components.NavigatorContent:mxmlContentFactory 	776
spark.components.NavigatorContent:name 	2
spark.components.NavigatorContent:numElements 	20
spark.components.NavigatorContent:tabIndex 	8
spark.components.NavigatorContent:top 	13
spark.components.NavigatorContent:visible 	2
spark.components.NavigatorContent:width 	351
spark.components.NavigatorContent:x 	18
spark.components.NavigatorContent:y 	23
spark.components.NumericStepper 	18
spark.components.NumericStepper:change 	22
spark.components.NumericStepper:clearStyle 	92
spark.components.NumericStepper:color 	8
spark.components.NumericStepper:enabled 	292
spark.components.NumericStepper:focusOut 	2
spark.components.NumericStepper:fontFamily 	8
spark.components.NumericStepper:fontSize 	15
spark.components.NumericStepper:height 	47
spark.components.NumericStepper:maxChars 	46
spark.components.NumericStepper:maximum 	91
spark.components.NumericStepper:minimum 	61
spark.components.NumericStepper:setStyle 	72
spark.components.NumericStepper:stepSize 	35
spark.components.NumericStepper:tabIndex 	38
spark.components.NumericStepper:textAlign 	30
spark.components.NumericStepper:updateComplete 	8
spark.components.NumericStepper:value 	1671
spark.components.NumericStepper:valueCommit 	9
spark.components.NumericStepper:visible 	14
spark.components.NumericStepper:width 	85
spark.components.NumericStepper:x 	84
spark.components.NumericStepper:y 	84
spark.components.Panel:borderVisible 	205
spark.components.Panel:bottom 	3
spark.components.Panel:cornerRadius 	27
spark.components.Panel:dropShadowVisible 	14
spark.components.Panel:fontSize 	6
spark.components.Panel:height 	587
spark.components.Panel:horizontalCenter 	518
spark.components.Panel:left 	4
spark.components.Panel:minHeight 	11
spark.components.Panel:minWidth 	11
spark.components.Panel:mxmlContentFactory 	1119
spark.components.Panel:right 	3
spark.components.Panel:scaleX 	16
spark.components.Panel:scaleY 	16
spark.components.Panel:textAlign 	104
spark.components.Panel:title 	959
spark.components.Panel:top 	28
spark.components.Panel:verticalCenter 	384
spark.components.Panel:width 	587
spark.components.Panel:x 	36
spark.components.Panel:y 	138
spark.components.PopUpAnchor:bottom 	2
spark.components.PopUpAnchor:displayPopUp 	4
spark.components.PopUpAnchor:left 	2
spark.components.PopUpAnchor:popUp 	4
spark.components.PopUpAnchor:popUpPosition 	2
spark.components.PopUpAnchor:popUpWidthMatchesAnchorWidth 	2
spark.components.PopUpAnchor:right 	2
spark.components.PopUpAnchor:top 	2
spark.components.RadioButton 	12
spark.components.RadioButton:change 	134
spark.components.RadioButton:click 	133
spark.components.RadioButton:enabled 	327
spark.components.RadioButton:fontSize 	4
spark.components.RadioButton:fontWeight 	13
spark.components.RadioButton:group 	761
spark.components.RadioButton:groupName 	193
spark.components.RadioButton:height 	218
spark.components.RadioButton:label 	992
spark.components.RadioButton:lineThrough 	1
spark.components.RadioButton:name 	4
spark.components.RadioButton:selected 	2250
spark.components.RadioButton:tabIndex 	72
spark.components.RadioButton:textDecoration 	1
spark.components.RadioButton:value 	968
spark.components.RadioButton:valueCommit 	5
spark.components.RadioButton:visible 	35
spark.components.RadioButton:width 	262
spark.components.RadioButton:x 	966
spark.components.RadioButton:y 	963
spark.components.RadioButtonGroup 	48
spark.components.RadioButtonGroup:change 	7
spark.components.RadioButtonGroup:enabled 	42
spark.components.RadioButtonGroup:itemClick 	13
spark.components.RadioButtonGroup:selectedValue 	4669
spark.components.RadioButtonGroup:selection 	181
spark.components.RadioButtonGroup:valueCommit 	145
spark.components.RichEditableText 	18
spark.components.RichEditableText:backgroundColor 	1
spark.components.RichEditableText:bottom 	12
spark.components.RichEditableText:fontFamily 	10
spark.components.RichEditableText:fontSize 	10
spark.components.RichEditableText:getStyle 	25
spark.components.RichEditableText:height 	1
spark.components.RichEditableText:heightInLines 	1
spark.components.RichEditableText:left 	9
spark.components.RichEditableText:maxChars 	1
spark.components.RichEditableText:paddingTop 	10
spark.components.RichEditableText:right 	13
spark.components.RichEditableText:setStyle 	20
spark.components.RichEditableText:text 	46
spark.components.RichEditableText:textAlign 	6
spark.components.RichEditableText:top 	12
spark.components.RichEditableText:width 	7
spark.components.RichEditableText:widthInChars 	1
spark.components.RichEditableText:y 	1
spark.components.Scroller:bottom 	4
spark.components.Scroller:hasFocusableChildren 	4
spark.components.Scroller:height 	1
spark.components.Scroller:horizontalCenter 	1
spark.components.Scroller:horizontalScrollPolicy 	1
spark.components.Scroller:left 	4
spark.components.Scroller:measuredSizeIncludesScrollBars 	1
spark.components.Scroller:minViewportInset 	20
spark.components.Scroller:parent 	5
spark.components.Scroller:right 	4
spark.components.Scroller:skin 	10
spark.components.Scroller:skinClass 	3
spark.components.Scroller:top 	4
spark.components.Scroller:verticalCenter 	1
spark.components.Scroller:viewport 	10
spark.components.Scroller:width 	1
spark.components.SkinnableContainer 	13
spark.components.SkinnableContainer:addElement 	8
spark.components.SkinnableContainer:addEventListener 	4
spark.components.SkinnableContainer:contentGroup 	12
spark.components.SkinnableContainer:getElementAt 	7
spark.components.SkinnableContainer:height 	44
spark.components.SkinnableContainer:numElements 	18
spark.components.SkinnableContainer:partAdded 	5
spark.components.SkinnableContainer:removeElement 	8
spark.components.SkinnableContainer:setElementIndex 	12
spark.components.SkinnableContainer:width 	19
spark.components.supportClasses.ButtonBase:label 	102
spark.components.supportClasses.DropDownListBase:dataProvider 	55
spark.components.supportClasses.GroupBase:measure 	10
spark.components.supportClasses.GroupBase:styleChanged 	10
spark.components.supportClasses.ItemRenderer:initialize 	1
spark.components.supportClasses.ItemRenderer:layout 	1
spark.components.supportClasses.ItemRenderer:mouseChildren 	1
spark.components.supportClasses.ItemRenderer:mxmlContent 	2
spark.components.supportClasses.ItemRenderer:states 	1
spark.components.supportClasses.ListBase:selectedIndex 	146
spark.components.supportClasses.ListBase:selectedItem 	1326
spark.components.supportClasses.Range:value 	24
spark.components.supportClasses.Skin 	6
spark.components.supportClasses.Skin:alpha 	2
spark.components.supportClasses.Skin:creationComplete 	1
spark.components.supportClasses.Skin:minHeight 	2
spark.components.supportClasses.Skin:minWidth 	2
spark.components.supportClasses.Skin:mxmlContent 	4
spark.components.supportClasses.Skin:states 	2
spark.components.supportClasses.SkinnableComponent:commitProperties 	5
spark.components.supportClasses.SkinnableComponent:enabled 	235
spark.components.supportClasses.SkinnableComponent:invalidateSkinState 	9
spark.components.supportClasses.SkinnableTextBase:editable 	16
spark.components.supportClasses.SkinnableTextBase:enabled 	268
spark.components.supportClasses.SkinnableTextBase:setFocus 	16
spark.components.supportClasses.TextBase:text 	336
spark.components.supportClasses.TextBase:updateDisplayList 	5
spark.components.supportClasses.TextBase:visible 	116
spark.components.supportClasses.ToggleButtonBase:selected 	90
spark.components.TabBar 	1
spark.components.TabBar:change 	1
spark.components.TabBar:changing 	1
spark.components.TabBar:dataGroup 	9
spark.components.TabBar:dataProvider 	134
spark.components.TabBar:enabled 	36
spark.components.TabBar:fontSize 	7
spark.components.TabBar:height 	24
spark.components.TabBar:left 	13
spark.components.TabBar:selectedIndex 	18
spark.components.TabBar:tabIndex 	7
spark.components.TabBar:textAlign 	3
spark.components.TabBar:top 	2
spark.components.TabBar:width 	35
spark.components.TabBar:x 	109
spark.components.TabBar:y 	108
spark.components.TextArea 	18
spark.components.TextArea:borderVisible 	3
spark.components.TextArea:bottom 	4
spark.components.TextArea:editable 	15
spark.components.TextArea:enabled 	217
spark.components.TextArea:fontFamily 	2
spark.components.TextArea:fontSize 	2
spark.components.TextArea:height 	129
spark.components.TextArea:left 	2
spark.components.TextArea:maxChars 	116
spark.components.TextArea:paddingTop 	2
spark.components.TextArea:restrict 	3
spark.components.TextArea:right 	4
spark.components.TextArea:tabEnabled 	4
spark.components.TextArea:tabIndex 	100
spark.components.TextArea:text 	845
spark.components.TextArea:textAlign 	13
spark.components.TextArea:textJustify 	1
spark.components.TextArea:top 	4
spark.components.TextArea:valueCommit 	4
spark.components.TextArea:verticalScrollPolicy 	4
spark.components.TextArea:visible 	9
spark.components.TextArea:width 	131
spark.components.TextArea:x 	127
spark.components.TextArea:y 	127
spark.components.TextInput 	3997
spark.components.TextInput:accessibilityEnabled 	16
spark.components.TextInput:addEventListener 	1516
spark.components.TextInput:borderAlpha 	164
spark.components.TextInput:borderColor 	1
spark.components.TextInput:borderVisible 	28
spark.components.TextInput:bottom 	42
spark.components.TextInput:change 	384
spark.components.TextInput:chromeColor 	1
spark.components.TextInput:color 	2
spark.components.TextInput:contentBackgroundAlpha 	2
spark.components.TextInput:contentBackgroundColor 	293
spark.components.TextInput:displayAsPassword 	16
spark.components.TextInput:doubleClickEnabled 	2
spark.components.TextInput:editable 	4798
spark.components.TextInput:enabled 	10285
spark.components.TextInput:enter 	14
spark.components.TextInput:focusEnabled 	15
spark.components.TextInput:focusIn 	79
spark.components.TextInput:focusOut 	528
spark.components.TextInput:fontFamily 	7
spark.components.TextInput:fontSize 	21
spark.components.TextInput:fontStyle 	12
spark.components.TextInput:fontWeight 	10
spark.components.TextInput:getStyle 	20
spark.components.TextInput:height 	6403
spark.components.TextInput:horizontalCenter 	1
spark.components.TextInput:id 	1267
spark.components.TextInput:keyDown 	203
spark.components.TextInput:keyUp 	183
spark.components.TextInput:left 	58
spark.components.TextInput:lineThrough 	9
spark.components.TextInput:maxChars 	5069
spark.components.TextInput:mouseEnabled 	480
spark.components.TextInput:paddingBottom 	21
spark.components.TextInput:paddingLeft 	21
spark.components.TextInput:paddingRight 	21
spark.components.TextInput:paddingTop 	25
spark.components.TextInput:restrict 	2569
spark.components.TextInput:right 	63
spark.components.TextInput:setFocus 	328
spark.components.TextInput:setStyle 	136
spark.components.TextInput:skinClass 	1
spark.components.TextInput:tabChildren 	47
spark.components.TextInput:tabEnabled 	862
spark.components.TextInput:tabFocusEnabled 	792
spark.components.TextInput:tabIndex 	4284
spark.components.TextInput:text 	117982
spark.components.TextInput:textAlign 	2477
spark.components.TextInput:textDecoration 	1
spark.components.TextInput:toolTip 	9
spark.components.TextInput:top 	7
spark.components.TextInput:updateComplete 	18
spark.components.TextInput:valid 	2
spark.components.TextInput:validateNow 	16
spark.components.TextInput:valueCommit 	1645
spark.components.TextInput:visible 	3955
spark.components.TextInput:width 	8634
spark.components.TextInput:x 	7840
spark.components.TextInput:y 	7863
spark.components.TitleWindow 	48
spark.components.TitleWindow:close 	95
spark.components.TitleWindow:cornerRadius 	3
spark.components.TitleWindow:creationComplete 	70
spark.components.TitleWindow:fontWeight 	3
spark.components.TitleWindow:getCurrentSkinState 	8
spark.components.TitleWindow:height 	102
spark.components.TitleWindow:minHeight 	33
spark.components.TitleWindow:minWidth 	33
spark.components.TitleWindow:moveArea 	60
spark.components.TitleWindow:mxmlContentFactory 	204
spark.components.TitleWindow:partAdded 	5
spark.components.TitleWindow:partRemoved 	5
spark.components.TitleWindow:textAlign 	37
spark.components.TitleWindow:title 	93
spark.components.TitleWindow:width 	102
spark.components.TitleWindow:x 	9
spark.components.TitleWindow:y 	9
spark.components.ToggleButton 	1
spark.components.ToggleButton:addEventListener 	4
spark.components.ToggleButton:selected 	8
spark.components.ToggleButton:skinClass 	1
spark.components.VGroup:gap 	12
spark.components.VGroup:getElementAt 	8
spark.components.VGroup:height 	16
spark.components.VGroup:horizontalAlign 	12
spark.components.VGroup:mxmlContent 	32
spark.components.VGroup:numElements 	10
spark.components.VGroup:verticalAlign 	12
spark.components.VGroup:width 	15
spark.events.IndexChangeEvent 	223
spark.events.IndexChangeEvent:CHANGE 	7
spark.events.IndexChangeEvent:newIndex 	22
spark.events.IndexChangeEvent:target 	20
spark.events.TextOperationEvent 	18
spark.layouts.HorizontalLayout 	12
spark.layouts.HorizontalLayout:gap 	30
spark.layouts.HorizontalLayout:horizontalAlign 	12
spark.layouts.HorizontalLayout:paddingBottom 	16
spark.layouts.HorizontalLayout:paddingLeft 	13
spark.layouts.HorizontalLayout:paddingRight 	13
spark.layouts.HorizontalLayout:paddingTop 	11
spark.layouts.HorizontalLayout:verticalAlign 	8
spark.layouts.TileLayout:horizontalAlign 	1
spark.layouts.TileLayout:horizontalGap 	1
spark.layouts.TileLayout:verticalAlign 	1
spark.layouts.TileLayout:verticalGap 	1
spark.layouts.VerticalLayout 	12
spark.layouts.VerticalLayout:gap 	31
spark.layouts.VerticalLayout:horizontalAlign 	28
spark.layouts.VerticalLayout:paddingBottom 	18
spark.layouts.VerticalLayout:paddingLeft 	20
spark.layouts.VerticalLayout:paddingRight 	18
spark.layouts.VerticalLayout:paddingTop 	20
spark.layouts.VerticalLayout:requestedMinRowCount 	1
spark.layouts.VerticalLayout:verticalAlign 	2
spark.primitives.BitmapImage:height 	9
spark.primitives.BitmapImage:source 	9
spark.primitives.BitmapImage:width 	9
spark.primitives.Line 	44
spark.primitives.Line:height 	8
spark.primitives.Line:stroke 	25
spark.primitives.Line:visible 	16
spark.primitives.Line:width 	8
spark.primitives.Line:x 	16
spark.primitives.Line:xFrom 	8
spark.primitives.Line:xTo 	8
spark.primitives.Line:y 	16
spark.primitives.Line:yFrom 	8
spark.primitives.Line:yTo 	8
spark.primitives.Path:bottom 	2
spark.primitives.Path:data 	11
spark.primitives.Path:fill 	3
spark.primitives.Path:left 	2
spark.primitives.Path:right 	2
spark.primitives.Path:stroke 	2
spark.primitives.Path:top 	18
spark.primitives.Path:visible 	8
spark.primitives.Rect 	15
spark.primitives.Rect:alpha 	5
spark.primitives.Rect:bottom 	162
spark.primitives.Rect:bottomLeftRadiusX 	20
spark.primitives.Rect:bottomRightRadiusX 	20
spark.primitives.Rect:fill 	66
spark.primitives.Rect:height 	28
spark.primitives.Rect:left 	140
spark.primitives.Rect:radiusX 	16
spark.primitives.Rect:radiusY 	12
spark.primitives.Rect:right 	170
spark.primitives.Rect:stroke 	24
spark.primitives.Rect:top 	183
spark.primitives.Rect:topLeftRadiusX 	20
spark.primitives.Rect:topRightRadiusX 	20
spark.primitives.Rect:visible 	99
spark.primitives.Rect:width 	15
spark.primitives.RectangularDropShadow:alpha 	17
spark.primitives.RectangularDropShadow:angle 	9
spark.primitives.RectangularDropShadow:blRadius 	32
spark.primitives.RectangularDropShadow:blurX 	9
spark.primitives.RectangularDropShadow:blurY 	9
spark.primitives.RectangularDropShadow:bottom 	11
spark.primitives.RectangularDropShadow:brRadius 	32
spark.primitives.RectangularDropShadow:color 	9
spark.primitives.RectangularDropShadow:distance 	13
spark.primitives.RectangularDropShadow:left 	11
spark.primitives.RectangularDropShadow:right 	11
spark.primitives.RectangularDropShadow:tlRadius 	28
spark.primitives.RectangularDropShadow:top 	27
spark.primitives.RectangularDropShadow:trRadius 	32
spark.primitives.RectangularDropShadow:visible 	36
spark.skins.spark.BorderContainerSkin 	4
spark.skins.spark.ComboBoxButtonSkin 	4
spark.skins.spark.ComboBoxTextInputSkin 	4
spark.skins.spark.DefaultItemRenderer 	12
spark.skins.spark.DropDownListButtonSkin 	4
spark.skins.spark.TitleWindowCloseButtonSkin 	16
spark.skins.SparkSkin:alpha 	18
spark.skins.SparkSkin:beginHighlightBitmapCapture 	8
spark.skins.SparkSkin:blendMode 	7
spark.skins.SparkSkin:creationComplete 	5
spark.skins.SparkSkin:endHighlightBitmapCapture 	8
spark.skins.SparkSkin:minHeight 	5
spark.skins.SparkSkin:minWidth 	6
spark.skins.SparkSkin:mouseEnabled 	5
spark.skins.SparkSkin:mxmlContent 	28
spark.skins.SparkSkin:states 	13
spark.skins.SparkSkin:updateDisplayList 	45
spark.skins.SparkSkin:useChromeColor 	18

Getting an Emulation Component to Run

Once you have finished the stubs for an emulation component, that component should allow the migration application to compile without errors about that component. But to get the component to actually work, you have to implement code for those stubs. The key principle for doing that is the use of Composition instead of Inheritance.

Royale's Basic and Express component sets are comprised of "Top Level Components" hereafter abbreviated as TLCs. These are the components that most folks reference in their applications, such as Label, TextInput, ComboBox, HBox, VBox, Group, etc. Even Application. But unlike Flex TLCs of the same or similar name which are subclasses of UIComponent or something else and the method bodies are full of code that you commented out to create the Emulation Component, Royale TLCs are composed of beads. There should be very little code in a Basic or Express TLC. A Basic or Express TLC should mainly pass data from its APIs to the model.

It is important for Emulation Components that are UI components to subclass mx.core.UIComponent or one of its subclasses because we need to emulate the class hierarchy of the Flex components. That is more important than trying to re-use code by subclassing a Basic or Express component, so Emulation Components that are UI TLCs should not subclass an Basic or Express component.

But, if there is little code in the Basic or Express version of a component, then getting the Emulation Component to run should be as simple as:

  1. copying the little bits of code from the Basic or Express version into the right stub in the Emulation Component
  2. copying the CSS from Basic or Express defaults.css into the MXRoyale or SparkRoyale defaults.css

Those two steps should "re-compose" the Basic/Express beads onto the Emulation strand and it should "just work". If you are lucky it will but odds are that it won't. There are often unexpected assumptions made in the beads about what kind of strand they are on. These are bugs and should be fixed in the Basic/Express beads. But sometimes you will be better off subclassing the Basic/Express bead in the MXRoyale or MXSpark package and overriding or adding something, especially if you have to match the type of the Flex API. And you may find that no bead exists yet. In that case, you can try creating a bead for the Basic or Express SWCs.

So far, the mx:Button, mx:CheckBox, mx:RadioButton, mx:TextInput, mx:TextArea, mx:ComboBox and s:Button have been made to put something up on the screen in both SWF and JS output. You can look at the GitHub history and see what changes were needed to get them to run.

A walk-through of getting MX Alert to run can be found here: Getting MX Alert to Run

Finishing an Emulation Component

The current set of running components are not finished. They do not appear on the screen at roughly the same size and appearance as the Flex components. We may not bother matching the appearance pixel-for-pixel and we may not match sizes exactly, but we do want the UI controls to be in the same places such that scrollbars aren't forced to appear.

We haven't finished any component yet. As we do so and better understand good practices for doing so, we will update this section. But first, we want to see if we can get a migrated app to launch and put something up on the screen without any exceptions being thrown.

Clone this wiki locally