VirtualBox

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

Last change on this file since 44848 was 44848, checked in by vboxsync, 12 years ago

FE/Qt: Multi-screen support: Rebuild multi-screen layout on guest-monitor-change event.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 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
45private slots:
46
47 void sltGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo);
48
49private:
50
51 /* Prepare helpers: */
52 void prepareActionGroups();
53 void prepareMachineWindows();
54
55 /* Cleanup helpers: */
56 void cleanupMachineWindows();
57 void cleanupActionGroups();
58
59 /* Variables: */
60 UIMultiScreenLayout *m_pScreenLayout;
61
62 /* Friend classes: */
63 friend class UIMachineLogic;
64 friend class UIMachineWindowSeamless;
65 friend class UIMachineViewSeamless;
66};
67
68#endif // __UIMachineLogicSeamless_h__
69
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