The web site for Flash ActionScript 3.0 game developers

 
         
   

Style Browser - view all available styles for built in Components

The below ActionScript 3.0 file will produce a list of all styles for components built into Adobe Flash CS3.

The following components are listed when the swf is run:

Button, CheckBox, ColorPicker, ComboBox, DataGrid, Label, List, NumericStepper, ProgressBar, RadioButton, ScrollPane, Slider, TextArea, TextInput, TileList, UILoader, UIScrollBar

Most of the code is from Adobe's help files.

Directions:

1. Create "Adobe_Style_Browser.as" and "Adobe_Style_Browser.fla".
2. In the fla, drag and drop each of the above listed components to the stage (this is to load each components assets to the asset folder).
3. After each component is added to the stage, you can delete it's instance on the stage (or move it off the stage). Point is, you need the Component Assets folder with all the assets in there.
4. Set the "Document class" (in the fla) to "Adobe_Style_Browser" (without the quotes).
5. Paste the following code into the as file. Save and test movie!


package
{

import flash.display.*;
import flash.events.*;

import fl.controls.*;
import fl.containers.*;
import fl.controls.listClasses.*;
import fl.controls.dataGridClasses.*;
import fl.controls.progressBarClasses.*;
import fl.core.UIComponent;
import fl.data.DataProvider;

public class Adobe_Style_Browser extends MovieClip
{
private var dp:DataProvider = new DataProvider();
private var cb:ComboBox = new ComboBox();
private var dg:DataGrid = new DataGrid();

public function Adobe_Style_Browser()
{

dp.addItem( { label: "BaseScrollPane", data:BaseScrollPane } );
dp.addItem( { label: "Button", data:Button } );
dp.addItem( { label: "CellRenderer", data:CellRenderer } );
dp.addItem( { label: "CheckBox", data:CheckBox } );
dp.addItem( { label: "ColorPicker", data:ColorPicker } );
dp.addItem( { label: "ComboBox", data:ComboBox } );
dp.addItem( { label: "DataGrid", data:DataGrid } );
dp.addItem( { label: "HeaderRenderer", data:HeaderRenderer } );
dp.addItem( { label: "ImageCell", data:ImageCell } );
dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } );
dp.addItem( { label: "Label", data:Label } );
dp.addItem( { label: "List", data:List } );
dp.addItem( { label: "NumericStepper", data:NumericStepper } );
dp.addItem( { label: "ProgressBar", data:ProgressBar } );
dp.addItem( { label: "RadioButton", data:RadioButton } );
dp.addItem( { label: "ScrollPane", data:ScrollPane } );
dp.addItem( { label: "Slider", data:Slider } );
dp.addItem( { label: "TextArea", data:TextArea } );
dp.addItem( { label: "TextInput", data:TextInput } );
dp.addItem( { label: "TileList", data:TileList } );
dp.addItem( { label: "UILoader", data:UILoader } );
dp.addItem( { label: "UIComponent", data:UIComponent } );

cb.move(10,10);
cb.setSize(300,25);
cb.prompt = "Select a component to view its styles";
cb.rowCount = 12;
cb.dataProvider = dp;
cb.addEventListener(Event.CHANGE, showStyleDefinition);
addChild(cb);

dg.setSize(425,300);
dg.move(10,50);
dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ];
addChild(dg);
}

function showStyleDefinition(e:Event):void
{
var componentClass:Class = e.target.selectedItem.data as Class;
var styles:Object = componentClass["getStyleDefinition"].call(this);
trace(styles.toString());
var styleData:DataProvider = new DataProvider();
for(var i:* in styles) {
trace(i + " : " + styles[i]);
styleData.addItem( { StyleName:i, DefaultValue:styles[i] } );
}
styleData.sortOn("StyleName");
dg.dataProvider = styleData;
}
}
}



Copyright Gary Rosenzweig