COMPASSi/trunk/code/projects/Application/MenuShipUIFunction.cpp

120 lines
4.3 KiB
C++
Raw Normal View History

2025-06-25 15:06:42 +08:00
#pragma execution_character_set("utf-8")
#include "MenuShipUIFunction.h"
#include "Logger.h"
#define BIND(func) std::bind(&MenuShipUIFunction::func, this, std::placeholders::_1)
MenuShipUIFunction::MenuShipUIFunction()
{
ccsMessageHandle::instance()->register_callback(BIND(ship_engineering_information_open), CMD_menu_ship_engineering_information_open);
ccsMessageHandle::instance()->register_callback(BIND(ship_engineering_information_ok), CMD_menu_ship_engineering_information_ok);
ccsMessageHandle::instance()->register_callback(BIND(ship_main_elements_open), CMD_menu_ship_main_elements_open);
ccsMessageHandle::instance()->register_callback(BIND(ship_main_elements_ok), CMD_menu_ship_main_elements_ok);
ccsMessageHandle::instance()->register_callback(BIND(ship_hull_scale_open), CMD_menu_ship_hull_scale_open);
ccsMessageHandle::instance()->register_callback(BIND(ship_hull_scale_ok), CMD_menu_ship_hull_scale_ok);
}
MenuShipUIFunction::~MenuShipUIFunction()
{
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_engineering_information_open);
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_engineering_information_ok);
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_main_elements_open);
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_main_elements_ok);
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_hull_scale_open);
ccsMessageHandle::instance()->unregister_callback(CMD_menu_ship_hull_scale_ok);
}
//工程信息
void MenuShipUIFunction::ship_engineering_information_open(const QString& message)
{
json outjson;
getStabilityModelPtr()->tool_ship_prej_infor_to(outjson);
QString outData = QString::fromStdString(outjson.dump());
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_engineering_information_open, EXECUTE_SUCCESS,"获取成功",outData);
}
void MenuShipUIFunction::ship_engineering_information_ok(const QString& message)
{
if (message.isEmpty())
{
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_engineering_information_ok,EXECUTE_FAIL,"传入数据json为空!");
}
else
{
nlohmann::json jsonData = nlohmann::json::parse(message.toStdString());
getStabilityModelPtr()->tool_ship_prej_infor_from(jsonData);
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_engineering_information_ok,EXECUTE_SUCCESS,"传入数据jsonOK");
}
}
//主要要素
void MenuShipUIFunction::ship_main_elements_open(const QString& message)
{
json outjson;
getStabilityModelPtr()->tool_ship_main_elements_to(outjson);
QString outData = QString::fromStdString(outjson.dump());
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_main_elements_open, EXECUTE_SUCCESS,"获取成功",outData);
}
void MenuShipUIFunction::ship_main_elements_ok(const QString& message)
{
if (message.isEmpty())
{
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_main_elements_ok,EXECUTE_FAIL,"传入数据json为空!");
}
else
{
nlohmann::json jsonData = nlohmann::json::parse(message.toStdString());
getStabilityModelPtr()->tool_ship_main_elements_from(jsonData);
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_main_elements_ok,EXECUTE_SUCCESS,"传入数据jsonOK");
}
}
void MenuShipUIFunction::ship_hull_scale_open(const QString& message)
{
json outjson;
getStabilityModelPtr()->tool_ship_hull_scale_to(outjson);
QString outData = QString::fromStdString(outjson.dump());
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_hull_scale_open, EXECUTE_SUCCESS,"获取成功",outData);
}
void MenuShipUIFunction::ship_hull_scale_ok(const QString& message)
{
if (message.isEmpty())
{
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_hull_scale_ok,EXECUTE_FAIL,"传入数据json为空!");
}
else
{
nlohmann::json jsonData = nlohmann::json::parse(message.toStdString());
getStabilityModelPtr()->tool_ship_hull_scale_from(jsonData);
QtToWebFunction::getInstance().qt2web(CMD_menu_ship_hull_scale_ok,EXECUTE_SUCCESS,"传入数据jsonOK");
}
}
void MenuShipUIFunction::from(const json& j)
{
}
void MenuShipUIFunction::to(json& jout)
{
// getStabilityModerPtr()->getDataManagerPtr()->getModelData();
}