hoffstadt / hoffstadt/DearPyGui

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

Open
#1,963 2 comments 0 reactions 0 assignees View on GitHub
state: pending type: bug
Dominant language
C++
Stars
15.6k
Forks
783
PR merge metrics
No merged PRs in 30d

Description

## 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](https://user-images.githubusercontent.com/77535212/204521579-6ddb8ab7-da0e-4ab9-85cb-ec3a6d55c751.png)

## Standalone, minimal, complete and verifiable example

```python
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()
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.