[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