// This is the SIP interface definition for the Qt v2+ Qt class.
//
// Copyright (c) 2007
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


%ExportedDoc
<Sect2><Title>Qt (Qt v2+)</Title>
<Para>
<Literal>Qt</Literal> is fully implemented.
</Para>
</Sect2>
%End


%If (Qt_2_00 -)

class Qt
{
%TypeHeaderCode
#include <qnamespace.h>
%End

public:
	static const QColor &color0;
	static const QColor &color1;
	static const QColor &black;
	static const QColor &white;
	static const QColor &darkGray;
	static const QColor &gray;
	static const QColor &lightGray;
	static const QColor &red;
	static const QColor &green;
	static const QColor &blue;
	static const QColor &cyan;
	static const QColor &magenta;
	static const QColor &yellow;
	static const QColor &darkRed;
	static const QColor &darkGreen;
	static const QColor &darkBlue;
	static const QColor &darkCyan;
	static const QColor &darkMagenta;
	static const QColor &darkYellow;

	enum ButtonState {
		NoButton,
		LeftButton,
		RightButton,
		MidButton,
		MouseButtonMask,
		ShiftButton,
		ControlButton,
		AltButton,
%If (Qt_3_0_0 -)
		MetaButton,
%End
		KeyButtonMask,
%If (Qt_2_2_0 -)
		Keypad,
%End
	};

	enum Orientation {
		Horizontal,
		Vertical
	};

%If (Qt_3_2_0 -)
	enum SortOrder {
		Ascending,
		Descending
	};
%End

%If (- Qt_3_0_0)
	enum AlignmentFlags {
		AlignLeft,
		AlignRight,
		AlignHCenter,
		AlignTop,
		AlignBottom,
		AlignVCenter,
		AlignCenter,

		SingleLine,
		DontClip,
		ExpandTabs,
		ShowPrefix,
		WordBreak
	};
%End

%If (Qt_3_0_0 -)
	enum AlignmentFlags {
		AlignAuto,
		AlignLeft,
		AlignRight,
		AlignHCenter,
		AlignJustify,
		AlignHorizontal_Mask,
		AlignTop,
		AlignBottom,
		AlignVCenter,
		AlignVertical_Mask,
		AlignCenter
	};

	enum TextFlags {
		SingleLine,
		DontClip,
		ExpandTabs,
		ShowPrefix,
		WordBreak,
		BreakAnywhere,
		DontPrint,	// Internal
		NoAccel
	};

	typedef uint WState;

	// WidgetState isn't part of the public API but is used in code
	// generated by uic/pyuic, so we implement the minimum required.
	enum WidgetState {
		WState_Polished
	};
%End

	typedef uint WFlags;

	enum WidgetFlags {
		WType_TopLevel,
%If (- Qt_3_0_0)
		WType_Modal,
%End
%If (Qt_3_0_0 -)
		WType_Dialog,
%End
		WType_Popup,
		WType_Desktop,
		WType_Mask,

		WStyle_Customize,
		WStyle_NormalBorder,
		WStyle_DialogBorder,
		WStyle_NoBorder,
		WStyle_Title,
		WStyle_SysMenu,
		WStyle_Minimize,
		WStyle_Maximize,
		WStyle_MinMax,
		WStyle_Tool,
		WStyle_StaysOnTop,
%If (- Qt_3_0_0)
		WStyle_Dialog,
%End
%If (- Qt_2_1_0)
		WStyle_Reserved2,
		WStyle_Reserved3,
%End
%If (Qt_2_1_0 -)
		WStyle_ContextHelp,
%End
%If (Qt_2_1_0 - Qt_3_0_0)
		WStyle_NoBorderEx,
%End
%If (Qt_3_0_0 -)
		WStyle_Reserved,
%End
		WStyle_Mask,

		WDestructiveClose,
		WPaintDesktop,
		WPaintUnclipped,
		WPaintClever,
		WResizeNoErase,		// Obsolete
		WMouseNoMask,
%If (- Qt_3_0_0)
		WNorthWestGravity,
%End
%If (Qt_3_0_0 -)
		WStaticContents,
%End
%If (Qt_2_1_0 -)
		WRepaintNoErase,	// Obsolete
		WX11BypassWM,
%End
%If (Qt_3_0_0 -)
		WWinOwnDC,
%End
%If (Qt_2_2_0 -)
		WGroupLeader,
%End
%If (Qt_3_0_0 -)
		WShowModal,
		WNoMousePropagation,
		WSubWindow,
%End
%If (Qt_3_1_0 -)
		WStyle_Splash,
%End
%If (Qt_3_2_0 -)
		WNoAutoErase,
%End
	};


%If (Qt_3_3_0 -)

	enum WindowState {
		WindowNoState,
		WindowMinimized,
		WindowMaximized,
		WindowFullScreen,
		WindowActive
	};

%End

	enum ImageConversionFlags {
		ColorMode_Mask,
		AutoColor,
		ColorOnly,
		MonoOnly,

		AlphaDither_Mask,
		ThresholdAlphaDither,
		OrderedAlphaDither,
		DiffuseAlphaDither,

		Dither_Mask,
		DiffuseDither,
		OrderedDither,
		ThresholdDither,

		DitherMode_Mask,
		AutoDither,
		PreferDither,
		AvoidDither
	};

	enum BGMode {
		TransparentMode,
		OpaqueMode
	};

%If (- Qt_3_0_0)
	enum PaintUnit {
		PixelUnit,
		LoMetricUnit,
		HiMetricUnit,
		LoEnglishUnit,
		HiEnglishUnit,
		TwipsUnit
	};
%End

	enum GUIStyle {
%If (- Qt_3_0_0)
		MacStyle,
%End
		WindowsStyle,
%If (- Qt_3_0_0)
		Win3Style,
		PMStyle,
%End
		MotifStyle
	};

%If (Qt_3_1_0 -)
	enum SequenceMatch {
		NoMatch,
		PartialMatch,
		Identical
	};
%End

	enum Modifier {
%If (Qt_3_1_0 -)
		META,
%End
		SHIFT,
		CTRL,
		ALT,
		MODIFIER_MASK,
		UNICODE_ACCEL,
		ASCII_ACCEL
	};

	enum Key {
		Key_Escape,
		Key_Tab,
		Key_Backtab,
		Key_BackTab,
		Key_Backspace,
		Key_BackSpace,
		Key_Return,
		Key_Enter,
		Key_Insert,
		Key_Delete,
		Key_Pause,
		Key_Print,
		Key_SysReq,
%If (Qt_3_1_0 -)
		Key_Clear,
%End

		Key_Home,
		Key_End,
		Key_Left,
		Key_Up,
		Key_Right,
		Key_Down,
		Key_Prior,
		Key_PageUp,
		Key_Next,
		Key_PageDown,

		Key_Shift,
		Key_Control,
		Key_Meta,
		Key_Alt,
		Key_CapsLock,
		Key_NumLock,
		Key_ScrollLock,

		Key_F1,
		Key_F2,
		Key_F3,
		Key_F4,
		Key_F5,
		Key_F6,
		Key_F7,
		Key_F8,
		Key_F9,
		Key_F10,
		Key_F11,
		Key_F12,
		Key_F13,
		Key_F14,
		Key_F15,
		Key_F16,
		Key_F17,
		Key_F18,
		Key_F19,
		Key_F20,
		Key_F21,
		Key_F22,
		Key_F23,
		Key_F24,
		Key_F25,
		Key_F26,
		Key_F27,
		Key_F28,
		Key_F29,
		Key_F30,
		Key_F31,
		Key_F32,
		Key_F33,
		Key_F34,
		Key_F35,

