#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(); }