diff --git a/dearpygui/.gitignore b/dearpygui/.gitignore index cd20b2dbe..69eb1512b 100644 --- a/dearpygui/.gitignore +++ b/dearpygui/.gitignore @@ -7,4 +7,5 @@ !_header.py !dearpygui.py !demo.py -!experimental.py \ No newline at end of file +!experimental.py +!type_info.py diff --git a/dearpygui/type_info.py b/dearpygui/type_info.py new file mode 100644 index 000000000..76e91ec74 --- /dev/null +++ b/dearpygui/type_info.py @@ -0,0 +1,1419 @@ + +########################################################## +# Dear PyGui User Interface +# ~ Version: master +# +# Notes: +# * This file is automatically generated. +# +# Resources: +# * FAQ: https://github.com/hoffstadt/DearPyGui/discussions/categories/frequently-asked-questions-faq +# * Homepage: https://github.com/hoffstadt/DearPyGui +# * Wiki: https://github.com/hoffstadt/DearPyGui/wiki +# * Issues: https://github.com/hoffstadt/DearPyGui/issues +# * Discussions: https://github.com/hoffstadt/DearPyGui/discussions +########################################################## + +def get_all_types(**kwargs) -> list: + """ Return names of all item types as a list.""" + + return [ + "mvAppItemType::mvInputText", + "mvAppItemType::mvButton", + "mvAppItemType::mvRadioButton", + "mvAppItemType::mvTabBar", + "mvAppItemType::mvTab", + "mvAppItemType::mvImage", + "mvAppItemType::mvMenuBar", + "mvAppItemType::mvViewportMenuBar", + "mvAppItemType::mvMenu", + "mvAppItemType::mvMenuItem", + "mvAppItemType::mvChildWindow", + "mvAppItemType::mvGroup", + "mvAppItemType::mvSliderFloat", + "mvAppItemType::mvSliderInt", + "mvAppItemType::mvFilterSet", + "mvAppItemType::mvDragFloat", + "mvAppItemType::mvDragInt", + "mvAppItemType::mvInputFloat", + "mvAppItemType::mvInputInt", + "mvAppItemType::mvColorEdit", + "mvAppItemType::mvClipper", + "mvAppItemType::mvColorPicker", + "mvAppItemType::mvTooltip", + "mvAppItemType::mvCollapsingHeader", + "mvAppItemType::mvSeparator", + "mvAppItemType::mvCheckbox", + "mvAppItemType::mvListbox", + "mvAppItemType::mvText", + "mvAppItemType::mvCombo", + "mvAppItemType::mvPlot", + "mvAppItemType::mvSimplePlot", + "mvAppItemType::mvDrawlist", + "mvAppItemType::mvWindowAppItem", + "mvAppItemType::mvSelectable", + "mvAppItemType::mvTreeNode", + "mvAppItemType::mvProgressBar", + "mvAppItemType::mvSpacer", + "mvAppItemType::mvImageButton", + "mvAppItemType::mvTimePicker", + "mvAppItemType::mvDatePicker", + "mvAppItemType::mvColorButton", + "mvAppItemType::mvFileDialog", + "mvAppItemType::mvTabButton", + "mvAppItemType::mvDrawNode", + "mvAppItemType::mvNodeEditor", + "mvAppItemType::mvNode", + "mvAppItemType::mvNodeAttribute", + "mvAppItemType::mvTable", + "mvAppItemType::mvTableColumn", + "mvAppItemType::mvTableRow", + "mvAppItemType::mvSyncedTables", + "mvAppItemType::mvDrawLine", + "mvAppItemType::mvDrawArrow", + "mvAppItemType::mvDrawTriangle", + "mvAppItemType::mvDrawImageQuad", + "mvAppItemType::mvDrawCircle", + "mvAppItemType::mvDrawEllipse", + "mvAppItemType::mvDrawBezierCubic", + "mvAppItemType::mvDrawBezierQuadratic", + "mvAppItemType::mvDrawQuad", + "mvAppItemType::mvDrawRect", + "mvAppItemType::mvDrawText", + "mvAppItemType::mvDrawPolygon", + "mvAppItemType::mvDrawPolyline", + "mvAppItemType::mvDrawImage", + "mvAppItemType::mvDragFloatMulti", + "mvAppItemType::mvDragIntMulti", + "mvAppItemType::mvSliderFloatMulti", + "mvAppItemType::mvSliderIntMulti", + "mvAppItemType::mvInputIntMulti", + "mvAppItemType::mvInputFloatMulti", + "mvAppItemType::mvDragPoint", + "mvAppItemType::mvDragLine", + "mvAppItemType::mvDragRect", + "mvAppItemType::mvAnnotation", + "mvAppItemType::mvAxisTag", + "mvAppItemType::mvLineSeries", + "mvAppItemType::mvScatterSeries", + "mvAppItemType::mvStemSeries", + "mvAppItemType::mvStairSeries", + "mvAppItemType::mvBarSeries", + "mvAppItemType::mvBarGroupSeries", + "mvAppItemType::mvErrorSeries", + "mvAppItemType::mvInfLineSeries", + "mvAppItemType::mvHeatSeries", + "mvAppItemType::mvImageSeries", + "mvAppItemType::mvPieSeries", + "mvAppItemType::mvShadeSeries", + "mvAppItemType::mvLabelSeries", + "mvAppItemType::mvHistogramSeries", + "mvAppItemType::mvDigitalSeries", + "mvAppItemType::mv2dHistogramSeries", + "mvAppItemType::mvCandleSeries", + "mvAppItemType::mvAreaSeries", + "mvAppItemType::mvColorMapScale", + "mvAppItemType::mvSlider3D", + "mvAppItemType::mvKnobFloat", + "mvAppItemType::mvLoadingIndicator", + "mvAppItemType::mvNodeLink", + "mvAppItemType::mvTextureRegistry", + "mvAppItemType::mvStaticTexture", + "mvAppItemType::mvDynamicTexture", + "mvAppItemType::mvStage", + "mvAppItemType::mvDrawLayer", + "mvAppItemType::mvViewportDrawlist", + "mvAppItemType::mvFileExtension", + "mvAppItemType::mvPlotLegend", + "mvAppItemType::mvPlotAxis", + "mvAppItemType::mvHandlerRegistry", + "mvAppItemType::mvKeyDownHandler", + "mvAppItemType::mvKeyPressHandler", + "mvAppItemType::mvKeyReleaseHandler", + "mvAppItemType::mvMouseMoveHandler", + "mvAppItemType::mvMouseWheelHandler", + "mvAppItemType::mvMouseClickHandler", + "mvAppItemType::mvMouseDoubleClickHandler", + "mvAppItemType::mvMouseDownHandler", + "mvAppItemType::mvMouseReleaseHandler", + "mvAppItemType::mvMouseDragHandler", + "mvAppItemType::mvHoverHandler", + "mvAppItemType::mvActiveHandler", + "mvAppItemType::mvFocusHandler", + "mvAppItemType::mvVisibleHandler", + "mvAppItemType::mvEditedHandler", + "mvAppItemType::mvActivatedHandler", + "mvAppItemType::mvDeactivatedHandler", + "mvAppItemType::mvDeactivatedAfterEditHandler", + "mvAppItemType::mvToggledOpenHandler", + "mvAppItemType::mvClickedHandler", + "mvAppItemType::mvDoubleClickedHandler", + "mvAppItemType::mvScrollHandler", + "mvAppItemType::mvDragPayload", + "mvAppItemType::mvResizeHandler", + "mvAppItemType::mvFont", + "mvAppItemType::mvFontRegistry", + "mvAppItemType::mvTheme", + "mvAppItemType::mvThemeColor", + "mvAppItemType::mvThemeStyle", + "mvAppItemType::mvThemeComponent", + "mvAppItemType::mvCharRemap", + "mvAppItemType::mvValueRegistry", + "mvAppItemType::mvIntValue", + "mvAppItemType::mvFloatValue", + "mvAppItemType::mvFloat4Value", + "mvAppItemType::mvInt4Value", + "mvAppItemType::mvBoolValue", + "mvAppItemType::mvStringValue", + "mvAppItemType::mvDoubleValue", + "mvAppItemType::mvDouble4Value", + "mvAppItemType::mvColorValue", + "mvAppItemType::mvFloatVectValue", + "mvAppItemType::mvSeriesValue", + "mvAppItemType::mvRawTexture", + "mvAppItemType::mvSubPlots", + "mvAppItemType::mvColorMap", + "mvAppItemType::mvColorMapRegistry", + "mvAppItemType::mvColorMapButton", + "mvAppItemType::mvColorMapSlider", + "mvAppItemType::mvTemplateRegistry", + "mvAppItemType::mvTableCell", + "mvAppItemType::mvItemHandlerRegistry", + "mvAppItemType::mvInputDouble", + "mvAppItemType::mvInputDoubleMulti", + "mvAppItemType::mvDragDouble", + "mvAppItemType::mvDragDoubleMulti", + "mvAppItemType::mvSliderDouble", + "mvAppItemType::mvSliderDoubleMulti", + "mvAppItemType::mvCustomSeries", + ] + +def get_allowed_parents(distinct_allow_all: bool = False, **kwargs) -> dict: + """ Return all item type names and collections of applicable parenting types as a mapping. + + This function returns a set of rules defined within Dear PyGui. At runtime, these rules get combined with those from `get_allowed_children()`, and what is allowed here might be disabled there. To get the actual possible combinations of chilren and parent types, see `get_possible_parents()` and `get_possible_children()`. + + Args: + distinct_allow_all (bool): If set to True, entries for the items accepted by any parent will be set to None. This allows to detect and handle such cases specially if needed. If False, all item types will be listed explicitly in such entries, which allows more straightforward processing of the dict. + Returns: + dict + """ + + all_types = None if distinct_allow_all else tuple(get_all_types()) + + return { + "mvAppItemType::mvInputText": all_types, + "mvAppItemType::mvButton": all_types, + "mvAppItemType::mvRadioButton": all_types, + "mvAppItemType::mvTabBar": all_types, + "mvAppItemType::mvTab": ("mvAppItemType::mvTabBar", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvImage": all_types, + "mvAppItemType::mvMenuBar": ("mvAppItemType::mvWindowAppItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvViewportMenuBar": all_types, + "mvAppItemType::mvMenu": all_types, + "mvAppItemType::mvMenuItem": all_types, + "mvAppItemType::mvChildWindow": all_types, + "mvAppItemType::mvGroup": all_types, + "mvAppItemType::mvSliderFloat": all_types, + "mvAppItemType::mvSliderInt": all_types, + "mvAppItemType::mvFilterSet": all_types, + "mvAppItemType::mvDragFloat": all_types, + "mvAppItemType::mvDragInt": all_types, + "mvAppItemType::mvInputFloat": all_types, + "mvAppItemType::mvInputInt": all_types, + "mvAppItemType::mvColorEdit": all_types, + "mvAppItemType::mvClipper": all_types, + "mvAppItemType::mvColorPicker": all_types, + "mvAppItemType::mvTooltip": all_types, + "mvAppItemType::mvCollapsingHeader": all_types, + "mvAppItemType::mvSeparator": all_types, + "mvAppItemType::mvCheckbox": all_types, + "mvAppItemType::mvListbox": all_types, + "mvAppItemType::mvText": all_types, + "mvAppItemType::mvCombo": all_types, + "mvAppItemType::mvPlot": all_types, + "mvAppItemType::mvSimplePlot": all_types, + "mvAppItemType::mvDrawlist": all_types, + "mvAppItemType::mvWindowAppItem": all_types, + "mvAppItemType::mvSelectable": all_types, + "mvAppItemType::mvTreeNode": all_types, + "mvAppItemType::mvProgressBar": all_types, + "mvAppItemType::mvSpacer": all_types, + "mvAppItemType::mvImageButton": all_types, + "mvAppItemType::mvTimePicker": all_types, + "mvAppItemType::mvDatePicker": all_types, + "mvAppItemType::mvColorButton": all_types, + "mvAppItemType::mvFileDialog": all_types, + "mvAppItemType::mvTabButton": ("mvAppItemType::mvTabBar", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvDrawNode": ("mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvNodeEditor": all_types, + "mvAppItemType::mvNode": ("mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvNodeEditor", ), + "mvAppItemType::mvNodeAttribute": ("mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvNode", ), + "mvAppItemType::mvTable": all_types, + "mvAppItemType::mvTableColumn": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTable", ), + "mvAppItemType::mvTableRow": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTable", ), + "mvAppItemType::mvSyncedTables": all_types, + "mvAppItemType::mvDrawLine": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawArrow": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawTriangle": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawImageQuad": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawCircle": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawEllipse": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawBezierCubic": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawBezierQuadratic": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawQuad": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawRect": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawText": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawPolygon": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawPolyline": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDrawImage": ("mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvDrawNode", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ), + "mvAppItemType::mvDragFloatMulti": all_types, + "mvAppItemType::mvDragIntMulti": all_types, + "mvAppItemType::mvSliderFloatMulti": all_types, + "mvAppItemType::mvSliderIntMulti": all_types, + "mvAppItemType::mvInputIntMulti": all_types, + "mvAppItemType::mvInputFloatMulti": all_types, + "mvAppItemType::mvDragPoint": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvDragLine": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvDragRect": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvAnnotation": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvAxisTag": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvLineSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvScatterSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvStemSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvStairSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvBarSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvBarGroupSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvErrorSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvInfLineSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvHeatSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvImageSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvPieSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvShadeSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvLabelSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvHistogramSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvDigitalSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mv2dHistogramSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvCandleSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvAreaSeries": ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvColorMapScale": all_types, + "mvAppItemType::mvSlider3D": all_types, + "mvAppItemType::mvKnobFloat": all_types, + "mvAppItemType::mvLoadingIndicator": all_types, + "mvAppItemType::mvNodeLink": ("mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvNodeEditor", ), + "mvAppItemType::mvTextureRegistry": all_types, + "mvAppItemType::mvStaticTexture": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTextureRegistry", ), + "mvAppItemType::mvDynamicTexture": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTextureRegistry", ), + "mvAppItemType::mvStage": all_types, + "mvAppItemType::mvDrawLayer": ("mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvPlot", "mvAppItemType::mvViewportDrawlist", ), + "mvAppItemType::mvViewportDrawlist": all_types, + "mvAppItemType::mvFileExtension": ("mvAppItemType::mvStage", "mvAppItemType::mvFileDialog", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvPlotLegend": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", "mvAppItemType::mvSubPlots", ), + "mvAppItemType::mvPlotAxis": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvHandlerRegistry": all_types, + "mvAppItemType::mvKeyDownHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvKeyPressHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvKeyReleaseHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseMoveHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseWheelHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseClickHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseDoubleClickHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseDownHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseReleaseHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvMouseDragHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvHandlerRegistry", ), + "mvAppItemType::mvHoverHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvActiveHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvFocusHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvVisibleHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvEditedHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvActivatedHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvDeactivatedHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvDeactivatedAfterEditHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvToggledOpenHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvClickedHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvDoubleClickedHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvScrollHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvDragPayload": ("mvAppItemType::mvButton", "mvAppItemType::mvCheckbox", "mvAppItemType::mvCombo", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvDragInt", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragDouble", "mvAppItemType::mvImage", "mvAppItemType::mvImageButton", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvInputInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputText", "mvAppItemType::mvListbox", "mvAppItemType::mvMenuItem", "mvAppItemType::mvRadioButton", "mvAppItemType::mvSelectable", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvSliderInt", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvTabButton", "mvAppItemType::mvText", "mvAppItemType::mvColorButton", "mvAppItemType::mvColorEdit", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorPicker", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvGroup", "mvAppItemType::mvTreeNode", "mvAppItemType::mvDatePicker", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvSlider3D", "mvAppItemType::mvTimePicker", "mvAppItemType::mvProgressBar", "mvAppItemType::mvNode", "mvAppItemType::mvPlot", ), + "mvAppItemType::mvResizeHandler": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ), + "mvAppItemType::mvFont": ("mvAppItemType::mvFontRegistry", ), + "mvAppItemType::mvFontRegistry": all_types, + "mvAppItemType::mvTheme": all_types, + "mvAppItemType::mvThemeColor": ("mvAppItemType::mvThemeComponent", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvThemeStyle": ("mvAppItemType::mvThemeComponent", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvThemeComponent": ("mvAppItemType::mvTheme", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvCharRemap": ("mvAppItemType::mvFont", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvValueRegistry": all_types, + "mvAppItemType::mvIntValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvFloatValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvFloat4Value": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvInt4Value": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvBoolValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvStringValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvDoubleValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvDouble4Value": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvColorValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvFloatVectValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvSeriesValue": ("mvAppItemType::mvValueRegistry", ), + "mvAppItemType::mvRawTexture": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTextureRegistry", ), + "mvAppItemType::mvSubPlots": all_types, + "mvAppItemType::mvColorMap": ("mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvColorMapRegistry": all_types, + "mvAppItemType::mvColorMapButton": all_types, + "mvAppItemType::mvColorMapSlider": all_types, + "mvAppItemType::mvTemplateRegistry": all_types, + "mvAppItemType::mvTableCell": ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableRow", ), + "mvAppItemType::mvItemHandlerRegistry": all_types, + "mvAppItemType::mvInputDouble": all_types, + "mvAppItemType::mvInputDoubleMulti": all_types, + "mvAppItemType::mvDragDouble": all_types, + "mvAppItemType::mvDragDoubleMulti": all_types, + "mvAppItemType::mvSliderDouble": all_types, + "mvAppItemType::mvSliderDoubleMulti": all_types, + "mvAppItemType::mvCustomSeries": all_types, + } + +def get_allowed_children(distinct_allow_all: bool = False, **kwargs) -> dict: + """ Return all item type names and collections of applicable child types as a mapping. + + This function returns a set of rules defined within Dear PyGui. At runtime, these rules get combined with those from `get_allowed_parents()`, and what is allowed here might be disabled there. To get the actual possible combinations of chilren and parent types, see `get_possible_parents()` and `get_possible_children()`. + + Args: + distinct_allow_all (bool): If set to True, entries for the items accepting all children types will be set to None. This allows to detect and handle such cases specially if needed. If False, all item types will be listed explicitly in such entries, which allows more straightforward processing of the dict. + Returns: + dict + """ + + all_types = None if distinct_allow_all else tuple(get_all_types()) + + return { + "mvAppItemType::mvInputText": all_types, + "mvAppItemType::mvButton": all_types, + "mvAppItemType::mvRadioButton": all_types, + "mvAppItemType::mvTabBar": ("mvAppItemType::mvTab", "mvAppItemType::mvTabButton", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvVisibleHandler", ), + "mvAppItemType::mvTab": all_types, + "mvAppItemType::mvImage": all_types, + "mvAppItemType::mvMenuBar": all_types, + "mvAppItemType::mvViewportMenuBar": all_types, + "mvAppItemType::mvMenu": all_types, + "mvAppItemType::mvMenuItem": all_types, + "mvAppItemType::mvChildWindow": all_types, + "mvAppItemType::mvGroup": all_types, + "mvAppItemType::mvSliderFloat": all_types, + "mvAppItemType::mvSliderInt": all_types, + "mvAppItemType::mvFilterSet": all_types, + "mvAppItemType::mvDragFloat": all_types, + "mvAppItemType::mvDragInt": all_types, + "mvAppItemType::mvInputFloat": all_types, + "mvAppItemType::mvInputInt": all_types, + "mvAppItemType::mvColorEdit": all_types, + "mvAppItemType::mvClipper": all_types, + "mvAppItemType::mvColorPicker": all_types, + "mvAppItemType::mvTooltip": all_types, + "mvAppItemType::mvCollapsingHeader": all_types, + "mvAppItemType::mvSeparator": all_types, + "mvAppItemType::mvCheckbox": all_types, + "mvAppItemType::mvListbox": all_types, + "mvAppItemType::mvText": all_types, + "mvAppItemType::mvCombo": all_types, + "mvAppItemType::mvPlot": ("mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPoint", "mvAppItemType::mvDragRect", "mvAppItemType::mvDragLine", "mvAppItemType::mvAnnotation", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvDragPayload", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvSimplePlot": all_types, + "mvAppItemType::mvDrawlist": ("mvAppItemType::mvDrawLayer", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvWindowAppItem": all_types, + "mvAppItemType::mvSelectable": all_types, + "mvAppItemType::mvTreeNode": all_types, + "mvAppItemType::mvProgressBar": all_types, + "mvAppItemType::mvSpacer": all_types, + "mvAppItemType::mvImageButton": all_types, + "mvAppItemType::mvTimePicker": all_types, + "mvAppItemType::mvDatePicker": all_types, + "mvAppItemType::mvColorButton": all_types, + "mvAppItemType::mvFileDialog": all_types, + "mvAppItemType::mvTabButton": all_types, + "mvAppItemType::mvDrawNode": ("mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvNodeEditor": ("mvAppItemType::mvMenuBar", "mvAppItemType::mvNode", "mvAppItemType::mvNodeLink", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvVisibleHandler", ), + "mvAppItemType::mvNode": ("mvAppItemType::mvNodeAttribute", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvDragPayload", ), + "mvAppItemType::mvNodeAttribute": all_types, + "mvAppItemType::mvTable": ("mvAppItemType::mvTooltip", "mvAppItemType::mvTableRow", "mvAppItemType::mvTableColumn", ), + "mvAppItemType::mvTableColumn": all_types, + "mvAppItemType::mvTableRow": all_types, + "mvAppItemType::mvSyncedTables": all_types, + "mvAppItemType::mvDrawLine": all_types, + "mvAppItemType::mvDrawArrow": all_types, + "mvAppItemType::mvDrawTriangle": all_types, + "mvAppItemType::mvDrawImageQuad": all_types, + "mvAppItemType::mvDrawCircle": all_types, + "mvAppItemType::mvDrawEllipse": all_types, + "mvAppItemType::mvDrawBezierCubic": all_types, + "mvAppItemType::mvDrawBezierQuadratic": all_types, + "mvAppItemType::mvDrawQuad": all_types, + "mvAppItemType::mvDrawRect": all_types, + "mvAppItemType::mvDrawText": all_types, + "mvAppItemType::mvDrawPolygon": all_types, + "mvAppItemType::mvDrawPolyline": all_types, + "mvAppItemType::mvDrawImage": all_types, + "mvAppItemType::mvDragFloatMulti": all_types, + "mvAppItemType::mvDragIntMulti": all_types, + "mvAppItemType::mvSliderFloatMulti": all_types, + "mvAppItemType::mvSliderIntMulti": all_types, + "mvAppItemType::mvInputIntMulti": all_types, + "mvAppItemType::mvInputFloatMulti": all_types, + "mvAppItemType::mvDragPoint": all_types, + "mvAppItemType::mvDragLine": all_types, + "mvAppItemType::mvDragRect": all_types, + "mvAppItemType::mvAnnotation": all_types, + "mvAppItemType::mvAxisTag": all_types, + "mvAppItemType::mvLineSeries": all_types, + "mvAppItemType::mvScatterSeries": all_types, + "mvAppItemType::mvStemSeries": all_types, + "mvAppItemType::mvStairSeries": all_types, + "mvAppItemType::mvBarSeries": all_types, + "mvAppItemType::mvBarGroupSeries": all_types, + "mvAppItemType::mvErrorSeries": all_types, + "mvAppItemType::mvInfLineSeries": all_types, + "mvAppItemType::mvHeatSeries": all_types, + "mvAppItemType::mvImageSeries": all_types, + "mvAppItemType::mvPieSeries": all_types, + "mvAppItemType::mvShadeSeries": all_types, + "mvAppItemType::mvLabelSeries": all_types, + "mvAppItemType::mvHistogramSeries": all_types, + "mvAppItemType::mvDigitalSeries": all_types, + "mvAppItemType::mv2dHistogramSeries": all_types, + "mvAppItemType::mvCandleSeries": all_types, + "mvAppItemType::mvAreaSeries": all_types, + "mvAppItemType::mvColorMapScale": all_types, + "mvAppItemType::mvSlider3D": all_types, + "mvAppItemType::mvKnobFloat": all_types, + "mvAppItemType::mvLoadingIndicator": all_types, + "mvAppItemType::mvNodeLink": all_types, + "mvAppItemType::mvTextureRegistry": ("mvAppItemType::mvStaticTexture", "mvAppItemType::mvDynamicTexture", "mvAppItemType::mvRawTexture", ), + "mvAppItemType::mvStaticTexture": all_types, + "mvAppItemType::mvDynamicTexture": all_types, + "mvAppItemType::mvStage": all_types, + "mvAppItemType::mvDrawLayer": ("mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvViewportDrawlist": ("mvAppItemType::mvDrawLayer", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawNode", ), + "mvAppItemType::mvFileExtension": all_types, + "mvAppItemType::mvPlotLegend": all_types, + "mvAppItemType::mvPlotAxis": all_types, + "mvAppItemType::mvHandlerRegistry": ("mvAppItemType::mvKeyDownHandler", "mvAppItemType::mvKeyPressHandler", "mvAppItemType::mvKeyReleaseHandler", "mvAppItemType::mvMouseMoveHandler", "mvAppItemType::mvMouseWheelHandler", "mvAppItemType::mvMouseClickHandler", "mvAppItemType::mvMouseDoubleClickHandler", "mvAppItemType::mvMouseDownHandler", "mvAppItemType::mvMouseReleaseHandler", "mvAppItemType::mvMouseDragHandler", ), + "mvAppItemType::mvKeyDownHandler": all_types, + "mvAppItemType::mvKeyPressHandler": all_types, + "mvAppItemType::mvKeyReleaseHandler": all_types, + "mvAppItemType::mvMouseMoveHandler": all_types, + "mvAppItemType::mvMouseWheelHandler": all_types, + "mvAppItemType::mvMouseClickHandler": all_types, + "mvAppItemType::mvMouseDoubleClickHandler": all_types, + "mvAppItemType::mvMouseDownHandler": all_types, + "mvAppItemType::mvMouseReleaseHandler": all_types, + "mvAppItemType::mvMouseDragHandler": all_types, + "mvAppItemType::mvHoverHandler": all_types, + "mvAppItemType::mvActiveHandler": all_types, + "mvAppItemType::mvFocusHandler": all_types, + "mvAppItemType::mvVisibleHandler": all_types, + "mvAppItemType::mvEditedHandler": all_types, + "mvAppItemType::mvActivatedHandler": all_types, + "mvAppItemType::mvDeactivatedHandler": all_types, + "mvAppItemType::mvDeactivatedAfterEditHandler": all_types, + "mvAppItemType::mvToggledOpenHandler": all_types, + "mvAppItemType::mvClickedHandler": all_types, + "mvAppItemType::mvDoubleClickedHandler": all_types, + "mvAppItemType::mvScrollHandler": all_types, + "mvAppItemType::mvDragPayload": all_types, + "mvAppItemType::mvResizeHandler": all_types, + "mvAppItemType::mvFont": ("mvAppItemType::mvCharRemap", "mvAppItemType::mvTemplateRegistry", ), + "mvAppItemType::mvFontRegistry": ("mvAppItemType::mvFont", ), + "mvAppItemType::mvTheme": ("mvAppItemType::mvThemeComponent", ), + "mvAppItemType::mvThemeColor": all_types, + "mvAppItemType::mvThemeStyle": all_types, + "mvAppItemType::mvThemeComponent": ("mvAppItemType::mvThemeColor", "mvAppItemType::mvThemeStyle", ), + "mvAppItemType::mvCharRemap": all_types, + "mvAppItemType::mvValueRegistry": ("mvAppItemType::mvBoolValue", "mvAppItemType::mvIntValue", "mvAppItemType::mvInt4Value", "mvAppItemType::mvFloatValue", "mvAppItemType::mvFloat4Value", "mvAppItemType::mvStringValue", "mvAppItemType::mvDoubleValue", "mvAppItemType::mvDouble4Value", "mvAppItemType::mvColorValue", "mvAppItemType::mvFloatVectValue", "mvAppItemType::mvSeriesValue", ), + "mvAppItemType::mvIntValue": all_types, + "mvAppItemType::mvFloatValue": all_types, + "mvAppItemType::mvFloat4Value": all_types, + "mvAppItemType::mvInt4Value": all_types, + "mvAppItemType::mvBoolValue": all_types, + "mvAppItemType::mvStringValue": all_types, + "mvAppItemType::mvDoubleValue": all_types, + "mvAppItemType::mvDouble4Value": all_types, + "mvAppItemType::mvColorValue": all_types, + "mvAppItemType::mvFloatVectValue": all_types, + "mvAppItemType::mvSeriesValue": all_types, + "mvAppItemType::mvRawTexture": all_types, + "mvAppItemType::mvSubPlots": ("mvAppItemType::mvPlot", "mvAppItemType::mvPlotLegend", ), + "mvAppItemType::mvColorMap": all_types, + "mvAppItemType::mvColorMapRegistry": ("mvAppItemType::mvColorMap", ), + "mvAppItemType::mvColorMapButton": all_types, + "mvAppItemType::mvColorMapSlider": all_types, + "mvAppItemType::mvTemplateRegistry": all_types, + "mvAppItemType::mvTableCell": all_types, + "mvAppItemType::mvItemHandlerRegistry": ("mvAppItemType::mvActivatedHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvScrollHandler", ), + "mvAppItemType::mvInputDouble": all_types, + "mvAppItemType::mvInputDoubleMulti": all_types, + "mvAppItemType::mvDragDouble": all_types, + "mvAppItemType::mvDragDoubleMulti": all_types, + "mvAppItemType::mvSliderDouble": all_types, + "mvAppItemType::mvSliderDoubleMulti": all_types, + "mvAppItemType::mvCustomSeries": all_types, + } + +def get_possible_parents(**kwargs) -> dict: + """ Return a dict that for every item type lists all types that can be used as a parent. + + Unlike `get_allowed_parents()`, this function returns the actual set of all possible parent-child relationthips that results from applying *both* `get_allowed_parents()` and `get_allowed_children()`, represented as a child-to-parents map. It also takes `is_container()` into account. + """ + + set0 = ("mvAppItemType::mvTab", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvFilterSet", "mvAppItemType::mvClipper", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvTreeNode", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvStage", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPayload", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvCustomSeries", ) + set1 = ("mvAppItemType::mvTabBar", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set2 = ("mvAppItemType::mvChildWindow", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set3 = ("mvAppItemType::mvTab", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvFilterSet", "mvAppItemType::mvClipper", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvTreeNode", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTable", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvStage", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPayload", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvCustomSeries", ) + set4 = ("mvAppItemType::mvTab", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvFilterSet", "mvAppItemType::mvClipper", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvTreeNode", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvStage", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPayload", "mvAppItemType::mvSubPlots", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvCustomSeries", ) + set5 = ("mvAppItemType::mvPlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvDrawNode", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", ) + set6 = ("mvAppItemType::mvNodeEditor", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set7 = ("mvAppItemType::mvNode", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set8 = ("mvAppItemType::mvTable", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set9 = ("mvAppItemType::mvPlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvDrawNode", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ) + set10 = ("mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvDrawNode", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvCustomSeries", ) + set11 = ("mvAppItemType::mvPlot", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set12 = ("mvAppItemType::mvPlotAxis", "mvAppItemType::mvTemplateRegistry", ) + set13 = ("mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set14 = ("mvAppItemType::mvPlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvTemplateRegistry", ) + set15 = ("mvAppItemType::mvFileDialog", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + set16 = ("mvAppItemType::mvPlot", "mvAppItemType::mvStage", "mvAppItemType::mvSubPlots", "mvAppItemType::mvTemplateRegistry", ) + set17 = ("mvAppItemType::mvStage", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvTemplateRegistry", ) + set18 = ("mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", ) + set19 = ("mvAppItemType::mvGroup", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvPlot", "mvAppItemType::mvTreeNode", "mvAppItemType::mvNode", ) + set20 = ("mvAppItemType::mvFontRegistry", ) + set21 = ("mvAppItemType::mvThemeComponent", "mvAppItemType::mvTemplateRegistry", ) + set22 = ("mvAppItemType::mvTheme", "mvAppItemType::mvTemplateRegistry", ) + set23 = ("mvAppItemType::mvFont", "mvAppItemType::mvTemplateRegistry", ) + set24 = ("mvAppItemType::mvValueRegistry", ) + set25 = ("mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvTemplateRegistry", ) + set26 = ("mvAppItemType::mvTab", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvFilterSet", "mvAppItemType::mvClipper", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvTreeNode", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvStage", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPayload", "mvAppItemType::mvFont", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvCustomSeries", ) + set27 = ("mvAppItemType::mvTableRow", "mvAppItemType::mvStage", "mvAppItemType::mvTemplateRegistry", ) + + return { + "mvAppItemType::mvInputText": set0, + "mvAppItemType::mvButton": set0, + "mvAppItemType::mvRadioButton": set0, + "mvAppItemType::mvTabBar": set0, + "mvAppItemType::mvTab": set1, + "mvAppItemType::mvImage": set0, + "mvAppItemType::mvMenuBar": set2, + "mvAppItemType::mvViewportMenuBar": set0, + "mvAppItemType::mvMenu": set0, + "mvAppItemType::mvMenuItem": set0, + "mvAppItemType::mvChildWindow": set0, + "mvAppItemType::mvGroup": set0, + "mvAppItemType::mvSliderFloat": set0, + "mvAppItemType::mvSliderInt": set0, + "mvAppItemType::mvFilterSet": set0, + "mvAppItemType::mvDragFloat": set0, + "mvAppItemType::mvDragInt": set0, + "mvAppItemType::mvInputFloat": set0, + "mvAppItemType::mvInputInt": set0, + "mvAppItemType::mvColorEdit": set0, + "mvAppItemType::mvClipper": set0, + "mvAppItemType::mvColorPicker": set0, + "mvAppItemType::mvTooltip": set3, + "mvAppItemType::mvCollapsingHeader": set0, + "mvAppItemType::mvSeparator": set0, + "mvAppItemType::mvCheckbox": set0, + "mvAppItemType::mvListbox": set0, + "mvAppItemType::mvText": set0, + "mvAppItemType::mvCombo": set0, + "mvAppItemType::mvPlot": set4, + "mvAppItemType::mvSimplePlot": set0, + "mvAppItemType::mvDrawlist": set0, + "mvAppItemType::mvWindowAppItem": set0, + "mvAppItemType::mvSelectable": set0, + "mvAppItemType::mvTreeNode": set0, + "mvAppItemType::mvProgressBar": set0, + "mvAppItemType::mvSpacer": set0, + "mvAppItemType::mvImageButton": set0, + "mvAppItemType::mvTimePicker": set0, + "mvAppItemType::mvDatePicker": set0, + "mvAppItemType::mvColorButton": set0, + "mvAppItemType::mvFileDialog": set0, + "mvAppItemType::mvTabButton": set1, + "mvAppItemType::mvDrawNode": set5, + "mvAppItemType::mvNodeEditor": set0, + "mvAppItemType::mvNode": set6, + "mvAppItemType::mvNodeAttribute": set7, + "mvAppItemType::mvTable": set0, + "mvAppItemType::mvTableColumn": set8, + "mvAppItemType::mvTableRow": set8, + "mvAppItemType::mvSyncedTables": set0, + "mvAppItemType::mvDrawLine": set9, + "mvAppItemType::mvDrawArrow": set9, + "mvAppItemType::mvDrawTriangle": set9, + "mvAppItemType::mvDrawImageQuad": set10, + "mvAppItemType::mvDrawCircle": set9, + "mvAppItemType::mvDrawEllipse": set9, + "mvAppItemType::mvDrawBezierCubic": set9, + "mvAppItemType::mvDrawBezierQuadratic": set9, + "mvAppItemType::mvDrawQuad": set9, + "mvAppItemType::mvDrawRect": set9, + "mvAppItemType::mvDrawText": set9, + "mvAppItemType::mvDrawPolygon": set9, + "mvAppItemType::mvDrawPolyline": set9, + "mvAppItemType::mvDrawImage": set9, + "mvAppItemType::mvDragFloatMulti": set0, + "mvAppItemType::mvDragIntMulti": set0, + "mvAppItemType::mvSliderFloatMulti": set0, + "mvAppItemType::mvSliderIntMulti": set0, + "mvAppItemType::mvInputIntMulti": set0, + "mvAppItemType::mvInputFloatMulti": set0, + "mvAppItemType::mvDragPoint": set11, + "mvAppItemType::mvDragLine": set11, + "mvAppItemType::mvDragRect": set11, + "mvAppItemType::mvAnnotation": set11, + "mvAppItemType::mvAxisTag": set12, + "mvAppItemType::mvLineSeries": set12, + "mvAppItemType::mvScatterSeries": set12, + "mvAppItemType::mvStemSeries": set12, + "mvAppItemType::mvStairSeries": set12, + "mvAppItemType::mvBarSeries": set12, + "mvAppItemType::mvBarGroupSeries": set12, + "mvAppItemType::mvErrorSeries": set12, + "mvAppItemType::mvInfLineSeries": set12, + "mvAppItemType::mvHeatSeries": set12, + "mvAppItemType::mvImageSeries": set12, + "mvAppItemType::mvPieSeries": set12, + "mvAppItemType::mvShadeSeries": set12, + "mvAppItemType::mvLabelSeries": set12, + "mvAppItemType::mvHistogramSeries": set12, + "mvAppItemType::mvDigitalSeries": set12, + "mvAppItemType::mv2dHistogramSeries": set12, + "mvAppItemType::mvCandleSeries": set12, + "mvAppItemType::mvAreaSeries": set12, + "mvAppItemType::mvColorMapScale": set0, + "mvAppItemType::mvSlider3D": set0, + "mvAppItemType::mvKnobFloat": set0, + "mvAppItemType::mvLoadingIndicator": set0, + "mvAppItemType::mvNodeLink": set6, + "mvAppItemType::mvTextureRegistry": set0, + "mvAppItemType::mvStaticTexture": set13, + "mvAppItemType::mvDynamicTexture": set13, + "mvAppItemType::mvStage": set0, + "mvAppItemType::mvDrawLayer": set14, + "mvAppItemType::mvViewportDrawlist": set0, + "mvAppItemType::mvFileExtension": set15, + "mvAppItemType::mvPlotLegend": set16, + "mvAppItemType::mvPlotAxis": set11, + "mvAppItemType::mvHandlerRegistry": set0, + "mvAppItemType::mvKeyDownHandler": set17, + "mvAppItemType::mvKeyPressHandler": set17, + "mvAppItemType::mvKeyReleaseHandler": set17, + "mvAppItemType::mvMouseMoveHandler": set17, + "mvAppItemType::mvMouseWheelHandler": set17, + "mvAppItemType::mvMouseClickHandler": set17, + "mvAppItemType::mvMouseDoubleClickHandler": set17, + "mvAppItemType::mvMouseDownHandler": set17, + "mvAppItemType::mvMouseReleaseHandler": set17, + "mvAppItemType::mvMouseDragHandler": set17, + "mvAppItemType::mvHoverHandler": set18, + "mvAppItemType::mvActiveHandler": set18, + "mvAppItemType::mvFocusHandler": set18, + "mvAppItemType::mvVisibleHandler": set18, + "mvAppItemType::mvEditedHandler": set18, + "mvAppItemType::mvActivatedHandler": set18, + "mvAppItemType::mvDeactivatedHandler": set18, + "mvAppItemType::mvDeactivatedAfterEditHandler": set18, + "mvAppItemType::mvToggledOpenHandler": set18, + "mvAppItemType::mvClickedHandler": set18, + "mvAppItemType::mvDoubleClickedHandler": set18, + "mvAppItemType::mvScrollHandler": set18, + "mvAppItemType::mvDragPayload": set19, + "mvAppItemType::mvResizeHandler": set18, + "mvAppItemType::mvFont": set20, + "mvAppItemType::mvFontRegistry": set0, + "mvAppItemType::mvTheme": set0, + "mvAppItemType::mvThemeColor": set21, + "mvAppItemType::mvThemeStyle": set21, + "mvAppItemType::mvThemeComponent": set22, + "mvAppItemType::mvCharRemap": set23, + "mvAppItemType::mvValueRegistry": set0, + "mvAppItemType::mvIntValue": set24, + "mvAppItemType::mvFloatValue": set24, + "mvAppItemType::mvFloat4Value": set24, + "mvAppItemType::mvInt4Value": set24, + "mvAppItemType::mvBoolValue": set24, + "mvAppItemType::mvStringValue": set24, + "mvAppItemType::mvDoubleValue": set24, + "mvAppItemType::mvDouble4Value": set24, + "mvAppItemType::mvColorValue": set24, + "mvAppItemType::mvFloatVectValue": set24, + "mvAppItemType::mvSeriesValue": set24, + "mvAppItemType::mvRawTexture": set13, + "mvAppItemType::mvSubPlots": set0, + "mvAppItemType::mvColorMap": set25, + "mvAppItemType::mvColorMapRegistry": set0, + "mvAppItemType::mvColorMapButton": set0, + "mvAppItemType::mvColorMapSlider": set0, + "mvAppItemType::mvTemplateRegistry": set26, + "mvAppItemType::mvTableCell": set27, + "mvAppItemType::mvItemHandlerRegistry": set0, + "mvAppItemType::mvInputDouble": set0, + "mvAppItemType::mvInputDoubleMulti": set0, + "mvAppItemType::mvDragDouble": set0, + "mvAppItemType::mvDragDoubleMulti": set0, + "mvAppItemType::mvSliderDouble": set0, + "mvAppItemType::mvSliderDoubleMulti": set0, + "mvAppItemType::mvCustomSeries": set0, + } + +def get_possible_children(**kwargs) -> dict: + """ Return a dict that for every item type lists all types that can be used for a child item. + + Unlike `get_allowed_children()`, this function returns the actual set of all possible parent-child relationthips that results from applying *both* `get_allowed_parents()` and `get_allowed_children()`, represented as a parent-to-children map. It also takes `is_container()` into account. + """ + + set0 = () + set1 = ("mvAppItemType::mvTab", "mvAppItemType::mvTabButton", ) + set2 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set3 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set4 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvDragPayload", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set5 = ("mvAppItemType::mvDrawNode", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDragPoint", "mvAppItemType::mvDragLine", "mvAppItemType::mvDragRect", "mvAppItemType::mvAnnotation", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvDragPayload", ) + set6 = ("mvAppItemType::mvDrawNode", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDrawLayer", ) + set7 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvDrawNode", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set8 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvFileExtension", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set9 = ("mvAppItemType::mvDrawNode", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", ) + set10 = ("mvAppItemType::mvMenuBar", "mvAppItemType::mvNode", "mvAppItemType::mvNodeLink", ) + set11 = ("mvAppItemType::mvNodeAttribute", "mvAppItemType::mvDragPayload", ) + set12 = ("mvAppItemType::mvTooltip", "mvAppItemType::mvTableColumn", "mvAppItemType::mvTableRow", ) + set13 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set14 = ("mvAppItemType::mvStaticTexture", "mvAppItemType::mvDynamicTexture", "mvAppItemType::mvRawTexture", ) + set15 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvTab", "mvAppItemType::mvImage", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvTabButton", "mvAppItemType::mvDrawNode", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvNode", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTable", "mvAppItemType::mvTableColumn", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvDragPoint", "mvAppItemType::mvDragLine", "mvAppItemType::mvDragRect", "mvAppItemType::mvAnnotation", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvNodeLink", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStaticTexture", "mvAppItemType::mvDynamicTexture", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvFileExtension", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvKeyDownHandler", "mvAppItemType::mvKeyPressHandler", "mvAppItemType::mvKeyReleaseHandler", "mvAppItemType::mvMouseMoveHandler", "mvAppItemType::mvMouseWheelHandler", "mvAppItemType::mvMouseClickHandler", "mvAppItemType::mvMouseDoubleClickHandler", "mvAppItemType::mvMouseDownHandler", "mvAppItemType::mvMouseReleaseHandler", "mvAppItemType::mvMouseDragHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvScrollHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvRawTexture", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set16 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvAxisTag", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set17 = ("mvAppItemType::mvKeyDownHandler", "mvAppItemType::mvKeyPressHandler", "mvAppItemType::mvKeyReleaseHandler", "mvAppItemType::mvMouseMoveHandler", "mvAppItemType::mvMouseWheelHandler", "mvAppItemType::mvMouseClickHandler", "mvAppItemType::mvMouseDoubleClickHandler", "mvAppItemType::mvMouseDownHandler", "mvAppItemType::mvMouseReleaseHandler", "mvAppItemType::mvMouseDragHandler", ) + set18 = ("mvAppItemType::mvCharRemap", "mvAppItemType::mvTemplateRegistry", ) + set19 = ("mvAppItemType::mvFont", ) + set20 = ("mvAppItemType::mvThemeComponent", ) + set21 = ("mvAppItemType::mvThemeColor", "mvAppItemType::mvThemeStyle", ) + set22 = ("mvAppItemType::mvIntValue", "mvAppItemType::mvFloatValue", "mvAppItemType::mvFloat4Value", "mvAppItemType::mvInt4Value", "mvAppItemType::mvBoolValue", "mvAppItemType::mvStringValue", "mvAppItemType::mvDoubleValue", "mvAppItemType::mvDouble4Value", "mvAppItemType::mvColorValue", "mvAppItemType::mvFloatVectValue", "mvAppItemType::mvSeriesValue", ) + set23 = ("mvAppItemType::mvPlot", "mvAppItemType::mvPlotLegend", ) + set24 = ("mvAppItemType::mvColorMap", ) + set25 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvTab", "mvAppItemType::mvImage", "mvAppItemType::mvMenuBar", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvTabButton", "mvAppItemType::mvDrawNode", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvNode", "mvAppItemType::mvNodeAttribute", "mvAppItemType::mvTable", "mvAppItemType::mvTableColumn", "mvAppItemType::mvTableRow", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvDragPoint", "mvAppItemType::mvDragLine", "mvAppItemType::mvDragRect", "mvAppItemType::mvAnnotation", "mvAppItemType::mvAxisTag", "mvAppItemType::mvLineSeries", "mvAppItemType::mvScatterSeries", "mvAppItemType::mvStemSeries", "mvAppItemType::mvStairSeries", "mvAppItemType::mvBarSeries", "mvAppItemType::mvBarGroupSeries", "mvAppItemType::mvErrorSeries", "mvAppItemType::mvInfLineSeries", "mvAppItemType::mvHeatSeries", "mvAppItemType::mvImageSeries", "mvAppItemType::mvPieSeries", "mvAppItemType::mvShadeSeries", "mvAppItemType::mvLabelSeries", "mvAppItemType::mvHistogramSeries", "mvAppItemType::mvDigitalSeries", "mvAppItemType::mv2dHistogramSeries", "mvAppItemType::mvCandleSeries", "mvAppItemType::mvAreaSeries", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvNodeLink", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStaticTexture", "mvAppItemType::mvDynamicTexture", "mvAppItemType::mvStage", "mvAppItemType::mvDrawLayer", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvFileExtension", "mvAppItemType::mvPlotLegend", "mvAppItemType::mvPlotAxis", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvKeyDownHandler", "mvAppItemType::mvKeyPressHandler", "mvAppItemType::mvKeyReleaseHandler", "mvAppItemType::mvMouseMoveHandler", "mvAppItemType::mvMouseWheelHandler", "mvAppItemType::mvMouseClickHandler", "mvAppItemType::mvMouseDoubleClickHandler", "mvAppItemType::mvMouseDownHandler", "mvAppItemType::mvMouseReleaseHandler", "mvAppItemType::mvMouseDragHandler", "mvAppItemType::mvHoverHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvScrollHandler", "mvAppItemType::mvResizeHandler", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvThemeColor", "mvAppItemType::mvThemeStyle", "mvAppItemType::mvThemeComponent", "mvAppItemType::mvCharRemap", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvRawTexture", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMap", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvTableCell", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + set26 = ("mvAppItemType::mvHoverHandler", "mvAppItemType::mvActiveHandler", "mvAppItemType::mvFocusHandler", "mvAppItemType::mvVisibleHandler", "mvAppItemType::mvEditedHandler", "mvAppItemType::mvActivatedHandler", "mvAppItemType::mvDeactivatedHandler", "mvAppItemType::mvDeactivatedAfterEditHandler", "mvAppItemType::mvToggledOpenHandler", "mvAppItemType::mvClickedHandler", "mvAppItemType::mvDoubleClickedHandler", "mvAppItemType::mvScrollHandler", "mvAppItemType::mvResizeHandler", ) + set27 = ("mvAppItemType::mvInputText", "mvAppItemType::mvButton", "mvAppItemType::mvRadioButton", "mvAppItemType::mvTabBar", "mvAppItemType::mvImage", "mvAppItemType::mvViewportMenuBar", "mvAppItemType::mvMenu", "mvAppItemType::mvMenuItem", "mvAppItemType::mvChildWindow", "mvAppItemType::mvGroup", "mvAppItemType::mvSliderFloat", "mvAppItemType::mvSliderInt", "mvAppItemType::mvFilterSet", "mvAppItemType::mvDragFloat", "mvAppItemType::mvDragInt", "mvAppItemType::mvInputFloat", "mvAppItemType::mvInputInt", "mvAppItemType::mvColorEdit", "mvAppItemType::mvClipper", "mvAppItemType::mvColorPicker", "mvAppItemType::mvTooltip", "mvAppItemType::mvCollapsingHeader", "mvAppItemType::mvSeparator", "mvAppItemType::mvCheckbox", "mvAppItemType::mvListbox", "mvAppItemType::mvText", "mvAppItemType::mvCombo", "mvAppItemType::mvPlot", "mvAppItemType::mvSimplePlot", "mvAppItemType::mvDrawlist", "mvAppItemType::mvWindowAppItem", "mvAppItemType::mvSelectable", "mvAppItemType::mvTreeNode", "mvAppItemType::mvProgressBar", "mvAppItemType::mvSpacer", "mvAppItemType::mvImageButton", "mvAppItemType::mvTimePicker", "mvAppItemType::mvDatePicker", "mvAppItemType::mvColorButton", "mvAppItemType::mvFileDialog", "mvAppItemType::mvNodeEditor", "mvAppItemType::mvTable", "mvAppItemType::mvSyncedTables", "mvAppItemType::mvDrawLine", "mvAppItemType::mvDrawArrow", "mvAppItemType::mvDrawTriangle", "mvAppItemType::mvDrawImageQuad", "mvAppItemType::mvDrawCircle", "mvAppItemType::mvDrawEllipse", "mvAppItemType::mvDrawBezierCubic", "mvAppItemType::mvDrawBezierQuadratic", "mvAppItemType::mvDrawQuad", "mvAppItemType::mvDrawRect", "mvAppItemType::mvDrawText", "mvAppItemType::mvDrawPolygon", "mvAppItemType::mvDrawPolyline", "mvAppItemType::mvDrawImage", "mvAppItemType::mvDragFloatMulti", "mvAppItemType::mvDragIntMulti", "mvAppItemType::mvSliderFloatMulti", "mvAppItemType::mvSliderIntMulti", "mvAppItemType::mvInputIntMulti", "mvAppItemType::mvInputFloatMulti", "mvAppItemType::mvColorMapScale", "mvAppItemType::mvSlider3D", "mvAppItemType::mvKnobFloat", "mvAppItemType::mvLoadingIndicator", "mvAppItemType::mvTextureRegistry", "mvAppItemType::mvStage", "mvAppItemType::mvViewportDrawlist", "mvAppItemType::mvHandlerRegistry", "mvAppItemType::mvFontRegistry", "mvAppItemType::mvTheme", "mvAppItemType::mvValueRegistry", "mvAppItemType::mvSubPlots", "mvAppItemType::mvColorMapRegistry", "mvAppItemType::mvColorMapButton", "mvAppItemType::mvColorMapSlider", "mvAppItemType::mvTemplateRegistry", "mvAppItemType::mvItemHandlerRegistry", "mvAppItemType::mvInputDouble", "mvAppItemType::mvInputDoubleMulti", "mvAppItemType::mvDragDouble", "mvAppItemType::mvDragDoubleMulti", "mvAppItemType::mvSliderDouble", "mvAppItemType::mvSliderDoubleMulti", "mvAppItemType::mvCustomSeries", ) + + return { + "mvAppItemType::mvInputText": set0, + "mvAppItemType::mvButton": set0, + "mvAppItemType::mvRadioButton": set0, + "mvAppItemType::mvTabBar": set1, + "mvAppItemType::mvTab": set2, + "mvAppItemType::mvImage": set0, + "mvAppItemType::mvMenuBar": set2, + "mvAppItemType::mvViewportMenuBar": set2, + "mvAppItemType::mvMenu": set2, + "mvAppItemType::mvMenuItem": set0, + "mvAppItemType::mvChildWindow": set3, + "mvAppItemType::mvGroup": set4, + "mvAppItemType::mvSliderFloat": set0, + "mvAppItemType::mvSliderInt": set0, + "mvAppItemType::mvFilterSet": set2, + "mvAppItemType::mvDragFloat": set0, + "mvAppItemType::mvDragInt": set0, + "mvAppItemType::mvInputFloat": set0, + "mvAppItemType::mvInputInt": set0, + "mvAppItemType::mvColorEdit": set0, + "mvAppItemType::mvClipper": set2, + "mvAppItemType::mvColorPicker": set0, + "mvAppItemType::mvTooltip": set2, + "mvAppItemType::mvCollapsingHeader": set4, + "mvAppItemType::mvSeparator": set0, + "mvAppItemType::mvCheckbox": set0, + "mvAppItemType::mvListbox": set0, + "mvAppItemType::mvText": set0, + "mvAppItemType::mvCombo": set0, + "mvAppItemType::mvPlot": set5, + "mvAppItemType::mvSimplePlot": set0, + "mvAppItemType::mvDrawlist": set6, + "mvAppItemType::mvWindowAppItem": set7, + "mvAppItemType::mvSelectable": set0, + "mvAppItemType::mvTreeNode": set4, + "mvAppItemType::mvProgressBar": set0, + "mvAppItemType::mvSpacer": set0, + "mvAppItemType::mvImageButton": set0, + "mvAppItemType::mvTimePicker": set0, + "mvAppItemType::mvDatePicker": set0, + "mvAppItemType::mvColorButton": set0, + "mvAppItemType::mvFileDialog": set8, + "mvAppItemType::mvTabButton": set0, + "mvAppItemType::mvDrawNode": set9, + "mvAppItemType::mvNodeEditor": set10, + "mvAppItemType::mvNode": set11, + "mvAppItemType::mvNodeAttribute": set2, + "mvAppItemType::mvTable": set12, + "mvAppItemType::mvTableColumn": set0, + "mvAppItemType::mvTableRow": set13, + "mvAppItemType::mvSyncedTables": set2, + "mvAppItemType::mvDrawLine": set0, + "mvAppItemType::mvDrawArrow": set0, + "mvAppItemType::mvDrawTriangle": set0, + "mvAppItemType::mvDrawImageQuad": set0, + "mvAppItemType::mvDrawCircle": set0, + "mvAppItemType::mvDrawEllipse": set0, + "mvAppItemType::mvDrawBezierCubic": set0, + "mvAppItemType::mvDrawBezierQuadratic": set0, + "mvAppItemType::mvDrawQuad": set0, + "mvAppItemType::mvDrawRect": set0, + "mvAppItemType::mvDrawText": set0, + "mvAppItemType::mvDrawPolygon": set0, + "mvAppItemType::mvDrawPolyline": set0, + "mvAppItemType::mvDrawImage": set0, + "mvAppItemType::mvDragFloatMulti": set0, + "mvAppItemType::mvDragIntMulti": set0, + "mvAppItemType::mvSliderFloatMulti": set0, + "mvAppItemType::mvSliderIntMulti": set0, + "mvAppItemType::mvInputIntMulti": set0, + "mvAppItemType::mvInputFloatMulti": set0, + "mvAppItemType::mvDragPoint": set0, + "mvAppItemType::mvDragLine": set0, + "mvAppItemType::mvDragRect": set0, + "mvAppItemType::mvAnnotation": set0, + "mvAppItemType::mvAxisTag": set0, + "mvAppItemType::mvLineSeries": set2, + "mvAppItemType::mvScatterSeries": set2, + "mvAppItemType::mvStemSeries": set2, + "mvAppItemType::mvStairSeries": set2, + "mvAppItemType::mvBarSeries": set2, + "mvAppItemType::mvBarGroupSeries": set2, + "mvAppItemType::mvErrorSeries": set2, + "mvAppItemType::mvInfLineSeries": set2, + "mvAppItemType::mvHeatSeries": set2, + "mvAppItemType::mvImageSeries": set2, + "mvAppItemType::mvPieSeries": set2, + "mvAppItemType::mvShadeSeries": set2, + "mvAppItemType::mvLabelSeries": set2, + "mvAppItemType::mvHistogramSeries": set2, + "mvAppItemType::mvDigitalSeries": set2, + "mvAppItemType::mv2dHistogramSeries": set2, + "mvAppItemType::mvCandleSeries": set2, + "mvAppItemType::mvAreaSeries": set2, + "mvAppItemType::mvColorMapScale": set0, + "mvAppItemType::mvSlider3D": set0, + "mvAppItemType::mvKnobFloat": set0, + "mvAppItemType::mvLoadingIndicator": set0, + "mvAppItemType::mvNodeLink": set0, + "mvAppItemType::mvTextureRegistry": set14, + "mvAppItemType::mvStaticTexture": set0, + "mvAppItemType::mvDynamicTexture": set0, + "mvAppItemType::mvStage": set15, + "mvAppItemType::mvDrawLayer": set9, + "mvAppItemType::mvViewportDrawlist": set6, + "mvAppItemType::mvFileExtension": set0, + "mvAppItemType::mvPlotLegend": set2, + "mvAppItemType::mvPlotAxis": set16, + "mvAppItemType::mvHandlerRegistry": set17, + "mvAppItemType::mvKeyDownHandler": set0, + "mvAppItemType::mvKeyPressHandler": set0, + "mvAppItemType::mvKeyReleaseHandler": set0, + "mvAppItemType::mvMouseMoveHandler": set0, + "mvAppItemType::mvMouseWheelHandler": set0, + "mvAppItemType::mvMouseClickHandler": set0, + "mvAppItemType::mvMouseDoubleClickHandler": set0, + "mvAppItemType::mvMouseDownHandler": set0, + "mvAppItemType::mvMouseReleaseHandler": set0, + "mvAppItemType::mvMouseDragHandler": set0, + "mvAppItemType::mvHoverHandler": set0, + "mvAppItemType::mvActiveHandler": set0, + "mvAppItemType::mvFocusHandler": set0, + "mvAppItemType::mvVisibleHandler": set0, + "mvAppItemType::mvEditedHandler": set0, + "mvAppItemType::mvActivatedHandler": set0, + "mvAppItemType::mvDeactivatedHandler": set0, + "mvAppItemType::mvDeactivatedAfterEditHandler": set0, + "mvAppItemType::mvToggledOpenHandler": set0, + "mvAppItemType::mvClickedHandler": set0, + "mvAppItemType::mvDoubleClickedHandler": set0, + "mvAppItemType::mvScrollHandler": set0, + "mvAppItemType::mvDragPayload": set2, + "mvAppItemType::mvResizeHandler": set0, + "mvAppItemType::mvFont": set18, + "mvAppItemType::mvFontRegistry": set19, + "mvAppItemType::mvTheme": set20, + "mvAppItemType::mvThemeColor": set0, + "mvAppItemType::mvThemeStyle": set0, + "mvAppItemType::mvThemeComponent": set21, + "mvAppItemType::mvCharRemap": set0, + "mvAppItemType::mvValueRegistry": set22, + "mvAppItemType::mvIntValue": set0, + "mvAppItemType::mvFloatValue": set0, + "mvAppItemType::mvFloat4Value": set0, + "mvAppItemType::mvInt4Value": set0, + "mvAppItemType::mvBoolValue": set0, + "mvAppItemType::mvStringValue": set0, + "mvAppItemType::mvDoubleValue": set0, + "mvAppItemType::mvDouble4Value": set0, + "mvAppItemType::mvColorValue": set0, + "mvAppItemType::mvFloatVectValue": set0, + "mvAppItemType::mvSeriesValue": set0, + "mvAppItemType::mvRawTexture": set0, + "mvAppItemType::mvSubPlots": set23, + "mvAppItemType::mvColorMap": set0, + "mvAppItemType::mvColorMapRegistry": set24, + "mvAppItemType::mvColorMapButton": set0, + "mvAppItemType::mvColorMapSlider": set0, + "mvAppItemType::mvTemplateRegistry": set25, + "mvAppItemType::mvTableCell": set2, + "mvAppItemType::mvItemHandlerRegistry": set26, + "mvAppItemType::mvInputDouble": set0, + "mvAppItemType::mvInputDoubleMulti": set0, + "mvAppItemType::mvDragDouble": set0, + "mvAppItemType::mvDragDoubleMulti": set0, + "mvAppItemType::mvSliderDouble": set0, + "mvAppItemType::mvSliderDoubleMulti": set0, + "mvAppItemType::mvCustomSeries": set27, + } + +def get_item_type_commands(**kwargs) -> dict: + """ Return the names of item types and their associated functions as a mapping.""" + + return { + "mvAppItemType::mvInputText": "add_input_text", + "mvAppItemType::mvButton": "add_button", + "mvAppItemType::mvRadioButton": "add_radio_button", + "mvAppItemType::mvTabBar": "add_tab_bar", + "mvAppItemType::mvTab": "add_tab", + "mvAppItemType::mvImage": "add_image", + "mvAppItemType::mvMenuBar": "add_menu_bar", + "mvAppItemType::mvViewportMenuBar": "add_viewport_menu_bar", + "mvAppItemType::mvMenu": "add_menu", + "mvAppItemType::mvMenuItem": "add_menu_item", + "mvAppItemType::mvChildWindow": "add_child_window", + "mvAppItemType::mvGroup": "add_group", + "mvAppItemType::mvSliderFloat": "add_slider_float", + "mvAppItemType::mvSliderInt": "add_slider_int", + "mvAppItemType::mvFilterSet": "add_filter_set", + "mvAppItemType::mvDragFloat": "add_drag_float", + "mvAppItemType::mvDragInt": "add_drag_int", + "mvAppItemType::mvInputFloat": "add_input_float", + "mvAppItemType::mvInputInt": "add_input_int", + "mvAppItemType::mvColorEdit": "add_color_edit", + "mvAppItemType::mvClipper": "add_clipper", + "mvAppItemType::mvColorPicker": "add_color_picker", + "mvAppItemType::mvTooltip": "add_tooltip", + "mvAppItemType::mvCollapsingHeader": "add_collapsing_header", + "mvAppItemType::mvSeparator": "add_separator", + "mvAppItemType::mvCheckbox": "add_checkbox", + "mvAppItemType::mvListbox": "add_listbox", + "mvAppItemType::mvText": "add_text", + "mvAppItemType::mvCombo": "add_combo", + "mvAppItemType::mvPlot": "add_plot", + "mvAppItemType::mvSimplePlot": "add_simple_plot", + "mvAppItemType::mvDrawlist": "add_drawlist", + "mvAppItemType::mvWindowAppItem": "add_window", + "mvAppItemType::mvSelectable": "add_selectable", + "mvAppItemType::mvTreeNode": "add_tree_node", + "mvAppItemType::mvProgressBar": "add_progress_bar", + "mvAppItemType::mvSpacer": "add_spacer", + "mvAppItemType::mvImageButton": "add_image_button", + "mvAppItemType::mvTimePicker": "add_time_picker", + "mvAppItemType::mvDatePicker": "add_date_picker", + "mvAppItemType::mvColorButton": "add_color_button", + "mvAppItemType::mvFileDialog": "add_file_dialog", + "mvAppItemType::mvTabButton": "add_tab_button", + "mvAppItemType::mvDrawNode": "add_draw_node", + "mvAppItemType::mvNodeEditor": "add_node_editor", + "mvAppItemType::mvNode": "add_node", + "mvAppItemType::mvNodeAttribute": "add_node_attribute", + "mvAppItemType::mvTable": "add_table", + "mvAppItemType::mvTableColumn": "add_table_column", + "mvAppItemType::mvTableRow": "add_table_row", + "mvAppItemType::mvSyncedTables": "add_synced_tables", + "mvAppItemType::mvDrawLine": "draw_line", + "mvAppItemType::mvDrawArrow": "draw_arrow", + "mvAppItemType::mvDrawTriangle": "draw_triangle", + "mvAppItemType::mvDrawImageQuad": "draw_image_quad", + "mvAppItemType::mvDrawCircle": "draw_circle", + "mvAppItemType::mvDrawEllipse": "draw_ellipse", + "mvAppItemType::mvDrawBezierCubic": "draw_bezier_cubic", + "mvAppItemType::mvDrawBezierQuadratic": "draw_bezier_quadratic", + "mvAppItemType::mvDrawQuad": "draw_quad", + "mvAppItemType::mvDrawRect": "draw_rectangle", + "mvAppItemType::mvDrawText": "draw_text", + "mvAppItemType::mvDrawPolygon": "draw_polygon", + "mvAppItemType::mvDrawPolyline": "draw_polyline", + "mvAppItemType::mvDrawImage": "draw_image", + "mvAppItemType::mvDragFloatMulti": "add_drag_floatx", + "mvAppItemType::mvDragIntMulti": "add_drag_intx", + "mvAppItemType::mvSliderFloatMulti": "add_slider_floatx", + "mvAppItemType::mvSliderIntMulti": "add_slider_intx", + "mvAppItemType::mvInputIntMulti": "add_input_intx", + "mvAppItemType::mvInputFloatMulti": "add_input_floatx", + "mvAppItemType::mvDragPoint": "add_drag_point", + "mvAppItemType::mvDragLine": "add_drag_line", + "mvAppItemType::mvDragRect": "add_drag_rect", + "mvAppItemType::mvAnnotation": "add_plot_annotation", + "mvAppItemType::mvAxisTag": "add_axis_tag", + "mvAppItemType::mvLineSeries": "add_line_series", + "mvAppItemType::mvScatterSeries": "add_scatter_series", + "mvAppItemType::mvStemSeries": "add_stem_series", + "mvAppItemType::mvStairSeries": "add_stair_series", + "mvAppItemType::mvBarSeries": "add_bar_series", + "mvAppItemType::mvBarGroupSeries": "add_bar_group_series", + "mvAppItemType::mvErrorSeries": "add_error_series", + "mvAppItemType::mvInfLineSeries": "add_inf_line_series", + "mvAppItemType::mvHeatSeries": "add_heat_series", + "mvAppItemType::mvImageSeries": "add_image_series", + "mvAppItemType::mvPieSeries": "add_pie_series", + "mvAppItemType::mvShadeSeries": "add_shade_series", + "mvAppItemType::mvLabelSeries": "add_text_point", + "mvAppItemType::mvHistogramSeries": "add_histogram_series", + "mvAppItemType::mvDigitalSeries": "add_digital_series", + "mvAppItemType::mv2dHistogramSeries": "add_2d_histogram_series", + "mvAppItemType::mvCandleSeries": "add_candle_series", + "mvAppItemType::mvAreaSeries": "add_area_series", + "mvAppItemType::mvColorMapScale": "add_colormap_scale", + "mvAppItemType::mvSlider3D": "add_3d_slider", + "mvAppItemType::mvKnobFloat": "add_knob_float", + "mvAppItemType::mvLoadingIndicator": "add_loading_indicator", + "mvAppItemType::mvNodeLink": "add_node_link", + "mvAppItemType::mvTextureRegistry": "add_texture_registry", + "mvAppItemType::mvStaticTexture": "add_static_texture", + "mvAppItemType::mvDynamicTexture": "add_dynamic_texture", + "mvAppItemType::mvStage": "add_stage", + "mvAppItemType::mvDrawLayer": "add_draw_layer", + "mvAppItemType::mvViewportDrawlist": "add_viewport_drawlist", + "mvAppItemType::mvFileExtension": "add_file_extension", + "mvAppItemType::mvPlotLegend": "add_plot_legend", + "mvAppItemType::mvPlotAxis": "add_plot_axis", + "mvAppItemType::mvHandlerRegistry": "add_handler_registry", + "mvAppItemType::mvKeyDownHandler": "add_key_down_handler", + "mvAppItemType::mvKeyPressHandler": "add_key_press_handler", + "mvAppItemType::mvKeyReleaseHandler": "add_key_release_handler", + "mvAppItemType::mvMouseMoveHandler": "add_mouse_move_handler", + "mvAppItemType::mvMouseWheelHandler": "add_mouse_wheel_handler", + "mvAppItemType::mvMouseClickHandler": "add_mouse_click_handler", + "mvAppItemType::mvMouseDoubleClickHandler": "add_mouse_double_click_handler", + "mvAppItemType::mvMouseDownHandler": "add_mouse_down_handler", + "mvAppItemType::mvMouseReleaseHandler": "add_mouse_release_handler", + "mvAppItemType::mvMouseDragHandler": "add_mouse_drag_handler", + "mvAppItemType::mvHoverHandler": "add_item_hover_handler", + "mvAppItemType::mvActiveHandler": "add_item_active_handler", + "mvAppItemType::mvFocusHandler": "add_item_focus_handler", + "mvAppItemType::mvVisibleHandler": "add_item_visible_handler", + "mvAppItemType::mvEditedHandler": "add_item_edited_handler", + "mvAppItemType::mvActivatedHandler": "add_item_activated_handler", + "mvAppItemType::mvDeactivatedHandler": "add_item_deactivated_handler", + "mvAppItemType::mvDeactivatedAfterEditHandler": "add_item_deactivated_after_edit_handler", + "mvAppItemType::mvToggledOpenHandler": "add_item_toggled_open_handler", + "mvAppItemType::mvClickedHandler": "add_item_clicked_handler", + "mvAppItemType::mvDoubleClickedHandler": "add_item_double_clicked_handler", + "mvAppItemType::mvScrollHandler": "add_item_scroll_handler", + "mvAppItemType::mvDragPayload": "add_drag_payload", + "mvAppItemType::mvResizeHandler": "add_item_resize_handler", + "mvAppItemType::mvFont": "add_font", + "mvAppItemType::mvFontRegistry": "add_font_registry", + "mvAppItemType::mvTheme": "add_theme", + "mvAppItemType::mvThemeColor": "add_theme_color", + "mvAppItemType::mvThemeStyle": "add_theme_style", + "mvAppItemType::mvThemeComponent": "add_theme_component", + "mvAppItemType::mvCharRemap": "add_char_remap", + "mvAppItemType::mvValueRegistry": "add_value_registry", + "mvAppItemType::mvIntValue": "add_int_value", + "mvAppItemType::mvFloatValue": "add_float_value", + "mvAppItemType::mvFloat4Value": "add_float4_value", + "mvAppItemType::mvInt4Value": "add_int4_value", + "mvAppItemType::mvBoolValue": "add_bool_value", + "mvAppItemType::mvStringValue": "add_string_value", + "mvAppItemType::mvDoubleValue": "add_double_value", + "mvAppItemType::mvDouble4Value": "add_double4_value", + "mvAppItemType::mvColorValue": "add_color_value", + "mvAppItemType::mvFloatVectValue": "add_float_vect_value", + "mvAppItemType::mvSeriesValue": "add_series_value", + "mvAppItemType::mvRawTexture": "add_raw_texture", + "mvAppItemType::mvSubPlots": "add_subplots", + "mvAppItemType::mvColorMap": "add_colormap", + "mvAppItemType::mvColorMapRegistry": "add_colormap_registry", + "mvAppItemType::mvColorMapButton": "add_colormap_button", + "mvAppItemType::mvColorMapSlider": "add_colormap_slider", + "mvAppItemType::mvTemplateRegistry": "add_template_registry", + "mvAppItemType::mvTableCell": "add_table_cell", + "mvAppItemType::mvItemHandlerRegistry": "add_item_handler_registry", + "mvAppItemType::mvInputDouble": "add_input_double", + "mvAppItemType::mvInputDoubleMulti": "add_input_doublex", + "mvAppItemType::mvDragDouble": "add_drag_double", + "mvAppItemType::mvDragDoubleMulti": "add_drag_doublex", + "mvAppItemType::mvSliderDouble": "add_slider_double", + "mvAppItemType::mvSliderDoubleMulti": "add_slider_doublex", + "mvAppItemType::mvCustomSeries": "add_custom_series", + } + +CONTAINERS = frozenset(( + "mvAppItemType::mvTabBar", + "mvAppItemType::mvTab", + "mvAppItemType::mvMenuBar", + "mvAppItemType::mvViewportMenuBar", + "mvAppItemType::mvMenu", + "mvAppItemType::mvChildWindow", + "mvAppItemType::mvGroup", + "mvAppItemType::mvFilterSet", + "mvAppItemType::mvClipper", + "mvAppItemType::mvTooltip", + "mvAppItemType::mvCollapsingHeader", + "mvAppItemType::mvPlot", + "mvAppItemType::mvDrawlist", + "mvAppItemType::mvWindowAppItem", + "mvAppItemType::mvTreeNode", + "mvAppItemType::mvFileDialog", + "mvAppItemType::mvDrawNode", + "mvAppItemType::mvNodeEditor", + "mvAppItemType::mvNode", + "mvAppItemType::mvNodeAttribute", + "mvAppItemType::mvTable", + "mvAppItemType::mvTableRow", + "mvAppItemType::mvSyncedTables", + "mvAppItemType::mvLineSeries", + "mvAppItemType::mvScatterSeries", + "mvAppItemType::mvStemSeries", + "mvAppItemType::mvStairSeries", + "mvAppItemType::mvBarSeries", + "mvAppItemType::mvBarGroupSeries", + "mvAppItemType::mvErrorSeries", + "mvAppItemType::mvInfLineSeries", + "mvAppItemType::mvHeatSeries", + "mvAppItemType::mvImageSeries", + "mvAppItemType::mvPieSeries", + "mvAppItemType::mvShadeSeries", + "mvAppItemType::mvLabelSeries", + "mvAppItemType::mvHistogramSeries", + "mvAppItemType::mvDigitalSeries", + "mvAppItemType::mv2dHistogramSeries", + "mvAppItemType::mvCandleSeries", + "mvAppItemType::mvAreaSeries", + "mvAppItemType::mvTextureRegistry", + "mvAppItemType::mvStage", + "mvAppItemType::mvDrawLayer", + "mvAppItemType::mvViewportDrawlist", + "mvAppItemType::mvPlotLegend", + "mvAppItemType::mvPlotAxis", + "mvAppItemType::mvHandlerRegistry", + "mvAppItemType::mvDragPayload", + "mvAppItemType::mvFont", + "mvAppItemType::mvFontRegistry", + "mvAppItemType::mvTheme", + "mvAppItemType::mvThemeComponent", + "mvAppItemType::mvValueRegistry", + "mvAppItemType::mvSubPlots", + "mvAppItemType::mvColorMapRegistry", + "mvAppItemType::mvTemplateRegistry", + "mvAppItemType::mvTableCell", + "mvAppItemType::mvItemHandlerRegistry", + "mvAppItemType::mvCustomSeries", +)) + +def is_container(item_type: str, **kwargs) -> bool: + """ Return `True` if items of the provided item type can parent other items. + + Args: + item_type (str): Item type. + Returns: + bool + """ + + return item_type in CONTAINERS + +ROOTS = frozenset(( + "mvAppItemType::mvViewportMenuBar", + "mvAppItemType::mvWindowAppItem", + "mvAppItemType::mvFileDialog", + "mvAppItemType::mvTextureRegistry", + "mvAppItemType::mvStage", + "mvAppItemType::mvViewportDrawlist", + "mvAppItemType::mvHandlerRegistry", + "mvAppItemType::mvFontRegistry", + "mvAppItemType::mvTheme", + "mvAppItemType::mvValueRegistry", + "mvAppItemType::mvColorMapRegistry", + "mvAppItemType::mvTemplateRegistry", + "mvAppItemType::mvItemHandlerRegistry", +)) + +def is_root(item_type: str, **kwargs) -> bool: + """ Return `True` if items of the provided item type are root containers. + + Args: + item_type (str): Item type. + Returns: + bool + """ + + return item_type in ROOTS + +def get_applicable_states(**kwargs) -> dict: + """ Return all item type names and collections of applicable child types as a mapping.""" + + return { + "mvAppItemType::mvInputText": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvButton": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvRadioButton": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvTabBar": ("ok", "pos", "visible", ), + "mvAppItemType::mvTab": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvImage": ("ok", "pos", "hovered", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvMenuBar": ("ok", "pos", "visible", ), + "mvAppItemType::mvViewportMenuBar": ("ok", "pos", ), + "mvAppItemType::mvMenu": ("ok", "pos", "hovered", "active", "focused", "activated", "deactivated", "rect_size", "resized", ), + "mvAppItemType::mvMenuItem": ("ok", "pos", ), + "mvAppItemType::mvChildWindow": ("ok", "pos", "hovered", "active", "focused", "deactivated", "rect_size", "resized", "content_region_avail", "scrolled", "is_scrolling", "scroll_pos", "scroll_max", ), + "mvAppItemType::mvGroup": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderFloat": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderInt": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvFilterSet": ("ok", "pos", ), + "mvAppItemType::mvDragFloat": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvDragInt": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvInputFloat": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvInputInt": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvColorEdit": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvClipper": ("ok", "pos", ), + "mvAppItemType::mvColorPicker": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvTooltip": ("ok", "pos", "visible", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvCollapsingHeader": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "toggled_open", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSeparator": ("ok", "pos", ), + "mvAppItemType::mvCheckbox": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvListbox": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvText": ("ok", "pos", "hovered", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvCombo": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvPlot": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSimplePlot": ("ok", "pos", ), + "mvAppItemType::mvDrawlist": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvWindowAppItem": ("ok", "pos", "hovered", "focused", "visible", "toggled_open", "rect_size", "resized", "scrolled", "is_scrolling", "scroll_pos", "scroll_max", ), + "mvAppItemType::mvSelectable": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "toggled_open", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvTreeNode": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "toggled_open", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvProgressBar": ("ok", "pos", ), + "mvAppItemType::mvSpacer": ("ok", "pos", ), + "mvAppItemType::mvImageButton": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvTimePicker": ("ok", "pos", "visible", "rect_min", "rect_max", "rect_size", "resized", ), + "mvAppItemType::mvDatePicker": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvColorButton": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvFileDialog": ("ok", "pos", ), + "mvAppItemType::mvTabButton": ("ok", "pos", ), + "mvAppItemType::mvDrawNode": ("ok", "pos", ), + "mvAppItemType::mvNodeEditor": ("ok", "pos", "hovered", "visible", "rect_min", "rect_max", "rect_size", "resized", ), + "mvAppItemType::mvNode": ("ok", "pos", "hovered", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "rect_min", "rect_max", "rect_size", "resized", ), + "mvAppItemType::mvNodeAttribute": ("ok", "pos", "hovered", ), + "mvAppItemType::mvTable": ("ok", "pos", "visible", "scrolled", "is_scrolling", "scroll_pos", "scroll_max", ), + "mvAppItemType::mvTableColumn": ("ok", "pos", "hovered", "visible", "rect_size", "resized", ), + "mvAppItemType::mvTableRow": ("ok", "pos", "visible", ), + "mvAppItemType::mvSyncedTables": ("ok", "pos", "visible", ), + "mvAppItemType::mvDrawLine": ("ok", "pos", ), + "mvAppItemType::mvDrawArrow": ("ok", "pos", ), + "mvAppItemType::mvDrawTriangle": ("ok", "pos", ), + "mvAppItemType::mvDrawImageQuad": ("ok", "pos", ), + "mvAppItemType::mvDrawCircle": ("ok", "pos", ), + "mvAppItemType::mvDrawEllipse": ("ok", "pos", ), + "mvAppItemType::mvDrawBezierCubic": ("ok", "pos", ), + "mvAppItemType::mvDrawBezierQuadratic": ("ok", "pos", ), + "mvAppItemType::mvDrawQuad": ("ok", "pos", ), + "mvAppItemType::mvDrawRect": ("ok", "pos", ), + "mvAppItemType::mvDrawText": ("ok", "pos", ), + "mvAppItemType::mvDrawPolygon": ("ok", "pos", ), + "mvAppItemType::mvDrawPolyline": ("ok", "pos", ), + "mvAppItemType::mvDrawImage": ("ok", "pos", ), + "mvAppItemType::mvDragFloatMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvDragIntMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderFloatMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderIntMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvInputIntMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvInputFloatMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvDragPoint": ("ok", "pos", ), + "mvAppItemType::mvDragLine": ("ok", "pos", ), + "mvAppItemType::mvDragRect": ("ok", "pos", ), + "mvAppItemType::mvAnnotation": ("ok", "pos", ), + "mvAppItemType::mvAxisTag": ("ok", "pos", ), + "mvAppItemType::mvLineSeries": ("ok", "pos", ), + "mvAppItemType::mvScatterSeries": ("ok", "pos", ), + "mvAppItemType::mvStemSeries": ("ok", "pos", ), + "mvAppItemType::mvStairSeries": ("ok", "pos", ), + "mvAppItemType::mvBarSeries": ("ok", "pos", ), + "mvAppItemType::mvBarGroupSeries": ("ok", "pos", ), + "mvAppItemType::mvErrorSeries": ("ok", "pos", ), + "mvAppItemType::mvInfLineSeries": ("ok", "pos", ), + "mvAppItemType::mvHeatSeries": ("ok", "pos", ), + "mvAppItemType::mvImageSeries": ("ok", "pos", ), + "mvAppItemType::mvPieSeries": ("ok", "pos", ), + "mvAppItemType::mvShadeSeries": ("ok", "pos", ), + "mvAppItemType::mvLabelSeries": ("ok", "pos", ), + "mvAppItemType::mvHistogramSeries": ("ok", "pos", ), + "mvAppItemType::mvDigitalSeries": ("ok", "pos", ), + "mvAppItemType::mv2dHistogramSeries": ("ok", "pos", ), + "mvAppItemType::mvCandleSeries": ("ok", "pos", ), + "mvAppItemType::mvAreaSeries": ("ok", "pos", ), + "mvAppItemType::mvColorMapScale": ("ok", "pos", "hovered", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSlider3D": ("ok", "pos", "hovered", "visible", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvKnobFloat": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvLoadingIndicator": ("ok", "pos", "hovered", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvNodeLink": ("ok", "pos", "hovered", ), + "mvAppItemType::mvTextureRegistry": ("ok", "pos", ), + "mvAppItemType::mvStaticTexture": ("ok", "pos", ), + "mvAppItemType::mvDynamicTexture": ("ok", "pos", ), + "mvAppItemType::mvStage": ("ok", "pos", ), + "mvAppItemType::mvDrawLayer": ("ok", "pos", ), + "mvAppItemType::mvViewportDrawlist": ("ok", "pos", ), + "mvAppItemType::mvFileExtension": ("ok", "pos", ), + "mvAppItemType::mvPlotLegend": ("ok", "pos", ), + "mvAppItemType::mvPlotAxis": ("ok", "pos", ), + "mvAppItemType::mvHandlerRegistry": ("ok", "pos", ), + "mvAppItemType::mvKeyDownHandler": ("ok", "pos", ), + "mvAppItemType::mvKeyPressHandler": ("ok", "pos", ), + "mvAppItemType::mvKeyReleaseHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseMoveHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseWheelHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseClickHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseDoubleClickHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseDownHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseReleaseHandler": ("ok", "pos", ), + "mvAppItemType::mvMouseDragHandler": ("ok", "pos", ), + "mvAppItemType::mvHoverHandler": ("ok", "pos", ), + "mvAppItemType::mvActiveHandler": ("ok", "pos", ), + "mvAppItemType::mvFocusHandler": ("ok", "pos", ), + "mvAppItemType::mvVisibleHandler": ("ok", "pos", ), + "mvAppItemType::mvEditedHandler": ("ok", "pos", ), + "mvAppItemType::mvActivatedHandler": ("ok", "pos", ), + "mvAppItemType::mvDeactivatedHandler": ("ok", "pos", ), + "mvAppItemType::mvDeactivatedAfterEditHandler": ("ok", "pos", ), + "mvAppItemType::mvToggledOpenHandler": ("ok", "pos", ), + "mvAppItemType::mvClickedHandler": ("ok", "pos", ), + "mvAppItemType::mvDoubleClickedHandler": ("ok", "pos", ), + "mvAppItemType::mvScrollHandler": ("ok", "pos", ), + "mvAppItemType::mvDragPayload": ("ok", "pos", ), + "mvAppItemType::mvResizeHandler": ("ok", "pos", ), + "mvAppItemType::mvFont": ("ok", "pos", ), + "mvAppItemType::mvFontRegistry": ("ok", "pos", ), + "mvAppItemType::mvTheme": ("ok", "pos", ), + "mvAppItemType::mvThemeColor": ("ok", "pos", ), + "mvAppItemType::mvThemeStyle": ("ok", "pos", ), + "mvAppItemType::mvThemeComponent": ("ok", "pos", ), + "mvAppItemType::mvCharRemap": ("ok", "pos", ), + "mvAppItemType::mvValueRegistry": ("ok", "pos", ), + "mvAppItemType::mvIntValue": ("ok", "pos", ), + "mvAppItemType::mvFloatValue": ("ok", "pos", ), + "mvAppItemType::mvFloat4Value": ("ok", "pos", ), + "mvAppItemType::mvInt4Value": ("ok", "pos", ), + "mvAppItemType::mvBoolValue": ("ok", "pos", ), + "mvAppItemType::mvStringValue": ("ok", "pos", ), + "mvAppItemType::mvDoubleValue": ("ok", "pos", ), + "mvAppItemType::mvDouble4Value": ("ok", "pos", ), + "mvAppItemType::mvColorValue": ("ok", "pos", ), + "mvAppItemType::mvFloatVectValue": ("ok", "pos", ), + "mvAppItemType::mvSeriesValue": ("ok", "pos", ), + "mvAppItemType::mvRawTexture": ("ok", "pos", ), + "mvAppItemType::mvSubPlots": ("ok", "pos", ), + "mvAppItemType::mvColorMap": ("ok", "pos", ), + "mvAppItemType::mvColorMapRegistry": ("ok", "pos", ), + "mvAppItemType::mvColorMapButton": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "activated", "deactivated", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvColorMapSlider": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvTemplateRegistry": ("ok", "pos", ), + "mvAppItemType::mvTableCell": ("ok", "pos", ), + "mvAppItemType::mvItemHandlerRegistry": ("ok", "pos", ), + "mvAppItemType::mvInputDouble": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvInputDoubleMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvDragDouble": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvDragDoubleMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderDouble": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvSliderDoubleMulti": ("ok", "pos", "hovered", "active", "focused", "clicked", "left_clicked", "right_clicked", "middle_clicked", "visible", "edited", "activated", "deactivated", "deactivated_after_edit", "rect_min", "rect_max", "rect_size", "resized", "content_region_avail", ), + "mvAppItemType::mvCustomSeries": ("ok", "pos", ), + } + diff --git a/sandbox/main.cpp b/sandbox/main.cpp index 39a5128b9..ab4882764 100644 --- a/sandbox/main.cpp +++ b/sandbox/main.cpp @@ -57,6 +57,11 @@ int main(int argc, char* argv[]) return 1; } + // This one requires Python interpreter because internally it uses temporary PyObjects + // (hackyish but that's the best we can do for now). That's why we call it here rather + // than together with all other GenerateXYZ functions. + GenerateTypeInfoModule("../../dearpygui"); + PyObject* mmarvel = PyImport_ImportModule("_dearpygui"); // tests diff --git a/sandbox/main_linux.cpp b/sandbox/main_linux.cpp index 210911043..fff9907f2 100644 --- a/sandbox/main_linux.cpp +++ b/sandbox/main_linux.cpp @@ -59,6 +59,11 @@ int main(int argc, char* argv[]) return 1; } + // This one requires Python interpreter because internally it uses temporary PyObjects + // (hackyish but that's the best we can do for now). That's why we call it here rather + // than together with all other GenerateXYZ functions. + GenerateTypeInfoModule("../../dearpygui"); + PyObject* mmarvel = PyImport_ImportModule("_dearpygui"); // tests diff --git a/setup.py b/setup.py index 8286a198d..e3c429a43 100644 --- a/setup.py +++ b/setup.py @@ -133,6 +133,7 @@ def setup_package(): shutil.copy(src_path + "/dearpygui/demo.py", src_path + "/output/dearpygui") shutil.copy(src_path + "/dearpygui/experimental.py", src_path + "/output/dearpygui") + shutil.copy(src_path + "/dearpygui/type_info.py", src_path + "/output/dearpygui") with open(src_path + "/output/dearpygui/__init__.py", 'w') as file: file.write("__version__='" + version_number() + "'\n") @@ -205,9 +206,9 @@ def setup_package(): if os.environ.get('READTHEDOCS') == 'True': metadata['package_data']['dearpygui'] = ["__init__.py", "_dearpygui.py", "dearpygui.py", "demo.py", "experimental.py"] elif get_platform() == "Windows": - metadata['package_data']['dearpygui'] = ["__init__.py", "_dearpygui.so", "_dearpygui.pyd", "_dearpygui.pyi", "dearpygui.py", "demo.py", "experimental.py", "vcruntime140_1.dll"] + metadata['package_data']['dearpygui'] = ["__init__.py", "_dearpygui.so", "_dearpygui.pyd", "_dearpygui.pyi", "dearpygui.py", "demo.py", "experimental.py", "type_info.py", "vcruntime140_1.dll"] else: - metadata['package_data']['dearpygui'] = ["__init__.py", "_dearpygui.so", "_dearpygui.pyd", "_dearpygui.pyi", "dearpygui.py", "demo.py", "experimental.py"] + metadata['package_data']['dearpygui'] = ["__init__.py", "_dearpygui.so", "_dearpygui.pyd", "_dearpygui.pyi", "dearpygui.py", "demo.py", "experimental.py", "type_info.py"] if "--force" in sys.argv: sys.argv.remove('--force') diff --git a/src/mvPyUtils.cpp b/src/mvPyUtils.cpp index 05b99d6f5..7fac6d492 100644 --- a/src/mvPyUtils.cpp +++ b/src/mvPyUtils.cpp @@ -2961,6 +2961,395 @@ GenerateDearPyGuiFileRTD(const std::string& directory) redirect.close(); } +void +GenerateTypeInfoModule(const std::string& directory) +{ + std::ofstream stub; + stub.open(directory + "/type_info.py"); + + stub << "\n##########################################################\n"; + stub << "# Dear PyGui User Interface\n"; + stub << "# ~ Version: " << MV_SANDBOX_VERSION << "\n"; + stub << "#\n"; + stub << "# Notes:\n"; + stub << "# * This file is automatically generated.\n#\n"; + stub << "# Resources:\n"; + stub << "# * FAQ: https://github.com/hoffstadt/DearPyGui/discussions/categories/frequently-asked-questions-faq \n"; + stub << "# * Homepage: https://github.com/hoffstadt/DearPyGui \n"; + stub << "# * Wiki: https://github.com/hoffstadt/DearPyGui/wiki \n"; + stub << "# * Issues: https://github.com/hoffstadt/DearPyGui/issues\n"; + stub << "# * Discussions: https://github.com/hoffstadt/DearPyGui/discussions\n"; + stub << "##########################################################\n\n"; + + #define X(el) {#el, mvAppItemType::el}, + std::vector> name_type_pairs = { MV_ITEM_TYPES }; + #undef X + + + //----------------------------------------------------------------------------- + // get_all_types + //----------------------------------------------------------------------------- + + stub << "def get_all_types(**kwargs) -> list:\n" + " \"\"\" Return names of all item types as a list.\"\"\"\n\n" + " return [\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\",\n"; + } + stub << " ]\n\n"; + + + //----------------------------------------------------------------------------- + // get_allowed_parents, get_allowed_children + //----------------------------------------------------------------------------- + + stub << "def get_allowed_parents(distinct_allow_all: bool = False, **kwargs) -> dict:\n" + " \"\"\" Return all item type names and collections of applicable parenting types as a mapping.\n\n" + " This function returns a set of rules defined within Dear PyGui. At runtime, these rules " + "get combined with those from `get_allowed_children()`, and what is allowed here might be disabled there. " + "To get the actual possible combinations of chilren and parent types, see `get_possible_parents()` and `get_possible_children()`.\n\n" + " Args:\n" + " distinct_allow_all (bool): If set to True, entries for the items accepted by any parent will be set to None. " + "This allows to detect and handle such cases specially if needed. " + "If False, all item types will be listed explicitly in such entries, which allows more straightforward processing of the dict.\n" + " Returns:\n" + " dict\n" + " \"\"\"\n\n" + " all_types = None if distinct_allow_all else tuple(get_all_types())\n\n" + " return {\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\": "; + + auto name_id_pairs = DearPyGui::GetAllowableParents(entry.second); + if (!name_id_pairs.empty() && name_id_pairs[0].second == (i32)mvAppItemType::All) + { + stub << "all_types,\n"; + } + else + { + stub << "("; + for (const auto& name_id_pair : name_id_pairs) + { + stub << "\"" << name_id_pair.first << "\", "; + } + stub << "),\n"; + } + } + stub << " }\n\n"; + + + stub << "def get_allowed_children(distinct_allow_all: bool = False, **kwargs) -> dict:\n" + " \"\"\" Return all item type names and collections of applicable child types as a mapping.\n\n" + " This function returns a set of rules defined within Dear PyGui. At runtime, these rules " + "get combined with those from `get_allowed_parents()`, and what is allowed here might be disabled there. " + "To get the actual possible combinations of chilren and parent types, see `get_possible_parents()` and `get_possible_children()`.\n\n" + " Args:\n" + " distinct_allow_all (bool): If set to True, entries for the items accepting all children types will be set to None. " + "This allows to detect and handle such cases specially if needed. " + "If False, all item types will be listed explicitly in such entries, which allows more straightforward processing of the dict.\n" + " Returns:\n" + " dict\n" + " \"\"\"\n\n" + " all_types = None if distinct_allow_all else tuple(get_all_types())\n\n" + " return {\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\": "; + + auto name_id_pairs = DearPyGui::GetAllowableChildren(entry.second); + if (!name_id_pairs.empty() && name_id_pairs[0].second == (i32)mvAppItemType::All) + { + stub << "all_types,\n"; + } + else + { + stub << "("; + for (const auto& name_id_pair : name_id_pairs) + { + stub << "\"" << name_id_pair.first << "\", "; + } + stub << "),\n"; + } + } + stub << " }\n\n"; + + + //----------------------------------------------------------------------------- + // get_possible_parents, get_possible_children + //----------------------------------------------------------------------------- + + // This array will contain all possible parent-child relationships. Initialized to all-false. + // Note: the code below expects `mvAppItemType::All` to have a value of zero! All those + // loop counters starting at 1 are caused by this. If the value of `mvAppItemType::All` ever + // changes to something different, the code needs to be adjusted to explicitly check for + // equality to `mvAppItemType::All` in various places. + const size_t types_count = (size_t)mvAppItemType::ItemTypeCount; + bool relations[types_count][types_count] = {}; + + // Fill in by parents + for (const auto& entry : name_type_pairs) + { + auto name_id_pairs = DearPyGui::GetAllowableParents(entry.second); + size_t child = (size_t)entry.second; + if (!name_id_pairs.empty() && name_id_pairs[0].second == (i32)mvAppItemType::All) + { + for (size_t i = 1; i < types_count; i++) + relations[i][child] = true; + } + else + { + for (const auto& name_id_pair : name_id_pairs) + relations[(size_t)name_id_pair.second][child] = true; + } + } + + // Now mask them by allowed children + for (const auto& entry : name_type_pairs) + { + size_t parent = (size_t)entry.second; + // Make sure it can have any children at all + if (DearPyGui::GetEntityDesciptionFlags(entry.second) & MV_ITEM_DESC_CONTAINER) + { + auto name_id_pairs = DearPyGui::GetAllowableChildren(entry.second); + bool allow_all = !name_id_pairs.empty() && name_id_pairs[0].second == (i32)mvAppItemType::All; + // If all children are allowed, we don't need to make any changes to the already filled line. + if (!allow_all) + { + bool children[types_count] = {}; + for (const auto& name_id_pair : name_id_pairs) + children[(size_t)name_id_pair.second] = true; + + for (size_t i = 1; i < types_count; i++) + relations[parent][i] = relations[parent][i] && children[i]; + } + } + else + { + // Not a container? Kill all children. + for (size_t i = 1; i < types_count; i++) + relations[parent][i] = false; + } + } + + // Write out the resulting set of relationships + + stub << "def get_possible_parents(**kwargs) -> dict:\n" + " \"\"\" Return a dict that for every item type lists all types that can be used as a parent.\n\n" + " Unlike `get_allowed_parents()`, this function returns the actual set of all possible " + "parent-child relationthips that results from applying *both* `get_allowed_parents()` " + "and `get_allowed_children()`, represented as a child-to-parents map. " + "It also takes `is_container()` into account.\n" + " \"\"\"\n\n"; + + // Since many entries in the resulting dict basically share the same sets of values, + // we want to optimize that a bit. The resulting code may look more entangled but + // should be more efficient both in terms of memory use and load time (we'll better + // spend time now than on application startup!). + std::vector> subsets; + size_t indices[types_count]; + for (const auto& entry : name_type_pairs) + { + size_t child = (size_t)entry.second; + // Searching for an existing subset. Yes, it's an O(n^2), but this runs at + // build time so we can afford it for the sake of simplicity. + size_t subset_idx = 0; + for (; subset_idx < subsets.size(); ++subset_idx) + { + auto& subset = subsets[subset_idx]; + size_t i = 1; + for (; i < types_count; i++) + { + if (relations[i][child] != subset[i]) + break; + } + // See if a matching line is found + if (i >= types_count) + break; + } + // Line found? + if (subset_idx >= subsets.size()) + { + // Add a new entry + subsets.emplace_back(); + auto& subset = subsets[subset_idx]; + + stub << " set" << subset_idx << " = ("; + for (size_t i = 1; i < types_count; i++) + { + subset[i] = relations[i][child]; + if (subset[i]) + stub << "\"" << DearPyGui::GetEntityTypeString((mvAppItemType)i) << "\", "; + } + stub << ")\n"; + } + indices[child] = subset_idx; + } + + stub << "\n return {\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\": set" << indices[(size_t)entry.second] << ",\n"; + } + stub << " }\n\n"; + + + stub << "def get_possible_children(**kwargs) -> dict:\n" + " \"\"\" Return a dict that for every item type lists all types that can be used for a child item.\n\n" + " Unlike `get_allowed_children()`, this function returns the actual set of all possible " + "parent-child relationthips that results from applying *both* `get_allowed_parents()` " + "and `get_allowed_children()`, represented as a parent-to-children map. " + "It also takes `is_container()` into account.\n" + " \"\"\"\n\n"; + + // We're doing the same optimization here as for get_possible_parents. + subsets.clear(); + for (const auto& entry : name_type_pairs) + { + size_t parent = (size_t)entry.second; + // Searching for an existing subset. Yes, it's an O(n^2), but this runs at + // build time so we can afford it for the sake of simplicity. + size_t subset_idx = 0; + for (; subset_idx < subsets.size(); ++subset_idx) + { + auto& subset = subsets[subset_idx]; + // See if a matching line is found + if (std::equal(std::begin(subset), std::end(subset), std::begin(relations[parent]))) + break; + } + // Line found? + if (subset_idx >= subsets.size()) + { + // Add a new entry + subsets.emplace_back(); + auto& subset = subsets[subset_idx]; + std::copy(std::begin(relations[parent]), std::end(relations[parent]), std::begin(subset)); + + stub << " set" << subset_idx << " = ("; + for (size_t i = 1; i < types_count; i++) + { + if (subset[i]) + stub << "\"" << DearPyGui::GetEntityTypeString((mvAppItemType)i) << "\", "; + } + stub << ")\n"; + } + indices[parent] = subset_idx; + } + + stub << "\n return {\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\": set" << indices[(size_t)entry.second] << ",\n"; + } + stub << " }\n\n"; + + + //----------------------------------------------------------------------------- + // get_item_type_commands + //----------------------------------------------------------------------------- + + stub << "def get_item_type_commands(**kwargs) -> dict:\n" + " \"\"\" Return the names of item types and their associated functions as a mapping.\"\"\"\n\n" + " return {\n"; + + for (const auto& entry : name_type_pairs) + { + stub << " \"mvAppItemType::" << entry.first << "\": \"" << GetEntityCommand(entry.second) << "\",\n"; + } + stub << " }\n\n"; + + + //----------------------------------------------------------------------------- + // is_container, is_root + //----------------------------------------------------------------------------- + + stub << "CONTAINERS = frozenset((\n"; + for (const auto& entry : name_type_pairs) + { + if (DearPyGui::GetEntityDesciptionFlags(entry.second) & MV_ITEM_DESC_CONTAINER) + stub << " \"mvAppItemType::" << entry.first << "\",\n"; + } + stub << "))\n\n"; + + stub << "def is_container(item_type: str, **kwargs) -> bool:\n" + " \"\"\" Return `True` if items of the provided item type can parent other items.\n\n" + " Args:\n" + " item_type (str): Item type.\n" + " Returns:\n" + " bool\n" + " \"\"\"\n\n" + " return item_type in CONTAINERS\n\n"; + + + stub << "ROOTS = frozenset((\n"; + for (const auto& entry : name_type_pairs) + { + if (DearPyGui::GetEntityDesciptionFlags(entry.second) & MV_ITEM_DESC_ROOT) + stub << " \"mvAppItemType::" << entry.first << "\",\n"; + } + stub << "))\n\n"; + + stub << "def is_root(item_type: str, **kwargs) -> bool:\n" + " \"\"\" Return `True` if items of the provided item type are root containers.\n\n" + " Args:\n" + " item_type (str): Item type.\n" + " Returns:\n" + " bool\n" + " \"\"\"\n\n" + " return item_type in ROOTS\n\n"; + + + //----------------------------------------------------------------------------- + // get_applicable_states + //----------------------------------------------------------------------------- + + stub << "def get_applicable_states(**kwargs) -> dict:\n" + " \"\"\" Return all item type names and collections of applicable child types as a mapping.\"\"\"\n\n" + " return {\n"; + + // A fake context - need it for FillAppItemState call below. + GContext = new mvContext(); + + for (const auto& entry : name_type_pairs) + { + const auto flags = DearPyGui::GetApplicableState(entry.second); + + mvAppItemState state; + mvPyObject py_state = PyDict_New(); + // This is a bit of a hack but it guarantees that state fields do not get + // out of sync between type_info.py and dearpygui.py when we change the API. + // TODO: in future, think of a way to decouple this from GContext, at least. + // Ideally, we'd want some code (a template?) that can either fill a PyObject + // or fill a std::vector. Maybe even use two-stage creation for PyObject: + // first fill a std::vector, then convert it to a PyDict. + FillAppItemState(py_state, state, flags); + + stub << " \"mvAppItemType::" << entry.first << "\": ("; + + mvPyObject keys = PyDict_Keys(py_state); + auto len = PyList_Size(keys); + for (auto i = 0; i < len; i++) + { + stub << "\"" << ToString(PyList_GetItem(keys, i)) << "\", "; + } + + stub << "),\n"; + } + stub << " }\n\n"; + + stub.close(); + + delete GContext; + GContext = nullptr; +} + + void AddCommonArgs(std::vector& args, CommonParserArgs argsFlags) { diff --git a/src/mvPyUtils.h b/src/mvPyUtils.h index a09a69e5f..9e41081fb 100644 --- a/src/mvPyUtils.h +++ b/src/mvPyUtils.h @@ -328,3 +328,4 @@ bool VerifyArgumentCount (const mvPythonParser& parser, PyObject* args); void GenerateStubFile (const std::string& directory); void GenerateDearPyGuiFile (const std::string& directory); void GenerateDearPyGuiFileRTD(const std::string& directory); +void GenerateTypeInfoModule (const std::string& directory);