VBoxConsoleView.h revision c7a97a05c12bda5a9a857d5d4d910d929fe9709e
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * VBox frontends: Qt GUI ("VirtualBox"):
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * VBoxConsoleView class declaration
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * Copyright (C) 2006 InnoTek Systemberatung GmbH
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * This file is part of VirtualBox Open Source Edition (OSE), as
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * available from http://www.virtualbox.org. This file is free software;
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * you can redistribute it and/or modify it under the terms of the GNU
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * General Public License as published by the Free Software Foundation,
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * distribution. VirtualBox OSE is distributed in the hope that it will
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * be useful, but WITHOUT ANY WARRANTY of any kind.
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * If you received this file as part of a commercial VirtualBox
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * distribution, then only the terms of your commercial VirtualBox
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri * license agreement apply instead of the previous paragraph.
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri QWidget *parent = 0, const char *name = 0, WFlags f = 0);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool isMouseAbsolute() const { return mouse_absolute; }
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri void machineStateChanged (CEnums::MachineState state);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool winLowKeyboardEvent (UINT msg, const KBDLLHOOKSTRUCT &event);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri // flags for keyEvent()
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool mouseEvent (int aType, const QPoint &aPos, const QPoint &aGlobalPos,
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri emit mouseStateChanged ((mouse_captured ? MouseCaptured : 0) |
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri // IConsoleCallback event handlers
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri void captureKbd (bool capture, bool emit_signal = true);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri void captureMouse (bool capture, bool emit_signal = true);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool processHotKey (const QKeySequence &key, QMenuData *data);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri void updateModifiers (bool fNumLock, bool fCapsLock, bool fScrollLock);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri void releaseAllKeysPressed (bool release_hostkey = true);
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool isPaused() { return last_state == CEnums::Paused; }
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri bool isRunning() { return last_state == CEnums::Running; }
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri enum { IsKeyPressed = 0x01, IsExtKeyPressed = 0x02, IsKbdCaptured = 0x80 };
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri /** kbd_captured value during the the last host key press or release */
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri#if defined (Q_WS_WIN32)
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri static LRESULT CALLBACK lowLevelKeyboardProc (int nCode,
b86efd96f8acd85ddaa930a2f0c1d664237e4aafagiri#endif // __VBoxConsoleView_h__