/***************************************************************************
                            QApplication.h -  description
                             -------------------
    begin                : Wed Nov 21 12:08:37 2001
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Nov 21 12:08:37 2001, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

#ifndef QAPPLICATION_H
#define QAPPLICATION_H

#include <Foundation/NSObject.h>
#include <Foundation/NSString.h>
#include <qtobjc/QObject.h>

@class QClipboard;
@class QCursor; 
@class QFont;
@class QFontMetrics; 
@class QPalette; 
@class QSessionManager; 
@class QStyle; 
@class QTextCodec; 
@class QTranslator; 

@interface QApplication : QObject 
- initWithArgc: (int)argc argv: (char **)argv;
- initWithArgc: (int)argc argv: (char **)argv GUIenabled: (BOOL)GUIenabled;
- initWithArgc: (int)argc argv: (char **)argv int: (int)arg1;
//- initWithDisplay: (Display*)dpy visual: (unsigned int)visual cmap: (unsigned int)cmap;
//- initWithDisplay: (Display*)dpy ;
//- initWithDisplay: (Display*)dpy argc: (int)argc argv: (NSString *)argv visual: (unsigned int)visual cmap: (unsigned int)cmap;
//- initWithDisplay: (Display*)dpy argc: (int)argc argv: (NSString *)argv ;
- (void) dealloc;
+ qApp;
- (int) argc;
- (char **) argv;
- (int) type;
- (QWidget*) mainWidget;
- setMainWidget: (QWidget *)arg1;
- polishWidget: (QWidget *)arg1;
- (QWidget*) focusWidget;
- (QWidget*) activeWindow;
- (int) exec;
- processEvents;
- processEvents: (int)maxtime;
//- processOneEvent;
- (BOOL) hasPendingEvents;
- (int) enter_loop;
- exit_loop;
- (int) loopLevel;
- (BOOL) notify: (QObject *)arg1 event: (QEvent *)arg2;
- setDefaultCodec: (QTextCodec*)arg1;
- (QTextCodec*) defaultCodec;
- installTranslator: (QTranslator*)arg1;
- removeTranslator: (QTranslator*)arg1;
- (NSString *) translate: (NSString *)context key: (NSString *)key comment: (NSString *)comment encoding: (int)encoding;
//- (BOOL) macEventFilter: (EventRef)arg1;
//- (BOOL) winEventFilter: (MSG*)arg1;
//- (BOOL) x11EventFilter: (XEvent*)arg1;
//- (int) x11ClientMessage: (QWidget *)arg1 xevent: (XEvent*)arg2 passive_only: (BOOL)passive_only;
//- (int) x11ProcessEvent: (XEvent*)arg1;
//- (BOOL) qwsEventFilter: (QWSEvent*)arg1;
//- (int) qwsProcessEvent: (QWSEvent*)arg1;
//- qwsSetCustomColors: (int *)colortable start: (int)start numColors: (int)numColors;
//- winFocus: (QWidget *)arg1 bool: (BOOL)arg2;
- (BOOL) isSessionRestored;
- (NSString *) sessionId;
- commitData: (QSessionManager*)sm;
- saveState: (QSessionManager*)sm;
//- wakeUpGuiThread;
//- lock;
//- unlock: (BOOL)wakeUpGui;
//- unlock;
//- (BOOL) locked;
//- (BOOL) tryLock;
//- setEnableRemoteControl: (BOOL)enable appId: (QUuid)appId;
//- setEnableRemoteControl: (BOOL)enable ;
//- (BOOL) remoteControlEnabled;
//- (QUuid) applicationId;
- quit;
- closeAllWindows;
+ (QStyle*) style;
+ setStyle: (QStyle*)arg1;
+ (QStyle*) setStyleFromString: (NSString *)arg1;
+ (int) colorMode;
+ setColorMode: (int)arg1;
+ (int) colorSpec;
+ setColorSpec: (int)arg1;
+ (QCursor*) overrideCursor;
+ setOverrideCursor: (QCursor *)arg1 replace: (BOOL)replace;
+ setOverrideCursor: (QCursor *)arg1 ;
+ restoreOverrideCursor;
+ (BOOL) hasGlobalMouseTracking;
+ setGlobalMouseTracking: (BOOL)enable;
+ (QPalette*) palette: (QWidget *)arg1;
+ (QPalette*) palette;
+ setPalette: (QPalette *)arg1 informWidgets: (BOOL)informWidgets className: (NSString *)className;
+ setPalette: (QPalette *)arg1 ;
+ (QFont*) font: (QWidget *)arg1;
+ (QFont*) font;
+ setFont: (QFont *)arg1 informWidgets: (BOOL)informWidgets className: (NSString *)className;
+ setFont: (QFont *)arg1 ;
+ (QFontMetrics*) fontMetrics;
+ (NSArray *) allWidgets;
+ (NSArray *) topLevelWidgets;
//+ (QDesktopWidget*) desktop;
+ (QWidget*) activePopupWidget;
+ (QWidget*) activeModalWidget;
+ (QClipboard*) clipboard;
+ (QWidget*) widgetAt: (int)x y: (int)y child: (BOOL)child;
+ (QWidget*) widgetAt: (int)x y: (int)y ;
+ (QWidget*) widgetAt: (QPoint*)arg1 child: (BOOL)child;
+ (QWidget*) widgetAt: (QPoint*)arg1 ;
+ exit: (int)retcode;
+ exit;
//+ (BOOL) sendEvent: (QObject *)receiver event: (QEvent *)event;
//+ postEvent: (QObject *)receiver event: (QEvent *)event;
+ sendPostedEvents: (QObject *)receiver event_type: (int)event_type;
+ sendPostedEvents;
+ removePostedEvents: (QObject *)receiver;
+ (BOOL) startingUp;
+ (BOOL) closingDown;
+ flushX;
+ flush;
+ syncX;
+ beep;
+ setWinStyleHighlightColor: (QColor *)c;
+ (QColor*) winStyleHighlightColor;
+ setDesktopSettingsAware: (BOOL)arg1;
+ (BOOL) desktopSettingsAware;
+ setCursorFlashTime: (int)arg1;
+ (int) cursorFlashTime;
+ setDoubleClickInterval: (int)arg1;
+ (int) doubleClickInterval;
+ setWheelScrollLines: (int)arg1;
+ (int) wheelScrollLines;
+ setGlobalStrut: (QSize *)arg1;
+ (QSize*) globalStrut;
+ setLibraryPaths: (NSArray *)arg1;
+ (NSArray *) libraryPaths;
+ addLibraryPath: (NSString *)arg1;
+ removeLibraryPath: (NSString *)arg1;
+ setStartDragTime: (int)ms;
+ (int) startDragTime;
+ setStartDragDistance: (int)l;
+ (int) startDragDistance;
+ setReverseLayout: (BOOL)b;
+ (BOOL) reverseLayout;
+ (int) horizontalAlignment: (int)align;
+ (BOOL) isEffectEnabled: (int)arg1;
+ setEffectEnabled: (int)arg1 enable: (BOOL)enable;
+ setEffectEnabled: (int)arg1 ;
//+ (QWSDecoration*) qwsDecoration;
//+ qwsSetDecoration: (QWSDecoration*)arg1;
//+ (int) winVersion;
//+ winMouseButtonUp;
//+ create_xim;
//+ close_xim;
//+ (BOOL) x11_apply_settings;
+ (int) Tty;
+ (int) GuiClient;
+ (int) GuiServer;
+ (int) NormalColors;
+ (int) CustomColors;
+ (int) NormalColor;
+ (int) CustomColor;
+ (int) ManyColor;
+ (int) DefaultCodec;
+ (int) UnicodeUTF8;
@end

/** Override these methods in subclasses of QApplication to customise event handling behaviour */
@protocol QApplicationEventHandling
- childEvent:(QChildEvent*) arg1;
- customEvent:(QCustomEvent*) arg1;
- timerEvent:(QTimerEvent*) arg1;
@end


#endif
