dfd576109cb676448a2c4574150060aa3d8626bavboxsync/** @file
ca87590cb28f22bccab88dc2f87c5ce2682b1ba1vboxsync * VBox Qt GUI - UIWizardNewVM class declaration.
dfd576109cb676448a2c4574150060aa3d8626bavboxsync */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync/*
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * Copyright (C) 2006-2012 Oracle Corporation
dfd576109cb676448a2c4574150060aa3d8626bavboxsync *
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * available from http://www.virtualbox.org. This file is free software;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * you can redistribute it and/or modify it under the terms of the GNU
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * General Public License (GPL) as published by the Free Software
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
dfd576109cb676448a2c4574150060aa3d8626bavboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
dfd576109cb676448a2c4574150060aa3d8626bavboxsync */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync#ifndef __UIWizardNewVM_h__
dfd576109cb676448a2c4574150060aa3d8626bavboxsync#define __UIWizardNewVM_h__
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync/* GUI includes: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync#include "UIWizard.h"
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync/* COM includes: */
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync#include "COMEnums.h"
8bf8c6b1914c9e7e60b1547888400668f1774497vboxsync#include "CMachine.h"
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync/* New Virtual Machine wizard: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsyncclass UIWizardNewVM : public UIWizard
dfd576109cb676448a2c4574150060aa3d8626bavboxsync{
dfd576109cb676448a2c4574150060aa3d8626bavboxsync Q_OBJECT;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsyncpublic:
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Page IDs: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync enum
dfd576109cb676448a2c4574150060aa3d8626bavboxsync {
dfd576109cb676448a2c4574150060aa3d8626bavboxsync Page1,
dfd576109cb676448a2c4574150060aa3d8626bavboxsync Page2,
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync Page3
dfd576109cb676448a2c4574150060aa3d8626bavboxsync };
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Page IDs: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync enum
8d8dfc00d014a62894327907a04f148b00a08529vboxsync {
8d8dfc00d014a62894327907a04f148b00a08529vboxsync PageExpert
8d8dfc00d014a62894327907a04f148b00a08529vboxsync };
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Constructor: */
1f37cfc44ea630e28fd964240a80b6255ed6d64dvboxsync UIWizardNewVM(QWidget *pParent, const QString &strGroup = QString());
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsyncprotected:
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Create VM stuff: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync bool createVM();
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Who will be able to create virtual-machine: */
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync friend class UIWizardNewVMPageBasic3;
8d8dfc00d014a62894327907a04f148b00a08529vboxsync friend class UIWizardNewVMPageExpert;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsyncprivate:
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Translation stuff: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync void retranslateUi();
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Pages related stuff: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void prepare();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Helping stuff: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync QString getNextControllerName(KStorageBus type);
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync /* Variables: */
dfd576109cb676448a2c4574150060aa3d8626bavboxsync CMachine m_machine;
1f37cfc44ea630e28fd964240a80b6255ed6d64dvboxsync QString m_strGroup;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync int m_iIDECount;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync int m_iSATACount;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync int m_iSCSICount;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync int m_iFloppyCount;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync int m_iSASCount;
dfd576109cb676448a2c4574150060aa3d8626bavboxsync};
dfd576109cb676448a2c4574150060aa3d8626bavboxsync
dfd576109cb676448a2c4574150060aa3d8626bavboxsync#endif // __UIWizardNewVM_h__
dfd576109cb676448a2c4574150060aa3d8626bavboxsync