Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.core.WindowedApplication;
import mx.core.Application;
import mx.controls.Alert;
// VARIABLES
[Embed(source="assets/images/logo_16x16_v1.png")]
private var TrayClass:Class;
private var _trayIcon:BitmapData;
/* ----- PRIVATE FUNCTIONS ----- */
private function startMoveHandler(event:MouseEvent) :void {
stage.nativeWindow.startMove();
}
private function createTrayMenu() :void {
_trayIcon=Bitmap(new TrayClass()).bitmapData;
if(NativeApplication.supportsSystemTrayIcon) {
var sysTrayIcon:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
sysTrayIcon.tooltip="Some tooltip";
sysTrayIcon.menu=createIconMenu();
sysTrayIcon.addEventListener(MouseEvent.CLICK, undockHandler);
}
else {
var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, undockHandler);
dockIcon.menu = createIconMenu();
}
}
private function createIconMenu() :NativeMenu {
var menu:NativeMenu = new NativeMenu();
var openNativeMenuItem:NativeMenuItem = new NativeMenuItem("Open");
var exitNativeMenuItem:NativeMenuItem = new NativeMenuItem("Exit");
openNativeMenuItem.addEventListener(Event.SELECT, undockHandler);
exitNativeMenuItem.addEventListener(Event.SELECT, closeHandler);
menu.addItem(openNativeMenuItem);
menu.addItem(new NativeMenuItem("",true));
menu.addItem(exitNativeMenuItem);
return menu;
}
private function closeHandler(event:Event) :void {
close();
}
private function close() :void {
var windowApp:WindowedApplication=Application.application as WindowedApplication;
windowApp.close();
}
private function dockHandler() :void {
stage.nativeWindow.visible=false;
NativeApplication.nativeApplication .icon.bitmaps = [_trayIcon];
}
private function undockHandler(event:Event=null) :void {
stage.nativeWindow.visible = true;
stage.nativeWindow.orderToFront();
NativeApplication.nativeApplication .icon.bitmaps = [];
}
/* ----- PUBLIC FUNCTIONS ----- */
public function initWindow() :void {
var windowApp:WindowedApplication=Application.application as WindowedApplication;
windowApp.nativeWindow.x=(Capabilities.screenResolutionX-windowApp.width)/2;
windowApp.nativeWindow.y=(Capabilities.screenResolutionY-windowApp.height)/2;
bg.addEventListener(MouseEvent.MOUSE_DOWN, startMoveHandler);
createTrayMenu();
}
public function displayNotification(type:String, msg:String=null) :void {
var windowApp:WindowedApplication=Application.application as WindowedApplication;
if(type==NotificationType.INFORMATIONAL) {
windowApp.nativeWindow.notifyUser(NotificationType.INFORMATIONAL);
}
else if(type==NotificationType.CRITICAL) {
windowApp.nativeWindow.notifyUser(NotificationType.CRITICAL);
Alert.show("Error, please check settings and restart application", "Error", Alert.OK);
}
if(!windowApp.nativeWindow.active) {
undockHandler();
}
}
]]>
</mx:Script>
<!-- GUI -->
<mx:Image id="bg" source="@Embed('assets/images/tpms_bg.png')" />
<mx:Button click="dockHandler()" styleName="minimizeButton" x="940" y="15" buttonMode="true" toolTip="Minimize to system tray" />
<mx:Button click="close()" styleName="closeButton" x="960" y="15" buttonMode="true" toolTip="Close application" />
</mx:Canvas>
Evo jedan primer, nadam se da ce pomoci