text: /* $Id: UIWizardNewVDPageExpert.h $ */
  /** @file
   * VBox Qt GUI - UIWizardNewVDPageExpert class declaration.
   */
  
  /*
   * Copyright (C) 2006-2017 Oracle Corporation
   *
   * This file is part of VirtualBox Open Source Edition (OSE), as
   * available from http://www.virtualbox.org. This file is free software;
   * you can redistribute it and/or modify it under the terms of the GNU
   * General Public License (GPL) as published by the Free Software
   * Foundation, in version 2 as it comes in the "COPYING" file of the
   * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
   * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
   */
  
  #ifndef __UIWizardNewVDPageExpert_h__
  #define __UIWizardNewVDPageExpert_h__
  
  /* Local includes: */
  #include "UIWizardNewVDPageBasic1.h"
  #include "UIWizardNewVDPageBasic2.h"
  #include "UIWizardNewVDPageBasic3.h"
  
  /* Forward declarations: */
  class QGroupBox;
  
  /* Expert page of the New Virtual Hard Drive wizard: */
  class UIWizardNewVDPageExpert : public UIWizardPage,
                                  public UIWizardNewVDPage1,
                                  public UIWizardNewVDPage2,
                                  public UIWizardNewVDPage3
  {
      Q_OBJECT;
      Q_PROPERTY(CMediumFormat mediumFormat READ mediumFormat WRITE setMediumFormat);
      Q_PROPERTY(qulonglong mediumVariant READ mediumVariant WRITE setMediumVariant);
      Q_PROPERTY(QString mediumPath READ mediumPath);
      Q_PROPERTY(qulonglong mediumSize READ mediumSize WRITE setMediumSize);
  
  public:
  
      /* Constructor: */
      UIWizardNewVDPageExpert(const QString &strDefaultName, const QString &strDefaultPath, qulonglong uDefaultSize);
  
  protected:
  
      /* Wrapper to access 'this' from base part: */
      UIWizardPage* thisImp() { return this; }
      /* Wrapper to access 'wizard-field' from base part: */
      QVariant fieldImp(const QString &strFieldName) const { return UIWizardPage::field(strFieldName); }
  
  private slots:
  
      /* Medium format stuff: */
      void sltMediumFormatChanged();
  
      /* Location editors stuff: */
      void sltSelectLocationButtonClicked();
  
  private:
  
      /* Translation stuff: */
      void retranslateUi();
  
      /* Prepare stuff: */
      void initializePage();
  
      /* Validation stuff: */
      bool isComplete() const;
      bool validatePage();
  
      /* Widgets: */
      QGroupBox *m_pFormatCnt;
      QGroupBox *m_pVariantCnt;
      QGroupBox *m_pLocationCnt;
      QGroupBox *m_pSizeCnt;
  };
  
  #endif // __UIWizardNewVDPageExpert_h__
  
  