40 #ifndef __OPENFLUID_UIMARKET_MARKETCLIENTASSISTANT_HPP__ 41 #define __OPENFLUID_UIMARKET_MARKETCLIENTASSISTANT_HPP__ 48 #include <QPushButton> 49 #include <QScrollArea> 50 #include <QTreeWidget> 51 #include <QRadioButton> 53 #include <QTableWidget> 54 #include <QProgressBar> 56 #include <QStandardItemModel> 63 namespace openfluid {
namespace ui {
namespace market {
65 class MarketPackWidget;
76 QVBoxLayout m_SelectionPageBox;
81 QStandardItemModel m_RefURLComboBoxModel;
83 class URLComboColumns :
public QList<QStandardItem*>
89 QStandardItem* mp_Name;
90 QStandardItem* mp_URL;
93 mp_Name(
nullptr), mp_URL(
nullptr)
104 URLComboColumns m_URLColumns;
108 QTabWidget m_TypesTabs;
111 std::map<openfluid::market::PackageInfo::PackageType,QWidget*> mp_TabPage;
112 std::map<openfluid::market::PackageInfo::PackageType,QVBoxLayout*> mp_TabBox;
115 std::map<openfluid::market::PackageInfo::PackageType,QVBoxLayout*> mp_AvailTypesPacksBox;
116 std::map<openfluid::market::PackageInfo::PackageType,QScrollArea*> mp_AvailTypesPacksSWindow;
119 std::map<openfluid::market::PackageInfo::PackageType,QHBoxLayout*> mp_ActionButtonsBox;
120 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_SelectAllButton;
121 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_SelectNoneButton;
122 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_CommonBuildConfigButton;
125 std::map<openfluid::market::PackageInfo::PackageType,std::list<MarketPackWidget*> > mp_AvailPacksWidgets;
160 QVBoxLayout m_LicensesPageBox;
162 QLabel m_LicensesLabel;
165 QSplitter m_LicensesReviewPaned;
167 QTreeWidget *mp_LicensesTreeView;
169 QTextEdit *mp_LicensesTextView;
172 QScrollArea m_LicensesListSWindow;
173 QScrollArea m_LicensesReviewSWindow;
175 QRadioButton m_LicensesAcceptRadio;
176 QRadioButton m_LicensesDoNotRadio;
184 QVBoxLayout m_InstallPageBox;
186 QTableWidget *mp_InstallTable;
189 class InstallTableColumns
193 enum { ID, TYPE, FORMAT, STATUS};
195 QTableWidgetItem* mp_ID;
196 QTableWidgetItem* mp_Type;
197 QTableWidgetItem* mp_Format;
198 QTableWidgetItem* mp_Status;
200 InstallTableColumns() :
201 mp_ID(
nullptr), mp_Type(
nullptr), mp_Format(
nullptr), mp_Status(
nullptr)
208 mp_ID->setFlags(mp_ID->flags() ^ Qt::ItemIsEditable);
209 mp_Type->setFlags(mp_Type->flags() ^ Qt::ItemIsEditable);
210 mp_Format->setFlags(mp_Format->flags() ^ Qt::ItemIsEditable);
211 mp_Status->setFlags(mp_Status->flags() ^ Qt::ItemIsEditable);
215 InstallTableColumns m_InstallColumns;
218 QScrollArea m_InstallSWindow;
220 QProgressBar m_InstallProgressBar;
221 QPushButton m_ViewLogButton;
224 void setupSelectionPage();
225 void setupLicensesPage();
226 void setupDownloadPage();
232 void clearAvailPacksTreeview();
237 void updateAvailPacksTreeview();
242 void displayMarketplaceError();
245 void initializeLicencesTreeView();
247 void updateInstallTreeview();
251 int m_InstallationTimeout;
259 void onPrepare(
int Id);
261 void onURLComboChanged(
int RowNumber);
266 void onSelectAllClicked();
271 void onSelectNoneClicked();
276 void onCommonBuildConfigClicked();
286 void onPackageInstallModified();
289 void onLicenseRadioClicked(
bool Checked);
292 void onLicensesTreeviewChanged(QTreeWidgetItem *CurrentItem);
295 void onInstallTimeoutOnce();
297 void onViewLogClicked();
313 const bool Maj,
const bool Plural);
std::string WareID_t
Definition: TypeDefs.hpp:50
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: MarketClient.hpp:68
Definition: MarketWizardPage.hpp:49
Definition: MarketPackWidget.hpp:58
Definition: MarketClientAssistant.hpp:68
PackageType
Definition: MarketInfos.hpp:93
Definition: ApplicationException.hpp:47