		Key_Super_L,
		Key_Super_R,
		Key_Menu,
		Key_Hyper_L,
		Key_Hyper_R,
%If (Qt_3_0_0 -)
		Key_Help,
		Key_Direction_L,
		Key_Direction_R,
%End

		Key_Space,
		Key_Any,
		Key_Exclam,
		Key_QuoteDbl,
		Key_NumberSign,
		Key_Dollar,
		Key_Percent,
		Key_Ampersand,
		Key_Apostrophe,
		Key_ParenLeft,
		Key_ParenRight,
		Key_Asterisk,
		Key_Plus,
		Key_Comma,
		Key_Minus,
		Key_Period,
		Key_Slash,
		Key_0,
		Key_1,
		Key_2,
		Key_3,
		Key_4,
		Key_5,
		Key_6,
		Key_7,
		Key_8,
		Key_9,
		Key_Colon,
		Key_Semicolon,
		Key_Less,
		Key_Equal,
		Key_Greater,
		Key_Question,
		Key_At,
		Key_A,
		Key_B,
		Key_C,
		Key_D,
		Key_E,
		Key_F,
		Key_G,
		Key_H,
		Key_I,
		Key_J,
		Key_K,
		Key_L,
		Key_M,
		Key_N,
		Key_O,
		Key_P,
		Key_Q,
		Key_R,
		Key_S,
		Key_T,
		Key_U,
		Key_V,
		Key_W,
		Key_X,
		Key_Y,
		Key_Z,
		Key_BracketLeft,
		Key_Backslash,
		Key_BracketRight,
		Key_AsciiCircum,
		Key_Underscore,
		Key_QuoteLeft,
		Key_BraceLeft,
		Key_Bar,
		Key_BraceRight,
		Key_AsciiTilde,

		Key_nobreakspace,
		Key_exclamdown,
		Key_cent,
		Key_sterling,
		Key_currency,
		Key_yen,
		Key_brokenbar,
		Key_section,
		Key_diaeresis,
		Key_copyright,
		Key_ordfeminine,
		Key_guillemotleft,
		Key_notsign,
		Key_hyphen,
		Key_registered,
		Key_macron,
		Key_degree,
		Key_plusminus,
		Key_twosuperior,
		Key_threesuperior,
		Key_acute,
		Key_mu,
		Key_paragraph,
		Key_periodcentered,
		Key_cedilla,
		Key_onesuperior,
		Key_masculine,
		Key_guillemotright,
		Key_onequarter,
		Key_onehalf,
		Key_threequarters,
		Key_questiondown,
		Key_Agrave,
		Key_Aacute,
		Key_Acircumflex,
		Key_Atilde,
		Key_Adiaeresis,
		Key_Aring,
		Key_AE,
		Key_Ccedilla,
		Key_Egrave,
		Key_Eacute,
		Key_Ecircumflex,
		Key_Ediaeresis,
		Key_Igrave,
		Key_Iacute,
		Key_Icircumflex,
		Key_Idiaeresis,
		Key_ETH,
		Key_Ntilde,
		Key_Ograve,
		Key_Oacute,
		Key_Ocircumflex,
		Key_Otilde,
		Key_Odiaeresis,
		Key_multiply,
		Key_Ooblique,
		Key_Ugrave,
		Key_Uacute,
		Key_Ucircumflex,
		Key_Udiaeresis,
		Key_Yacute,
		Key_THORN,
		Key_ssharp,
		Key_agrave,
		Key_aacute,
		Key_acircumflex,
		Key_atilde,
		Key_adiaeresis,
		Key_aring,
		Key_ae,
		Key_ccedilla,
		Key_egrave,
		Key_eacute,
		Key_ecircumflex,
		Key_ediaeresis,
		Key_igrave,
		Key_iacute,
		Key_icircumflex,
		Key_idiaeresis,
		Key_eth,
		Key_ntilde,
		Key_ograve,
		Key_oacute,
		Key_ocircumflex,
		Key_otilde,
		Key_odiaeresis,
		Key_division,
		Key_oslash,
		Key_ugrave,
		Key_uacute,
		Key_ucircumflex,
		Key_udiaeresis,
		Key_yacute,
		Key_thorn,
		Key_ydiaeresis,

%If (Qt_3_1_0 -)
		Key_Back,
		Key_Forward,
		Key_Stop,
		Key_Refresh,

