The BindingWatcher is designed to display the binding events in real time, it will:
- Discover all public variables that are bindable, in all the object composition graph
- Listen to "binding event" on this variables (internally using a Binding object), that can be either a PropertyChangeEvent, or any other event defined as the support for the Binding. Refer to Flex documentation for more information about the [Binding] metadata instruction.
- Listen to CollectionEvent, for ArrayCollection, in order to trace what happens inside collections (notice that a collection variable does not need to be binded to a List component of the framework in order for this component to update automatically when collection change. Just being a dataProvider for this component is enough, as CollectionChange events are handled by the components)
- Keep an history of all changes on a particular variable, at any level inside the object graph
- Display the stacktrace entry that was the cause of the change in the property
- Inspect data targeted by the changes
Description of the view
- The left pane shows the Bindable public variables found inside the ModelLocator instance provided to the console. If a variable represents an object, then you will able to drill down into this variable definition, and expand the node to see if it contains, in turn, its own bindable public variables. In other terms, the binding watcher listens recursively to change events dispatched at any level of the object graph (tree).
This tree also acts as a filter, for displaying only events that relate to the selected node (and all its subnodes, if any)
- The center pane displays the list of recorded binding events
Description of the columns:
||Number of the event, starting at 1
||Name of the property that has been updated, relative to its immediate holder (short name in other terms)
||Property name chain within the list of holding objects (ex: myArray.length)
||The new value of the object, that may be inspected in the object inspector
||This is the nature of the event: either PropertyChange, or any other event, or a CollectionChange event
- The right pane displays an object inspector for the selected object in the main event list, ie the object that is the new content of the watched variable.
- The lower pane displays the stacktrace that is the source of the binding event