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
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs