/***************************************************************************
                            QWidget.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 QWIDGET_H
#define QWIDGET_H

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

/**

* Copyright (C) 2000 Trolltech AS.  All rights reserved.
*
* This file is part of Qt Designer.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* See http://www.trolltech.com/gpl/ for GPL licensing information.
*
* Contact info@trolltech.com if any conditions of this licensing are
* not clear to you.
*
********************************************************************
 @short 
* Copyright (C) 2000 Trolltech AS.
*/

@class QBitmap;
@class QBrush;
@class QColorGroup;
@class QContextMenuEvent;
@class QCursor;
@class QFontInfo;
@class QFontMetrics;
@class QIMEvent;
@class QLayout;
@class QPalette;
@class QPixmap;
@class QSizePolicy;
@class QStyle;
@class QTabletEvent;

@interface QWidget : QObject
- initWithWidget: (QWidget *)parent name: (NSString *)name f: (int)f;
- init;
- (void) dealloc;
- (unsigned int) winId;
- setName: (NSString *)name;
//- (QStyle*) style;
- setStyle: (QStyle*)arg1;
- (QStyle*) setStyleFromString: (NSString *)arg1;
- (BOOL) isTopLevel;
- (BOOL) isDialog;
- (BOOL) isPopup;
- (BOOL) isDesktop;
- (BOOL) isModal;
- (BOOL) isEnabled;
- (BOOL) isEnabledTo: (QWidget *)arg1;
- (BOOL) isEnabledToTLW;
- (QRect*) frameGeometry;
- (QRect*) geometry;
- (int) x;
- (int) y;
- (QPoint*) pos;
- (QSize*) frameSize;
- (QSize*) size;
- (int) width;
- (int) height;
- (QRect*) rect;
- (QRect*) childrenRect;
- (QRegion*) childrenRegion;
- (QSize*) minimumSize;
- (QSize*) maximumSize;
- (int) minimumWidth;
- (int) minimumHeight;
- (int) maximumWidth;
- (int) maximumHeight;
- setMinimumSize: (QSize *)arg1;
- setMinimumSize: (int)minw minh: (int)minh;
- setMaximumSize: (QSize *)arg1;
- setMaximumSize: (int)maxw maxh: (int)maxh;
- setMinimumWidth: (int)minw;
- setMinimumHeight: (int)minh;
- setMaximumWidth: (int)maxw;
- setMaximumHeight: (int)maxh;
- (QSize*) sizeIncrement;
- setSizeIncrement: (QSize *)arg1;
- setSizeIncrement: (int)w h: (int)h;
- (QSize*) baseSize;
- setBaseSize: (QSize *)arg1;
- setBaseSize: (int)basew baseh: (int)baseh;
- setFixedSize: (QSize *)arg1;
- setFixedSize: (int)w h: (int)h;
- setFixedWidth: (int)w;
- setFixedHeight: (int)h;
- (QPoint*) mapToGlobal: (QPoint*)arg1;
- (QPoint*) mapFromGlobal: (QPoint*)arg1;
- (QPoint*) mapToParent: (QPoint*)arg1;
- (QPoint*) mapFromParent: (QPoint*)arg1;
- (QPoint*) mapTo: (QWidget *)arg1 point: (QPoint*)arg2;
- (QPoint*) mapFrom: (QWidget *)arg1 point: (QPoint*)arg2;
- (QWidget*) topLevelWidget;
- (int) backgroundMode;
- setBackgroundMode: (int)arg1;
- setBackgroundMode: (int)arg1 int: (int)arg2;
- (QColor*) foregroundColor;
- (QColor*) eraseColor;
- setEraseColor: (QColor *)arg1;
- (QPixmap*) erasePixmap;
- setErasePixmap: (QPixmap *)arg1;
- (QColorGroup*) colorGroup;
- (QPalette*) palette;
- (BOOL) ownPalette;
- setPalette: (QPalette *)arg1;
- unsetPalette;
- (QColor*) paletteForegroundColor;
- setPaletteForegroundColor: (QColor *)arg1;
- (QColor*) paletteBackgroundColor;
- setPaletteBackgroundColor: (QColor *)arg1;
- (QPixmap*) paletteBackgroundPixmap;
- setPaletteBackgroundPixmap: (QPixmap *)arg1;
- (QBrush*) backgroundBrush;
- (QFont*) font;
- (BOOL) ownFont;
- setFont: (QFont *)arg1;
- unsetFont;
- (QFontMetrics*) fontMetrics;
- (QFontInfo*) fontInfo;
- (QCursor*) cursor;
- (BOOL) ownCursor;
- setCursor: (QCursor *)arg1;
- unsetCursor;
- (NSString *) caption;
- (QPixmap*) icon;
- (NSString *) iconText;
- (BOOL) hasMouseTracking;
- (BOOL) hasMouse;
- setMask: (QBitmap *)arg1;
- setRegionMask: (QRegion *)arg1;
- clearMask;
- (QColor*) backgroundColor;
- setBackgroundColor: (QColor *)arg1;
- (QPixmap*) backgroundPixmap;
- setBackgroundPixmap: (QPixmap *)arg1;
- (BOOL) isActiveWindow;
- setActiveWindow;
- (BOOL) isFocusEnabled;
- (int) focusPolicy;
- setFocusPolicy: (int)arg1;
- (BOOL) hasFocus;
- setFocusProxy: (QWidget *)arg1;
- (QWidget*) focusProxy;
- grabMouse;
- grabMouse: (QCursor *)arg1;
- releaseMouse;
- grabKeyboard;
- releaseKeyboard;
- (BOOL) isUpdatesEnabled;
//- repaintUnclipped: (QRegion *)arg1 erase: (BOOL)erase;
//- repaintUnclipped: (QRegion *)arg1 ;
- (BOOL) close: (BOOL)alsoDelete;
- (BOOL) isVisible;
- (BOOL) isVisibleTo: (QWidget *)arg1;
- (BOOL) isVisibleToTLW;
- (QRect*) visibleRect;
- (BOOL) isHidden;
- (BOOL) isMinimized;
- (BOOL) isMaximized;
//- (QSize*) sizeHint;
- (QSize*) minimumSizeHint;
- (QSizePolicy*) sizePolicy;
- setSizePolicy: (QSizePolicy*)arg1;
- (int) heightForWidth: (int)arg1;
- adjustSize;
- (QLayout*) layout;
- updateGeometry;
- reparent: (QWidget *)parent int: (int)arg1 point: (QPoint*)arg2 showIt: (BOOL)showIt;
- reparent: (QWidget *)parent int: (int)arg1 point: (QPoint*)arg2 ;
- reparent: (QWidget *)parent point: (QPoint*)arg1 showIt: (BOOL)showIt;
- reparent: (QWidget *)parent point: (QPoint*)arg1 ;
- recreate: (QWidget *)parent f: (int)f p: (QPoint*)p showIt: (BOOL)showIt;
- recreate: (QWidget *)parent f: (int)f p: (QPoint*)p ;
- erase;
- erase: (int)x y: (int)y w: (int)w h: (int)h;
- erase: (QRect*)arg1;
- eraseRegion: (QRegion *)arg1;
- scroll: (int)dx dy: (int)dy;
- scroll: (int)dx dy: (int)dy rect: (QRect*)arg1;
- drawText: (int)x y: (int)y string: (NSString *)arg1;
- drawText: (QPoint*)arg1 string: (NSString *)arg2;
- (QWidget*) focusWidget;
//- (QRect*) microFocusHint;
- (BOOL) acceptDrops;
- setAcceptDrops: (BOOL)on;
- setAutoMask: (BOOL)arg1;
- (BOOL) autoMask;
- setBackgroundOrigin: (int)arg1;
- (int) backgroundOrigin;
- (BOOL) customWhatsThis;
- (QWidget*) parentWidget: (BOOL)sameWindow;
- (QWidget*) parentWidget;
- (int) testWState: (int)s;
- (int) testWFlags: (int)f;
- (QWidget*) childAt: (int)x y: (int)y includeThis: (BOOL)includeThis;
- (QWidget*) childAt: (int)x y: (int)y ;
- (QWidget*) childAt: (QPoint*)arg1 includeThis: (BOOL)includeThis;
- (QWidget*) childAt: (QPoint*)arg1 ;
//- (QGfx*) graphicsContext: (BOOL)clip_children;
//- (QGfx*) graphicsContext;
//- (QRegion*) clippedRegion: (BOOL)do_children;
//- (QRegion*) clippedRegion;
//- macCGClippedContext: (BOOL)do_children;
//- macCGClippedContext;
- setPalette: (QPalette *)p bool: (BOOL)arg1;
- setFont: (QFont *)f bool: (BOOL)arg1;
- setEnabled: (BOOL)arg1;
- setDisabled: (BOOL)arg1;
- setCaption: (NSString *)arg1;
- setIcon: (QPixmap *)arg1;
- setIconText: (NSString *)arg1;
- setMouseTracking: (BOOL)enable;
- setFocus;
- clearFocus;
- setUpdatesEnabled: (BOOL)enable;
- update;
- update: (int)x y: (int)y w: (int)w h: (int)h;
- update: (QRect*)arg1;
- repaint;
- repaint: (BOOL)erase;
- repaint: (int)x y: (int)y w: (int)w h: (int)h erase: (BOOL)erase;
- repaint: (int)x y: (int)y w: (int)w h: (int)h ;
- repaintRect: (QRect*)arg1 erase: (BOOL)erase;
- repaintRect: (QRect*)arg1 ;
- repaintRegion: (QRegion *)arg1 erase: (BOOL)erase;
- repaintRegion: (QRegion *)arg1 ;
- show;
- hide;
- iconify;
- showMinimized;
- showMaximized;
- showFullScreen;
- showNormal;
- polish;
- constPolish;
- (BOOL) close;
- raise;
- lower;
- stackUnder: (QWidget *)arg1;
- move: (int)x y: (int)y;
- move: (QPoint*)arg1;
- resize: (int)w h: (int)h;
- resize: (QSize *)arg1;
- setGeometry: (int)x y: (int)y w: (int)w h: (int)h;
- setGeometry: (QRect*)arg1;
+ setTabOrder: (QWidget *)arg1 widget: (QWidget *)arg2;
+ (QWidget*) mouseGrabber;
+ (QWidget*) keyboardGrabber;
+ (QWidget*) find: (unsigned int)arg1;
//+ (QWidgetMapper*) wmapper;
- (BOOL) event: (QEvent *)arg1;
//- (unsigned char*) scanLine: (int)arg1;
//- (int) bytesPerLine;
- updateMask;
- styleChange: (QStyle*)arg1;
- enabledChange: (BOOL)oldEnabled;
- paletteChange: (QPalette *)arg1;
- fontChange: (QFont *)arg1;
- windowActivationChange: (BOOL)oldActive;
- (int) metric: (int)arg1;
- resetInputContext;
- create: (unsigned int)arg1 initializeWindow: (BOOL)initializeWindow destroyOldWindow: (BOOL)destroyOldWindow;
- create;
- destroy: (BOOL)destroyWindow destroySubWindows: (BOOL)destroySubWindows;
- destroy;
- (unsigned int) getWState;
- setWState: (unsigned int)arg1;
- clearWState: (unsigned int)n;
- (int) getWFlags;
- setWFlags: (int)arg1;
- clearWFlags: (int)n;
- (BOOL) focusNextPrevChild: (BOOL)next;
//- (QWExtra*) extraData;
//- (QTLWExtra*) topData;
//- (QFocusData*) focusData;
- setKeyCompression: (BOOL)arg1;
- setMicroFocusHint: (int)x y: (int)y w: (int)w h: (int)h text: (BOOL)text f: (QFont *)f;
- setMicroFocusHint: (int)x y: (int)y w: (int)w h: (int)h ;
//- dirtyClippedRegion: (BOOL)arg1;
//- (BOOL) isClippedRegionDirty;
+ (int) NoFocus;
+ (int) TabFocus;
+ (int) ClickFocus;
+ (int) StrongFocus;
+ (int) WheelFocus;
+ (int) WidgetOrigin;
+ (int) ParentOrigin;
+ (int) WindowOrigin;
@end

@class QBitmap; 
@class QBrush; 
@class QColorGroup; 
@class QContextMenuEvent; 
@class QCursor; 
@class QFocusData; 
@class QFontInfo; 
@class QFontMetrics; 
@class QIMEvent;
@class QLayout; 
@class QPalette; 
@class QPixmap; 
@class QSizePolicy; 
@class QStyle; 
@class QTabletEvent;

@interface QWidget (QPaintDeviceImplementation) <QPaintDeviceInterface>
@end

/** Override these methods in subclasses of QWidget to customise event handling behaviour */
@protocol QWidgetEventHandling
- keyPressEvent:(QKeyEvent*) arg1;
- keyReleaseEvent:(QKeyEvent*) arg1;
- focusOutEvent:(QFocusEvent*) arg1;
- childEvent:(QChildEvent*) arg1;
- dragMoveEvent:(QDragMoveEvent*) arg1;
- leaveEvent:(QEvent*) arg1;
- tabletEvent:(QTabletEvent*) arg1;
- showEvent:(QShowEvent*) arg1;
- contextMenuEvent:(QContextMenuEvent*) arg1;
- mousePressEvent:(QMouseEvent*) arg1;
- imComposeEvent:(QIMEvent*) arg1;
- customEvent:(QCustomEvent*) arg1;
- mouseReleaseEvent:(QMouseEvent*) arg1;
- mouseDoubleClickEvent:(QMouseEvent*) arg1;
- dragLeaveEvent:(QDragLeaveEvent*) arg1;
- enterEvent:(QEvent*) arg1;
- focusInEvent:(QFocusEvent*) arg1;
- imEndEvent:(QIMEvent*) arg1;
- dropEvent:(QDropEvent*) arg1;
- dragEnterEvent:(QDragEnterEvent*) arg1;
- mouseMoveEvent:(QMouseEvent*) arg1;
- moveEvent:(QMoveEvent*) arg1;
- wheelEvent:(QWheelEvent*) arg1;
- hideEvent:(QHideEvent*) arg1;
- imStartEvent:(QIMEvent*) arg1;
- closeEvent:(QCloseEvent*) arg1;
- paintEvent:(QPaintEvent*) arg1;
- timerEvent:(QTimerEvent*) arg1;
- resizeEvent:(QResizeEvent*) arg1;
@end


#endif
