#include "pch.h" #include "app.h" #include "node_dialog_open.h" void App::dialog_newdoc() { if (canvas) { auto dialog = std::make_shared(); dialog->m_manager = &layout; dialog->init(); dialog->create(); dialog->loaded(); layout[main_id]->add_child(dialog); layout[main_id]->update(); dialog->btn_ok->on_click = [this, dialog](Node*) { layers->clear(); canvas->m_canvas->m_layers.clear(); canvas->m_canvas->m_order.clear(); ActionManager::clear(); dialog->destroy(); }; } } void App::dialog_open() { if (canvas) { // load thumbnail test auto dialog = std::make_shared(); dialog->m_manager = &layout; dialog->data_path = data_path; dialog->init(); dialog->create(); dialog->loaded(); layout[main_id]->add_child(dialog); layout[main_id]->update(); dialog->btn_ok->on_click = [this, dialog](Node*) { layers->clear(); canvas->m_canvas->project_open(dialog->selected_path); if (auto docname = layout[main_id]->find("txt-docname")) docname->set_text(("Document: " + dialog->selected_file).c_str()); for (auto& i : canvas->m_canvas->m_order) layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str()); dialog->destroy(); ActionManager::clear(); }; } } void App::dialog_save() { if (canvas) { auto dialog = std::make_shared(); dialog->m_manager = &layout; dialog->init(); dialog->create(); dialog->loaded(); layout[main_id]->add_child(dialog); layout[main_id]->update(); dialog->btn_ok->on_click = [this, dialog](Node*) { canvas->m_canvas->project_save(data_path + "/" + dialog->input->m_string + ".pano"); dialog->destroy(); }; } } void App::dialog_export() { if (canvas) { canvas->m_canvas->export_equirectangular(data_path); } }