Preface; Bonus Chapters Online; Who This Book Is For; Who This Book Is Not For; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; How to Use This Book; O''Reilly Cookbooks; SafariĀ® Enabled; How to Contact Us; Acknowledgments; Author Bios; Contributor Bios; Colophon;Chapter 1: Flex and ActionScript Basics; 1.1 Create a Flex Project in Flex Builder; 1.2 Create a Flex Library Project in Flex Builder; 1.3 Create an ActionScript Project; 1.4 Set Compiler Options for the MXML Compiler in Flex Builder; 1.5 Compile a Flex Project Outside of Flex Builder; 1.6 Add an Event Listener in MXML; 1.7 Set Properties of a Child Defined in MXML in ActionScript; 1.
8 Define Arrays and Objects; 1.9 Set the Scope of Variables in ActionScript; 1.10 Create a Component in ActionScript; 1.11 Use Event Bubbling; 1.12 Use a Code-Behind Model to Separate MXML and ActionScript; 1.13 Make Properties of a Component Bindable; 1.14 Use Custom Events and Dispatch Data with Events; 1.15 Listen for a Keyboard Event; 1.
16 Define Optional Parameters for Methods; 1.17 Determine the Type of an Object; 1.18 Define and Implement an Interface;Chapter 2: Menus and Controls; 2.1 Listen to a Button Click; 2.2 Create a Set of Buttons That Toggle; 2.3 Use a ColorPicker to Set Canvas Color; 2.4 Load a SWF by Using the SWFLoader; 2.5 Set Tab Indexes for Components; 2.
6 Set a labelFunction for a Control; 2.7 Provide Data for Menus; 2.8 Dynamically Populate Menus; 2.9 Create EventHandlers for Menu-Based Controls; 2.10 Display an Alert in an Application; 2.11 Use the Date from a Calendar Control; 2.12 Display and Position Multiple Pop-ups; 2.13 Create a Custom Border for a Pop-up Window; 2.
14 Handle focusIn and focusOut Events;Chapter 3: Containers; 3.1 Position Children by Using Layout Management; 3.2 Position and Size Containers via Percentage Positioning; 3.3 Track Mouse Position Within Different Coordinate Systems; 3.4 Dynamically Add and Remove Children from a Container; 3.5 Use Constraint-Based Layout for Containers; 3.6 Set Maximum and Minimum Sizes for Children Within Containers; 3.7 Specify Constraint Rows and Columns for a Container; 3.
8 Create Layout Flows for Text Using Constraints; 3.9 Control Scrolling and Overflow Within Containers; 3.10 Control the Layout of Box Components; 3.11 Use Containers for Initialization; 3.12 Create a TitleWindow; 3.13 Control a ViewStack via a LinkBar; 3.14 Bind the Selected Index of a ViewStack to a Variable; 3.15 Use Delayed Instantiation to Improve Startup Time; 3.
16 Create and Control Resizable Containers; 3.17 Create, Enable, and Disable TabControls Within a TabNavigator; 3.18 Create a TabNavigator with Closeable Tabs; 3.19 Create and Control an Alert; 3.20 Size and Position a Dialog Box Based on Its Calling Component; 3.21 Manage Multiple Pop-up Dialog Boxes; 3.22 Scroll to a Specific Child in a Container; 3.23 Create a Template Using IDeferredInstance; 3.
24 Manually Lay Out a Container; 3.25 Measure and Alter Container Size; 3.26 Control the Visibility and Layout of Children; 3.27 Create a Tile Container with Simple Reorganization; 3.28 Set a Background Image and Rounded Corners in an HBox; 3.29 Control Positioning and Scrolling of Child Components;Chapter 4: Text; 4.1 Correctly Set the Value of a Text Object; 4.2 Bind a Value to TextInput; 4.
3 Create a Suggestive TextInput; 4.4 Create an In-Place Editor; 4.5 Determine All Fonts Installed on a User''s Computer; 4.6 Create a Custom TextInput; 4.7 Set the Style Properties for Text Ranges; 4.8 Display Images and SWFs in HTML; 4.9 Highlight User-Input Text in a Search Field; 4.10 Manipulate Characters as Individual Graphics; 4.
11 Specify Styles for HTML in a TextField; 4.12 Use the RichTextEditor; 4.13 Apply Embedded Fonts with HTML; 4.14 Add a Drop Shadow to Text in a Text Component; 4.15 Find the Last Displayed Character in a TextArea;Chapter 5: Lists, Tiles, and Trees; 5.1 Create an Editable List; 5.2 Set Icons for Items in a List; 5.3 Add Effects to a List to Indicate Changes; 5.
4 Set a Basic Item Renderer for a TileList; 5.5 Set XML Data for a Tree; 5.6 Create an Item Renderer for a Tree; 5.7 Use Complex Data Objects in a Tree Control; 5.8 Allow Only Certain Items in a List to Be Selectable; 5.9 Format and Validate Data Added in a List''s Item Editor; 5.10 Track All Selected Children in a TileList; 5.11 Use and Display Null Items in an Item Renderer; 5.
12 Create a Right-Click Menu for a List; 5.13 Customize the Appearance of a Selection in a List;Chapter 6: DataGrid and Advanced DataGrid; 6.1 Create Custom Columns for a DataGrid; 6.2 Specify Sort Functions for DataGrid Columns; 6.3 Enable Multicolumn Sorting in a DataGrid; 6.4 Filter Items in a DataGrid; 6.5 Create Custom Headers for an AdvancedDataGrid; 6.6 Handle Events from a DataGrid/AdvancedDataGrid; 6.
7 Select Items in an AdvancedDataGrid; 6.8 Enable Drag-and-Drop in a DataGrid; 6.9 Edit Items in a DataGrid; 6.10 Search Within a DataGrid and Autoscroll to the Match; 6.11 Generate a Summary for Flat Data by Using GroupingCollection; 6.12 Create an Async Refresh for a GroupingCollection;Chapter 7: Renderers and Editors; 7.1 Create Your Own Renderers; 7.2 Use the ClassFactory to Generate Renderers; 7.
3 Access the Component That Owns a Renderer; 7.4 Create a Single Component to Act as Renderer and Editor; 7.5 Create an Item Editor to Handle Data with Multiple Fields; 7.6 Display SWF Objects as Items in a Menu by Using an Item Renderer; 7.7 Select a DataGrid Column with a CheckBox Header Renderer; 7.8 Create a Self-Contained CheckBox itemRenderer for Use in a DataGrid; 7.9 Efficiently Set Images in a Renderer; 7.10 Use Runtime Styling with itemRenderers and itemEditors; 7.
11 Use States and Transitions with an itemEditor; 7.12 Create a CheckBox Tree Control; 7.13 Resize Renderers Within a List;Chapter 8: Images, Bitmaps, Videos, Sounds; 8.1 Load and Display an Image; 8.2 Create a Video Display; 8.3 Play and Pause an MP3 File; 8.4 Create a Seek Bar for a Sound File; 8.5 Blend Two Images; 8.
6 Apply a Convolution Filter to an Image; 8.7 Send Video to an FMS Instance via a Camera; 8.8 Access a User''s Microphone and Create a Sound Display; 8.9 Smooth Video Displayed in a Flex Application; 8.10 Check Pixel-Level Collisions; 8.11 Read and Save a User''s Webcam Image; 8.12 Use Blend Modes with Multiple Images; 8.13 Handle Cue Points in FLV Data; 8.
14 Create a Video Scrubber; 8.15 Read ID3 Data from an MP3 File; 8.16 Display a Custom Loader while Loading Images; 8.17 Enable Image Upload in Flex; 8.18 Compare Two Bitmap Images;Chapter 9: Skinning and Styling; 9.1 Use CSS to Style Components; 9.2 Override the Default Application Style; 9.3 Embed Styles by Using CSS; 9.
4 Override Base Style Properties; 9.5 Customize Styles at Runtime; 9.6 Load CSS at Runtime; 9.7 Declare Styles at Runtime; 9.8 Create Custom Style Properties for Components; 9.9 Use Multiple Themes in the Same Application; 9.10 Compile a Theme SWC; 9.11 Use Embedded Fonts; 9.
12 Embed Fonts from a SWF File; 9.13 Skin with Embedded Images; 9.14 Apply Skins from a SWF File; 9.15 Programmatically Skin a Component; 9.16 Programmatically Skin a Stateful Control; 9.17 Create Animated Skins from a SWF File; 9.18 Customize the Preloader;Chapter 10: Dragging and Dropping; 10.1 Use the DragManager Class; 10.
2 Specify a Drag Proxy; 10.3 Drag and Drop Within a List; 10.4 Drag and Drop Between Lists; 10.5 Enable and Disable Drag Operations; 10.6 Customize the DragImage of a List-Based Control; 10.7 Customize the Drop Indicator of a List-Based Control;Chapter 11: States; 11.1 Set Styles and Properties in a State; 11.2 Create Transitions to Enter and Leave States; 11.
3 Use the AddChildAction and RemoveChildAction; 11.4 Filter Transitions to Affect Only Certain Types of Children; 11.5 Apply Parts of a Transition to Certain Children; 11.6 Base a State on Another State; 11.7 Integrate View States with HistoryManagement; 11.8 Use Deferred Instance Factories with States; 11.9 Use Data Binding with Objects Added in a State; 11.10 Add and Remove Event Listeners in State Changes; 11.
11 Add View States to a Flash Component; 11.12 Work with State Change Events; 11.13 Dynamically Generate and Use New States and Transitions; 11.14 Create Custom Actions to Use in a State;Chapter 12: Effects; 12.1 Call an Effect in MXML and in ActionScript; 12.2 Build a Custom Effect; 12.3 Create Parallel Series or Sequences of Effects; 12.4 Pause, Reverse, and Restart an Effect; 12.
5 Create Custom Effect Triggers; 12.6 Create Tween Effects; 12.7 Use the DisplacementMapFilter Filter in a Flex Effect; 12.8 Create an AnimateColor Effect; 12.9 Use the Convolution Filter to Create a Tween;Chapter 13: Collections; 13.1 Add, Sort, and Retrieve Data from an ArrayCollection; 13.2 Filter an ArrayCollection; 13.3 Determine When an Item Is Modified in an ArrayCollection; 13.
4 Create a GroupingCollection; 13.5 Create a Hierarchical Data Provider for a Control; 13.6 Navigate a Collection Object and Save Your Position; 13.7 Create a HierarchicalViewCollection Object; 13.8 Filter and Sort an XMLListCollection; 13.9 Sort on Multiple Fields in a Collection; 13.10 Sort on Dates in a Collection; 13.11 Create a Deep Copy of an ArrayCollection; 13.
12 Use Data Objects with Unique IDs;Chapter 14: Data Binding; 14.1 Bind to a Property; 14.2 Bind to a Function; 14.3 Create a Bidirectional Binding; 14.4 Bind to Properties by Using ActionScript; 14.5 Use Bindable Property Chains; 14.6 Bind to Properties on XML by Using E4X; 14.7 Create Customized Bindable Properties; 14.
8 Bind to a Generic Object; 14.9 Bind to Properties on a Dynamic Class;Chapter 15: Validation, Formatting, and Regular Expressions; 15.1 Use Validators and Formatters with TextInput and TextArea Controls; 15.2 Create a Custom Formatter; 15.3 Create a More-International Zip Code Validator by Using Regular Expressions; 15.4 Create a Validator to Validate UPCs; 15.5 Validate Combo Boxes and Groups of Radio Buttons; 15.6 Show Validation Er.