VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageExpert.h@ 104158

Last change on this file since 104158 was 103982, checked in by vboxsync, 10 months ago

FE/Qt: bugref:10624. Replacing override and final keywords with RT_OVERRIDE and RT_FINAL defines.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.7 KB
Line 
1/* $Id: UIWizardImportAppPageExpert.h 103982 2024-03-21 11:43:53Z vboxsync $ */
2/** @file
3 * VBox Qt GUI - UIWizardImportAppPageExpert class declaration.
4 */
5
6/*
7 * Copyright (C) 2009-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef FEQT_INCLUDED_SRC_wizards_importappliance_UIWizardImportAppPageExpert_h
29#define FEQT_INCLUDED_SRC_wizards_importappliance_UIWizardImportAppPageExpert_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34/* GUI includes: */
35#include "UINativeWizardPage.h"
36
37/* Forward declarations: */
38class QCheckBox;
39class QGridLayout;
40class QLabel;
41class QListWidget;
42class QStackedWidget;
43class QIComboBox;
44class QIToolButton;
45class UIApplianceImportEditorWidget;
46class UIEmptyFilePathSelector;
47class UIFilePathSelector;
48class UIFormEditorWidget;
49class UIToolBox;
50class UIWizardImportApp;
51
52/** UINativeWizardPage extension for expert page of the Import Appliance wizard,
53 * based on UIWizardImportAppSource & UIWizardImportAppSettings namespace functions. */
54class UIWizardImportAppPageExpert : public UINativeWizardPage
55{
56 Q_OBJECT;
57
58public:
59
60 /** Constructs expert page.
61 * @param fImportFromOCIByDefault Brings whether we should propose import from OCI by default.
62 * @param strFileName Brings appliance file name. */
63 UIWizardImportAppPageExpert(bool fImportFromOCIByDefault, const QString &strFileName);
64
65protected:
66
67 /** Returns wizard this page belongs to. */
68 UIWizardImportApp *wizard() const;
69
70 /** Performs page initialization. */
71 virtual void initializePage() RT_OVERRIDE RT_FINAL;
72
73 /** Returns whether page is complete. */
74 virtual bool isComplete() const RT_OVERRIDE RT_FINAL;
75
76 /** Performs page validation. */
77 virtual bool validatePage() RT_OVERRIDE RT_FINAL;
78
79private slots:
80
81 /** Inits page async way. */
82 void sltAsyncInit();
83
84 /** Handles source combo change. */
85 void sltHandleSourceComboChange();
86
87 /** Handles imported file selector change. */
88 void sltHandleImportedFileSelectorChange();
89 /** Handles profile combo change. */
90 void sltHandleProfileComboChange();
91 /** Handles profile tool-button click. */
92 void sltHandleProfileButtonClick();
93 /** Handles instance list change. */
94 void sltHandleInstanceListChange();
95
96 /** Handles import path editor change. */
97 void sltHandleImportPathEditorChange();
98 /** Handles MAC address import policy combo change. */
99 void sltHandleMACImportPolicyComboChange();
100 /** Handles import HDs as VDI check-box change. */
101 void sltHandleImportHDsAsVDICheckBoxChange();
102 /** Handles translation event. */
103 virtual void sltRetranslateUI() RT_OVERRIDE RT_FINAL;
104
105private:
106
107 /** Holds whether default source should be Import from OCI. */
108 bool m_fImportFromOCIByDefault;
109 /** Handles the appliance file name. */
110 QString m_strFileName;
111
112 /** Holds the cached source. */
113 QString m_strSource;
114 /** Holds the cached profile name. */
115 QString m_strProfileName;
116
117 /** Holds the tool-box instance. */
118 UIToolBox *m_pToolBox;
119
120 /** Holds the source layout instance. */
121 QGridLayout *m_pSourceLayout;
122 /** Holds the source type label instance. */
123 QLabel *m_pSourceLabel;
124 /** Holds the source type combo-box instance. */
125 QIComboBox *m_pSourceComboBox;
126
127 /** Holds the settings widget 1 instance. */
128 QStackedWidget *m_pSettingsWidget1;
129
130 /** Holds the local container layout instance. */
131 QGridLayout *m_pLocalContainerLayout;
132 /** Holds the file selector instance. */
133 UIEmptyFilePathSelector *m_pFileSelector;
134
135 /** Holds the cloud container layout instance. */
136 QGridLayout *m_pCloudContainerLayout;
137 /** Holds the profile combo-box instance. */
138 QIComboBox *m_pProfileComboBox;
139 /** Holds the profile management tool-button instance. */
140 QIToolButton *m_pProfileToolButton;
141 /** Holds the profile instance list instance. */
142 QListWidget *m_pProfileInstanceList;
143
144 /** Holds the settings widget 2 instance. */
145 QStackedWidget *m_pSettingsWidget2;
146
147 /** Holds the appliance widget instance. */
148 UIApplianceImportEditorWidget *m_pApplianceWidget;
149 /** Holds the import file-path label instance. */
150 QLabel *m_pLabelImportFilePath;
151 /** Holds the import file-path editor instance. */
152 UIFilePathSelector *m_pEditorImportFilePath;
153 /** Holds the MAC address label instance. */
154 QLabel *m_pLabelMACImportPolicy;
155 /** Holds the MAC address combo instance. */
156 QIComboBox *m_pComboMACImportPolicy;
157 /** Holds the additional options label instance. */
158 QLabel *m_pLabelAdditionalOptions;
159 /** Holds the 'import HDs as VDI' checkbox instance. */
160 QCheckBox *m_pCheckboxImportHDsAsVDI;
161 /** Holds the signature/certificate info label instance. */
162 QLabel *m_pCertLabel;
163
164 /** Holds the Form Editor widget instance. */
165 UIFormEditorWidget *m_pFormEditor;
166};
167
168#endif /* !FEQT_INCLUDED_SRC_wizards_importappliance_UIWizardImportAppPageExpert_h */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette