qnamespace.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:45k
源码类别:

系统编程

开发平台:

Unix_Linux

  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
  4. ** Contact: Qt Software Information (qt-info@nokia.com)
  5. **
  6. ** This file is part of the QtCore module of the Qt Toolkit.
  7. **
  8. ** Commercial Usage
  9. ** Licensees holding valid Qt Commercial licenses may use this file in
  10. ** accordance with the Qt Commercial License Agreement provided with the
  11. ** Software or, alternatively, in accordance with the terms contained in
  12. ** a written agreement between you and Nokia.
  13. **
  14. **
  15. ** GNU General Public License Usage
  16. ** Alternatively, this file may be used under the terms of the GNU
  17. ** General Public License versions 2.0 or 3.0 as published by the Free
  18. ** Software Foundation and appearing in the file LICENSE.GPL included in
  19. ** the packaging of this file.  Please review the following information
  20. ** to ensure GNU General Public Licensing requirements will be met:
  21. ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
  22. ** http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
  23. ** exception, Nokia gives you certain additional rights. These rights
  24. ** are described in the Nokia Qt GPL Exception version 1.3, included in
  25. ** the file GPL_EXCEPTION.txt in this package.
  26. **
  27. ** Qt for Windows(R) Licensees
  28. ** As a special exception, Nokia, as the sole copyright holder for Qt
  29. ** Designer, grants users of the Qt/Eclipse Integration plug-in the
  30. ** right for the Qt/Eclipse Integration to link to functionality
  31. ** provided by Qt Designer and its related libraries.
  32. **
  33. ** If you are unsure which license is appropriate for your use, please
  34. ** contact the sales department at qt-sales@nokia.com.
  35. **
  36. ****************************************************************************/
  37. #ifndef QNAMESPACE_H
  38. #define QNAMESPACE_H
  39. #include <QtCore/qglobal.h>
  40. QT_BEGIN_HEADER
  41. QT_BEGIN_NAMESPACE
  42. QT_MODULE(Core)
  43. #ifndef Q_MOC_RUN
  44. namespace
  45. #else
  46. class Q_CORE_EXPORT
  47. #endif
  48. Qt {
  49. #if defined(Q_MOC_RUN)
  50.     Q_OBJECT
  51. #endif
  52. #if (defined(Q_MOC_RUN) || defined(QT_JAMBI_RUN))
  53.     Q_ENUMS(Orientation TextFormat BackgroundMode DateFormat ScrollBarPolicy FocusPolicy ContextMenuPolicy CaseSensitivity LayoutDirection ArrowType ShortcutContext TimeSpec)
  54.     Q_ENUMS(ToolButtonStyle)
  55.     Q_ENUMS(PenStyle PenCapStyle PenJoinStyle BrushStyle FillRule BGMode ClipOperation GlobalColor)
  56.     Q_FLAGS(Alignment)
  57.     Q_FLAGS(Orientations)
  58.     Q_FLAGS(DockWidgetAreas)
  59.     Q_ENUMS(DockWidgetArea)
  60.     Q_ENUMS(TextElideMode)
  61.     Q_ENUMS(TextInteractionFlag)
  62.     Q_ENUMS(WindowModality ToolBarArea DayOfWeek)
  63.     Q_FLAGS(ToolBarAreas)
  64.     Q_ENUMS(CursorShape)
  65.     Q_FLAGS(TextInteractionFlags)
  66.     Q_ENUMS(AspectRatioMode)
  67.     Q_ENUMS(Key)
  68.     Q_ENUMS(ItemSelectionMode)
  69.     Q_FLAGS(KeyboardModifiers MouseButtons)
  70. #endif // (defined(Q_MOC_RUN) || defined(QT_JAMBI_RUN))
  71. #if defined(Q_MOC_RUN)
  72. public:
  73. #endif
  74.     enum GlobalColor {
  75.         color0,
  76.         color1,
  77.         black,
  78.         white,
  79.         darkGray,
  80.         gray,
  81.         lightGray,
  82.         red,
  83.         green,
  84.         blue,
  85.         cyan,
  86.         magenta,
  87.         yellow,
  88.         darkRed,
  89.         darkGreen,
  90.         darkBlue,
  91.         darkCyan,
  92.         darkMagenta,
  93.         darkYellow,
  94.         transparent
  95.     };
  96.     enum KeyboardModifier {
  97.         NoModifier           = 0x00000000,
  98.         ShiftModifier        = 0x02000000,
  99.         ControlModifier      = 0x04000000,
  100.         AltModifier          = 0x08000000,
  101.         MetaModifier         = 0x10000000,
  102.         KeypadModifier       = 0x20000000,
  103.         GroupSwitchModifier  = 0x40000000,
  104.         // Do not extend the mask to include 0x01000000
  105.         KeyboardModifierMask = 0xfe000000
  106.     };
  107.     Q_DECLARE_FLAGS(KeyboardModifiers, KeyboardModifier)
  108.     //shorter names for shortcuts
  109.     enum Modifier {
  110.         META          = Qt::MetaModifier,
  111.         SHIFT         = Qt::ShiftModifier,
  112.         CTRL          = Qt::ControlModifier,
  113.         ALT           = Qt::AltModifier,
  114.         MODIFIER_MASK = KeyboardModifierMask,
  115.         UNICODE_ACCEL = 0x00000000
  116.     };
  117.     enum MouseButton {
  118.         NoButton         = 0x00000000,
  119.         LeftButton       = 0x00000001,
  120.         RightButton      = 0x00000002,
  121.         MidButton        = 0x00000004,
  122.         XButton1         = 0x00000008,
  123.         XButton2         = 0x00000010,
  124.         MouseButtonMask  = 0x000000ff
  125.     };
  126.     Q_DECLARE_FLAGS(MouseButtons, MouseButton)
  127. #ifdef QT3_SUPPORT
  128.     enum ButtonState_enum {
  129.         ShiftButton     = Qt::ShiftModifier,
  130.         ControlButton   = Qt::ControlModifier,
  131.         AltButton       = Qt::AltModifier,
  132.         MetaButton      = Qt::MetaModifier,
  133.         Keypad          = Qt::KeypadModifier,
  134.         KeyButtonMask   = Qt::KeyboardModifierMask
  135.     };
  136.     typedef int ButtonState;
  137. #endif
  138.     enum Orientation {
  139.         Horizontal = 0x1,
  140.         Vertical = 0x2
  141.     };
  142.     Q_DECLARE_FLAGS(Orientations, Orientation)
  143.     enum FocusPolicy {
  144.         NoFocus = 0,
  145.         TabFocus = 0x1,
  146.         ClickFocus = 0x2,
  147.         StrongFocus = TabFocus | ClickFocus | 0x8,
  148.         WheelFocus = StrongFocus | 0x4
  149.     };
  150.     enum SortOrder {
  151.         AscendingOrder,
  152.         DescendingOrder
  153. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  154.         ,Ascending = AscendingOrder,
  155.         Descending = DescendingOrder
  156. #endif
  157.     };
  158.     // Text formatting flags for QPainter::drawText and QLabel
  159.     // the following four enums can be combined to one integer which
  160.     // is passed as textflag to drawText and qt_format_text.
  161.     enum AlignmentFlag {
  162.         AlignLeft = 0x0001,
  163.         AlignLeading = AlignLeft,
  164.         AlignRight = 0x0002,
  165.         AlignTrailing = AlignRight,
  166.         AlignHCenter = 0x0004,
  167.         AlignJustify = 0x0008,
  168.         AlignAbsolute = 0x0010,
  169.         AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute,
  170.         AlignTop = 0x0020,
  171.         AlignBottom = 0x0040,
  172.         AlignVCenter = 0x0080,
  173.         AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter,
  174.         AlignCenter = AlignVCenter | AlignHCenter
  175. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  176.         , AlignAuto = AlignLeft
  177. #endif
  178.     };
  179.     Q_DECLARE_FLAGS(Alignment, AlignmentFlag)
  180.     enum TextFlag {
  181.         TextSingleLine = 0x0100,
  182.         TextDontClip = 0x0200,
  183.         TextExpandTabs = 0x0400,
  184.         TextShowMnemonic = 0x0800,
  185.         TextWordWrap = 0x1000,
  186.         TextWrapAnywhere = 0x2000,
  187.         TextDontPrint = 0x4000,
  188.         TextIncludeTrailingSpaces = 0x08000000,
  189.         TextHideMnemonic = 0x8000,
  190.         TextJustificationForced = 0x10000,
  191.         TextForceLeftToRight = 0x20000,
  192.         TextForceRightToLeft = 0x40000
  193. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  194.         ,SingleLine = TextSingleLine,
  195.         DontClip = TextDontClip,
  196.         ExpandTabs = TextExpandTabs,
  197.         ShowPrefix = TextShowMnemonic,
  198.         WordBreak = TextWordWrap,
  199.         BreakAnywhere = TextWrapAnywhere,
  200.         DontPrint = TextDontPrint,
  201.         IncludeTrailingSpaces = TextIncludeTrailingSpaces,
  202.         NoAccel = TextHideMnemonic
  203. #endif
  204.     };
  205. #ifdef QT3_SUPPORT
  206.     typedef TextFlag TextFlags;
  207. #endif
  208.     enum TextElideMode {
  209.         ElideLeft,
  210.         ElideRight,
  211.         ElideMiddle,
  212.         ElideNone
  213.     };
  214.     enum WindowType {
  215.         Widget = 0x00000000,
  216.         Window = 0x00000001,
  217.         Dialog = 0x00000002 | Window,
  218.         Sheet = 0x00000004 | Window,
  219.         Drawer = 0x00000006 | Window,
  220.         Popup = 0x00000008 | Window,
  221.         Tool = 0x0000000a | Window,
  222.         ToolTip = 0x0000000c | Window,
  223.         SplashScreen = 0x0000000e | Window,
  224.         Desktop = 0x00000010 | Window,
  225.         SubWindow =  0x00000012,
  226.         WindowType_Mask = 0x000000ff,
  227.         MSWindowsFixedSizeDialogHint = 0x00000100,
  228.         MSWindowsOwnDC = 0x00000200,
  229.         X11BypassWindowManagerHint = 0x00000400,
  230.         FramelessWindowHint = 0x00000800,
  231.         WindowTitleHint = 0x00001000,
  232.         WindowSystemMenuHint = 0x00002000,
  233.         WindowMinimizeButtonHint = 0x00004000,
  234.         WindowMaximizeButtonHint = 0x00008000,
  235.         WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint,
  236.         WindowContextHelpButtonHint = 0x00010000,
  237.         WindowShadeButtonHint = 0x00020000,
  238.         WindowStaysOnTopHint = 0x00040000,
  239.         WindowOkButtonHint = 0x00080000,
  240.         WindowCancelButtonHint = 0x000100000,
  241.         CustomizeWindowHint = 0x02000000
  242. #ifdef QT3_SUPPORT
  243.         ,
  244.         WMouseNoMask = 0x00080000,
  245.         WDestructiveClose = 0x00100000,
  246.         WStaticContents = 0x00200000,
  247.         WGroupLeader = 0x00400000,
  248.         WShowModal = 0x00800000,
  249.         WNoMousePropagation = 0x01000000,
  250.         WType_TopLevel = Window,
  251.         WType_Dialog = Dialog,
  252.         WType_Popup = Popup,
  253.         WType_Desktop = Desktop,
  254.         WType_Mask = WindowType_Mask,
  255.         WStyle_Customize = 0,
  256.         WStyle_NormalBorder = 0,
  257.         WStyle_DialogBorder = MSWindowsFixedSizeDialogHint,
  258.         WStyle_NoBorder = FramelessWindowHint,
  259.         WStyle_Title = WindowTitleHint,
  260.         WStyle_SysMenu = WindowSystemMenuHint,
  261.         WStyle_Minimize = WindowMinimizeButtonHint,
  262.         WStyle_Maximize = WindowMaximizeButtonHint,
  263.         WStyle_MinMax = WStyle_Minimize | WStyle_Maximize,
  264.         WStyle_Tool = Tool,
  265.         WStyle_StaysOnTop = WindowStaysOnTopHint,
  266.         WStyle_ContextHelp = WindowContextHelpButtonHint,
  267.         // misc flags
  268.         WPaintDesktop = 0,
  269.         WPaintClever = 0,
  270.         WX11BypassWM            = X11BypassWindowManagerHint,
  271.         WWinOwnDC               = MSWindowsOwnDC,
  272.         WMacSheet               = Sheet,
  273.         WMacDrawer              = Drawer,
  274.         WStyle_Splash           = SplashScreen,
  275.         WNoAutoErase           = 0,
  276.         WRepaintNoErase        = 0,
  277.         WNorthWestGravity      = WStaticContents,
  278.         WType_Modal            = Dialog | WShowModal,
  279.         WStyle_Dialog          = Dialog,
  280.         WStyle_NoBorderEx      = FramelessWindowHint,
  281.         WResizeNoErase = 0,
  282.         WMacNoSheet = 0
  283. #endif
  284.     };
  285.     Q_DECLARE_FLAGS(WindowFlags, WindowType)
  286.     enum WindowState {
  287.         WindowNoState    = 0x00000000,
  288.         WindowMinimized  = 0x00000001,
  289.         WindowMaximized  = 0x00000002,
  290.         WindowFullScreen = 0x00000004,
  291.         WindowActive     = 0x00000008
  292.     };
  293.     Q_DECLARE_FLAGS(WindowStates, WindowState)
  294.     enum WidgetAttribute {
  295.         WA_Disabled = 0,
  296.         WA_UnderMouse = 1,
  297.         WA_MouseTracking = 2,
  298.         WA_ContentsPropagated = 3, // ## deprecated
  299.         WA_OpaquePaintEvent = 4,
  300.         WA_NoBackground = WA_OpaquePaintEvent, // ## deprecated
  301.         WA_StaticContents = 5,
  302.         WA_LaidOut = 7,
  303.         WA_PaintOnScreen = 8,
  304.         WA_NoSystemBackground = 9,
  305.         WA_UpdatesDisabled = 10,
  306.         WA_Mapped = 11,
  307.         WA_MacNoClickThrough = 12, // Mac only
  308.         WA_PaintOutsidePaintEvent = 13,
  309.         WA_InputMethodEnabled = 14,
  310.         WA_WState_Visible = 15,
  311.         WA_WState_Hidden = 16,
  312.         WA_ForceDisabled = 32,
  313.         WA_KeyCompression = 33,
  314.         WA_PendingMoveEvent = 34,
  315.         WA_PendingResizeEvent = 35,
  316.         WA_SetPalette = 36,
  317.         WA_SetFont = 37,
  318.         WA_SetCursor = 38,
  319.         WA_NoChildEventsFromChildren = 39,
  320.         WA_WindowModified = 41,
  321.         WA_Resized = 42,
  322.         WA_Moved = 43,
  323.         WA_PendingUpdate = 44,
  324.         WA_InvalidSize = 45,
  325.         WA_MacBrushedMetal = 46, // Mac only
  326.         WA_MacMetalStyle = WA_MacBrushedMetal, // obsolete
  327.         WA_CustomWhatsThis = 47,
  328.         WA_LayoutOnEntireRect = 48,
  329.         WA_OutsideWSRange = 49,
  330.         WA_GrabbedShortcut = 50,
  331.         WA_TransparentForMouseEvents = 51,
  332.         WA_PaintUnclipped = 52,
  333.         WA_SetWindowIcon = 53,
  334.         WA_NoMouseReplay = 54,
  335.         WA_DeleteOnClose = 55,
  336.         WA_RightToLeft = 56,
  337.         WA_SetLayoutDirection = 57,
  338.         WA_NoChildEventsForParent = 58,
  339.         WA_ForceUpdatesDisabled = 59,
  340.         WA_WState_Created = 60,
  341.         WA_WState_CompressKeys = 61,
  342.         WA_WState_InPaintEvent = 62,
  343.         WA_WState_Reparented = 63,
  344.         WA_WState_ConfigPending = 64,
  345.         WA_WState_Polished = 66,
  346.         WA_WState_DND = 67, // ## deprecated
  347.         WA_WState_OwnSizePolicy = 68,
  348.         WA_WState_ExplicitShowHide = 69,
  349.         WA_ShowModal = 70, // ## deprecated
  350.         WA_MouseNoMask = 71,
  351.         WA_GroupLeader = 72, // ## deprecated
  352.         WA_NoMousePropagation = 73, // ## for now, might go away.
  353.         WA_Hover = 74,
  354.         WA_InputMethodTransparent = 75, // Don't reset IM when user clicks on this (for virtual keyboards on embedded)
  355.         WA_QuitOnClose = 76,
  356.         WA_KeyboardFocusChange = 77,
  357.         WA_AcceptDrops = 78,
  358.         WA_DropSiteRegistered = 79, // internal
  359.         WA_ForceAcceptDrops = WA_DropSiteRegistered, // ## deprecated
  360.         WA_WindowPropagation = 80,
  361.         WA_NoX11EventCompression = 81,
  362.         WA_TintedBackground = 82,
  363.         WA_X11OpenGLOverlay = 83,
  364.         WA_AlwaysShowToolTips = 84,
  365.         WA_MacOpaqueSizeGrip = 85,
  366.         WA_SetStyle = 86,
  367.         WA_SetLocale = 87,
  368.         WA_MacShowFocusRect = 88,
  369.         WA_MacNormalSize = 89,  // Mac only
  370.         WA_MacSmallSize = 90,   // Mac only
  371.         WA_MacMiniSize = 91,    // Mac only
  372.         WA_LayoutUsesWidgetRect = 92,
  373.         WA_StyledBackground = 93, // internal
  374.         WA_MSWindowsUseDirect3D = 94, // Win only
  375.         WA_CanHostQMdiSubWindowTitleBar = 95, // Internal
  376.         WA_MacAlwaysShowToolWindow = 96, // Mac only
  377.         WA_StyleSheet = 97, // internal
  378.         WA_ShowWithoutActivating = 98,
  379.         WA_X11BypassTransientForHint = 99,
  380.         WA_NativeWindow = 100,
  381.         WA_DontCreateNativeAncestors = 101,
  382.         WA_MacVariableSize = 102,    // Mac only
  383.         WA_DontShowOnScreen = 103,
  384.         // window types from http://standards.freedesktop.org/wm-spec/
  385.         WA_X11NetWmWindowTypeDesktop = 104,
  386.         WA_X11NetWmWindowTypeDock = 105,
  387.         WA_X11NetWmWindowTypeToolBar = 106,
  388.         WA_X11NetWmWindowTypeMenu = 107,
  389.         WA_X11NetWmWindowTypeUtility = 108,
  390.         WA_X11NetWmWindowTypeSplash = 109,
  391.         WA_X11NetWmWindowTypeDialog = 110,
  392.         WA_X11NetWmWindowTypeDropDownMenu = 111,
  393.         WA_X11NetWmWindowTypePopupMenu = 112,
  394.         WA_X11NetWmWindowTypeToolTip = 113,
  395.         WA_X11NetWmWindowTypeNotification = 114,
  396.         WA_X11NetWmWindowTypeCombo = 115,
  397.         WA_X11NetWmWindowTypeDND = 116,
  398.         // Add new attributes before this line
  399.         WA_AttributeCount
  400.     };
  401.     enum ApplicationAttribute
  402.     {
  403.         AA_ImmediateWidgetCreation = 0,
  404.         AA_MSWindowsUseDirect3DByDefault = 1, // Win only
  405.         AA_DontShowIconsInMenus = 2,
  406.         AA_NativeWindows = 3,
  407.         AA_DontCreateNativeWidgetSiblings = 4,
  408.         // Add new attributes before this line
  409.         AA_AttributeCount
  410.     };
  411.     // Image conversion flags.  The unusual ordering is caused by
  412.     // compatibility and default requirements.
  413.     enum ImageConversionFlag {
  414.         ColorMode_Mask          = 0x00000003,
  415.         AutoColor               = 0x00000000,
  416.         ColorOnly               = 0x00000003,
  417.         MonoOnly                = 0x00000002,
  418.         // Reserved             = 0x00000001,
  419.         AlphaDither_Mask        = 0x0000000c,
  420.         ThresholdAlphaDither    = 0x00000000,
  421.         OrderedAlphaDither      = 0x00000004,
  422.         DiffuseAlphaDither      = 0x00000008,
  423.         NoAlpha                 = 0x0000000c, // Not supported
  424.         Dither_Mask             = 0x00000030,
  425.         DiffuseDither           = 0x00000000,
  426.         OrderedDither           = 0x00000010,
  427.         ThresholdDither         = 0x00000020,
  428.         // ReservedDither       = 0x00000030,
  429.         DitherMode_Mask         = 0x000000c0,
  430.         AutoDither              = 0x00000000,
  431.         PreferDither            = 0x00000040,
  432.         AvoidDither             = 0x00000080
  433.     };
  434.     Q_DECLARE_FLAGS(ImageConversionFlags, ImageConversionFlag)
  435.     enum BGMode {
  436.         TransparentMode,
  437.         OpaqueMode
  438.     };
  439. #ifdef QT3_SUPPORT
  440.     enum PaintUnit {                                // paint unit
  441.         PixelUnit,
  442.         LoMetricUnit, // obsolete
  443.         HiMetricUnit, // obsolete
  444.         LoEnglishUnit, // obsolete
  445.         HiEnglishUnit, // obsolete
  446.         TwipsUnit // obsolete
  447.     };
  448.     enum GUIStyle {
  449.         MacStyle,
  450.         WindowsStyle,
  451.         Win3Style,
  452.         PMStyle,
  453.         MotifStyle
  454.     };
  455. #endif
  456.     enum Key {
  457.         Key_Escape = 0x01000000,                // misc keys
  458.         Key_Tab = 0x01000001,
  459.         Key_Backtab = 0x01000002,
  460. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  461.         Key_BackTab = Key_Backtab,
  462. #endif
  463.         Key_Backspace = 0x01000003,
  464. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  465.         Key_BackSpace = Key_Backspace,
  466. #endif
  467.         Key_Return = 0x01000004,
  468.         Key_Enter = 0x01000005,
  469.         Key_Insert = 0x01000006,
  470.         Key_Delete = 0x01000007,
  471.         Key_Pause = 0x01000008,
  472.         Key_Print = 0x01000009,
  473.         Key_SysReq = 0x0100000a,
  474.         Key_Clear = 0x0100000b,
  475.         Key_Home = 0x01000010,                // cursor movement
  476.         Key_End = 0x01000011,
  477.         Key_Left = 0x01000012,
  478.         Key_Up = 0x01000013,
  479.         Key_Right = 0x01000014,
  480.         Key_Down = 0x01000015,
  481.         Key_PageUp = 0x01000016,
  482. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  483.         Key_Prior = Key_PageUp,
  484. #endif
  485.         Key_PageDown = 0x01000017,
  486. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  487.         Key_Next = Key_PageDown,
  488. #endif
  489.         Key_Shift = 0x01000020,                // modifiers
  490.         Key_Control = 0x01000021,
  491.         Key_Meta = 0x01000022,
  492.         Key_Alt = 0x01000023,
  493.         Key_CapsLock = 0x01000024,
  494.         Key_NumLock = 0x01000025,
  495.         Key_ScrollLock = 0x01000026,
  496.         Key_F1 = 0x01000030,                // function keys
  497.         Key_F2 = 0x01000031,
  498.         Key_F3 = 0x01000032,
  499.         Key_F4 = 0x01000033,
  500.         Key_F5 = 0x01000034,
  501.         Key_F6 = 0x01000035,
  502.         Key_F7 = 0x01000036,
  503.         Key_F8 = 0x01000037,
  504.         Key_F9 = 0x01000038,
  505.         Key_F10 = 0x01000039,
  506.         Key_F11 = 0x0100003a,
  507.         Key_F12 = 0x0100003b,
  508.         Key_F13 = 0x0100003c,
  509.         Key_F14 = 0x0100003d,
  510.         Key_F15 = 0x0100003e,
  511.         Key_F16 = 0x0100003f,
  512.         Key_F17 = 0x01000040,
  513.         Key_F18 = 0x01000041,
  514.         Key_F19 = 0x01000042,
  515.         Key_F20 = 0x01000043,
  516.         Key_F21 = 0x01000044,
  517.         Key_F22 = 0x01000045,
  518.         Key_F23 = 0x01000046,
  519.         Key_F24 = 0x01000047,
  520.         Key_F25 = 0x01000048,                // F25 .. F35 only on X11
  521.         Key_F26 = 0x01000049,
  522.         Key_F27 = 0x0100004a,
  523.         Key_F28 = 0x0100004b,
  524.         Key_F29 = 0x0100004c,
  525.         Key_F30 = 0x0100004d,
  526.         Key_F31 = 0x0100004e,
  527.         Key_F32 = 0x0100004f,
  528.         Key_F33 = 0x01000050,
  529.         Key_F34 = 0x01000051,
  530.         Key_F35 = 0x01000052,
  531.         Key_Super_L = 0x01000053,                 // extra keys
  532.         Key_Super_R = 0x01000054,
  533.         Key_Menu = 0x01000055,
  534.         Key_Hyper_L = 0x01000056,
  535.         Key_Hyper_R = 0x01000057,
  536.         Key_Help = 0x01000058,
  537.         Key_Direction_L = 0x01000059,
  538.         Key_Direction_R = 0x01000060,
  539.         Key_Space = 0x20,                // 7 bit printable ASCII
  540.         Key_Any = Key_Space,
  541.         Key_Exclam = 0x21,
  542.         Key_QuoteDbl = 0x22,
  543.         Key_NumberSign = 0x23,
  544.         Key_Dollar = 0x24,
  545.         Key_Percent = 0x25,
  546.         Key_Ampersand = 0x26,
  547.         Key_Apostrophe = 0x27,
  548.         Key_ParenLeft = 0x28,
  549.         Key_ParenRight = 0x29,
  550.         Key_Asterisk = 0x2a,
  551.         Key_Plus = 0x2b,
  552.         Key_Comma = 0x2c,
  553.         Key_Minus = 0x2d,
  554.         Key_Period = 0x2e,
  555.         Key_Slash = 0x2f,
  556.         Key_0 = 0x30,
  557.         Key_1 = 0x31,
  558.         Key_2 = 0x32,
  559.         Key_3 = 0x33,
  560.         Key_4 = 0x34,
  561.         Key_5 = 0x35,
  562.         Key_6 = 0x36,
  563.         Key_7 = 0x37,
  564.         Key_8 = 0x38,
  565.         Key_9 = 0x39,
  566.         Key_Colon = 0x3a,
  567.         Key_Semicolon = 0x3b,
  568.         Key_Less = 0x3c,
  569.         Key_Equal = 0x3d,
  570.         Key_Greater = 0x3e,
  571.         Key_Question = 0x3f,
  572.         Key_At = 0x40,
  573.         Key_A = 0x41,
  574.         Key_B = 0x42,
  575.         Key_C = 0x43,
  576.         Key_D = 0x44,
  577.         Key_E = 0x45,
  578.         Key_F = 0x46,
  579.         Key_G = 0x47,
  580.         Key_H = 0x48,
  581.         Key_I = 0x49,
  582.         Key_J = 0x4a,
  583.         Key_K = 0x4b,
  584.         Key_L = 0x4c,
  585.         Key_M = 0x4d,
  586.         Key_N = 0x4e,
  587.         Key_O = 0x4f,
  588.         Key_P = 0x50,
  589.         Key_Q = 0x51,
  590.         Key_R = 0x52,
  591.         Key_S = 0x53,
  592.         Key_T = 0x54,
  593.         Key_U = 0x55,
  594.         Key_V = 0x56,
  595.         Key_W = 0x57,
  596.         Key_X = 0x58,
  597.         Key_Y = 0x59,
  598.         Key_Z = 0x5a,
  599.         Key_BracketLeft = 0x5b,
  600.         Key_Backslash = 0x5c,
  601.         Key_BracketRight = 0x5d,
  602.         Key_AsciiCircum = 0x5e,
  603.         Key_Underscore = 0x5f,
  604.         Key_QuoteLeft = 0x60,
  605.         Key_BraceLeft = 0x7b,
  606.         Key_Bar = 0x7c,
  607.         Key_BraceRight = 0x7d,
  608.         Key_AsciiTilde = 0x7e,
  609.         Key_nobreakspace = 0x0a0,
  610.         Key_exclamdown = 0x0a1,
  611.         Key_cent = 0x0a2,
  612.         Key_sterling = 0x0a3,
  613.         Key_currency = 0x0a4,
  614.         Key_yen = 0x0a5,
  615.         Key_brokenbar = 0x0a6,
  616.         Key_section = 0x0a7,
  617.         Key_diaeresis = 0x0a8,
  618.         Key_copyright = 0x0a9,
  619.         Key_ordfeminine = 0x0aa,
  620.         Key_guillemotleft = 0x0ab,        // left angle quotation mark
  621.         Key_notsign = 0x0ac,
  622.         Key_hyphen = 0x0ad,
  623.         Key_registered = 0x0ae,
  624.         Key_macron = 0x0af,
  625.         Key_degree = 0x0b0,
  626.         Key_plusminus = 0x0b1,
  627.         Key_twosuperior = 0x0b2,
  628.         Key_threesuperior = 0x0b3,
  629.         Key_acute = 0x0b4,
  630.         Key_mu = 0x0b5,
  631.         Key_paragraph = 0x0b6,
  632.         Key_periodcentered = 0x0b7,
  633.         Key_cedilla = 0x0b8,
  634.         Key_onesuperior = 0x0b9,
  635.         Key_masculine = 0x0ba,
  636.         Key_guillemotright = 0x0bb,        // right angle quotation mark
  637.         Key_onequarter = 0x0bc,
  638.         Key_onehalf = 0x0bd,
  639.         Key_threequarters = 0x0be,
  640.         Key_questiondown = 0x0bf,
  641.         Key_Agrave = 0x0c0,
  642.         Key_Aacute = 0x0c1,
  643.         Key_Acircumflex = 0x0c2,
  644.         Key_Atilde = 0x0c3,
  645.         Key_Adiaeresis = 0x0c4,
  646.         Key_Aring = 0x0c5,
  647.         Key_AE = 0x0c6,
  648.         Key_Ccedilla = 0x0c7,
  649.         Key_Egrave = 0x0c8,
  650.         Key_Eacute = 0x0c9,
  651.         Key_Ecircumflex = 0x0ca,
  652.         Key_Ediaeresis = 0x0cb,
  653.         Key_Igrave = 0x0cc,
  654.         Key_Iacute = 0x0cd,
  655.         Key_Icircumflex = 0x0ce,
  656.         Key_Idiaeresis = 0x0cf,
  657.         Key_ETH = 0x0d0,
  658.         Key_Ntilde = 0x0d1,
  659.         Key_Ograve = 0x0d2,
  660.         Key_Oacute = 0x0d3,
  661.         Key_Ocircumflex = 0x0d4,
  662.         Key_Otilde = 0x0d5,
  663.         Key_Odiaeresis = 0x0d6,
  664.         Key_multiply = 0x0d7,
  665.         Key_Ooblique = 0x0d8,
  666.         Key_Ugrave = 0x0d9,
  667.         Key_Uacute = 0x0da,
  668.         Key_Ucircumflex = 0x0db,
  669.         Key_Udiaeresis = 0x0dc,
  670.         Key_Yacute = 0x0dd,
  671.         Key_THORN = 0x0de,
  672.         Key_ssharp = 0x0df,
  673. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  674.         Key_agrave = Key_Agrave,
  675.         Key_aacute = Key_Aacute,
  676.         Key_acircumflex = Key_Acircumflex,
  677.         Key_atilde = Key_Atilde,
  678.         Key_adiaeresis = Key_Adiaeresis,
  679.         Key_aring = Key_Aring,
  680.         Key_ae = Key_AE,
  681.         Key_ccedilla = Key_Ccedilla,
  682.         Key_egrave = Key_Egrave,
  683.         Key_eacute = Key_Eacute,
  684.         Key_ecircumflex = Key_Ecircumflex,
  685.         Key_ediaeresis = Key_Ediaeresis,
  686.         Key_igrave = Key_Igrave,
  687.         Key_iacute = Key_Iacute,
  688.         Key_icircumflex = Key_Icircumflex,
  689.         Key_idiaeresis = Key_Idiaeresis,
  690.         Key_eth = Key_ETH,
  691.         Key_ntilde = Key_Ntilde,
  692.         Key_ograve = Key_Ograve,
  693.         Key_oacute = Key_Oacute,
  694.         Key_ocircumflex = Key_Ocircumflex,
  695.         Key_otilde = Key_Otilde,
  696.         Key_odiaeresis = Key_Odiaeresis,
  697. #endif
  698.         Key_division = 0x0f7,
  699. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  700.         Key_oslash = Key_Ooblique,
  701.         Key_ugrave = Key_Ugrave,
  702.         Key_uacute = Key_Uacute,
  703.         Key_ucircumflex = Key_Ucircumflex,
  704.         Key_udiaeresis = Key_Udiaeresis,
  705.         Key_yacute = Key_Yacute,
  706.         Key_thorn = Key_THORN,
  707. #endif
  708.         Key_ydiaeresis = 0x0ff,
  709.         // International input method support (X keycode - 0xEE00, the
  710.         // definition follows Qt/Embedded 2.3.7) Only interesting if
  711.         // you are writing your own input method
  712.         // International & multi-key character composition
  713.         Key_AltGr               = 0x01001103,
  714.         Key_Multi_key           = 0x01001120,  // Multi-key character compose
  715.         Key_Codeinput           = 0x01001137,
  716.         Key_SingleCandidate     = 0x0100113c,
  717.         Key_MultipleCandidate   = 0x0100113d,
  718.         Key_PreviousCandidate   = 0x0100113e,
  719.         // Misc Functions
  720.         Key_Mode_switch         = 0x0100117e,  // Character set switch
  721.         //Key_script_switch       = 0x0100117e,  // Alias for mode_switch
  722.         // Japanese keyboard support
  723.         Key_Kanji               = 0x01001121,  // Kanji, Kanji convert
  724.         Key_Muhenkan            = 0x01001122,  // Cancel Conversion
  725.         //Key_Henkan_Mode         = 0x01001123,  // Start/Stop Conversion
  726.         Key_Henkan              = 0x01001123,  // Alias for Henkan_Mode
  727.         Key_Romaji              = 0x01001124,  // to Romaji
  728.         Key_Hiragana            = 0x01001125,  // to Hiragana
  729.         Key_Katakana            = 0x01001126,  // to Katakana
  730.         Key_Hiragana_Katakana   = 0x01001127,  // Hiragana/Katakana toggle
  731.         Key_Zenkaku             = 0x01001128,  // to Zenkaku
  732.         Key_Hankaku             = 0x01001129,  // to Hankaku
  733.         Key_Zenkaku_Hankaku     = 0x0100112a,  // Zenkaku/Hankaku toggle
  734.         Key_Touroku             = 0x0100112b,  // Add to Dictionary
  735.         Key_Massyo              = 0x0100112c,  // Delete from Dictionary
  736.         Key_Kana_Lock           = 0x0100112d,  // Kana Lock
  737.         Key_Kana_Shift          = 0x0100112e,  // Kana Shift
  738.         Key_Eisu_Shift          = 0x0100112f,  // Alphanumeric Shift
  739.         Key_Eisu_toggle         = 0x01001130,  // Alphanumeric toggle
  740.         //Key_Kanji_Bangou        = 0x01001137,  // Codeinput
  741.         //Key_Zen_Koho            = 0x0100113d,  // Multiple/All Candidate(s)
  742.         //Key_Mae_Koho            = 0x0100113e,  // Previous Candidate
  743.         // Korean keyboard support
  744.         //
  745.         // In fact, many Korean users need only 2 keys, Key_Hangul and
  746.         // Key_Hangul_Hanja. But rest of the keys are good for future.
  747.         Key_Hangul              = 0x01001131,  // Hangul start/stop(toggle)
  748.         Key_Hangul_Start        = 0x01001132,  // Hangul start
  749.         Key_Hangul_End          = 0x01001133,  // Hangul end, English start
  750.         Key_Hangul_Hanja        = 0x01001134,  // Start Hangul->Hanja Conversion
  751.         Key_Hangul_Jamo         = 0x01001135,  // Hangul Jamo mode
  752.         Key_Hangul_Romaja       = 0x01001136,  // Hangul Romaja mode
  753.         //Key_Hangul_Codeinput    = 0x01001137,  // Hangul code input mode
  754.         Key_Hangul_Jeonja       = 0x01001138,  // Jeonja mode
  755.         Key_Hangul_Banja        = 0x01001139,  // Banja mode
  756.         Key_Hangul_PreHanja     = 0x0100113a,  // Pre Hanja conversion
  757.         Key_Hangul_PostHanja    = 0x0100113b,  // Post Hanja conversion
  758.         //Key_Hangul_SingleCandidate   = 0x0100113c,  // Single candidate
  759.         //Key_Hangul_MultipleCandidate = 0x0100113d,  // Multiple candidate
  760.         //Key_Hangul_PreviousCandidate = 0x0100113e,  // Previous candidate
  761.         Key_Hangul_Special      = 0x0100113f,  // Special symbols
  762.         //Key_Hangul_switch       = 0x0100117e,  // Alias for mode_switch
  763.         // dead keys (X keycode - 0xED00 to avoid the conflict)
  764.         Key_Dead_Grave          = 0x01001250,
  765.         Key_Dead_Acute          = 0x01001251,
  766.         Key_Dead_Circumflex     = 0x01001252,
  767.         Key_Dead_Tilde          = 0x01001253,
  768.         Key_Dead_Macron         = 0x01001254,
  769.         Key_Dead_Breve          = 0x01001255,
  770.         Key_Dead_Abovedot       = 0x01001256,
  771.         Key_Dead_Diaeresis      = 0x01001257,
  772.         Key_Dead_Abovering      = 0x01001258,
  773.         Key_Dead_Doubleacute    = 0x01001259,
  774.         Key_Dead_Caron          = 0x0100125a,
  775.         Key_Dead_Cedilla        = 0x0100125b,
  776.         Key_Dead_Ogonek         = 0x0100125c,
  777.         Key_Dead_Iota           = 0x0100125d,
  778.         Key_Dead_Voiced_Sound   = 0x0100125e,
  779.         Key_Dead_Semivoiced_Sound = 0x0100125f,
  780.         Key_Dead_Belowdot       = 0x01001260,
  781.         Key_Dead_Hook           = 0x01001261,
  782.         Key_Dead_Horn           = 0x01001262,
  783.         // multimedia/internet keys - ignored by default - see QKeyEvent c'tor
  784.         Key_Back  = 0x01000061,
  785.         Key_Forward  = 0x01000062,
  786.         Key_Stop  = 0x01000063,
  787.         Key_Refresh  = 0x01000064,
  788.         Key_VolumeDown = 0x01000070,
  789.         Key_VolumeMute  = 0x01000071,
  790.         Key_VolumeUp = 0x01000072,
  791.         Key_BassBoost = 0x01000073,
  792.         Key_BassUp = 0x01000074,
  793.         Key_BassDown = 0x01000075,
  794.         Key_TrebleUp = 0x01000076,
  795.         Key_TrebleDown = 0x01000077,
  796.         Key_MediaPlay  = 0x01000080,
  797.         Key_MediaStop  = 0x01000081,
  798.         Key_MediaPrevious  = 0x01000082,
  799. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  800.         Key_MediaPrev  = Key_MediaPrevious,
  801. #endif
  802.         Key_MediaNext  = 0x01000083,
  803.         Key_MediaRecord = 0x01000084,
  804.         Key_HomePage  = 0x01000090,
  805.         Key_Favorites  = 0x01000091,
  806.         Key_Search  = 0x01000092,
  807.         Key_Standby = 0x01000093,
  808.         Key_OpenUrl = 0x01000094,
  809.         Key_LaunchMail  = 0x010000a0,
  810.         Key_LaunchMedia = 0x010000a1,
  811.         Key_Launch0  = 0x010000a2,
  812.         Key_Launch1  = 0x010000a3,
  813.         Key_Launch2  = 0x010000a4,
  814.         Key_Launch3  = 0x010000a5,
  815.         Key_Launch4  = 0x010000a6,
  816.         Key_Launch5  = 0x010000a7,
  817.         Key_Launch6  = 0x010000a8,
  818.         Key_Launch7  = 0x010000a9,
  819.         Key_Launch8  = 0x010000aa,
  820.         Key_Launch9  = 0x010000ab,
  821.         Key_LaunchA  = 0x010000ac,
  822.         Key_LaunchB  = 0x010000ad,
  823.         Key_LaunchC  = 0x010000ae,
  824.         Key_LaunchD  = 0x010000af,
  825.         Key_LaunchE  = 0x010000b0,
  826.         Key_LaunchF  = 0x010000b1,
  827.         Key_MediaLast = 0x0100ffff,
  828.         // Keypad navigation keys
  829.         Key_Select = 0x01010000,
  830.         Key_Yes = 0x01010001,
  831.         Key_No = 0x01010002,
  832.         // Newer misc keys
  833.         Key_Cancel  = 0x01020001,
  834.         Key_Printer = 0x01020002,
  835.         Key_Execute = 0x01020003,
  836.         Key_Sleep   = 0x01020004,
  837.         Key_Play    = 0x01020005, // Not the same as Key_MediaPlay
  838.         Key_Zoom    = 0x01020006,
  839.         //Key_Jisho   = 0x01020007, // IME: Dictionary key
  840.         //Key_Oyayubi_Left = 0x01020008, // IME: Left Oyayubi key
  841.         //Key_Oyayubi_Right = 0x01020009, // IME: Right Oyayubi key
  842.         // Device keys
  843.         Key_Context1 = 0x01100000,
  844.         Key_Context2 = 0x01100001,
  845.         Key_Context3 = 0x01100002,
  846.         Key_Context4 = 0x01100003,
  847.         Key_Call = 0x01100004,
  848.         Key_Hangup = 0x01100005,
  849.         Key_Flip = 0x01100006,
  850.         Key_unknown = 0x01ffffff
  851.     };
  852.     enum ArrowType {
  853.         NoArrow,
  854.         UpArrow,
  855.         DownArrow,
  856.         LeftArrow,
  857.         RightArrow
  858.     };
  859.     enum PenStyle { // pen style
  860.         NoPen,
  861.         SolidLine,
  862.         DashLine,
  863.         DotLine,
  864.         DashDotLine,
  865.         DashDotDotLine,
  866.         CustomDashLine
  867. #ifndef Q_MOC_RUN
  868.         , MPenStyle = 0x0f
  869. #endif
  870.     };
  871.     enum PenCapStyle { // line endcap style
  872.         FlatCap = 0x00,
  873.         SquareCap = 0x10,
  874.         RoundCap = 0x20,
  875.         MPenCapStyle = 0x30
  876.     };
  877.     enum PenJoinStyle { // line join style
  878.         MiterJoin = 0x00,
  879.         BevelJoin = 0x40,
  880.         RoundJoin = 0x80,
  881.         SvgMiterJoin = 0x100,
  882.         MPenJoinStyle = 0x1c0
  883.     };
  884.     enum BrushStyle { // brush style
  885.         NoBrush,
  886.         SolidPattern,
  887.         Dense1Pattern,
  888.         Dense2Pattern,
  889.         Dense3Pattern,
  890.         Dense4Pattern,
  891.         Dense5Pattern,
  892.         Dense6Pattern,
  893.         Dense7Pattern,
  894.         HorPattern,
  895.         VerPattern,
  896.         CrossPattern,
  897.         BDiagPattern,
  898.         FDiagPattern,
  899.         DiagCrossPattern,
  900.         LinearGradientPattern,
  901.         RadialGradientPattern,
  902.         ConicalGradientPattern,
  903.         TexturePattern = 24
  904. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  905.         , CustomPattern = TexturePattern
  906. #endif
  907.     };
  908.     enum SizeMode {
  909.         AbsoluteSize,
  910.         RelativeSize
  911.     };
  912. #if defined(QT3_SUPPORT)
  913. #if defined(Q_OS_MAC)
  914. #ifndef qdoc
  915.     typedef int MacintoshVersion;
  916.     enum
  917. #else
  918.     enum MacintoshVersion
  919. #endif
  920.     {
  921.         //Unknown
  922.         MV_Unknown  = 0x0000,
  923.         //Version numbers
  924.         MV_9        = QSysInfo::MV_9,
  925.         MV_10_DOT_0 = QSysInfo::MV_10_0,
  926.         MV_10_DOT_1 = QSysInfo::MV_10_1,
  927.         MV_10_DOT_2 = QSysInfo::MV_10_2,
  928.         MV_10_DOT_3 = QSysInfo::MV_10_3,
  929.         MV_10_DOT_4 = QSysInfo::MV_10_4,
  930.         //Code names
  931.         MV_CHEETAH = QSysInfo::MV_CHEETAH,
  932.         MV_PUMA = QSysInfo::MV_PUMA,
  933.         MV_JAGUAR = QSysInfo::MV_JAGUAR,
  934.         MV_PANTHER = QSysInfo::MV_PANTHER,
  935.         MV_TIGER = QSysInfo::MV_TIGER
  936.     };
  937. #endif // Q_OS_MAC
  938. #if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN)
  939. #ifndef qdoc
  940.     typedef int WindowsVersion;
  941.     enum
  942. #else
  943.     enum WindowsVersion
  944. #endif
  945.     {
  946.         WV_32s = QSysInfo::WV_32s,
  947.         WV_95 = QSysInfo::WV_95,
  948.         WV_98 = QSysInfo::WV_98,
  949.         WV_Me = QSysInfo::WV_Me,
  950.         WV_DOS_based= QSysInfo::WV_DOS_based,
  951.         WV_NT = QSysInfo::WV_NT,
  952.         WV_2000 = QSysInfo::WV_2000,
  953.         WV_XP = QSysInfo::WV_XP,
  954.         WV_2003 = QSysInfo::WV_2003,
  955.         WV_NT_based = QSysInfo::WV_NT_based,
  956.         WV_CE = QSysInfo::WV_CE,
  957.         WV_CENET = QSysInfo::WV_CENET,
  958.         WV_CE_5 = QSysInfo::WV_CE_5,
  959.         WV_CE_6 = QSysInfo::WV_CE_6,
  960.         WV_CE_based = QSysInfo::WV_CE_based
  961.     };
  962. #endif // Q_OS_WIN
  963. #endif // QT3_SUPPORT
  964.     enum UIEffect {
  965.         UI_General,
  966.         UI_AnimateMenu,
  967.         UI_FadeMenu,
  968.         UI_AnimateCombo,
  969.         UI_AnimateTooltip,
  970.         UI_FadeTooltip,
  971.         UI_AnimateToolBox
  972.     };
  973.     enum CursorShape {
  974.         ArrowCursor,
  975.         UpArrowCursor,
  976.         CrossCursor,
  977.         WaitCursor,
  978.         IBeamCursor,
  979.         SizeVerCursor,
  980.         SizeHorCursor,
  981.         SizeBDiagCursor,
  982.         SizeFDiagCursor,
  983.         SizeAllCursor,
  984.         BlankCursor,
  985.         SplitVCursor,
  986.         SplitHCursor,
  987.         PointingHandCursor,
  988.         ForbiddenCursor,
  989.         WhatsThisCursor,
  990.         BusyCursor,
  991.         OpenHandCursor,
  992.         ClosedHandCursor,
  993.         LastCursor = ClosedHandCursor,
  994.         BitmapCursor = 24,
  995.         CustomCursor = 25
  996. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  997.         ,
  998.         arrowCursor = ArrowCursor,
  999.         upArrowCursor = UpArrowCursor,
  1000.         crossCursor = CrossCursor,
  1001.         waitCursor = WaitCursor,
  1002.         ibeamCursor = IBeamCursor,
  1003.         sizeVerCursor = SizeVerCursor,
  1004.         sizeHorCursor = SizeHorCursor,
  1005.         sizeBDiagCursor = SizeBDiagCursor,
  1006.         sizeFDiagCursor = SizeFDiagCursor,
  1007.         sizeAllCursor = SizeAllCursor,
  1008.         blankCursor = BlankCursor,
  1009.         splitVCursor = SplitVCursor,
  1010.         splitHCursor = SplitHCursor,
  1011.         pointingHandCursor = PointingHandCursor,
  1012.         forbiddenCursor = ForbiddenCursor,
  1013.         whatsThisCursor = WhatsThisCursor
  1014. #endif
  1015.     };
  1016.     enum TextFormat {
  1017.         PlainText,
  1018.         RichText,
  1019.         AutoText,
  1020.         LogText
  1021.     };
  1022.     enum AspectRatioMode {
  1023.         IgnoreAspectRatio,
  1024.         KeepAspectRatio,
  1025.         KeepAspectRatioByExpanding
  1026. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  1027.         , ScaleFree = IgnoreAspectRatio,
  1028.         ScaleMin = KeepAspectRatio,
  1029.         ScaleMax = KeepAspectRatioByExpanding
  1030. #endif
  1031.     };
  1032. #ifdef QT3_SUPPORT
  1033.     typedef AspectRatioMode ScaleMode;
  1034. #endif
  1035.     enum AnchorAttribute {
  1036.         AnchorName,
  1037.         AnchorHref
  1038.     };
  1039.     enum DockWidgetArea {
  1040.         LeftDockWidgetArea = 0x1,
  1041.         RightDockWidgetArea = 0x2,
  1042.         TopDockWidgetArea = 0x4,
  1043.         BottomDockWidgetArea = 0x8,
  1044.         DockWidgetArea_Mask = 0xf,
  1045.         AllDockWidgetAreas = DockWidgetArea_Mask,
  1046.         NoDockWidgetArea = 0
  1047.     };
  1048.     enum DockWidgetAreaSizes {
  1049.         NDockWidgetAreas = 4
  1050.     };
  1051.     Q_DECLARE_FLAGS(DockWidgetAreas, DockWidgetArea)
  1052.     enum ToolBarArea {
  1053.         LeftToolBarArea = 0x1,
  1054.         RightToolBarArea = 0x2,
  1055.         TopToolBarArea = 0x4,
  1056.         BottomToolBarArea = 0x8,
  1057.         ToolBarArea_Mask = 0xf,
  1058.         AllToolBarAreas = ToolBarArea_Mask,
  1059.         NoToolBarArea = 0
  1060.     };
  1061.     enum ToolBarAreaSizes {
  1062.         NToolBarAreas = 4
  1063.     };
  1064.     Q_DECLARE_FLAGS(ToolBarAreas, ToolBarArea)
  1065. #ifdef QT3_SUPPORT
  1066.     enum Dock {
  1067.         DockUnmanaged,
  1068.         DockTornOff,
  1069.         DockTop,
  1070.         DockBottom,
  1071.         DockRight,
  1072.         DockLeft,
  1073.         DockMinimized
  1074.         ,
  1075.         Unmanaged = DockUnmanaged,
  1076.         TornOff = DockTornOff,
  1077.         Top = DockTop,
  1078.         Bottom = DockBottom,
  1079.         Right = DockRight,
  1080.         Left = DockLeft,
  1081.         Minimized = DockMinimized
  1082.     };
  1083.     // compatibility
  1084.     typedef Dock ToolBarDock;
  1085. #endif
  1086.     enum DateFormat {
  1087.         TextDate,      // default Qt
  1088.         ISODate,       // ISO 8601
  1089.         SystemLocaleDate, // deprecated
  1090.         LocalDate = SystemLocaleDate, // deprecated
  1091.         LocaleDate,     // deprecated
  1092.         SystemLocaleShortDate,
  1093.         SystemLocaleLongDate,
  1094.         DefaultLocaleShortDate,
  1095.         DefaultLocaleLongDate
  1096.     };
  1097.     enum TimeSpec {
  1098.         LocalTime,
  1099.         UTC,
  1100.         OffsetFromUTC
  1101.     };
  1102.     enum DayOfWeek {
  1103.         Monday = 1,
  1104.         Tuesday = 2,
  1105.         Wednesday = 3,
  1106.         Thursday = 4,
  1107.         Friday = 5,
  1108.         Saturday = 6,
  1109.         Sunday = 7
  1110.     };
  1111.     enum ScrollBarPolicy {
  1112.         ScrollBarAsNeeded,
  1113.         ScrollBarAlwaysOff,
  1114.         ScrollBarAlwaysOn
  1115.     };
  1116. #ifdef QT3_SUPPORT
  1117.     enum BackgroundMode {
  1118.         FixedColor,
  1119.         FixedPixmap,
  1120.         NoBackground,
  1121.         PaletteForeground,
  1122.         PaletteButton,
  1123.         PaletteLight,
  1124.         PaletteMidlight,
  1125.         PaletteDark,
  1126.         PaletteMid,
  1127.         PaletteText,
  1128.         PaletteBrightText,
  1129.         PaletteBase,
  1130.         PaletteBackground,
  1131.         PaletteShadow,
  1132.         PaletteHighlight,
  1133.         PaletteHighlightedText,
  1134.         PaletteButtonText,
  1135.         PaletteLink,
  1136.         PaletteLinkVisited,
  1137.         X11ParentRelative
  1138.     };
  1139. #endif
  1140.     enum CaseSensitivity {
  1141.         CaseInsensitive,
  1142.         CaseSensitive
  1143.     };
  1144.     enum Corner {
  1145.         TopLeftCorner = 0x00000,
  1146.         TopRightCorner = 0x00001,
  1147.         BottomLeftCorner = 0x00002,
  1148.         BottomRightCorner = 0x00003
  1149. #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
  1150.         ,TopLeft = TopLeftCorner,
  1151.         TopRight = TopRightCorner,
  1152.         BottomLeft = BottomLeftCorner,
  1153.         BottomRight = BottomRightCorner
  1154. #endif
  1155.     };
  1156.     enum ConnectionType {
  1157.         AutoConnection,
  1158.         DirectConnection,
  1159.         QueuedConnection,
  1160.         AutoCompatConnection,
  1161.         BlockingQueuedConnection
  1162.     };
  1163.     enum ShortcutContext {
  1164.         WidgetShortcut,
  1165.         WindowShortcut,
  1166.         ApplicationShortcut,
  1167.         WidgetWithChildrenShortcut
  1168.     };
  1169.     enum FillRule {
  1170.         OddEvenFill,
  1171.         WindingFill
  1172.     };
  1173.     enum MaskMode {
  1174.         MaskInColor,
  1175.         MaskOutColor
  1176.     };
  1177.     enum ClipOperation {
  1178.         NoClip,
  1179.         ReplaceClip,
  1180.         IntersectClip,
  1181.         UniteClip
  1182.     };
  1183.     // Shape = 0x1, BoundingRect = 0x2
  1184.     enum ItemSelectionMode {
  1185.         ContainsItemShape = 0x0,
  1186.         IntersectsItemShape = 0x1,
  1187.         ContainsItemBoundingRect = 0x2,
  1188.         IntersectsItemBoundingRect = 0x3
  1189.     };
  1190.     enum TransformationMode {
  1191.         FastTransformation,
  1192.         SmoothTransformation
  1193.     };
  1194.     enum Axis {
  1195.         XAxis,
  1196.         YAxis,
  1197.         ZAxis
  1198.     };
  1199.     enum FocusReason {
  1200.         MouseFocusReason,
  1201.         TabFocusReason,
  1202.         BacktabFocusReason,
  1203.         ActiveWindowFocusReason,
  1204.         PopupFocusReason,
  1205.         ShortcutFocusReason,
  1206.         MenuBarFocusReason,
  1207.         OtherFocusReason,
  1208.         NoFocusReason
  1209.     };
  1210.     enum ContextMenuPolicy {
  1211.         NoContextMenu,
  1212.         DefaultContextMenu,
  1213.         ActionsContextMenu,
  1214.         CustomContextMenu,
  1215.         PreventContextMenu
  1216.     };
  1217.     enum InputMethodQuery {
  1218.         ImMicroFocus,
  1219.         ImFont,
  1220.         ImCursorPosition,
  1221.         ImSurroundingText,
  1222.         ImCurrentSelection
  1223.     };
  1224.     enum ToolButtonStyle {
  1225.         ToolButtonIconOnly,
  1226.         ToolButtonTextOnly,
  1227.         ToolButtonTextBesideIcon,
  1228.         ToolButtonTextUnderIcon
  1229.     };
  1230.     enum LayoutDirection {
  1231.         LeftToRight,
  1232.         RightToLeft
  1233.     };
  1234.     enum DropAction {
  1235.         CopyAction = 0x1,
  1236.         MoveAction = 0x2,
  1237.         LinkAction = 0x4,
  1238.         ActionMask = 0xff,
  1239.         TargetMoveAction = 0x8002,
  1240.         IgnoreAction = 0x0
  1241.     };
  1242.     Q_DECLARE_FLAGS(DropActions, DropAction)
  1243.     enum CheckState {
  1244.         Unchecked,
  1245.         PartiallyChecked,
  1246.         Checked
  1247.     };
  1248.     enum ItemDataRole {
  1249.         DisplayRole = 0,
  1250.         DecorationRole = 1,
  1251.         EditRole = 2,
  1252.         ToolTipRole = 3,
  1253.         StatusTipRole = 4,
  1254.         WhatsThisRole = 5,
  1255.         // Metadata
  1256.         FontRole = 6,
  1257.         TextAlignmentRole = 7,
  1258.         BackgroundColorRole = 8,
  1259.         BackgroundRole = 8,
  1260.         TextColorRole = 9,
  1261.         ForegroundRole = 9,
  1262.         CheckStateRole = 10,
  1263.         // Accessibility
  1264.         AccessibleTextRole = 11,
  1265.         AccessibleDescriptionRole = 12,
  1266.         // More Metadata
  1267.         SizeHintRole = 13,
  1268.         // Reserved
  1269.         UserRole = 32
  1270.     };
  1271.     enum ItemFlag {
  1272.         NoItemFlags = 0,
  1273.         ItemIsSelectable = 1,
  1274.         ItemIsEditable = 2,
  1275.         ItemIsDragEnabled = 4,
  1276.         ItemIsDropEnabled = 8,
  1277.         ItemIsUserCheckable = 16,
  1278.         ItemIsEnabled = 32,
  1279.         ItemIsTristate = 64
  1280.     };
  1281.     Q_DECLARE_FLAGS(ItemFlags, ItemFlag)
  1282.     enum MatchFlag {
  1283.         MatchExactly = 0,
  1284.         MatchContains = 1,
  1285.         MatchStartsWith = 2,
  1286.         MatchEndsWith = 3,
  1287.         MatchRegExp = 4,
  1288.         MatchWildcard = 5,
  1289.         MatchFixedString = 8,
  1290.         MatchCaseSensitive = 16,
  1291.         MatchWrap = 32,
  1292.         MatchRecursive = 64
  1293.     };
  1294.     Q_DECLARE_FLAGS(MatchFlags, MatchFlag)
  1295. #if defined(Q_WS_MAC)
  1296.     typedef void * HANDLE;
  1297. #elif defined(Q_WS_WIN)
  1298.     typedef void *HANDLE;
  1299. #elif defined(Q_WS_X11)
  1300.     typedef unsigned long HANDLE;
  1301. #elif defined(Q_WS_QWS)
  1302.     typedef void * HANDLE;
  1303. #endif
  1304.     typedef WindowFlags WFlags;
  1305.     enum WindowModality {
  1306.         NonModal,
  1307.         WindowModal,
  1308.         ApplicationModal
  1309.     };
  1310.     enum TextInteractionFlag {
  1311.         NoTextInteraction         = 0,
  1312.         TextSelectableByMouse     = 1,
  1313.         TextSelectableByKeyboard  = 2,
  1314.         LinksAccessibleByMouse    = 4,
  1315.         LinksAccessibleByKeyboard = 8,
  1316.         TextEditable              = 16,
  1317.         TextEditorInteraction     = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable,
  1318.         TextBrowserInteraction    = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard
  1319.     };
  1320.     Q_DECLARE_FLAGS(TextInteractionFlags, TextInteractionFlag)
  1321.     enum EventPriority {
  1322.         HighEventPriority = 1,
  1323.         NormalEventPriority = 0,
  1324.         LowEventPriority = -1
  1325.     };
  1326.     enum SizeHint {
  1327.         MinimumSize,
  1328.         PreferredSize,
  1329.         MaximumSize,
  1330.         MinimumDescent,
  1331.         NSizeHints
  1332.     };
  1333.     enum WindowFrameSection {
  1334.         NoSection,
  1335.         LeftSection,           // For resize
  1336.         TopLeftSection,
  1337.         TopSection,
  1338.         TopRightSection,
  1339.         RightSection,
  1340.         BottomRightSection,
  1341.         BottomSection,
  1342.         BottomLeftSection,
  1343.         TitleBarArea    // For move
  1344.     };
  1345. }
  1346. #ifdef Q_MOC_RUN
  1347.  ;
  1348. #endif
  1349. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MouseButtons)
  1350. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::Orientations)
  1351. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::KeyboardModifiers)
  1352. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::WindowFlags)
  1353. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::Alignment)
  1354. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::ImageConversionFlags)
  1355. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::DockWidgetAreas)
  1356. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::ToolBarAreas)
  1357. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::WindowStates)
  1358. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::DropActions)
  1359. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::ItemFlags)
  1360. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MatchFlags)
  1361. Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TextInteractionFlags)
  1362. typedef bool (*qInternalCallback)(void **);
  1363. class Q_CORE_EXPORT QInternal {
  1364. public:
  1365.     enum PaintDeviceFlags {
  1366.         UnknownDevice = 0x00,
  1367.         Widget        = 0x01,
  1368.         Pixmap        = 0x02,
  1369.         Image         = 0x03,
  1370.         Printer       = 0x04,
  1371.         Picture       = 0x05,
  1372.         Pbuffer       = 0x06,    // GL pbuffer
  1373.         FramebufferObject = 0x07, // GL framebuffer object
  1374.         CustomRaster  = 0x08,
  1375.         MacQuartz     = 0x09
  1376.     };
  1377.     enum RelayoutType {
  1378.         RelayoutNormal,
  1379.         RelayoutDragging,
  1380.         RelayoutDropped
  1381.     };
  1382.     enum Callback {
  1383.         ConnectCallback,
  1384.         DisconnectCallback,
  1385.         AdoptCurrentThread,
  1386.         EventNotifyCallback,
  1387.         LastCallback
  1388.     };
  1389.     enum InternalFunction {
  1390.         CreateThreadForAdoption,
  1391.         RefAdoptedThread,
  1392.         DerefAdoptedThread,
  1393.         SetCurrentThreadToMainThread,
  1394.         SetQObjectSender,
  1395.         GetQObjectSender,
  1396.         ResetQObjectSender,
  1397.         LastInternalFunction
  1398.     };
  1399.     enum DockPosition {
  1400.         LeftDock,
  1401.         RightDock,
  1402.         TopDock,
  1403.         BottomDock,
  1404.         DockCount
  1405.     };
  1406.     static bool registerCallback(Callback, qInternalCallback);
  1407.     static bool unregisterCallback(Callback, qInternalCallback);
  1408.     static bool activateCallbacks(Callback, void **);
  1409.     static bool callFunction(InternalFunction func, void **);
  1410. };
  1411. #ifdef QT3_SUPPORT
  1412. typedef qint32 QCOORD;                                // coordinate type
  1413. enum {
  1414.     QCOORD_MAX =  2147483647,
  1415.     QCOORD_MIN = -QCOORD_MAX - 1
  1416. };
  1417. #endif
  1418. QT_END_NAMESPACE
  1419. QT_END_HEADER
  1420. #endif // QNAMESPACE_H