[Bf-blender-cvs] [191ddaf577c] modifier-panels-ui: New layouts for more modifiers - Armature - Corrective Smooth - Laplacian Smooth - Multiresolution And progress for data transfer modifier
Hans Goudey
noreply at git.blender.org
Mon Apr 6 05:02:24 CEST 2020
Commit: 191ddaf577c37664408e4645feb55e75d6893fdf
Author: Hans Goudey
Date: Sun Apr 5 21:38:18 2020 -0500
Branches: modifier-panels-ui
https://developer.blender.org/rB191ddaf577c37664408e4645feb55e75d6893fdf
New layouts for more modifiers
- Armature
- Corrective Smooth
- Laplacian Smooth
- Multiresolution
And progress for data transfer modifier
===================================================================
M source/blender/modifiers/intern/MOD_armature.c
M source/blender/modifiers/intern/MOD_correctivesmooth.c
M source/blender/modifiers/intern/MOD_datatransfer.c
M source/blender/modifiers/intern/MOD_laplaciansmooth.c
M source/blender/modifiers/intern/MOD_multires.c
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c
index 25d69a899dc..6b93c46f941 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -252,7 +252,7 @@ static void deformMatrices(ModifierData *md,
static void panel_draw(const bContext *C, Panel *panel)
{
- uiLayout *sub, *row, *col, *split;
+ uiLayout *sub, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
@@ -262,30 +262,21 @@ static void panel_draw(const bContext *C, Panel *panel)
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
- split = uiLayoutSplit(layout, 0.5f, false);
+ uiLayoutSetPropSep(layout, true);
- col = uiLayoutColumn(split, false);
- uiItemL(col, IFACE_("Object:"), ICON_NONE);
- uiItemR(col, &ptr, "object", 0, "", ICON_NONE);
- uiItemR(col, &ptr, "use_deform_preserve_volume", 0, NULL, ICON_NONE);
-
- col = uiLayoutColumn(split, false);
- uiItemL(col, IFACE_("Bind to:"), ICON_NONE);
- uiItemR(col, &ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
- uiItemR(col, &ptr, "use_bone_envelopes", 0, IFACE_("Bone Envelopes"), ICON_NONE);
-
- uiItemS(layout);
-
- split = uiLayoutSplit(layout, 0.5f, false);
-
- row = uiLayoutRow(split, true);
- uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
+ uiItemR(layout, &ptr, "object", 0, NULL, ICON_NONE);
+ row = uiLayoutRow(layout, true);
+ uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
- uiLayoutSetPropSep(sub, false);
+ uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
- uiItemR(split, &ptr, "use_multi_modifier", 0, NULL, ICON_NONE);
+ uiItemL(layout, IFACE_("Bind to:"), ICON_NONE);
+ uiItemR(layout, &ptr, "use_vertex_groups", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "use_bone_envelopes", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "use_deform_preserve_volume", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "use_multi_modifier", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
}
diff --git a/source/blender/modifiers/intern/MOD_correctivesmooth.c b/source/blender/modifiers/intern/MOD_correctivesmooth.c
index 9f69b4d2c09..e604d1deb07 100644
--- a/source/blender/modifiers/intern/MOD_correctivesmooth.c
+++ b/source/blender/modifiers/intern/MOD_correctivesmooth.c
@@ -776,7 +776,7 @@ static void deformVertsEM(ModifierData *md,
static void panel_draw(const bContext *C, Panel *panel)
{
- uiLayout *sub, *row, *col, *split;
+ uiLayout *sub, *row;
uiLayout *layout = panel->layout;
PointerRNA ptr;
@@ -786,27 +786,22 @@ static void panel_draw(const bContext *C, Panel *panel)
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
+ uiLayoutSetPropSep(layout, true);
+
uiItemR(layout, &ptr, "factor", 0, IFACE_("Factor"), ICON_NONE);
uiItemR(layout, &ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "smooth_type", 0, NULL, ICON_NONE);
- split = uiLayoutSplit(layout, 0.5f, false);
-
- col = uiLayoutColumn(split, false);
- uiItemL(col, IFACE_("Vertex Group:"), ICON_NONE);
- row = uiLayoutRow(col, true);
- uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
+ row = uiLayoutRow(layout, true);
+ uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
- uiLayoutSetPropSep(sub, false);
-
+ uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
- col = uiLayoutColumn(split, false);
-
- uiItemR(col, &ptr, "use_only_smooth", 0, NULL, ICON_NONE);
- uiItemR(col, &ptr, "use_pin_boundary", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "use_only_smooth", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "use_pin_boundary", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "rest_source", 0, NULL, ICON_NONE);
if (RNA_enum_get(&ptr, "rest_source") == MOD_CORRECTIVESMOOTH_RESTSOURCE_BIND) {
diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c b/source/blender/modifiers/intern/MOD_datatransfer.c
index b09c76c5659..78829826f5b 100644
--- a/source/blender/modifiers/intern/MOD_datatransfer.c
+++ b/source/blender/modifiers/intern/MOD_datatransfer.c
@@ -248,19 +248,20 @@ static void panel_draw(const bContext *C, Panel *panel)
{
uiLayout *sub, *row;
uiLayout *layout = panel->layout;
+
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
modifier_panel_buttons(C, panel);
+ uiLayoutSetPropSep(layout, true);
+
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "object", 0, IFACE_("Source"), ICON_NONE);
uiItemR(row, &ptr, "use_object_transform", 0, "", ICON_ORIENTATION_GLOBAL);
- uiItemO(layout, "Generate Data Layers", ICON_NONE, "OBJECT_OT_datalayout_transfer");
-
row = uiLayoutRow(layout, true);
uiItemR(row, &ptr, "max_distance", 0, NULL, ICON_NONE);
uiItemR(row, &ptr, "use_max_distance", 0, "", ICON_STYLUS_PRESSURE);
@@ -269,11 +270,15 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemR(layout, &ptr, "mix_factor", 0, NULL, ICON_NONE);
row = uiLayoutRow(layout, true);
- uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
- sub = uiLayoutRow(row, true);
+ uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
+ sub = uiLayoutColumn(row, true);
uiLayoutSetActive(sub, has_vertex_group);
+ uiLayoutSetPropSep(sub, false);
+
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
+ uiItemO(layout, "Generate Data Layers", ICON_NONE, "OBJECT_OT_datalayout_transfer");
+
modifier_panel_end(layout, &ptr);
}
@@ -289,49 +294,76 @@ static void vertex_panel_draw_header(const bContext *C, Panel *panel)
static void vertex_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *row;
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- uiLayout *layout = panel->layout;
+
+ uiLayoutSetPropSep(layout, true);
bool use_vert_data = RNA_boolean_get(&ptr, "use_vert_data");
uiLayoutSetActive(layout, use_vert_data);
- uiItemR(layout, &ptr, "vert_mapping", 0, "", ICON_NONE);
+ uiItemR(layout, &ptr, "vert_mapping", 0, IFACE_("Mapping"), ICON_NONE);
row = uiLayoutRow(layout, false);
- uiItemR(row, &ptr, "data_types_verts", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
- if (RNA_enum_get(&ptr, "data_types_verts") & DT_TYPE_MDEFORMVERT) {
- row = uiLayoutRow(layout, false);
- uiItemR(row, &ptr, "layers_vgroup_select_src", 0, "", ICON_NONE);
- uiItemL(row, NULL, ICON_RIGHTARROW);
- uiItemR(row, &ptr, "layers_vgroup_select_dst", 0, "", ICON_NONE);
- }
+ uiItemR(row, &ptr, "data_types_verts", 0, IFACE_("Data Types"), ICON_NONE);
}
-static void edge_panel_draw_header(const bContext *C, Panel *panel)
+static void vertex_vgroup_panel_draw_header(const bContext *C, Panel *panel)
{
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+
+ PropertyRNA *prop = RNA_struct_find_property(&ptr, "data_types_verts");
+ uiItemFullR(layout, &ptr, prop, 0, 1, 0, NULL, ICON_NONE);
+}
+
+static void vertex_vgroup_panel_draw(const bContext *C, Panel *panel)
+{
uiLayout *layout = panel->layout;
+ PointerRNA ptr;
+ modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+
+ uiLayoutSetPropSep(layout, true);
+
+ uiLayoutSetActive(layout, RNA_enum_get(&ptr, "data_types_verts") & DT_TYPE_MDEFORMVERT);
+ uiItemR(layout, &ptr, "layers_vgroup_select_src", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "layers_vgroup_select_dst", 0, NULL, ICON_NONE);
+}
+
+static void edge_panel_draw_header(const bContext *C, Panel *panel)
+{
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+
uiItemR(layout, &ptr, "use_edge_data", 0, NULL, ICON_NONE);
}
static void edge_panel_draw(const bContext *C, Panel *panel)
{
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- uiLayout *layout = panel->layout;
+
+ uiLayoutSetPropSep(layout, true);
bool use_edge_data = RNA_boolean_get(&ptr, "use_edge_data");
uiLayoutSetActive(layout, use_edge_data);
- uiItemR(layout, &ptr, "edge_mapping", 0, "", ICON_NONE);
- uiItemR(layout, &ptr, "data_types_edges", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "edge_mapping", 0, IFACE_("Mapping"), ICON_NONE);
+ uiItemR(layout, &ptr, "data_types_edges", 0, IFACE_("Data Types"), ICON_NONE);
}
static void face_corner_panel_draw_header(const bContext *C, Panel *panel)
{
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- uiLayout *layout = panel->layout;
uiItemR(layout, &ptr, "use_loop_data", 0, NULL, ICON_NONE);
}
@@ -339,15 +371,19 @@ static void face_corner_panel_draw_header(const bContext *C, Panel *panel)
static void face_corner_panel_draw(const bContext *C, Panel *panel)
{
uiLayout *row, *split, *col;
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- uiLayout *layout = panel->layout;
+
+ uiLayoutSetPropSep(layout, true);
bool use_loop_data = RNA_boolean_get(&ptr, "use_loop_data");
uiLayoutSetActive(layout, use_loop_data);
- uiItemR(layout, &ptr, "loop_mapping", 0, "", ICON_NONE);
+ uiItemR(layout, &ptr, "loop_mapping", 0, IFACE_("Mapping"), ICON_NONE);
row = uiLayoutRow(layout, false);
- uiItemR(row, &ptr, "data_types_loops", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+ uiItemR(row, &ptr, "data_types_loops", 0, IFACE_("Data Types"), ICON_NONE);
+
if (RNA_enum_get(&ptr, "data_types_loops") &
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list