Thin legacy app dialog shell
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
#include "pch.h"
|
||||
#include "app.h"
|
||||
#include "app_core/app_dialog.h"
|
||||
#include "legacy_app_dialog_services.h"
|
||||
#include "legacy_document_layer_services.h"
|
||||
|
||||
@@ -27,28 +26,18 @@ void open_legacy_document_layer_rename_dialog(App& app);
|
||||
|
||||
std::shared_ptr<NodeProgressBar> App::show_progress(const std::string& title, int total /*= 0*/)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_progress_dialog(title, total);
|
||||
const auto dialogs = pp::panopainter::make_legacy_app_dialog_factory(*this);
|
||||
return pp::panopainter::legacy_progress_dialog_node(dialogs->show_progress_dialog(plan));
|
||||
return pp::panopainter::show_legacy_app_progress_dialog(*this, title, total);
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeMessageBox> App::message_box(const std::string &title, const std::string& text, bool cancel_button)
|
||||
{
|
||||
const auto plan = pp::app::plan_app_message_dialog(title, text, cancel_button);
|
||||
const auto dialogs = pp::panopainter::make_legacy_app_dialog_factory(*this);
|
||||
return pp::panopainter::legacy_message_dialog_node(dialogs->show_message_dialog(plan));
|
||||
return pp::panopainter::show_legacy_app_message_dialog(*this, title, text, cancel_button);
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeInputBox> App::input_box(const std::string& title,
|
||||
const std::string& field_name, const std::string& ok_caption /*= "Ok"*/)
|
||||
{
|
||||
const auto plan_result = pp::app::plan_app_input_dialog(title, field_name, ok_caption);
|
||||
if (!plan_result) {
|
||||
LOG("input dialog skipped: %s", plan_result.status().message);
|
||||
return nullptr;
|
||||
}
|
||||
const auto dialogs = pp::panopainter::make_legacy_app_dialog_factory(*this);
|
||||
return pp::panopainter::legacy_input_dialog_node(dialogs->show_input_dialog(plan_result.value()));
|
||||
return pp::panopainter::show_legacy_app_input_dialog(*this, title, field_name, ok_caption);
|
||||
}
|
||||
|
||||
void App::dialog_usermanual()
|
||||
|
||||
@@ -119,6 +119,14 @@ std::shared_ptr<NodeProgressBar> create_legacy_app_progress_dialog(
|
||||
return legacy_progress_dialog_node(make_legacy_app_dialog_factory(app)->show_progress_dialog(plan));
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeProgressBar> show_legacy_app_progress_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
int total)
|
||||
{
|
||||
return create_legacy_app_progress_dialog(app, pp::app::plan_app_progress_dialog(title, total));
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeMessageBox> create_legacy_app_message_dialog(
|
||||
App& app,
|
||||
const pp::app::AppMessageDialogPlan& plan)
|
||||
@@ -126,6 +134,17 @@ std::shared_ptr<NodeMessageBox> create_legacy_app_message_dialog(
|
||||
return legacy_message_dialog_node(make_legacy_app_dialog_factory(app)->show_message_dialog(plan));
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeMessageBox> show_legacy_app_message_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
const std::string& text,
|
||||
bool cancel_button)
|
||||
{
|
||||
return create_legacy_app_message_dialog(
|
||||
app,
|
||||
pp::app::plan_app_message_dialog(title, text, cancel_button));
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeInputBox> create_legacy_app_input_dialog(
|
||||
App& app,
|
||||
const pp::app::AppInputDialogPlan& plan)
|
||||
@@ -133,6 +152,21 @@ std::shared_ptr<NodeInputBox> create_legacy_app_input_dialog(
|
||||
return legacy_input_dialog_node(make_legacy_app_dialog_factory(app)->show_input_dialog(plan));
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeInputBox> show_legacy_app_input_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
const std::string& field_name,
|
||||
const std::string& ok_caption)
|
||||
{
|
||||
const auto plan_result = pp::app::plan_app_input_dialog(title, field_name, ok_caption);
|
||||
if (!plan_result) {
|
||||
LOG("input dialog skipped: %s", plan_result.status().message);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return create_legacy_app_input_dialog(app, plan_result.value());
|
||||
}
|
||||
|
||||
std::shared_ptr<NodeProgressBar> legacy_progress_dialog_node(
|
||||
const std::shared_ptr<pp::app::AppProgressDialog>& dialog) noexcept
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "app_core/app_dialog.h"
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class App;
|
||||
class NodeInputBox;
|
||||
@@ -17,14 +18,31 @@ namespace pp::panopainter {
|
||||
App& app,
|
||||
const pp::app::AppProgressDialogPlan& plan);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeProgressBar> show_legacy_app_progress_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
int total);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeMessageBox> create_legacy_app_message_dialog(
|
||||
App& app,
|
||||
const pp::app::AppMessageDialogPlan& plan);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeMessageBox> show_legacy_app_message_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
const std::string& text,
|
||||
bool cancel_button);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeInputBox> create_legacy_app_input_dialog(
|
||||
App& app,
|
||||
const pp::app::AppInputDialogPlan& plan);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeInputBox> show_legacy_app_input_dialog(
|
||||
App& app,
|
||||
const std::string& title,
|
||||
const std::string& field_name,
|
||||
const std::string& ok_caption);
|
||||
|
||||
[[nodiscard]] std::shared_ptr<NodeProgressBar> legacy_progress_dialog_node(
|
||||
const std::shared_ptr<pp::app::AppProgressDialog>& dialog) noexcept;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user