In the application I have made for my beloved wife, I used a ComboBox to log actions or events results to give her feedback and information on what the application does (or not).
The ComboBox was actually used as the application status bar but this was just a fake : the ComboBox was actually stuck at the bottom of the window . Now, I am working on a new version of this AIR application and I would like to do something smarter including a customization of the Window StatusBar…
To customize the Window or WindowedApplication StatusBar, you must do the following:
1 2 3 | <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" showStatusBar="true" statusBarFactory="{new ClassFactory(AppStatusBar)}"> |
From here, you (just) need to create your own StatusBar component, do everything you want.
For my AIR application, I customized the StatusBar with a VBox containing 2 HBoxes with:
- open and close buttons to show or hide the StatusBar
- a status Label
- an extension of the ComboBox able to log anything I wanted: information, action results, events… this is the LogComboBox.
The width of the different components is defined by an array containing ratio of the application width.
You can also add any component in the AppStatusBar as demoed below with a simple button:
As you can see, the component can be used for Flex application also. The very first version of the component had to be adapted for that, and this led to some issues (see the “Known issues” tab below).
In the downloadable package, I provide the code of this demo application for both AIR and Flex. In the Flex version, I commented the differences with the AIR version.
Version 1.0
First release
Usage
- New components have to be added explicitly in the mainBar
- widthPercents have to be specified each time a new component is added to the mainBar. Otherwise, the width of all components will be equal
1- For Flex applications: the StatusBar is not resized when the browser window is reduced (although the resize event listener in the application)
To adress this issue, the width of the AppStatusBar is “reset” in the updateDisplayLit function using the owner.width.
2- For AIR application (consequence of the previous solution): owner.width generates an error in AIR apps. The error is simply intercepted, nothing is done.
I would like to find a smarter solution for the first issue. I will check later if I can do something better. but in the meanwhile, if someone has any suggestion, they will be welcomed !
See the known issues of the LogComboBox component
Licence:
This component is free for use, modification and distribution under the following condition:
Just mention the name and the url of the author in a part of your product that is visible to the user (about section, documentation…)
Download:
The package includes:
- 2 mxml applications (AIR + Flex)
- the AppStatusBar component
- the LogComboBox component
Downloaded a total of 1186 times
Have Fun !
Related posts
Comments are closed.