8d8dfc00d014a62894327907a04f148b00a08529vboxsync/** @file
ca87590cb28f22bccab88dc2f87c5ce2682b1ba1vboxsync * VBox Qt GUI - UIWizardNewVMPageExpert class declaration.
8d8dfc00d014a62894327907a04f148b00a08529vboxsync */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync/*
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * Copyright (C) 2006-2012 Oracle Corporation
8d8dfc00d014a62894327907a04f148b00a08529vboxsync *
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * available from http://www.virtualbox.org. This file is free software;
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * you can redistribute it and/or modify it under the terms of the GNU
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * General Public License (GPL) as published by the Free Software
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
8d8dfc00d014a62894327907a04f148b00a08529vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
8d8dfc00d014a62894327907a04f148b00a08529vboxsync */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync#ifndef __UIWizardNewVMPageExpert_h__
8d8dfc00d014a62894327907a04f148b00a08529vboxsync#define __UIWizardNewVMPageExpert_h__
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync/* Local includes: */
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync#include "UIWizardNewVMPageBasic1.h"
8d8dfc00d014a62894327907a04f148b00a08529vboxsync#include "UIWizardNewVMPageBasic2.h"
8d8dfc00d014a62894327907a04f148b00a08529vboxsync#include "UIWizardNewVMPageBasic3.h"
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync/* Forward declarations: */
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsyncclass QGroupBox;
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync/* Expert page of the New Virtual Machine wizard: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsyncclass UIWizardNewVMPageExpert : public UIWizardPage,
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync public UIWizardNewVMPage1,
8d8dfc00d014a62894327907a04f148b00a08529vboxsync public UIWizardNewVMPage2,
b3a643fa111c6f3a826cf2e84e0806e4d19e3ba9vboxsync public UIWizardNewVMPage3
8d8dfc00d014a62894327907a04f148b00a08529vboxsync{
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_OBJECT;
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_PROPERTY(QString machineFolder READ machineFolder WRITE setMachineFolder);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_PROPERTY(QString machineBaseName READ machineBaseName WRITE setMachineBaseName);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_PROPERTY(CMedium virtualDisk READ virtualDisk WRITE setVirtualDisk);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_PROPERTY(QString virtualDiskId READ virtualDiskId WRITE setVirtualDiskId);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync Q_PROPERTY(QString virtualDiskLocation READ virtualDiskLocation WRITE setVirtualDiskLocation);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsyncpublic:
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Constructor: */
1f37cfc44ea630e28fd964240a80b6255ed6d64dvboxsync UIWizardNewVMPageExpert(const QString &strGroup);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsyncprotected:
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
a155a6f42e0cacc4b1586c8616c1fe35b8c6a326vboxsync /* Wrapper to access 'wizard' from base part: */
a155a6f42e0cacc4b1586c8616c1fe35b8c6a326vboxsync UIWizard* wizardImp() { return wizard(); }
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Wrapper to access 'this' from base part: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync UIWizardPage* thisImp() { return this; }
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Wrapper to access 'wizard-field' from base part: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync QVariant fieldImp(const QString &strFieldName) const { return UIWizardPage::field(strFieldName); }
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsyncprivate slots:
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Handlers: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void sltNameChanged(const QString &strNewText);
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void sltOsTypeChanged();
c6d3207fc42ec44a5c8256687f406bf2f20bc33evboxsync void sltRamSliderValueChanged();
c6d3207fc42ec44a5c8256687f406bf2f20bc33evboxsync void sltRamEditorValueChanged();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void sltVirtualDiskSourceChanged();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void sltGetWithFileOpenDialog();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsyncprivate:
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Translation stuff: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void retranslateUi();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Prepare stuff: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void initializePage();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync void cleanupPage();
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync /* Validation stuff: */
8d8dfc00d014a62894327907a04f148b00a08529vboxsync bool isComplete() const;
8d8dfc00d014a62894327907a04f148b00a08529vboxsync bool validatePage();
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync /* Widgets: */
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync QGroupBox *m_pNameAndSystemCnt;
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync QGroupBox *m_pMemoryCnt;
5d74c7672f6c2d1f2ab95efcb6713e97ca361113vboxsync QGroupBox *m_pDiskCnt;
8d8dfc00d014a62894327907a04f148b00a08529vboxsync};
8d8dfc00d014a62894327907a04f148b00a08529vboxsync
8d8dfc00d014a62894327907a04f148b00a08529vboxsync#endif // __UIWizardNewVMPageExpert_h__
8d8dfc00d014a62894327907a04f148b00a08529vboxsync