[Bf-blender-cvs] [c128c653457] modifier-panels-ui: Tweaks to layout for many modifiers
Hans Goudey
noreply at git.blender.org
Mon Apr 13 19:57:17 CEST 2020
Commit: c128c653457c9609465054d6b8fc6bf85b4c94c8
Author: Hans Goudey
Date: Mon Apr 13 12:57:06 2020 -0500
Branches: modifier-panels-ui
https://developer.blender.org/rBc128c653457c9609465054d6b8fc6bf85b4c94c8
Tweaks to layout for many modifiers
Bevel: Move to two new panels
Data Transfer: Add advanced panel for rarely used inputs
Mesh Sequence Cache: Don't use useless subpanels
Mirror: Clip in main panel, data panel instead of UVs
Multires: Advanced panel and add missing properties
Normal Edit: Offset in subpanel
Simple Deform: Orientation panel to restrictions panel
Solidify: Add normals subpanel
Subdivision Surface: Add advanced subpanel
UVWarp: Add transform subpanel
Wave: use_x and use_y as toggles on the same row
Wireframe: Don't use split layout
===================================================================
M source/blender/makesrna/intern/rna_modifier.c
M source/blender/modifiers/intern/MOD_bevel.c
M source/blender/modifiers/intern/MOD_datatransfer.c
M source/blender/modifiers/intern/MOD_meshsequencecache.c
M source/blender/modifiers/intern/MOD_mirror.c
M source/blender/modifiers/intern/MOD_multires.c
M source/blender/modifiers/intern/MOD_normal_edit.c
M source/blender/modifiers/intern/MOD_simpledeform.c
M source/blender/modifiers/intern/MOD_solidify.c
M source/blender/modifiers/intern/MOD_subsurf.c
M source/blender/modifiers/intern/MOD_uvwarp.c
M source/blender/modifiers/intern/MOD_wave.c
M source/blender/modifiers/intern/MOD_wireframe.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 851577e9241..8ceb4217c15 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -4807,7 +4807,8 @@ static void rna_def_modifier_weightvg_mask(BlenderRNA *UNUSED(brna),
prop = RNA_def_property(srna, "mask_tex_map_bone", PROP_STRING, PROP_NONE);
RNA_def_property_string_sdna(prop, NULL, "mask_tex_map_bone");
- RNA_def_property_ui_text(prop, "Texture Coordinate Bone", "Which bone to take texture coordinates from");
+ RNA_def_property_ui_text(
+ prop, "Texture Coordinate Bone", "Which bone to take texture coordinates from");
RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
}
@@ -5760,6 +5761,8 @@ static void rna_def_modifier_meshseqcache(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_ENUM_FLAG);
RNA_def_property_enum_sdna(prop, NULL, "read_flag");
RNA_def_property_enum_items(prop, read_flag_items);
+ RNA_def_property_ui_text(prop, "Read Data", "Data to read from the cache");
+
RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c
index 1e645e8494a..f84ea904b2c 100644
--- a/source/blender/modifiers/intern/MOD_bevel.c
+++ b/source/blender/modifiers/intern/MOD_bevel.c
@@ -308,77 +308,77 @@ static void panel_draw(const bContext *C, Panel *panel)
}
uiItemR(col, &ptr, "width", 0, IFACE_(offset_name), ICON_NONE);
}
-
uiItemR(col, &ptr, "offset_type", 0, NULL, ICON_NONE);
- uiItemS(layout);
-
- uiItemR(layout, &ptr, "affect", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, &ptr, "segments", 0, NULL, ICON_NONE);
-
- col = uiLayoutColumn(layout, true);
- uiItemR(col, &ptr, "use_clamp_overlap", 0, NULL, ICON_NONE);
- uiItemR(col, &ptr, "harden_normals", 0, NULL, ICON_NONE);
-
- col = uiLayoutColumnWithHeading(layout, true, "Mark");
- uiItemR(col, &ptr, "mark_seam", 0, IFACE_("Seam"), ICON_NONE);
- uiItemR(col, &ptr, "mark_sharp", 0, IFACE_("Sharp"), ICON_NONE);
-
uiItemR(layout, &ptr, "profile", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
+ uiItemS(layout);
+
+ uiItemR(layout, &ptr, "affect", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
col = uiLayoutColumn(layout, true);
uiItemR(col, &ptr, "limit_method", 0, NULL, ICON_NONE);
int limit_method = RNA_enum_get(&ptr, "limit_method");
if (limit_method == MOD_BEVEL_ANGLE) {
- uiItemR(col, &ptr, "angle_limit", 0, NULL, ICON_NONE);
+ uiItemR(col, &ptr, "angle_limit", 0, "", ICON_NONE);
}
else if (limit_method == MOD_BEVEL_VGROUP) {
row = uiLayoutRow(col, true);
- uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", NULL, ICON_NONE);
+ uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
}
- uiItemR(layout, &ptr, "material", 0, NULL, ICON_NONE);
-
modifier_panel_end(layout, &ptr);
}
-static void miter_panel_draw(const bContext *C, Panel *panel)
+static void geometry_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);
+ uiItemR(layout, &ptr, "miter_inner", 0, IFACE_("Miter Inner"), ICON_NONE);
uiItemR(layout, &ptr, "miter_outer", 0, IFACE_("Outer"), ICON_NONE);
- uiItemR(layout, &ptr, "miter_inner", 0, IFACE_("Inner"), ICON_NONE);
if (RNA_enum_get(&ptr, "miter_inner") == BEVEL_MITER_ARC) {
uiItemR(layout, &ptr, "spread", 0, NULL, ICON_NONE);
}
+ uiItemR(layout, &ptr, "vmesh_method", 0, IFACE_("Intersections"), ICON_NONE);
+ uiItemR(layout, &ptr, "use_clamp_overlap", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "loop_slide", 0, NULL, ICON_NONE);
}
-static void advanced_panel_draw(const bContext *C, Panel *panel)
+static void shading_panel_draw(const bContext *C, Panel *panel)
{
+ uiLayout *col;
+ uiLayout *layout = panel->layout;
+
PointerRNA ptr;
modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- uiLayout *layout = panel->layout;
uiLayoutSetPropSep(layout, true);
+ col = uiLayoutColumnWithHeading(layout, true, "Mark");
+ uiItemR(col, &ptr, "mark_seam", 0, IFACE_("Seam"), ICON_NONE);
+ uiItemR(col, &ptr, "mark_sharp", 0, IFACE_("Sharp"), ICON_NONE);
+
+ uiItemR(layout, &ptr, "harden_normals", 0, NULL, ICON_NONE);
+
+ uiItemR(layout, &ptr, "material", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "face_strength_mode", 0, NULL, ICON_NONE);
- uiItemR(layout, &ptr, "vmesh_method", 0, IFACE_("Intersections"), ICON_NONE);
- uiItemR(layout, &ptr, "loop_slide", 0, NULL, ICON_NONE);
}
static void custom_profile_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_custom_profile", 0, NULL, ICON_NONE);
}
@@ -396,15 +396,15 @@ static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, "Bevel", panel_draw);
modifier_subpanel_register(
- region_type, "bevel_miters", "Miters", NULL, miter_panel_draw, panel_type);
+ region_type, "bevel_geometry", "Bevel Geometry", NULL, geometry_panel_draw, panel_type);
+ modifier_subpanel_register(
+ region_type, "bevel_shading", "Shading", NULL, shading_panel_draw, panel_type);
modifier_subpanel_register(region_type,
"bevel_custom_profile",
"",
custom_profile_panel_draw_header,
custom_profile_panel_draw,
panel_type);
- modifier_subpanel_register(
- region_type, "bevel_advanced", "Advanced", NULL, advanced_panel_draw, panel_type);
}
ModifierTypeInfo modifierType_Bevel = {
diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c b/source/blender/modifiers/intern/MOD_datatransfer.c
index 11403995f20..30d97b84160 100644
--- a/source/blender/modifiers/intern/MOD_datatransfer.c
+++ b/source/blender/modifiers/intern/MOD_datatransfer.c
@@ -264,13 +264,6 @@ static void panel_draw(const bContext *C, Panel *panel)
uiLayoutSetPropDecorate(sub, false);
uiItemR(sub, &ptr, "use_object_transform", 0, "", ICON_ORIENTATION_GLOBAL);
- row = uiLayoutRow(layout, true);
- uiItemR(row, &ptr, "max_distance", 0, NULL, ICON_NONE);
- sub = uiLayoutRow(row, true);
- uiLayoutSetPropDecorate(sub, false);
- uiItemR(sub, &ptr, "use_max_distance", 0, "", ICON_STYLUS_PRESSURE);
-
- uiItemR(layout, &ptr, "ray_radius", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mix_mode", 0, NULL, ICON_NONE);
uiItemR(layout, &ptr, "mix_factor", 0, NULL, ICON_NONE);
@@ -436,6 +429,25 @@ static void face_panel_draw(const bContext *C, Panel *panel)
uiItemR(layout, &ptr, "poly_mapping", 0, IFACE_("Mapping"), ICON_NONE);
}
+static void advanced_panel_draw(const bContext *C, Panel *panel)
+{
+ uiLayout *row, *sub;
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+
+ uiLayoutSetPropSep(layout, true);
+
+ row = uiLayoutRowWithHeading(layout, true, IFACE_("Max Distance"));
+ uiItemR(row, &ptr, "use_max_distance", 0, "", ICON_NONE);
+ sub = uiLayoutRow(row, true);
+ uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_max_distance"));
+ uiItemR(sub, &ptr, "max_distance", 0, "", ICON_NONE);
+
+ uiItemR(layout, &ptr, "ray_radius", 0, NULL, ICON_NONE);
+}
+
static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, "DataTransfer", panel_draw);
@@ -476,6 +488,12 @@ static void panelRegister(ARegionType *region_type)
modifier_subpanel_register(
region_type, "datatransfer_face", "", face_panel_draw_header, face_panel_draw, panel_type);
+ modifier_subpanel_register(region_type,
+ "datatransfer_advanced",
+ "Topology Mapping",
+ NULL,
+ advanced_panel_draw,
+ panel_type);
}
#undef HIGH_POLY_WARNING
diff --git a/source/blender/modifiers/intern/MOD_meshsequencecache.c b/source/blender/modifiers/intern/MOD_meshsequencecache.c
index c54d90550ab..2da9b0c32f8 100644
--- a/source/blender/modifiers/intern/MOD_meshsequencecache.c
+++ b/source/blender/modifiers/intern/MOD_meshsequencecache.c
@@ -197,36 +197,22 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
static void panel_draw(const bContext *C, Panel *panel)
{
- uiLayout *layout = panel->layout;
-
- PointerRNA ptr;
- modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
- modifier_panel_buttons(C, panel);
-
- modifier_panel_end(layout, &ptr);
-}
-
-static void cache_file_panel_draw(const bContext *C, Panel *panel)
-{
- uiLayout *layout = panel->layout;
-
- PointerRNA ptr;
- modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
-
- uiTemplateCacheFile(layout, C, &ptr, "cache_file");
-}
-
-static void modifier_panel_draw(const bContext *C, Panel *panel)
-{
+ uiLayout *box;
uiLayout *layout = panel->layout;
PointerRNA ptr;
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
+ modifier_panel_buttons(C, panel);
PointerRNA cache_file_ptr = RNA_pointer_get(&ptr, "cache_file");
bool has_cache_file = !RNA_pointer_is_null(&cache_file_ptr);
+ box = uiLayoutBox(layout);
+ uiTemplateCacheFile(box, C, &ptr, "cache_file");
+
+ uiLayoutSetPropSep(layout, true);
+
if (has_cache_file) {
uiItemPointerR(layout, &ptr, "object_path", &cache_file_ptr, "object_paths", NULL, ICON_NONE);
}
@@ -234,23 +220,13 @@ static void modifier_panel_draw(const bContext *C, Panel *panel)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list