Preface; 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Ā® Books Online; How to Contact Us; Acknowledgments;Chapter 1: Flex and ActionScript Basics; 1.1 Create a Flex Project in Flash Builder; 1.2 Create a Flex Library Project in Flash Builder; 1.3 Set Compiler Options in Flash Builder; 1.4 Compile a Flex Project Without Flash Builder; 1.5 Add an Event Listener in MXML; 1.6 Create Typed Vectors; 1.7 Use Event Bubbling; 1.
8 Use Custom Events and Dispatch Data with Events; 1.9 Listen for a Keyboard Event; 1.10 Define Optional Parameters for Methods; 1.11 Define and Implement an Interface; 1.12 Access the Parent of a Flex Component;Chapter 2: Containers; 2.1 Position Children Within a Container; 2.2 Dynamically Add and Remove Children; 2.3 Reorder Child Elements of a Container; 2.
4 Display Children Using Data Items; 2.5 Use a Custom Item Renderer in a DataGroup; 2.6 Use Multiple Item Renderers in a DataGroup; 2.7 Enable Scrolling in a Container; 2.8 Scale Children of a Container; 2.9 Apply Skins to a Container; 2.10 Set the Background Image of a BorderContainer; 2.11 Use a Control Bar; 2.
12 Modify Layout of Content Elements in a Panel; 2.13 Track Mouse Position Within a Container; 2.14 Drag and Drop Between Visual Containers; 2.15 Drag and Drop Between Data Containers; 2.16 Add a Spark Layout Container to a MX Navigation Container; 2.17 Create a Spark-Based ViewStack;Chapter 3: Layout; 3.1 Position Children Linearly; 3.2 Switch Layout Management at Runtime; 3.
3 Align and Size Children Within a Layout; 3.4 Lay Out Children Using Rows and Columns; 3.5 Size Children Uniformly; 3.6 Lazily Create and Recycle Children; 3.7 Create a Custom Layout; 3.8 Measure and Alter the Container Size; 3.9 Dynamically Change the Child Depth in the Layout; 3.10 Use Matrix3D to Apply Transformations Within a Layout; 3.
11 Use TransformOffsets to Apply Transformations Within a Layout; 3.12 Create a Custom 3D Layout; 3.13 Programmatically Scroll Within a Layout; 3.14 Determine the Visibility of Elements in a Sequence-Based Layout;Chapter 4: Graphics; 4.1 Size and Position a Graphic Element; 4.2 Use Path to Draw a Shape with Stroke and Fill; 4.3 Display Text in a Graphic Element; 4.4 Display Bitmap Data in a Graphic Element; 4.
5 Display Gradient Text; 4.6 Apply Bitmap Data to a Graphic Element as a Mask; 4.7 Create a Custom Shape Element; 4.8 Create a Custom Standalone Graphic Component; 4.9 Define and Reuse Graphic Symbols;Chapter 5: Components; 5.1 Handle a Button''s Click Event; 5.2 Create a Button Bar; 5.3 Load a External SWF; 5.
4 Use a Calendar Date Input; 5.5 Create Event Handlers for Menu-Based Controls; 5.6 Display an Alert in an Application; 5.7 Display a Custom Pop Up in a Custom Component; 5.8 Detect a Mouse Click Outside a Pop Up to Close It; 5.9 Using s:Scroller to Create a Scrollable Container; 5.10 Handle focusIn and focusOut Events; 5.11 Open a DropDownList with a Keyboard Shortcut; 5.
12 Grouping Radio Buttons; 5.13 Submit a Flex Form to a Server-Side Script;Chapter 6: Skinning and Styles; 6.1 Create a Skin for s:Button; 6.2 Apply a Repeating Background Image to an Application; 6.3 Create a Skin for s:ButtonBar and s:ButtonBarButton; 6.4 Skin an s:DropDownList; 6.5 Skin a Spark Container; 6.6 Change the Appearance of Components Using Styles; 6.
7 Apply Skins and Properties to Spark and MX Components with CSS; 6.8 Create a Button Component with an Icon; 6.9 Add Custom Style Properties; 6.10 Partially Embed Fonts with CSS;Chapter 7: Text and TextFlows; 7.1 Create a TextFlow Object; 7.2 Generate a TextFlow Object from Another Source; 7.3 Create Links in a TextFlow; 7.4 Add Graphic Elements to a TextFlow; 7.
5 Bind a Value to a s:TextInput Control; 7.6 Create a Custom Selection Style; 7.7 Style Links Within a TextFlow; 7.8 Locate Elements Within a TextFlow; 7.9 Determine All Fonts Installed on a User''s Computer; 7.10 Display Vertical Text in a TextArea; 7.11 Set the Selection in a TextArea; 7.12 Control the Appearance of the Selected Text; 7.
13 Copy a Character as a Bitmap; 7.14 Create Linked Containers in a TextFlow; 7.15 Use a Custom Format Resolver; 7.16 Skin the TextArea Control; 7.17 Create Multiple Text Columns; 7.18 Highlight the Last Character in a TextFlow;Chapter 8: Lists and ItemRenderers; 8.1 Create an Item Renderer for a Spark List; 8.2 Create an Editable List; 8.
3 Scroll to an Item in a Spark List; 8.4 Change the Layout of a Spark List; 8.5 Create a Nested List; 8.6 Set XML Data for a Spark List; 8.7 Allow Only Certain Items in a Spark List to Be Selectable; 8.8 Format and Validate Data Added in a Spark List Item Editor; 8.9 Create a Right-Click Menu for a Spark List; 8.10 Enable Dragging in a Spark List; 8.
11 Customize the Drop Indicator of a Spark List; 8.12 Display Asynchronously Loaded Data in a Spark List;Chapter 9: DataGrid; 9.1 Create Custom Columns for a DataGrid; 9.2 Specify Sort Functions for DataGrid Columns; 9.3 Filter Items in a DataGrid; 9.4 Create Custom Headers for a DataGrid; 9.5 Handle Events from a DataGrid; 9.6 Enable Drag and Drop in a DataGrid; 9.
7 Edit Items in a DataGrid; 9.8 Search Within a DataGrid and Autoscroll to the Match; 9.9 Generate a Summary for Flat Data by Using a Grouping Collection; 9.10 Create an Async Refresh for a Grouping Collection;Chapter 10: Video; 10.1 Create a Basic Video Player; 10.2 Display Video Playback Progress; 10.3 Create a Skinned Video Player; 10.4 Display Streaming Video; 10.
5 Display the Bytes Loaded of a Video; 10.6 Create a Basic Video Player Using the Open Source Media Framework; 10.7 Access and Display Cue Points Embedded in a Video File; 10.8 Create a Wrapper for the Open Source Media Framework; 10.9 Display Captions with the Open Source Media Framework;Chapter 11: Animations and Effects; 11.1 Dynamically Set a Filter for a Component; 11.2 Call an Animation in MXML and in ActionScript; 11.3 Create Show and Hide Effects for a Component; 11.
4 Define Keyframes for an Animation; 11.5 Create Parallel Series or Sequences of Effects; 11.6 Pause, Reverse, and Restart an Effect; 11.7 Set Effects for Adding a Component to or Removing One from a Parent Component; 11.8 Create Custom Animation Effects; 11.9 Use the DisplacementMapFilter Filter in a Flex Effect; 11.10 Use the Convolution Filter to Create an Animation; 11.11 Use Pixel Bender to Create a Transition;Chapter 12: Collections; 12.
1 Add, Remove, or Retrieve Data from an ArrayList; 12.2 Retrieve and Sort Data from an ArrayCollection; 12.3 Filter an ArrayCollection; 12.4 Determine When an Item Within an ArrayCollection Is Modified; 12.5 Create a GroupingCollection; 12.6 Create a Hierarchical Data Provider for a Control; 12.7 Navigate a Collection Object and Save Your Position; 12.8 Create a HierarchicalViewCollection Object; 12.
9 Filter and Sort an XMLListCollection; 12.10 Sort on Multiple Fields in a Collection; 12.11 Sort on Dates in a Collection; 12.12 Create a Deep Copy of an ArrayCollection; 12.13 Use Data Objects with Unique IDs;Chapter 13: Data Binding; 13.1 Bind to a Property; 13.2 Bind to a Function; 13.3 Create a Bidirectional Binding; 13.
4 Bind to Properties by Using ActionScript; 13.5 Use Bindable Property Chains; 13.6 Bind to Properties on a XML Source by Using E4X; 13.7 Create Customized Bindable Properties; 13.8 Bind to a Generic Object; 13.9 Bind to Properties on a Dynamic Class;Chapter 14: Validation, Formatting, and Regular Expressions; 14.1 Use Validators and Formatters with TextInput Controls; 14.2 Create a Custom Formatter; 14.
3 Use Regular Expressions to Create an International Zip Code Validator; 14.4 Validate Combo Boxes and Groups of Radio Buttons; 14.5 Show Validation Errors by Using ToolTips in a Form; 14.6 Use Regular Expressions for Locating Email Addresses; 14.7 Use Regular Expressions for Matching Credit Card Numbers; 14.8 Use Regular Expressions for Validating ISBNs; 14.9 Create Regular Expressions by Using Explicit Character Classes; 14.10 Use Character Types in Regular Expressions; 14.
11 Match Valid IP Addresses by Using Subexpressions; 14.12 Use Regular Expressions for Different Types of Matches; 14.13 Match Ends or Beginnings of Lines with Regular Expressions; 14.14 Use Back-References; 14.15 Use a Look-Ahead or Look-Behind;Chapter 15: Working with Services and Server-Side Communication; 15.1 Configure a HTTPService; 15.2 Use RESTful Communication Between Flex Applications; 15.3 Communicate with a Service That Returns JSON-Formatted Data; 15.
4 Configure Services for an Application Using BlazeDS; 15.5 Configure and Connect to a RemoteObject; 15.6 Use Publish/Subscribe Messaging for Chat Applications; 15.7 Use the IExternalizable Interface for Custom Serialization; 15.8 Track Results from Multiple Simultaneous Service Calls; 15.9 Register a Server-Side Data Type Within a Flex Application; 15.10 Communicate with a WebService; 15.11 Add a SOAP Header to a Request to a WebService; 15.
12 Parse a SOAP Response from a WebService; 15.13 Communicate Securely with AMF by Using SecureAMFChannel; 15.14 Send and Receive Binary Data via a Binary Socket; 15.15 Communicate Using a XMLSocket; 15.16 Navigate a XML Document in E4X; 15.17 Use Regular Expressions in E4X Queries; 15.18 Add a XMLList to a XML Object; 15.19 Handle Namespaces in XML Returned by a Service; 15.
20 Encode an ActionScript Data Object as XML; 15.21 Decode XML from a Web Service into Strongly Typed Objects;Chapter 16: Browser Communication; 16.1 Link to an External URL; 16.2 Work with FlashVars; 16.3 Invoke JavaScript Functions from Flex; 16.4 Invoke ActionScript Functions from JavaScript; 16.5 Change the HTML Page Title via BrowserManager; 16.6 Parse the URL via BrowserManager; 16.
7 Deep-Link to Data via BrowserManager; 16.8 Deep-Link Containers via BrowserManager;Chapter 17: Modules and Runtime Shared Libraries; 17.1 Create a Runtime Shared Library; 17.2 Use Cross-Domain Runtime Shared Librar.