/** * @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 #include #include #include #include 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 &dtc, const std::shared_ptr &ftc, const std::shared_ptr &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 m_dtc{nullptr}; std::shared_ptr m_ftc{nullptr}; std::shared_ptr m_dataIfc{nullptr}; ForeignResourceManagementGuiInterface *m_ismGuiIfc{nullptr}; QTimer *m_timerUpdateView{nullptr}; LOGGER_T m_logger; }; } // namespace InfrastructureManagement