Files
qt5-legatus-legacy/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog_group.h
T
2026-08-13 18:33:10 +02:00

60 lines
1.5 KiB
C++
Executable File

#pragma once
#include "scm_dialog_service.h"
#include <QWidget>
#include <QVector>
namespace Ui
{
class GroupWidget;
}
namespace ServiceManagement
{
class GroupWidget : public QWidget
{
Q_OBJECT
public:
GroupWidget(const Core::ServiceGroupType &groupType, int server, int exercise,
int32_t replayPartitionId,
const QString &groupName, long long timestamp,
const QVector<int> &neededServices, QWidget *parent = nullptr);
~GroupWidget();
void addService(ServiceWidget *service);
void setType(Core::ServiceGroupType type); // sets group name
void setServer(int server);
void setExercise(int exercise);
void setTimestamp(long long timestamp);
ServiceWidget::Status getStatus() const;
void setStatus(ServiceWidget::Status status);
void checkStatus();
private:
Ui::GroupWidget *m_ui;
ServiceWidget::Status m_status;
Core::ServiceGroupType m_groupType;
int m_server;
int m_exercise;
QString m_groupName;
int32_t m_replayPartitionId;
QVector<int> m_neededServices;
private slots:
void slotRestartGroup();
void slotStartGroup();
void slotStopGroup();
signals:
void signalRestartGroup(const Core::ServiceGroupType &groupType, int, int, int32_t replayPartitionId);
void signalStartGroup(const Core::ServiceGroupType &groupType, int, int, const int32_t replayPartitionId);
void signalStopGroup(const Core::ServiceGroupType &groupType, int, int, const int32_t replayPartitionId);
};
} // namespace ServiceManagement