Extract main toolbar and thin startup/node helpers
This commit is contained in:
@@ -14,14 +14,12 @@
|
||||
#include "app_core/document_layer.h"
|
||||
#include "app_core/document_canvas.h"
|
||||
#include "app_core/app_status.h"
|
||||
#include "app_core/main_toolbar.h"
|
||||
#include "app_core/tools_menu.h"
|
||||
#include "legacy_app_preference_services.h"
|
||||
#include "legacy_app_shell_services.h"
|
||||
#include "legacy_brush_ui_services.h"
|
||||
#include "legacy_canvas_tool_services.h"
|
||||
#include "legacy_document_layer_services.h"
|
||||
#include "legacy_history_services.h"
|
||||
#include "legacy_preference_storage.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
#include "serializer.h"
|
||||
@@ -32,6 +30,7 @@
|
||||
#include <vector>
|
||||
|
||||
namespace pp::panopainter {
|
||||
void bind_legacy_main_toolbar(App& app);
|
||||
void bind_legacy_file_menu(App& app);
|
||||
void bind_legacy_about_menu(App& app);
|
||||
void bind_legacy_layer_menu(App& app);
|
||||
@@ -97,11 +96,6 @@ void apply_tools_panel_chrome(NodePanelFloating& panel, const pp::app::ToolsPane
|
||||
panel.m_droppable = plan.droppable;
|
||||
}
|
||||
|
||||
void execute_main_toolbar_plan(App& app, const pp::app::MainToolbarPlan& plan)
|
||||
{
|
||||
pp::panopainter::execute_legacy_main_toolbar_plan(app, plan);
|
||||
}
|
||||
|
||||
void execute_tools_menu_plan(App& app, const pp::app::ToolsMenuPlan& plan)
|
||||
{
|
||||
pp::panopainter::execute_legacy_tools_menu_plan(app, plan);
|
||||
@@ -135,101 +129,7 @@ void App::title_update()
|
||||
|
||||
void App::init_toolbar_main()
|
||||
{
|
||||
if (auto* button = layout[main_id]->find<NodeButton>("btn-anim"))
|
||||
{
|
||||
button->on_click = [this, button](Node*) {
|
||||
if (canvas)
|
||||
{
|
||||
//canvas->m_canvas->export_anim();
|
||||
}
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButton>("btn-open"))
|
||||
{
|
||||
button->on_click = [this, button](Node*) {
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::open_document);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButton>("btn-save"))
|
||||
{
|
||||
button->on_click = [this, button](Node*) {
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::save_document);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButtonCustom>("btn-undo"))
|
||||
{
|
||||
button->on_click = [this, button](Node*) {
|
||||
const auto history = pp::panopainter::legacy_history_snapshot();
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::undo,
|
||||
history.undo_count);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButtonCustom>("btn-redo"))
|
||||
{
|
||||
button->on_click = [this, button](Node*) {
|
||||
const auto history = pp::panopainter::legacy_history_snapshot();
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::redo,
|
||||
0,
|
||||
history.redo_count);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButtonCustom>("btn-clean-memory"))
|
||||
{
|
||||
button->on_click = [this](Node*) {
|
||||
const auto history = pp::panopainter::legacy_history_snapshot();
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::clear_history,
|
||||
history.undo_count,
|
||||
history.redo_count,
|
||||
history.memory_bytes);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButton>("btn-clear"))
|
||||
{
|
||||
button->on_click = [this](Node*) {
|
||||
//exit(0);
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::clear_canvas,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
static_cast<bool>(canvas));
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButton>("btn-popup"))
|
||||
{
|
||||
button->on_click = [this](Node*) {
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::show_message_box);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
if (auto* button = layout[main_id]->find<NodeButtonCustom>("btn-settings"))
|
||||
{
|
||||
button->on_click = [this](Node*) {
|
||||
const auto plan = pp::app::plan_main_toolbar_command(
|
||||
pp::app::MainToolbarCommand::show_settings);
|
||||
if (plan)
|
||||
execute_main_toolbar_plan(*this, plan.value());
|
||||
};
|
||||
}
|
||||
pp::panopainter::bind_legacy_main_toolbar(*this);
|
||||
}
|
||||
|
||||
[[nodiscard]] bool current_canvas_mode_is_draw(App& app) noexcept
|
||||
|
||||
Reference in New Issue
Block a user