Files
qt5-legatus-legacy/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Overview/ism_overview_dialog.h
T
2026-08-13 18:33:10 +02:00

78 lines
2.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* The OverviewDialog shows how many assets are needed for a specific schedule, needed elsewhere,
* totally possessed, free, and missing
* $Id$
* $HeadURL$
* $Author$
* Created by Hannes Baeuerle, SLSE, 2016-11-03
*/
#pragma once
#include <LtsWidgets/lts_dialog.h>
#include <InfrastructureManagement/ism_dtc.h>
#include <Plugins/InfrastructureManagement/Data/ism_data_plugin.h>
#include <InfrastructureManagement/logger.h>
#include <Plugins/InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
namespace Ui
{
class OverviewDialog;
}
namespace LtsSession
{
class LtsSession;
}
namespace InfrastructureManagement
{
class OverviewDialogModel;
class OverviewDialog
: public LtsWidgets::LtsDialog
{
Q_OBJECT
public:
explicit OverviewDialog(const QString &menuGroup, LtsSession::LtsSession *session, QWidget *parent = nullptr);
~OverviewDialog();
bool init(int planId,
const std::shared_ptr<Interface::Dtc> &dtc,
const std::shared_ptr<Interface::Ftc> &ftc,
const std::shared_ptr<ForeignDataInterface> &dataInterface);
void setCbComparePlan();
void setCbBasePlan();
protected:
void aboutToClose() override;
private slots:
void onPrint();
void onScheduleIdChanged(int32_t scheduleId);
void onCbComparePlanIndexChanged(int index);
void onCbBasePlanIndexChanged(int index);
void onPlansDataChanged();
void updateOverviewData();
void reloadModel();
private:
void retranslate() override;
void tableColumnOrganiserSetting() override;
LtsSession::LtsSession *m_session{nullptr};
Ui::OverviewDialog *m_ui{nullptr};
int m_scheduleId{-1};
OverviewDialogModel *m_model{nullptr};
QString m_menuGroup;
std::shared_ptr<Interface::Dtc> m_dtc{nullptr};
std::shared_ptr<Interface::Ftc> m_ftc{nullptr};
std::shared_ptr<ForeignDataInterface> m_dataIfc{nullptr};
ForeignResourceManagementGuiInterface *m_ismGuiIfc{nullptr};
QTimer *m_timerUpdateView{nullptr};
LOGGER_T m_logger;
};
} // namespace InfrastructureManagement