Skip to content

Keyword "before" of draw_node, draw_layer only work at creation, not work after creation or callback. #1963

Description

@nvglucifer

Version of Dear PyGui

Version: 1.8.0
Operating System: Windows 11

My Issue/Question

Keyword "before" of draw_node, draw_layer only work at creation, not work after creation or callback.

To Reproduce

Python code below.
add or remove to see the difference: before="draw_node_1".
click red or yellow checkbox.

Expected behavior

Able to bring_to_back the newly created draw_node or draw_layer, using dpg.configure_item().

Screenshots/Video

2022-11-29_184954

Standalone, minimal, complete and verifiable example

import dearpygui.dearpygui as dpg
dpg.create_context()

with dpg.window():

    with dpg.drawlist(width=300, height=300):

        with dpg.draw_node(tag="draw_node_1"):
            dpg.draw_rectangle(pmin=[50, 50], pmax=[150, 150], color=[255, 0, 0, 255], fill=[255, 0, 0, 255])

        with dpg.draw_node(tag="draw_node_2", before="draw_node_1"):  # , before="draw_node_1"
            dpg.draw_rectangle(pmin=[100, 100], pmax=[200, 200], color=[255, 255, 0, 255], fill=[255, 255, 0, 255])
            # dpg.configure_item("draw_node_2", before="draw_node_1")

        with dpg.draw_node(tag="draw_node_3"):
            dpg.draw_rectangle(pmin=[150, 150], pmax=[250, 250], color=[0, 0, 255, 255], fill=[0, 0, 255, 255])


    def bring_to_front_(sender, app_data, user_data):
        if dpg.get_item_alias(sender) == "red_button":
            dpg.configure_item("draw_node_1", before="draw_node_2")
            dpg.configure_item("yellow_button", default_value=False)
        else:
            dpg.configure_item("draw_node_2", before="draw_node_1")
            dpg.configure_item("red_button", default_value=False)
    dpg.add_text("Bring to front")
    dpg.add_checkbox(label="Red", tag="red_button", callback=bring_to_front_)
    dpg.add_checkbox(label="Yellow", tag="yellow_button", callback=bring_to_front_)

dpg.create_viewport()
dpg.setup_dearpygui()
dpg.show_viewport()
while dpg.is_dearpygui_running():
    dpg.render_dearpygui_frame()
dpg.destroy_context()

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions