UIMachineWindowNormal.h revision 9594b281c609c06ce1e08d06be2e74026b363062
b341a780162d809b187a8f35a10bba7642b69798vboxsync/** @file
b341a780162d809b187a8f35a10bba7642b69798vboxsync *
b341a780162d809b187a8f35a10bba7642b69798vboxsync * VBox frontends: Qt GUI ("VirtualBox"):
b341a780162d809b187a8f35a10bba7642b69798vboxsync * UIMachineWindowNormal class declaration
b341a780162d809b187a8f35a10bba7642b69798vboxsync */
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync/*
b341a780162d809b187a8f35a10bba7642b69798vboxsync * Copyright (C) 2010 Sun Microsystems, Inc.
b341a780162d809b187a8f35a10bba7642b69798vboxsync *
b341a780162d809b187a8f35a10bba7642b69798vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
b341a780162d809b187a8f35a10bba7642b69798vboxsync * available from http://www.virtualbox.org. This file is free software;
b341a780162d809b187a8f35a10bba7642b69798vboxsync * you can redistribute it and/or modify it under the terms of the GNU
b341a780162d809b187a8f35a10bba7642b69798vboxsync * General Public License (GPL) as published by the Free Software
b341a780162d809b187a8f35a10bba7642b69798vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
b341a780162d809b187a8f35a10bba7642b69798vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b341a780162d809b187a8f35a10bba7642b69798vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b341a780162d809b187a8f35a10bba7642b69798vboxsync *
b341a780162d809b187a8f35a10bba7642b69798vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
b341a780162d809b187a8f35a10bba7642b69798vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
b341a780162d809b187a8f35a10bba7642b69798vboxsync * additional information or have any questions.
b341a780162d809b187a8f35a10bba7642b69798vboxsync */
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync#ifndef __UIMachineWindowNormal_h__
b341a780162d809b187a8f35a10bba7642b69798vboxsync#define __UIMachineWindowNormal_h__
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync/* Global includes */
b341a780162d809b187a8f35a10bba7642b69798vboxsync#include <QLabel>
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync/* Local includes */
b341a780162d809b187a8f35a10bba7642b69798vboxsync#include "VBoxDefs.h"
b341a780162d809b187a8f35a10bba7642b69798vboxsync#include "QIWithRetranslateUI.h"
b341a780162d809b187a8f35a10bba7642b69798vboxsync#include "QIMainDialog.h"
b341a780162d809b187a8f35a10bba7642b69798vboxsync#include "UIMachineWindow.h"
b341a780162d809b187a8f35a10bba7642b69798vboxsync#ifdef Q_WS_X11
b341a780162d809b187a8f35a10bba7642b69798vboxsync# include <X11/Xlib.h>
b341a780162d809b187a8f35a10bba7642b69798vboxsync#endif
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync/* Local forwards */
b341a780162d809b187a8f35a10bba7642b69798vboxsyncclass UIIndicatorsPool;
b341a780162d809b187a8f35a10bba7642b69798vboxsyncclass QIStateIndicator;
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsyncclass UIMachineWindowNormal : public QIWithRetranslateUI<QIMainDialog>, public UIMachineWindow
b341a780162d809b187a8f35a10bba7642b69798vboxsync{
b341a780162d809b187a8f35a10bba7642b69798vboxsync Q_OBJECT;
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsyncprotected:
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync UIMachineWindowNormal(UIMachineLogic *pMachineLogic);
b341a780162d809b187a8f35a10bba7642b69798vboxsync virtual ~UIMachineWindowNormal();
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsyncprivate slots:
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltTryClose();
b341a780162d809b187a8f35a10bba7642b69798vboxsync
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltMachineStateChanged(KMachineState machineState);
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltMediumChange(const CMediumAttachment &attachment);
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltUSBControllerChange();
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltUSBDeviceStateChange();
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltNetworkAdapterChange();
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void sltSharedFolderChange();
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltPrepareMenuMachine();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltPrepareMenuDevices();
b341a780162d809b187a8f35a10bba7642b69798vboxsync#ifdef VBOX_WITH_DEBUGGER_GUI
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltPrepareMenuDebug();
b341a780162d809b187a8f35a10bba7642b69798vboxsync#endif
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltUpdateIndicators();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltShowIndicatorsContextMenu(QIStateIndicator *pIndicator, QContextMenuEvent *pEvent);
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltProcessGlobalSettingChange(const char *aPublicName, const char *aName);
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync void sltUpdateMouseState(int iState);
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsyncprivate:
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Translate routine: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync void retranslateUi();
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Update routines: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync void updateAppearanceOf(int aElement);
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Event handlers: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync bool event(QEvent *pEvent);
b341a780162d809b187a8f35a10bba7642b69798vboxsync#ifdef Q_WS_X11
b341a780162d809b187a8f35a10bba7642b69798vboxsync bool x11Event(XEvent *pEvent);
b341a780162d809b187a8f35a10bba7642b69798vboxsync#endif
9594b281c609c06ce1e08d06be2e74026b363062vboxsync void closeEvent(QCloseEvent *pEvent);
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Private getters: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync UIIndicatorsPool* indicatorsPool() { return m_pIndicatorsPool; }
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Prepare helpers: */
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void prepareConsoleConnections();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void prepareMenu();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void prepareStatusBar();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void prepareConnections();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void prepareMachineView();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void loadWindowSettings();
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Cleanup helpers: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync void saveWindowSettings();
b341a780162d809b187a8f35a10bba7642b69798vboxsync //void cleanupMachineView();
b341a780162d809b187a8f35a10bba7642b69798vboxsync //void cleanupConnections();
b341a780162d809b187a8f35a10bba7642b69798vboxsync void cleanupStatusBar();
b341a780162d809b187a8f35a10bba7642b69798vboxsync //void cleanupMenu();
085bc29163eb87e345acaae02789e4c233d51f3bvboxsync void cleanupConsoleConnections();
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Indicators pool: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync UIIndicatorsPool *m_pIndicatorsPool;
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Other QWidgets: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync QWidget *m_pCntHostkey;
b341a780162d809b187a8f35a10bba7642b69798vboxsync QLabel *m_pNameHostkey;
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Other QObjects: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync QTimer *m_pIdleTimer;
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Other members: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync QRect m_normalGeometry;
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync /* Factory support: */
b341a780162d809b187a8f35a10bba7642b69798vboxsync friend class UIMachineWindow;
b341a780162d809b187a8f35a10bba7642b69798vboxsync};
b341a780162d809b187a8f35a10bba7642b69798vboxsync
b341a780162d809b187a8f35a10bba7642b69798vboxsync#endif // __UIMachineWindowNormal_h__