Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/modifiers/intern/MOD_array.c')
-rw-r--r--source/blender/modifiers/intern/MOD_array.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c
index 68e12a8bbef..48d69f8e02c 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -76,6 +76,9 @@ static void initData(ModifierData *md)
amd->fit_type = MOD_ARR_FIXEDCOUNT;
amd->offset_type = MOD_ARR_OFF_RELATIVE;
amd->flags = 0;
+
+ /* Open the first subpanel by default, it corresspnds to Relative offset which is enabled too. */
+ md->ui_expand_flag = (1 << 0) | (1 << 1);
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
@@ -835,7 +838,6 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
static void panel_draw(const bContext *C, Panel *panel)
{
- uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA ptr;
@@ -857,12 +859,6 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemR(layout, &ptr, "curve", 0, NULL, ICON_NONE);
}
- uiItemS(layout);
-
- 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);
}
@@ -984,6 +980,21 @@ static void uv_panel_draw(const bContext *C, Panel *panel)
uiItemR(col, &ptr, "offset_v", UI_ITEM_R_EXPAND, IFACE_("V"), ICON_NONE);
}
+static void caps_panel_draw(const bContext *C, Panel *panel)
+{
+ uiLayout *col;
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+
+ uiLayoutSetPropSep(layout, true);
+
+ 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);
+}
+
static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Array, panel_draw);
@@ -1004,6 +1015,7 @@ static void panelRegister(ARegionType *region_type)
modifier_subpanel_register(
region_type, "merge", "", symmetry_panel_header_draw, symmetry_panel_draw, panel_type);
modifier_subpanel_register(region_type, "uv", "UVs", NULL, uv_panel_draw, panel_type);
+ modifier_subpanel_register(region_type, "caps", "Caps", NULL, caps_panel_draw, panel_type);
}
ModifierTypeInfo modifierType_Array = {
@@ -1038,4 +1050,6 @@ ModifierTypeInfo modifierType_Array = {
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,
+ /* blendWrite */ NULL,
+ /* blendRead */ NULL,
};