VirtualBox

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

Last change on this file since 20139 was 20139, checked in by vboxsync, 16 years ago

GUI: added GUI/RenderMode extradata item to be able to overwrite the default render mode (useful mainly on Linux hosts)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 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 /** Media type. */
72 enum MediaType
73 {
74 MediaType_Invalid,
75 MediaType_HardDisk,
76 MediaType_DVD,
77 MediaType_Floppy,
78 MediaType_All
79 };
80
81 /** VM display rendering mode. */
82 enum RenderMode
83 {
84 InvalidRenderMode, TimerMode, QImageMode, SDLMode, DDRAWMode, Quartz2DMode
85 };
86
87 /** Additional Qt event types. */
88 enum
89 {
90 AsyncEventType = QEvent::User + 100,
91 ResizeEventType,
92 RepaintEventType,
93 SetRegionEventType,
94 MouseCapabilityEventType,
95 MousePointerChangeEventType,
96 MachineStateChangeEventType,
97 AdditionsStateChangeEventType,
98 MediaDriveChangeEventType,
99 MachineDataChangeEventType,
100 MachineRegisteredEventType,
101 SessionStateChangeEventType,
102 SnapshotEventType,
103 CanShowRegDlgEventType,
104 CanShowUpdDlgEventType,
105 NetworkAdapterChangeEventType,
106 USBCtlStateChangeEventType,
107 USBDeviceStateChangeEventType,
108 SharedFolderChangeEventType,
109 RuntimeErrorEventType,
110 ModifierKeyChangeEventType,
111 MediaEnumEventType,
112#if defined (Q_WS_WIN)
113 ShellExecuteEventType,
114#endif
115 ActivateMenuEventType,
116#if defined (Q_WS_MAC)
117 ShowWindowEventType,
118#endif
119 ChangeGUILanguageEventType,
120#if defined (VBOX_GUI_WITH_SYSTRAY)
121 CanShowTrayIconEventType,
122 ShowTrayIconEventType,
123 TrayIconChangeEventType,
124 MainWindowCountChangeEventType,
125#endif
126 AddVDMUrlsEventType,
127 ChangeDockIconUpdateEventType
128#ifdef VBOX_WITH_VIDEOHWACCEL
129 ,
130 VHWACommandProcessType
131#endif
132 };
133
134 /** Size formatting types. */
135 enum FormatSize
136 {
137 FormatSize_Round,
138 FormatSize_RoundDown,
139 FormatSize_RoundUp
140 };
141
142 static const char* GUI_LastWindowPosition;
143 static const char* GUI_LastWindowPosition_Max;
144 static const char* GUI_Fullscreen;
145 static const char* GUI_Seamless;
146 static const char* GUI_AutoresizeGuest;
147 static const char* GUI_FirstRun;
148 static const char* GUI_SaveMountedAtRuntime;
149 static const char* GUI_LastCloseAction;
150 static const char* GUI_SuppressMessages;
151 static const char* GUI_PermanentSharedFoldersAtRuntime;
152#ifdef Q_WS_X11
153 static const char* GUI_LicenseKey;
154#endif
155 static const char* GUI_RegistrationDlgWinID;
156 static const char* GUI_RegistrationData;
157 static const char* GUI_UpdateDlgWinID;
158 static const char* GUI_UpdateDate;
159 static const char* GUI_UpdateCheckCount;
160 static const char* GUI_LastVMSelected;
161 static const char* GUI_InfoDlgState;
162 static const char* GUI_RenderMode;
163#ifdef VBOX_GUI_WITH_SYSTRAY
164 static const char* GUI_TrayIconWinID;
165 static const char* GUI_MainWindowCount;
166#endif
167#ifdef Q_WS_MAC
168 static const char* GUI_RealtimeDockIconUpdateEnabled;
169#endif /* Q_WS_MAC */
170 static const char* GUI_PassCAD;
171 static const char* GUI_Export_StorageType;
172 static const char* GUI_Export_Username;
173 static const char* GUI_Export_Hostname;
174 static const char* GUI_Export_Bucket;
175};
176
177#define MAC_LEOPARD_STYLE defined(Q_WS_MAC) && (QT_VERSION >= 0x040300)
178
179#endif // __VBoxDefs_h__
180
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