add template Node::clone() and remove destroy_immediate
This commit is contained in:
@@ -508,7 +508,7 @@ void App::init_menu_file()
|
||||
{
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
auto popup = (NodePopupMenu*)layout[const_hash("file-menu")]->m_children[0]->clone();
|
||||
auto popup = layout[const_hash("file-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
@@ -613,7 +613,7 @@ void App::init_menu_file()
|
||||
if (auto b = popup->find<NodeButtonCustom>("file-export-tick"))
|
||||
b->on_click = [this, b, popup](Node*) {
|
||||
glm::vec2 pos = b->m_pos + glm::vec2(b->m_size.x, 0);
|
||||
auto subpopup = (NodePopupMenu*)layout[const_hash("file-submenu-export")]->m_children[0]->clone();
|
||||
auto subpopup = layout[const_hash("file-submenu-export")]->m_children[0]->clone<NodePopupMenu>();
|
||||
subpopup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - subpopup->m_size.x + b->m_size.x;
|
||||
@@ -688,7 +688,7 @@ void App::init_menu_edit()
|
||||
{
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
auto popup = (NodePopupMenu*)layout[const_hash("edit-menu")]->m_children[0]->clone();
|
||||
auto popup = layout[const_hash("edit-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
@@ -712,7 +712,7 @@ void App::init_menu_tools()
|
||||
{
|
||||
menu_exp->on_click = [this, menu_exp, main](Node*) {
|
||||
glm::vec2 pos = menu_exp->m_pos + glm::vec2(0, menu_exp->m_size.y);
|
||||
auto popup_exp = (NodePopupMenu*)layout[const_hash("tools-menu")]->m_children[0]->clone();
|
||||
auto popup_exp = layout[const_hash("tools-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup_exp->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup_exp->m_size.x + menu_exp->m_size.x;
|
||||
@@ -730,7 +730,7 @@ void App::init_menu_tools()
|
||||
if (auto menu_time = popup_exp->find<NodePopupMenu>("tools-timelapse"))
|
||||
{
|
||||
glm::vec2 pos = b->m_pos + glm::vec2(b->m_size.x, 0);
|
||||
auto popup_time = (NodePopupMenu*)layout[const_hash("timelapse-menu")]->m_children[0]->clone();
|
||||
auto popup_time = layout[const_hash("timelapse-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup_time->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup_time->m_size.x + b->m_size.x;
|
||||
@@ -776,7 +776,7 @@ void App::init_menu_tools()
|
||||
if (auto menu_time = popup_exp->find<NodePopupMenu>("tools-panels"))
|
||||
{
|
||||
glm::vec2 pos = b->m_pos + glm::vec2(b->m_size.x, 0);
|
||||
auto popup_time = (NodePopupMenu*)layout[const_hash("panels-menu")]->m_children[0]->clone();
|
||||
auto popup_time = layout[const_hash("panels-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup_time->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup_time->m_size.x + b->m_size.x;
|
||||
@@ -1042,7 +1042,7 @@ void App::init_menu_about()
|
||||
{
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
auto popup = (NodePopupMenu*)layout[const_hash("about-menu")]->m_children[0]->clone();
|
||||
auto popup = layout[const_hash("about-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
@@ -1163,7 +1163,7 @@ void App::init_menu_layer()
|
||||
{
|
||||
menu_file->on_click = [=](Node*) {
|
||||
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
|
||||
auto popup = (NodePopupMenu*)layout[const_hash("layers-menu")]->m_children[0]->clone();
|
||||
auto popup = layout[const_hash("layers-menu")]->m_children[0]->clone<NodePopupMenu>();
|
||||
popup->update();
|
||||
if (YGNodeStyleGetDirection(layout[main_id]->y_node) == YGDirectionRTL)
|
||||
pos.x = pos.x - popup->m_size.x + menu_file->m_size.x;
|
||||
|
||||
Reference in New Issue
Block a user