40 #ifndef __OPENFLUID_UIMARKET_MARKETCLIENTASSISTANT_HPP__ 41 #define __OPENFLUID_UIMARKET_MARKETCLIENTASSISTANT_HPP__ 49 #include <QPushButton> 50 #include <QScrollArea> 51 #include <QTreeWidget> 52 #include <QRadioButton> 54 #include <QTableWidget> 55 #include <QProgressBar> 57 #include <QStandardItemModel> 64 namespace openfluid {
namespace ui {
namespace market {
66 class MarketPackWidget;
77 QVBoxLayout m_SelectionPageBox;
82 QStandardItemModel m_RefURLComboBoxModel;
84 class URLComboColumns :
public QList<QStandardItem*>
90 QStandardItem* mp_Name;
91 QStandardItem* mp_URL;
94 mp_Name(
nullptr), mp_URL(
nullptr)
105 URLComboColumns m_URLColumns;
109 QTabWidget m_TypesTabs;
112 std::map<openfluid::market::PackageInfo::PackageType,QWidget*> mp_TabPage;
113 std::map<openfluid::market::PackageInfo::PackageType,QVBoxLayout*> mp_TabBox;
116 std::map<openfluid::market::PackageInfo::PackageType,QVBoxLayout*> mp_AvailTypesPacksBox;
117 std::map<openfluid::market::PackageInfo::PackageType,QScrollArea*> mp_AvailTypesPacksSWindow;
120 std::map<openfluid::market::PackageInfo::PackageType,QHBoxLayout*> mp_ActionButtonsBox;
121 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_SelectAllButton;
122 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_SelectNoneButton;
123 std::map<openfluid::market::PackageInfo::PackageType,QPushButton*> mp_CommonBuildConfigButton;
126 std::map<openfluid::market::PackageInfo::PackageType,std::list<MarketPackWidget*> > mp_AvailPacksWidgets;
161 QVBoxLayout m_LicensesPageBox;
163 QLabel m_LicensesLabel;
166 QSplitter m_LicensesReviewPaned;
168 QTreeWidget *mp_LicensesTreeView;
170 QTextEdit *mp_LicensesTextView;
173 QScrollArea m_LicensesListSWindow;
174 QScrollArea m_LicensesReviewSWindow;
176 QRadioButton m_LicensesAcceptRadio;
177 QRadioButton m_LicensesDoNotRadio;
183 QVBoxLayout m_InstallPageBox;
185 QTableWidget *mp_InstallTable;
188 class InstallTableColumns
192 enum { ID, TYPE, FORMAT, STATUS};
194 QTableWidgetItem* mp_ID;
195 QTableWidgetItem* mp_Type;
196 QTableWidgetItem* mp_Format;
197 QTableWidgetItem* mp_Status;
199 InstallTableColumns() :
200 mp_ID(
nullptr), mp_Type(
nullptr), mp_Format(
nullptr), mp_Status(
nullptr)
207 mp_ID->setFlags(mp_ID->flags() ^ Qt::ItemIsEditable);
208 mp_Type->setFlags(mp_Type->flags() ^ Qt::ItemIsEditable);
209 mp_Format->setFlags(mp_Format->flags() ^ Qt::ItemIsEditable);
210 mp_Status->setFlags(mp_Status->flags() ^ Qt::ItemIsEditable);
214 InstallTableColumns m_InstallColumns;
217 QScrollArea m_InstallSWindow;
219 QProgressBar m_InstallProgressBar;
220 QPushButton m_ViewLogButton;
223 void setupSelectionPage();
224 void setupLicensesPage();
225 void setupDownloadPage();
231 void clearAvailPacksTreeview();
236 void updateAvailPacksTreeview();
241 void displayMarketplaceError();
244 void initializeLicencesTreeView();
246 void updateInstallTreeview();
250 int m_InstallationTimeout;
258 void onPrepare(
int Id);
260 void onURLComboChanged(
int RowNumber);
265 void onSelectAllClicked();
270 void onSelectNoneClicked();
275 void onCommonBuildConfigClicked();
285 void onPackageInstallModified();
288 void onLicenseRadioClicked(
bool Checked);
291 void onLicensesTreeviewChanged(QTreeWidgetItem *CurrentItem);
294 void onInstallTimeoutOnce();
296 void onViewLogClicked();
312 const bool Maj,
const bool Plural);
Definition: MarketClient.hpp:69
std::string WareID_t
Definition: TypeDefs.hpp:49
Definition: MarketWizardPage.hpp:51
Definition: MarketPackWidget.hpp:56
PackageType
Definition: MarketInfos.hpp:91
Definition: ApplicationException.hpp:47
Definition: MarketClientAssistant.hpp:69
#define OPENFLUID_API
Definition: dllexport.hpp:86