Packagemx.managers
Interfacepublic interface IFocusManagerComponent
Implementors ButtonBase, List, RichEditableText, Scroller, SkinnableTextBase

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

The IFocusManagerComponent interface defines the interface that focusable components must implement in order to receive focus from the FocusManager. The base implementations of this interface are in the UIComponent class, but UIComponent does not implement the full IFocusManagerComponent interface since some UIComponents are not intended to receive focus. Therefore, to make a UIComponent-derived component be a valid focusable component, you simply add "implements IFocusManagerComponent" to the class definition.



Public Properties
 PropertyDefined By
  focusEnabled : Boolean
A flag that indicates whether the component can receive focus when selected.
IFocusManagerComponent
  hasFocusableChildren : Boolean
A flag that indicates whether child objects can receive focus.
IFocusManagerComponent
  mouseFocusEnabled : Boolean
[read-only] A flag that indicates whether the component can receive focus when selected with the mouse.
IFocusManagerComponent
  tabFocusEnabled : Boolean
[read-only] A flag that indicates whether pressing the Tab key eventually moves focus to this component.
IFocusManagerComponent
  tabIndex : int
If tabFocusEnabled, the order in which the component receives focus.
IFocusManagerComponent
Public Methods
 MethodDefined By
  
drawFocus(isFocused:Boolean):void
Called by the FocusManager when the component receives focus.
IFocusManagerComponent
  
setFocus():void
Called by the FocusManager when the component receives focus.
IFocusManagerComponent
Property Detail
focusEnabledproperty
focusEnabled:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

A flag that indicates whether the component can receive focus when selected.

As an optimization, if a child component in your component implements the IFocusManagerComponent interface, and you never want it to receive focus, you can set focusEnabled to false before calling addChild() on the child component.

This will cause the FocusManager to ignore this component and not monitor it for changes to the tabFocusEnabled, hasFocusableChildren, and mouseFocusEnabled properties. This also means you cannot change this value after addChild() and expect the FocusManager to notice.

Note: It does not mean that you cannot give this object focus programmatically in your setFocus() method; it just tells the FocusManager to ignore this IFocusManagerComponent component in the Tab and mouse searches.


Implementation
    public function get focusEnabled():Boolean
    public function set focusEnabled(value:Boolean):void
hasFocusableChildrenproperty 
hasFocusableChildren:Boolean

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

A flag that indicates whether child objects can receive focus.

Note: This property is similar to the tabChildren property used by Flash Player. Use the hasFocusableChildren property with Flex applications. Do not use the tabChildren property.

This property is usually false because most components either receive focus themselves or delegate focus to a single internal sub-component and appear as if the component has received focus. For example, a TextInput control contains a focusable child RichEditableText control, but while the RichEditableText sub-component actually receives focus, it appears as if the TextInput has focus. TextInput sets hasFocusableChildren to false because TextInput is considered the component that has focus. Its internal structure is an abstraction.

Usually only navigator components, such as TabNavigator and Accordion, have this flag set to true because they receive focus on Tab but focus goes to components in the child containers on further Tabs.

The default value is false, except for the spark.components.Scroller component. For that component, the default value is true.


Implementation
    public function get hasFocusableChildren():Boolean
    public function set hasFocusableChildren(value:Boolean):void
mouseFocusEnabledproperty 
mouseFocusEnabled:Boolean  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

A flag that indicates whether the component can receive focus when selected with the mouse. If false, focus will be transferred to the first parent that is mouseFocusEnabled.


Implementation
    public function get mouseFocusEnabled():Boolean
tabFocusEnabledproperty 
tabFocusEnabled:Boolean  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

A flag that indicates whether pressing the Tab key eventually moves focus to this component. Even if false, you can still be given focus by being selected with the mouse or via a call to setFocus(). This property replaces InteractiveObject.tabEnabled which must be set to true in Flex apps.


Implementation
    public function get tabFocusEnabled():Boolean
tabIndexproperty 
tabIndex:int

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

If tabFocusEnabled, the order in which the component receives focus. If -1, then the component receives focus based on z-order.


Implementation
    public function get tabIndex():int
    public function set tabIndex(value:int):void
Method Detail
drawFocus()method
public function drawFocus(isFocused:Boolean):void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Called by the FocusManager when the component receives focus. The component should draw or hide a graphic that indicates that the component has focus.

Parameters

isFocused:Boolean — If true, draw the focus indicator, otherwise hide it.

setFocus()method 
public function setFocus():void

Language Version : ActionScript 3.0
Product Version : Flex 3
Runtime Versions : Flash Player 9, AIR 1.1

Called by the FocusManager when the component receives focus. The component may in turn set focus to an internal component.