		Key_VolumeDown,
		Key_VolumeMute,
		Key_VolumeUp,
		Key_BassBoost,
		Key_BassUp,
		Key_BassDown,
		Key_TrebleUp,
		Key_TrebleDown,

		Key_MediaPlay,
		Key_MediaStop,
		Key_MediaPrev,
		Key_MediaNext,
		Key_MediaRecord,

		Key_HomePage,
		Key_Favorites,
		Key_Search,
		Key_Standby,
		Key_OpenUrl,

		Key_LaunchMail,
		Key_LaunchMedia,
		Key_Launch0,
		Key_Launch1,
		Key_Launch2,
		Key_Launch3,
		Key_Launch4,
		Key_Launch5,
		Key_Launch6,
		Key_Launch7,
		Key_Launch8,
		Key_Launch9,
		Key_LaunchA,
		Key_LaunchB,
		Key_LaunchC,
		Key_LaunchD,
		Key_LaunchE,
		Key_LaunchF,

		Key_MediaLast,
%End

		Key_unknown
	};

	enum ArrowType {
		UpArrow,
		DownArrow,
		LeftArrow,
		RightArrow
	};

	enum RasterOp {
		CopyROP,
		OrROP,
		XorROP,
		NotAndROP,
		EraseROP,
		NotCopyROP,
		NotOrROP,
		NotXorROP,
		AndROP,
		NotEraseROP,
		NotROP,
		ClearROP,
		SetROP,
		NopROP,
		AndNotROP,
		OrNotROP,
		NandROP,
		NorROP,
		LastROP
	};

	enum PenStyle {
		NoPen,
		SolidLine,
		DashLine,
		DotLine,
		DashDotLine,
		DashDotDotLine,
%If (Qt_2_1_0 -)
		MPenStyle
%End
	};

%If (Qt_2_1_0 -)
	enum PenCapStyle {
		FlatCap,
		SquareCap,
		RoundCap,
		MPenCapStyle
	};
 
	enum PenJoinStyle {
		MiterJoin,
		BevelJoin,
		RoundJoin,
		MPenJoinStyle
	};
%End

	enum BrushStyle {
		NoBrush,
		SolidPattern,
		Dense1Pattern,
		Dense2Pattern,
		Dense3Pattern,
		Dense4Pattern,
		Dense5Pattern,
		Dense6Pattern,
		Dense7Pattern,
		HorPattern,
		VerPattern,
		CrossPattern,
		BDiagPattern,
		FDiagPattern,
		DiagCrossPattern,
		CustomPattern
	};
 
%If (Qt_3_1_0 -)
	enum MacintoshVersion {
		MV_Unknown,

		MV_9,
%If (Qt_3_2_0 -)
		MV_10_DOT_0,
%End
		MV_10_DOT_1,
		MV_10_DOT_2,
%If (Qt_3_2_0 -)
		MV_10_DOT_3,
%End
%If (Qt_3_3_5 -)
		MV_10_DOT_4,
%End

%If (Qt_3_2_0 -)
		MV_CHEETAH,
		MV_PUMA,
%End
		MV_JAGUAR,
%If (Qt_3_2_0 -)
		MV_PANTHER,
%End
%If (Qt_3_3_5 -)
		MV_TIGER,
%End
	};
%End

	enum WindowsVersion {
		WV_32s,
		WV_95,
		WV_98,
%If (Qt_3_0_0 -)
		WV_Me,
%End
%If (Qt_2_1_0 -)
		WV_DOS_based,
%End

