Beispiel #1
0
def hide_item(item: str, children_only: bool = False):
    if children_only:
        children = internalDPG.get_item_children(item)
        for child in children:
            internalDPG.configure_item(child, show=False)
    else:
        internalDPG.configure_item(item, show=False)
Beispiel #2
0
def _unregister_item(name: str, unregister_children: bool = True) -> None:
    _ITEM_LOOKUP.pop(name, None)
    if unregister_children:
        children = dpgcore.get_item_children(name)
        if children is not None:
            for child_name in children:
                _unregister_item(child_name, True)
Beispiel #3
0
 def iter_children(self) -> Iterable[ItemWidget]:
     """Iterates all of the item's children."""
     children = dpgcore.get_item_children(self.id)
     if not children:
         return
     for child in children:
         yield get_item_by_id(child)
Beispiel #4
0
def children(parent, recurse=True):
    if not isinstance(parent, list):
        parent = [parent]

    ret = []
    for p in parent:
        omni = core.get_item_children(p)
        ret.extend(omni)
        if recurse:
            ret.extend(children(omni))
    return ret
Beispiel #5
0
def hide_item(item: str, *, children_only: bool = False):
    """Hides the item.

    Args:
        **item: Item to hide.

    Returns:
        None
    """
    if children_only:
        children = internal_dpg.get_item_children(item)
        for child in children:
            internal_dpg.configure_item(child, show=False)
    else:
        internal_dpg.configure_item(item, show=False)
def auto_center(sender, data):

    # adjust the height of the body window on resize
    # so that the scrolling works correctly

    header_window_height = 100
    window_height = dpg.get_main_window_size()[1]
    body_window_height = window_height - header_window_height - 40  # 100 ~ dpgs.get_item_height('header window')
    dpgs.set_item_height('body window', body_window_height)

    # make the width header and body windows equal to the width of the main window
    window_width = dpg.get_main_window_size()[
        0]  # dpgs.get_item_width('main window')
    dpgs.set_item_width('header window', window_width)
    dpgs.set_item_width('body window', window_width)

    # align header
    item_name = dpg.get_item_children("item-to-center")
    item_width = dpgs.get_item_width('dearpygui logo')  # 200
    left = int(window_width / 2 - item_width / 2 - 23)
    minimum_left_padding = 50
    if left < minimum_left_padding:
        left = minimum_left_padding
    dpgs.set_item_width('left-spacer', left)

    # space between columns
    minimum_space_between_columns = 100
    space_between_columns = int(window_width * 0.1)
    if space_between_columns < minimum_space_between_columns:
        space_between_columns = minimum_space_between_columns
    dpgs.set_item_width('space between columns', space_between_columns)
    dpgs.set_item_width('space between columns 2', space_between_columns)
    dpgs.set_item_width('space between columns 3', space_between_columns)

    # align body containing tiles
    item_width = dpgs.get_item_width('Demo 1')
    left = int(
        ((window_width - 1200 -
          ((space_between_columns - minimum_space_between_columns) / 2)) /
         2))  # TO CORRECT FOR SPACE BETWEEN COLUMNS
    minimum_left_padding = 50
    if left < minimum_left_padding:
        left = minimum_left_padding
    dpgs.set_item_width("left-spacer-tiles", left)