Application structure
- KapInspect is based on the DisplayList tree(application and popups) displayed on left part, and on 'inspection plugins' - generically called 'inspectors' - displayed on the right.
- All inspectors stay open at the same time, but they are also closeable.
- A bunch of plugins are already in the box, but you will also be able to develop your own plugins, if you wish to do so.
- The menu popup when the mouse comes over the bottom bar. The button corresponding to the current selected inspector will come out and be displayed for 1/2s each time an object changed.
- Actions are available on selected objects, either with the button bar, either with right-click menu on a selected object (note that it is always the selected object that is the target of context menu, that is not always the one under your mouse pointer)
- Title bar displays current memory used by the Flash Player (for all flash movies and flex applications running in the current player), along with max memory
- Upon first call, if no inspector has been created yet, the display list takes all the width of the popup.
- Right click on application header will display KapInspect version number in the context menu
- There is always a current selected object, at application level. This object is updated when you select a new node in any DisplayList tree component. It may also be changed by any inspection plugin (and this is the case of the object inspector
Toolbar and actions
The toolbar is divided in two parts: contextual actions that will trigger an inspection component and global actions:
- Contextual actions will only be available if their action is appropriate given the object that is currently selected at the application level. To know wheather an action is available or not, just read the tooltip that gives a hint on action and name of the selected object.
- Global actions are always available, and does not depend on context
When you trigger an inspector 'I' for an object 'X', called I(X)
- If there is any inspector already opened for X, then a new object tab is created for X
- If there is already an object tab for X, but no inspector 'I' for X, then the current inspector will be replaced.