Bridge app dialog creation
This commit is contained in:
64
src/legacy_app_dialog_services.cpp
Normal file
64
src/legacy_app_dialog_services.cpp
Normal file
@@ -0,0 +1,64 @@
|
||||
#include "pch.h"
|
||||
#include "legacy_app_dialog_services.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "node_input_box.h"
|
||||
#include "node_message_box.h"
|
||||
#include "node_progress_bar.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
std::shared_ptr<NodeProgressBar> create_legacy_app_progress_dialog(
|
||||
App& app,
|
||||
const pp::app::AppProgressDialogPlan& plan)
|
||||
{
|
||||
auto progress = std::make_shared<NodeProgressBar>();
|
||||
progress->set_manager(&app.layout);
|
||||
progress->init();
|
||||
progress->create();
|
||||
progress->loaded();
|
||||
progress->m_progress->SetWidthP(plan.progress_fraction);
|
||||
progress->m_title->set_text(plan.title.c_str());
|
||||
progress->m_total = plan.total;
|
||||
progress->m_count = plan.count;
|
||||
app.layout[app.main_id]->add_child(progress);
|
||||
return progress;
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeMessageBox> create_legacy_app_message_dialog(
|
||||
App& app,
|
||||
const pp::app::AppMessageDialogPlan& plan)
|
||||
{
|
||||
auto message = std::make_shared<NodeMessageBox>();
|
||||
message->set_manager(&app.layout);
|
||||
message->init();
|
||||
message->create();
|
||||
message->loaded();
|
||||
message->m_title->set_text(plan.title.c_str());
|
||||
message->m_message->set_text(plan.message.c_str());
|
||||
message->btn_ok->m_text->set_text(plan.ok_caption.c_str());
|
||||
if (plan.show_cancel)
|
||||
message->btn_cancel->m_text->set_text(plan.cancel_caption.c_str());
|
||||
else
|
||||
message->btn_cancel->destroy();
|
||||
app.layout[app.main_id]->add_child(message);
|
||||
return message;
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeInputBox> create_legacy_app_input_dialog(
|
||||
App& app,
|
||||
const pp::app::AppInputDialogPlan& plan)
|
||||
{
|
||||
auto input = std::make_shared<NodeInputBox>();
|
||||
input->set_manager(&app.layout);
|
||||
input->init();
|
||||
input->create();
|
||||
input->loaded();
|
||||
input->m_title->set_text(plan.title.c_str());
|
||||
input->m_field_name->set_text(plan.field_name.c_str());
|
||||
input->btn_ok->m_text->set_text(plan.ok_caption.c_str());
|
||||
app.layout[app.main_id]->add_child(input);
|
||||
return input;
|
||||
}
|
||||
|
||||
} // namespace pp::panopainter
|
||||
Reference in New Issue
Block a user