VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.h@ 48920

Last change on this file since 48920 was 48920, checked in by vboxsync, 11 years ago

FE/Qt: 6982: Runtime UI: Multi-screen auto-pilot feature: Sleep-mode support.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * UIMachineLogicSeamless class declaration
5 */
6
7/*
8 * Copyright (C) 2010-2013 Oracle Corporation
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
19#ifndef __UIMachineLogicSeamless_h__
20#define __UIMachineLogicSeamless_h__
21
22/* Local includes: */
23#include "UIMachineLogic.h"
24
25/* Forward declarations: */
26class UIMultiScreenLayout;
27
28/* Seamless machine logic implementation: */
29class UIMachineLogicSeamless : public UIMachineLogic
30{
31 Q_OBJECT;
32
33protected:
34
35 /* Constructor/destructor: */
36 UIMachineLogicSeamless(QObject *pParent, UISession *pSession);
37 ~UIMachineLogicSeamless();
38
39 /* Check if this logic is available: */
40 bool checkAvailability();
41
42 /* Multi-screen stuff: */
43 int hostScreenForGuestScreen(int iScreenId) const;
44 bool hasHostScreenForGuestScreen(int iScreenId) const;
45
46 /* API: 3D overlay visibility stuff: */
47 void notifyAbout3DOverlayVisibilityChange(bool fVisible);
48
49private slots:
50
51 /* Handler: Console callback stuff: */
52 void sltMachineStateChanged();
53
54 void sltGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
55 void sltHostScreenCountChanged(int cScreenCount);
56
57private:
58
59 /* Prepare helpers: */
60 void prepareActionGroups();
61 void prepareMachineWindows();
62 void prepareMenu();
63
64 /* Cleanup helpers: */
65 //void cleanupMenu() {}
66 void cleanupMachineWindows();
67 void cleanupActionGroups();
68
69 /* Variables: */
70 UIMultiScreenLayout *m_pScreenLayout;
71
72 /* Friend classes: */
73 friend class UIMachineLogic;
74 friend class UIMachineWindowSeamless;
75 friend class UIMachineViewSeamless;
76};
77
78#endif // __UIMachineLogicSeamless_h__
79
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