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);
 
Definition: MarketClient.hpp:68
Definition: MarketWizardPage.hpp:49
Definition: MarketPackWidget.hpp:58
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: MarketClientAssistant.hpp:68
std::string WareID_t
Definition: TypeDefs.hpp:50
PackageType
Definition: MarketInfos.hpp:93