Files
qt5-legatus-legacy/Lts/Plugins/Buildings/Gui/BuildingInfo/bld_config_dialog.h
T
2026-08-13 18:33:10 +02:00

75 lines
1.8 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Buildings - BuildingsConfigDialog
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2017-04-20
*/
#pragma once
//Lts
#include <LtsWidgets/lts_dialog.h>
#include <LtsUtilsGuiDds/request_helper.h>
//Buildings
#include <Buildings/logger.h>
//DDS
#include <Plugins/Buildings/bld_data_plugin_interface.h>
#include <Plugins/CentralEffectSimulation/ces_data_plugin_interface.h>
namespace Ui {
class BldConfigDialog;
}
namespace LtsSession {
class LtsSession;
}
namespace Buildings
{
// --------------------------------------------------------
// BldConfigDialog
// --------------------------------------------------------
class BldConfigDialog : public LtsWidgets::LtsDialog
, protected Buildings::Interface::Ftc::SetBuildingStatesReplyHandler
, protected CentralEffectSimulation::Interface::Ftc::SetOwnershipReplyHandler
{
Q_OBJECT
public:
explicit BldConfigDialog(int bldEntityId, const QString &displayName, QWidget *parent = nullptr);
~BldConfigDialog();
bool init(LtsSession::LtsSession *session);
void onSetBuildingStatesReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
void onSetOwnershipReply(const Core::FunctionReplyObject &replyObject) override final { m_requestHelper->requestReply(replyObject); }
private slots:
void slotCmbStatusCurrentIndexChanged(int index);
private:
void fillCbx();
private:
void retranslate() override;
bool apply() override final;
int m_bldEntityId = 0;
QString m_displayName;
std::shared_ptr<Buildings::Interface::Ftc> m_ftc;
std::shared_ptr<CentralEffectSimulation::Interface::Ftc> m_cesFtc;
Buildings::BuildingState m_bldState;
LtsUtils::RequestHelper *m_requestHelper = nullptr;
Ui::BldConfigDialog *m_ui = nullptr;
LOGGER_T m_logger;
};
} // namespace Buildings