Centralize retained combo overlay insertion
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "pch.h"
|
||||
#include "log.h"
|
||||
#include "node_combobox.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
#include "node_popup_menu.h"
|
||||
|
||||
Node* NodeComboBox::clone_instantiate() const
|
||||
@@ -24,11 +25,12 @@ void NodeComboBox::loaded()
|
||||
m_text->set_text(m_data[m_current_index].c_str());
|
||||
m_selected_child_index = m_current_index;
|
||||
on_click = [this](Node* target) {
|
||||
NodePopupMenu* popup = new NodePopupMenu;
|
||||
auto popup = std::make_shared<NodePopupMenu>();
|
||||
popup->set_manager(m_manager);
|
||||
popup->init();
|
||||
popup->create();
|
||||
popup->loaded();
|
||||
root()->add_child(popup);
|
||||
(void)pp::panopainter::attach_legacy_overlay_node_to_root(*this, popup);
|
||||
m_items.clear();
|
||||
for (int i = 0; i < m_data.size(); i++)
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "node_message_box.h"
|
||||
#include "node_text.h"
|
||||
#include "app.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
|
||||
Node* NodeDialogBrowse::clone_instantiate() const
|
||||
{
|
||||
@@ -37,9 +38,7 @@ void NodeDialogBrowse::init_controls()
|
||||
if (!current)
|
||||
return;
|
||||
|
||||
auto msgbox = new NodeMessageBox();
|
||||
msgbox->set_manager(m_manager);
|
||||
msgbox->init();
|
||||
auto msgbox = pp::panopainter::make_legacy_overlay_node<NodeMessageBox>(*App::I);
|
||||
msgbox->m_title->set_text("Delete Project");
|
||||
msgbox->m_message->set_text(("Are you sure you want to delete " + current->m_file_name + "?").c_str());
|
||||
msgbox->btn_ok->on_click = [this,msgbox](Node*){
|
||||
@@ -64,7 +63,7 @@ void NodeDialogBrowse::init_controls()
|
||||
Asset::delete_file(path);
|
||||
msgbox->destroy();
|
||||
};
|
||||
root()->add_child(msgbox);
|
||||
(void)pp::panopainter::attach_legacy_overlay_node_to_root(*this, msgbox);
|
||||
root()->update();
|
||||
};
|
||||
container = find<Node>("files-list");
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "asset.h"
|
||||
#include "node_message_box.h"
|
||||
#include "app.h"
|
||||
#include "legacy_ui_overlay_services.h"
|
||||
|
||||
Node* NodeDialogOpen::clone_instantiate() const
|
||||
{
|
||||
@@ -39,9 +40,7 @@ void NodeDialogOpen::init_controls()
|
||||
if (!current)
|
||||
return;
|
||||
|
||||
auto msgbox = new NodeMessageBox();
|
||||
msgbox->set_manager(m_manager);
|
||||
msgbox->init();
|
||||
auto msgbox = pp::panopainter::make_legacy_overlay_node<NodeMessageBox>(*App::I);
|
||||
msgbox->m_title->set_text("Delete Project");
|
||||
msgbox->m_message->set_text(("Are you sure you want to delete " + current->m_file_name + "?").c_str());
|
||||
msgbox->btn_ok->on_click = [this,msgbox](Node*){
|
||||
@@ -65,7 +64,7 @@ void NodeDialogOpen::init_controls()
|
||||
Asset::delete_file(path);
|
||||
msgbox->destroy();
|
||||
};
|
||||
root()->add_child(msgbox);
|
||||
(void)pp::panopainter::attach_legacy_overlay_node_to_root(*this, msgbox);
|
||||
root()->update();
|
||||
};
|
||||
container = find<Node>("files-list");
|
||||
|
||||
Reference in New Issue
Block a user