object Prima::Application( Prima::Widget)
{
	ColorSet  colors;
	Handle    hintTimer;
	Handle    hintWidget;
	Handle    icon;
	Bool      autoClose;

	property  Bool   autoClose;
	property  Bool   buffered;
	property  Bool   clipOwner;
	property  Color  colorIndex( int index);
	property  Bool   enabled;
	property  Bool   focused;
	property  Handle icon;
	property  Bool   insertMode;
	property  int    growMode;
	property  Color  hintColor;
	property  Color  hintBackColor;
	property  int    hintPause;
	property  Bool   layered;
	property  Bool   modalHorizon;
	property  SV  *  palette;
	property  Bool   pointerVisible;
	property  Point  origin;
	property  Handle owner;
	property  Bool   ownerBackColor;
	property  Bool   ownerColor;
	property  Bool   ownerFont;
	property  Bool   ownerShowHint;
	property  Bool   ownerPalette;
	property  Bool   selectable;
	property  Handle shape;
	property  Point  size;
	property  Bool   showHint;
	property  Bool   syncPaint;
	property  int    tabOrder;
	property  Bool   tabStop;
	property  Bool   transparent;
	property  SV *   text;
	property  Bool   visible;
	property  Bool   wantUnicodeInput;

	method Bool   begin_paint();
	method Bool   begin_paint_info();
	method void   bring_to_front();
	method void   cleanup();
	method Bool   close();
	method void   done();
	method void   detach( Handle objectHandle, Bool kill);
	method void   end_paint();
	method void   end_paint_info();
	method SV*    fonts( char * name = "", char * encoding = "");
	method SV*    font_encodings( char * encoding = "");
	method Handle get_active_window();
	static Font   get_caption_font( char * dummy = "");
	static int    get_default_cursor_width( char * dummy = "");
	static Font   get_default_font( char * dummy = "");
	static Point  get_default_scrollbar_metrics( char * dummy = "");
	static Point  get_default_window_borders( char * dummy = "", int borderStyle = bsSizeable);
	method Handle get_focused_widget();
	method Handle get_widget_from_handle( SV * handle);
	method Handle get_hint_widget();
	method Rect   get_indents() => apc_application_get_indents;
	static Font   get_message_font( char * dummy = "");
	method SV *   get_monitor_rects();
	method Handle get_modal_window( int modalFlag = mtExclusive, Bool topMost = true);
	method Point  get_scroll_rate();
	static SV *   get_system_info( char * dummy = "");
	static int    get_system_value( char * dummy = "", int sysValue = 0);
	method Bool   go( void)   => apc_application_go;
	c_only void   handle_event ( PEvent event);
	method void   hide();
	method void   init( HV * profile);
	method int    load_font(char * fontPath) => apc_font_load;
	method Bool   lock()                        => apc_application_lock;
	method void   insert_behind( Handle widget);
	method Handle next();
	import SV *   notification_types();
	method Handle prev();
	method void   send_to_back();
	import void   setup();
	c_only void   set_hint_action( Handle widget, Bool show, Bool mouseEvent);
	method void   show();
	static void   sync( char *dummy = "");
	static SV*    sys_action( char * dymmy = "", char * params = "");
	method Bool   unlock()                      => apc_application_unlock;
	c_only void   update_sys_handle( HV * profile);
	c_only Bool   validate_owner( Handle * newOwner, HV * profile);
	static void   yield( char *dummy = "");

	method Bool   get_capture();
	method Font   get_hint_font();
	method Handle get_image( int x, int y, int xLen, int yLen);
	method Handle get_parent();
	method Handle get_widget_from_point( Point p) => apc_application_get_widget_from_point;

	method void   set( HV * profile);
	method Bool   set_capture( Bool capture, Handle confineTo);
	method void   set_centered( Bool x, Bool y);
	method void   set_font( Font font);
	method void   set_hint_font( Font hintFont);

	int     hintActive;
	Bool    hintVisible;
	Handle  hintUnder;
	Handle  topExclModal;
	Handle  exclModal;
	Handle  topSharedModal;
	Handle  sharedModal;
	List    modalHorizons;
	Bool    wantUnicodeInput;

	c_only  Handle map_focus( Handle from);
	c_only  Handle top_frame( Handle from);
	c_only  Handle popup_modal();
}
