138 lines
2.4 KiB
C++
Executable File
138 lines
2.4 KiB
C++
Executable File
#pragma once
|
|
|
|
/**
|
|
* @RDE_HEADER@
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*
|
|
* Created by Mike Wille, SLSE, 2017-11-15
|
|
*/
|
|
|
|
#include <QDialog>
|
|
#include <QWidget>
|
|
#include <QGroupBox>
|
|
#include <QLabel>
|
|
#include <QVBoxLayout>
|
|
|
|
#include <LtsSession/lts_session_manager.h>
|
|
|
|
|
|
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<AppWidget *> 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<LtsSession::LtsSessionManager::SessionKey, LtsSession::LtsSession *> &sessions);
|
|
void setDeleted();
|
|
|
|
void *appPtr;
|
|
|
|
QVBoxLayout *thisLayout;
|
|
|
|
QLabel *appName;
|
|
QLabel *appDescription;
|
|
QLabel *init;
|
|
|
|
QLabel *sessionCountLabel;
|
|
QGroupBox *sessionsWidget;
|
|
|
|
QVector<AppSessionWidget *> appSessionList;
|
|
};
|
|
|
|
|
|
} // namespace DeveloperTools
|