		WV_NT,
%If (Qt_2_1_0 -)
		WV_2000,
%End
%If (Qt_3_0_0 -)
		WV_XP,
%End
%If (Qt_3_3_0 -)
		WV_2003,
%End
%If (Qt_3_3_6 -)
		WV_VISTA,
%End
%If (Qt_2_1_0 -)
		WV_NT_based,
%End

%If (Qt_3_3_0 -)
		WV_CE,
		WV_CENET,
		WV_CE_based,
%End
	};

%If (Qt_2_2_0 -)
	enum UIEffect {
		UI_General,
		UI_AnimateMenu,
		UI_FadeMenu,
		UI_AnimateCombo,
		UI_AnimateTooltip,
		UI_FadeTooltip,
%If (Qt_3_2_0 -)
		UI_AnimateToolBox,
%End
	};
%End

%If (Qt_3_0_0 -)
	enum CursorShape {
		ArrowCursor,
		UpArrowCursor,
		CrossCursor,
		WaitCursor,
		IbeamCursor,
		SizeVerCursor,
		SizeHorCursor,
		SizeBDiagCursor,
		SizeFDiagCursor,
		SizeAllCursor,
		BlankCursor,
		SplitVCursor,
		SplitHCursor,
		PointingHandCursor,
		ForbiddenCursor,
		WhatsThisCursor,
%If (Qt_3_3_0 -)
		BusyCursor,
%End
		LastCursor,
		BitmapCursor
	};
%End

	static const QCursor &arrowCursor;
	static const QCursor &upArrowCursor;
	static const QCursor &crossCursor;
	static const QCursor &waitCursor;
	static const QCursor &ibeamCursor;
	static const QCursor &sizeVerCursor;
	static const QCursor &sizeHorCursor;
	static const QCursor &sizeBDiagCursor;
	static const QCursor &sizeFDiagCursor;
	static const QCursor &sizeAllCursor;
	static const QCursor &blankCursor;
	static const QCursor &splitVCursor;
	static const QCursor &splitHCursor;
	static const QCursor &pointingHandCursor;
%If (Qt_2_1_0 -)
	static const QCursor &forbiddenCursor;
%End
%If (Qt_3_0_0 -)
	static const QCursor &whatsThisCursor;
%End
%If (Qt_3_3_0 -)
	static const QCursor &busyCursor;
%End
 
	enum TextFormat {
		PlainText,
		RichText,
		AutoText,
%If (Qt_3_1_0 -)
		LogText,
%End
	};

%If (Qt_3_1_0 -)
	enum AnchorAttribute {
		AnchorName,
		AnchorHref
	};
%End

%If (Qt_3_0_0 -)
	enum Dock {
		DockUnmanaged,
		DockTornOff,
		DockTop,
		DockBottom,
		DockRight,
		DockLeft,
		DockMinimized
	};
 
	enum DateFormat {
		TextDate,
		ISODate,
		LocalDate
	};
 
%If (Qt_3_1_0 -)
	enum TimeSpec {
		LocalTime,
		UTC
	};
%End

	enum BackgroundMode {
		FixedColor,
		FixedPixmap,
		NoBackground,
		PaletteForeground,
		PaletteButton,
		PaletteLight,
		PaletteMidlight,
		PaletteDark,
		PaletteMid,
		PaletteText,
		PaletteBrightText,
		PaletteBase,
		PaletteBackground,
		PaletteShadow,
		PaletteHighlight,
		PaletteHighlightedText,
		PaletteButtonText,
		PaletteLink,
		PaletteLinkVisited,
		X11ParentRelative
	};

	typedef uint ComparisonFlags;
 
	enum StringComparisonMode {
		CaseSensitive,
		BeginsWith,
		EndsWith,
		Contains,
		ExactMatch
	};

%If (Qt_3_2_0 -)
	enum Corner {
		TopLeft,
		TopRight,
		BottomLeft,
		BottomRight
	};
%End

%If (WS_X11)
	typedef unsigned long HANDLE;
%End
%End
};

%End
