Tag Archives: Adobe Air

as3 Native Cursor Manager

Basically the main advantage of as3 development is the multi-platform support.
It is understandable that a typical user does not care about that and he wants the best performance on the platform that he has picked.
Usually while distributing applications people forget about the little things like showing the busy cursor. While in native code there always is a function for showing a busy cursor in flash using the native busy cursor isn’t so easy to show because in native code it disappears after the function ends.
I’v made this simple class that has only one function – Showing the busy cursor similar to the native ones. I’t is different dependently on the platform.
On Mac Os:
On Windows 7, Vista:
On other versions of Windows:
On Linux:

Grab the code on Git-hub:
https://github.com/mateuszmackowiak/as3NativeCursorManager

import pl.mateuszmackowiak.visuals.CursorManager;
// to show the busy cursor
CursorManager.setBusyCursor();

// to hide it
CursorManager.removeBusyCursor();

Also want to mention about AIR 3 Windows-x86 Native Extension for Taskbar (Progress) API.
These are small things but they really make a difference in the overview of the app.

Tagged , , , ,

Android Native Extension Text Input Dialog for Adobe Air

Andorid Text Input Dialog Native Extension for Adobe Air

New in asNativeAlert .

So once again to make the package compatible with every platform I’m working on I’v packed to the same ANE file additional classes.
I think one of the main feature of a basic Dialog Box on every platform is to show some kind of input for people to interact with it.
So NativeTextInputDialog add this functionality to the whole package.

Usage:

public function openTextInputDialog(event:MouseEvent):void{
	if(NativeTextInputDialog.isSupported()){
		textInputDialog = new NativeTextInputDialog();
		textInputDialog.theme = NativeTextInputDialog.THEME_HOLO_LIGHT;
		textInputDialog.addEventListener(NativeDialogEvent.CANCLED,trace);
		textInputDialog.addEventListener(NativeDialogEvent.OPENED,trace);
		textInputDialog.addEventListener(NativeExtensionErrorEvent.ERROR,trace);
		textInputDialog.addEventListener(NativeTextInputDialogEvent.CLOSED, onTextInputDialogClosedHandler);
		var buttons:Vector.<String> = new Vector.<String>();
		buttons.push("OK","Cancle");
		var v:Vector.<NativeTextInput> = new Vector.<NativeTextInput>();
		var ti1:NativeTextInput = new NativeTextInput("name");
		ti1.inputType = NativeTextInput.text;
		ti1.messageBefore ="name:";
		ti1.text = "jacek";
		v.push(ti1);
		var ti2:NativeTextInput = new NativeTextInput("password");
		ti2.inputType = NativeTextInput.textPassword;
		ti2.messageBefore ="password:";
		ti2.text = "dddd";
		v.push(ti2);
		textInputDialog.show(titleInput.text,v,buttons);
	}
}
private function onTextInputDialogClosedHandler(event:NativeTextInputDialogEvent):void
{
	for each (var n:NativeTextInput in event.list) 
	{
		trace(n.name+":  "+n.text);
	}
	trace(event.buttonIndex);
}
Tagged , , ,