[Bf-blender-cvs] [66ac0448eff] property-search-ui: Property Search: Improve layout debugging tool
Hans Goudey
noreply at git.blender.org
Fri Jun 26 03:39:13 CEST 2020
Commit: 66ac0448eff9b94080ffb2f26b0e3833e408f198
Author: Hans Goudey
Date: Thu Jun 25 21:39:05 2020 -0400
Branches: property-search-ui
https://developer.blender.org/rB66ac0448eff9b94080ffb2f26b0e3833e408f198
Property Search: Improve layout debugging tool
The tool now prints button types as well. Click to drag a panel while a
search is active to print a tree of the layouts, sublayouts, and buttons.
===================================================================
M source/blender/editors/interface/interface_layout.c
===================================================================
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 53279ad1af3..b030625e18e 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -5084,6 +5084,60 @@ void uiLayoutRootSetSearchOnly(uiLayout *layout, bool search_only)
static void ui_layout_free(uiLayout *layout);
#ifdef DEBUG_LAYOUT_ROOTS
+
+/* clang-format off */
+static const char *but_type_string(eButType type) {
+ switch (type) {
+ case UI_BTYPE_BUT: return "But";
+ case UI_BTYPE_ROW: return "Row But";
+ case UI_BTYPE_TEXT: return "Text";
+ case UI_BTYPE_MENU: return "Menu";
+ case UI_BTYPE_BUT_MENU: return "But Menu";
+ case UI_BTYPE_NUM: return "Number";
+ case UI_BTYPE_NUM_SLIDER: return "Number Slider";
+ case UI_BTYPE_TOGGLE: return "Toggle";
+ case UI_BTYPE_TOGGLE_N: return "Toggle N";
+ case UI_BTYPE_ICON_TOGGLE: return "Icon Toggle";
+ case UI_BTYPE_ICON_TOGGLE_N: return "Icon Toggle N";
+ case UI_BTYPE_BUT_TOGGLE: return "But Toggle";
+ case UI_BTYPE_CHECKBOX: return "Checkbox";
+ case UI_BTYPE_CHECKBOX_N: return "Checkbox N";
+ case UI_BTYPE_COLOR: return "Color";
+ case UI_BTYPE_TAB: return "Tab";
+ case UI_BTYPE_POPOVER: return "Popover";
+ case UI_BTYPE_SCROLL: return "Scroll";
+ case UI_BTYPE_BLOCK: return "Block";
+ case UI_BTYPE_LABEL: return "Label";
+ case UI_BTYPE_KEY_EVENT: return "Key Event";
+ case UI_BTYPE_HSVCUBE: return "HSV Cube";
+ case UI_BTYPE_PULLDOWN: return "Pulldown";
+ case UI_BTYPE_ROUNDBOX: return "Roundbox";
+ case UI_BTYPE_COLORBAND: return "Colorband";
+ case UI_BTYPE_UNITVEC: return "Unit Vector";
+ case UI_BTYPE_CURVE: return "Curve";
+ case UI_BTYPE_CURVEPROFILE: return "Curve Profile";
+ case UI_BTYPE_LISTBOX: return "Listbox";
+ case UI_BTYPE_LISTROW: return "List Row";
+ case UI_BTYPE_HSVCIRCLE: return "HSV Circle";
+ case UI_BTYPE_TRACK_PREVIEW: return "Track Preview";
+ case UI_BTYPE_SEARCH_MENU: return "Search Menu";
+ case UI_BTYPE_EXTRA: return "Extra";
+ case UI_BTYPE_HOTKEY_EVENT: return "Hotkey Event";
+ case UI_BTYPE_IMAGE: return "Image";
+ case UI_BTYPE_HISTOGRAM: return "Histogram";
+ case UI_BTYPE_WAVEFORM: return "Waveform";
+ case UI_BTYPE_VECTORSCOPE: return "Vectorscope";
+ case UI_BTYPE_PROGRESS_BAR: return "Progress Bar";
+ case UI_BTYPE_NODE_SOCKET: return "Node Socket";
+ case UI_BTYPE_SEPR: return "Spacer";
+ case UI_BTYPE_SEPR_LINE: return "Spacer Line";
+ case UI_BTYPE_SEPR_SPACER: return "Dynamic Spacer";
+ case UI_BTYPE_GRIP: return "Grip";
+ default: return "Unkown Button Type";
+ }
+}
+/* clang-format on */
+
/* Keep order the same as enum above. */
const char *item_type_names[12] = {
"Button", /* ITEM_BUTTON */
@@ -5106,16 +5160,17 @@ static void debug_print_button_item(uiButtonItem *button_item)
if (but == NULL) {
printf("NULL BUT");
+ return;
}
- else if (but->str && but->str[0]) {
+
+ printf("%s: ", but_type_string(but->type));
+
+ if (but->str && but->str[0]) {
printf(but->str);
}
else if (!RNA_pointer_is_null(&but->rnapoin)) {
printf(RNA_property_ui_name(but->rnaprop));
}
- else if (but->type == UI_BTYPE_SEPR) {
- printf("(Padding)");
- }
else {
printf("NOSTR");
}
@@ -5129,8 +5184,6 @@ static void debug_print_layout(uiItem *item, int depth)
printf("| ");
}
- printf("%s: ", item_type_names[item->type]);
-
if (type == ITEM_BUTTON) {
uiButtonItem *button_item = (uiButtonItem *)item;
@@ -5139,6 +5192,7 @@ static void debug_print_layout(uiItem *item, int depth)
}
else {
uiLayout *layout = (uiLayout *)item;
+ printf("%s: ", item_type_names[item->type]);
if (layout->property_search_layout_temp_debug) {
printf(" (search layout)");
More information about the Bf-blender-cvs
mailing list