Commit: c4672ff3a82eb454da0e441c0a753f2625f1a052 Author: William Reynish Date: Sat Apr 4 17:35:33 2020 +0200 Branches: modifier-panels-ui https://developer.blender.org/rBc4672ff3a82eb454da0e441c0a753f2625f1a052
Array modifier layout =================================================================== M source/blender/modifiers/intern/MOD_array.c =================================================================== diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index b03147f9f90..fafc90cccae 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -813,6 +813,8 @@ static void panel_draw(const bContext *C, Panel *panel) modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr); modifier_panel_buttons(C, panel); + uiLayoutSetPropSep(layout, true); + uiItemR(layout, &ptr, "fit_type", 0, NULL, ICON_NONE); int fit_type = RNA_enum_get(&ptr, "fit_type"); @@ -828,30 +830,91 @@ static void panel_draw(const bContext *C, Panel *panel) uiItemS(layout); - /* Column 1. */ - split = uiLayoutSplit(layout, 0.5f, false); - col = uiLayoutColumn(split, false); - uiItemR(col, &ptr, "use_constant_offset", 0, NULL, ICON_NONE); - sub = uiLayoutColumn(col, false); - uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_constant_offset")); - uiItemR(sub, &ptr, "constant_offset_displace", 0, "", ICON_NONE); - - /* Column 2. */ - col = uiLayoutColumn(split, false); - uiItemR(col, &ptr, "use_relative_offset", 0, NULL, ICON_NONE); - sub = uiLayoutColumn(col, false); - uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_relative_offset")); - uiItemR(sub, &ptr, "relative_offset_displace", 0, "", ICON_NONE); + col = uiLayoutColumn(layout, false); + uiItemR(col, &ptr, "start_cap", 0, IFACE_("Cap Start"), ICON_NONE); + uiItemR(col, &ptr, "end_cap", 0, IFACE_("End"), ICON_NONE); + + modifier_panel_end(layout, &ptr); +} + + +static void constant_offset_header_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; + + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); + + uiItemR(layout, &ptr, "use_constant_offset", 0, NULL, ICON_NONE); +} + + +static void constant_offset_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; + + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); + + uiLayoutSetPropSep(layout, true); + + uiLayout *col = uiLayoutColumn(layout, false); + + uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_constant_offset")); + uiItemR(col, &ptr, "constant_offset_displace", 0, "Distance", ICON_NONE); +} + + +static void relative_offset_header_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; + + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); + + uiItemR(layout, &ptr, "use_relative_offset", 0, NULL, ICON_NONE); +} + + +static void relative_offset_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; + + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); + + uiLayoutSetPropSep(layout, true); + + uiLayout *col = uiLayoutColumn(layout, false); + + uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_relative_offset")); + uiItemR(col, &ptr, "relative_offset_displace", 0, "Distance", ICON_NONE); + +} + +static void object_offset_header_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; + + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); uiItemR(layout, &ptr, "use_object_offset", 0, NULL, ICON_NONE); - col = uiLayoutColumn(layout, false); - uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_object_offset")); - uiItemR(col, &ptr, "offset_object", 0, "", ICON_NONE); +} - uiItemR(layout, &ptr, "start_cap", 0, NULL, ICON_NONE); - uiItemR(layout, &ptr, "end_cap", 0, NULL, ICON_NONE); +static void object_offset_draw(const bContext *C, Panel *panel) +{ + uiLayout *layout = panel->layout; - modifier_panel_end(layout, &ptr); + PointerRNA ptr; + modifier_panel_get_property_pointers(C, panel, NULL, &ptr); + + uiLayoutSetPropSep(layout, true); + + uiLayout *col = uiLayoutColumn(layout, false); + + uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_object_offset")); + uiItemR(col, &ptr, "offset_object", 0, NULL, ICON_NONE); } static void merge_header_draw(const bContext *C, Panel *panel) @@ -871,34 +934,42 @@ static void merge_panel_draw(const bContext *C, Panel *panel) PointerRNA ptr; modifier_panel_get_property_pointers(C, panel, NULL, &ptr); - uiItemR(layout, &ptr, "use_merge_vertices", 0, IFACE_("Merge"), ICON_NONE); + uiLayoutSetPropSep(layout, true); + uiLayout *col = uiLayoutColumn(layout, false); uiLayoutSetActive(col, RNA_boolean_get(&ptr, "use_merge_vertices")); - uiItemR(col, &ptr, "use_merge_vertices_cap", 0, IFACE_("First Last"), ICON_NONE); uiItemR(col, &ptr, "merge_threshold", 0, IFACE_("Distance"), ICON_NONE); + uiItemR(col, &ptr, "use_merge_vertices_cap", 0, IFACE_("First Last"), ICON_NONE); } static void uv_panel_draw(const bContext *C, Panel *panel) { - uiLayout *row, *sub; + uiLayout *col; uiLayout *layout = panel->layout; PointerRNA ptr; modifier_panel_get_property_pointers(C, panel, NULL, &ptr); - row = uiLayoutRow(layout, false); - sub = uiLayoutColumn(row, true); - uiItemR(sub, &ptr, "offset_u", UI_ITEM_R_EXPAND, NULL, ICON_NONE); - uiItemR(sub, &ptr, "offset_v", UI_ITEM_R_EXPAND, NULL, ICON_NONE); + uiLayoutSetPropSep(layout, true); + + col = uiLayoutColumn(layout, true); + uiItemR(col, &ptr, "offset_u", UI_ITEM_R_EXPAND, IFACE_("Offset U"), ICON_NONE); + uiItemR(col, &ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE); } static void panelRegister(ARegionType *region_type) { PanelType *panel_type = modifier_panel_register(region_type, "Array", panel_draw); + modifier_subpanel_register( + region_type, "array_constant_offset", "", constant_offset_header_draw, constant_offset_draw, false, panel_type); + modifier_subpanel_register( + region_type, "array_relative_offset", "", relative_offset_header_draw, relative_offset_draw, false, panel_type); + modifier_subpanel_register( + region_type, "array_object_offset", "", object_offset_header_draw, object_offset_draw, false, panel_type); modifier_subpanel_register( region_type, "array_merge", "", merge_header_draw, merge_panel_draw, false, panel_type); modifier_subpanel_register( - region_type, "array_uv", "UV Offsets", NULL, uv_panel_draw, false, panel_type); + region_type, "array_uv", "UVs", NULL, uv_panel_draw, false, panel_type); } ModifierTypeInfo modifierType_Array = { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs