VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/include/VBoxDefs.h@ 23373

Last change on this file since 23373 was 23223, checked in by vboxsync, 15 years ago

API: big medium handling change and lots of assorted other cleanups and fixes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.3 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * Header with common definitions and global functions
5 */
6
7/*
8 * Copyright (C) 2006-2008 Sun Microsystems, Inc.
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19 * Clara, CA 95054 USA or visit http://www.sun.com if you need
20 * additional information or have any questions.
21 */
22
23#ifndef __VBoxDefs_h__
24#define __VBoxDefs_h__
25
26/* Qt includes */
27#include <QEvent>
28#include <QUuid>
29
30#define LOG_GROUP LOG_GROUP_GUI
31#include <VBox/log.h>
32#include <iprt/assert.h>
33#include <iprt/alloc.h>
34
35#ifdef DEBUG
36
37#define AssertWrapperOk(w) \
38 AssertMsg (w.isOk(), (#w " is not okay (RC=0x%08X)", w.lastRC()))
39#define AssertWrapperOkMsg(w, m) \
40 AssertMsg (w.isOk(), (#w ": " m " (RC=0x%08X)", w.lastRC()))
41
42#else /* #ifdef DEBUG */
43
44#define AssertWrapperOk(w) do {} while (0)
45#define AssertWrapperOkMsg(w, m) do {} while (0)
46
47#endif /* #ifdef DEBUG */
48
49#ifndef SIZEOF_ARRAY
50#define SIZEOF_ARRAY(a) (sizeof(a) / sizeof(a[0]))
51#endif
52
53#if defined (VBOX_GUI_USE_QIMAGE) || \
54 defined (VBOX_GUI_USE_SDL) || \
55 defined (VBOX_GUI_USE_DDRAW)
56 #if !defined (VBOX_GUI_USE_EXT_FRAMEBUFFER)
57 #define VBOX_GUI_USE_EXT_FRAMEBUFFER
58 #endif
59#else
60 #if defined (VBOX_GUI_USE_EXT_FRAMEBUFFER)
61 #undef VBOX_GUI_USE_EXT_FRAMEBUFFER
62 #endif
63#endif
64
65/** Null UUID constant to be used as a default value for reference parameters */
66extern const QUuid QUuid_null;
67
68/** Common namespace for all enums */
69struct VBoxDefs
70{
71 /** Medium type. */
72 enum MediumType
73 {
74 MediumType_Invalid,
75 MediumType_HardDisk,
76 MediumType_DVD,
77 MediumType_Floppy,
78 MediumType_All
79 };
80
81 /** VM display rendering mode. */
82 enum RenderMode
83 {
84 InvalidRenderMode, TimerMode, QImageMode, SDLMode, DDRAWMode, Quartz2DMode
85#ifdef VBOX_GUI_USE_QGL
86 , QGLMode
87#endif
88 };
89
90 /** Additional Qt event types. */
91 enum
92 {
93 AsyncEventType = QEvent::User + 100,
94 ResizeEventType,
95 RepaintEventType,
96 SetRegionEventType,
97 MouseCapabilityEventType,
98 MousePointerChangeEventType,
99 MachineStateChangeEventType,
100 AdditionsStateChangeEventType,
101 MediaDriveChangeEventType,
102 MachineDataChangeEventType,
103 MachineRegisteredEventType,
104 SessionStateChangeEventType,
105 SnapshotEventType,
106 CanShowRegDlgEventType,
107 CanShowUpdDlgEventType,
108 NetworkAdapterChangeEventType,
109 USBCtlStateChangeEventType,
110 USBDeviceStateChangeEventType,
111 SharedFolderChangeEventType,
112 RuntimeErrorEventType,
113 ModifierKeyChangeEventType,
114 MediaEnumEventType,
115#if defined (Q_WS_WIN)
116 ShellExecuteEventType,
117#endif
118 ActivateMenuEventType,
119#if defined (Q_WS_MAC)
120 ShowWindowEventType,
121#endif
122 ChangeGUILanguageEventType,
123#if defined (VBOX_GUI_WITH_SYSTRAY)
124 CanShowTrayIconEventType,
125 ShowTrayIconEventType,
126 TrayIconChangeEventType,
127 MainWindowCountChangeEventType,
128#endif
129 AddVDMUrlsEventType,
130 ChangeDockIconUpdateEventType
131#ifdef VBOX_GUI_USE_QGL
132 ,
133 VHWACommandProcessType
134#endif
135 };
136
137 /** Size formatting types. */
138 enum FormatSize
139 {
140 FormatSize_Round,
141 FormatSize_RoundDown,
142 FormatSize_RoundUp
143 };
144
145 static const char* GUI_LastWindowPosition;
146 static const char* GUI_LastWindowPosition_Max;
147 static const char* GUI_Fullscreen;
148 static const char* GUI_Seamless;
149 static const char* GUI_AutoresizeGuest;
150 static const char* GUI_FirstRun;
151 static const char* GUI_SaveMountedAtRuntime;
152 static const char* GUI_ShowMiniToolBar;
153 static const char* GUI_MiniToolBarAlignment;
154 static const char* GUI_MiniToolBarAutoHide;
155 static const char* GUI_LastCloseAction;
156 static const char* GUI_SuppressMessages;
157 static const char* GUI_PermanentSharedFoldersAtRuntime;
158#ifdef Q_WS_X11
159 static const char* GUI_LicenseKey;
160#endif
161 static const char* GUI_RegistrationDlgWinID;
162 static const char* GUI_RegistrationData;
163 static const char* GUI_UpdateDlgWinID;
164 static const char* GUI_UpdateDate;
165 static const char* GUI_UpdateCheckCount;
166 static const char* GUI_LastVMSelected;
167 static const char* GUI_InfoDlgState;
168 static const char* GUI_RenderMode;
169#ifdef VBOX_GUI_WITH_SYSTRAY
170 static const char* GUI_TrayIconWinID;
171 static const char* GUI_MainWindowCount;
172#endif
173#ifdef Q_WS_MAC
174 static const char* GUI_RealtimeDockIconUpdateEnabled;
175#endif /* Q_WS_MAC */
176 static const char* GUI_PassCAD;
177 static const char* GUI_Export_StorageType;
178 static const char* GUI_Export_Username;
179 static const char* GUI_Export_Hostname;
180 static const char* GUI_Export_Bucket;
181};
182
183#define MAC_LEOPARD_STYLE defined(Q_WS_MAC) && (QT_VERSION >= 0x040300)
184
185#endif // __VBoxDefs_h__
186
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette