#pragma once /** * @RDE_HEADER@ * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-11-15 */ #include #include #include #include #include #include namespace Ui { class DevDialog; } namespace LtsPluginManager { class LtsPluginManager; } namespace LtsSession { class LtsSession; } namespace DeveloperTools { class AppWidget; class AppSessionWidget; class DevDialog : public QDialog { Q_OBJECT public: explicit DevDialog(QWidget *parent = nullptr); private: void addApp(LtsPluginManager::LtsPluginManager *app); Ui::DevDialog *m_ui; QTimer *m_t; QVector m_appWidgetList; QVBoxLayout *m_thisLayout; private slots: void slotRefresh(); void slotToggleAuto(bool checked); }; class AppSessionWidget : public QGroupBox { Q_OBJECT public: AppSessionWidget() : appSessionPtr(nullptr) , sessionId(new QLabel(this)) , session(new QLabel(this)) , name(new QLabel(this)) , blw(new QLabel(this)) , domainId(new QLabel(this)) , exerciseId(new QLabel(this)) , partId(new QLabel(this)) , key(new QLabel(this)) , payloads(new QLabel(this)) , hasBL(new QLabel(this)) , isBL(new QLabel(this)) , deletion(new QLabel(this)) , init(new QLabel(this)) {} void setDeleted(); void *appSessionPtr; QLabel *sessionId; QLabel *session; QLabel *name; QLabel *blw; QLabel *domainId; QLabel *exerciseId; QLabel *partId; QLabel *key; QLabel *payloads; QLabel *hasBL; QLabel *isBL; QLabel *deletion; QLabel *init; }; class AppWidget : public QGroupBox { Q_OBJECT public: AppWidget() : appPtr(nullptr) , thisLayout(new QVBoxLayout) , appName(new QLabel(this)) , appDescription(new QLabel(this)) , init(new QLabel(this)) , sessionCountLabel(new QLabel(this)) , sessionsWidget(new QGroupBox(this)) { sessionsWidget->setLayout(thisLayout); } void addSession(LtsSession::LtsSession *appSession); void checkSessions(const QMap &sessions); void setDeleted(); void *appPtr; QVBoxLayout *thisLayout; QLabel *appName; QLabel *appDescription; QLabel *init; QLabel *sessionCountLabel; QGroupBox *sessionsWidget; QVector appSessionList; }; } // namespace DeveloperTools