[Bf-blender-cvs] [bd5f7f7429b] modifier-panels-ui: Bevel modifier: Group Profile and Custom Profile together

William Reynish noreply at git.blender.org
Fri Apr 17 10:19:00 CEST 2020


Commit: bd5f7f7429b269159a9c440d47b061dc7f255b16
Author: William Reynish
Date:   Fri Apr 17 10:17:49 2020 +0200
Branches: modifier-panels-ui
https://developer.blender.org/rBbd5f7f7429b269159a9c440d47b061dc7f255b16

Bevel modifier: Group Profile and Custom Profile together

===================================================================

M	source/blender/modifiers/intern/MOD_bevel.c

===================================================================

diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c
index 992ed6a38ac..10684ed2e6b 100644
--- a/source/blender/modifiers/intern/MOD_bevel.c
+++ b/source/blender/modifiers/intern/MOD_bevel.c
@@ -311,7 +311,6 @@ static void panel_draw(const bContext *C, Panel *panel)
   uiItemR(col, &ptr, "offset_type", 0, NULL, ICON_NONE);
 
   uiItemR(layout, &ptr, "segments", 0, NULL, ICON_NONE);
-  uiItemR(layout, &ptr, "profile", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
 
   uiItemS(layout);
 
@@ -351,6 +350,8 @@ static void geometry_panel_draw(const bContext *C, Panel *panel)
   if (RNA_enum_get(&ptr, "miter_inner") == BEVEL_MITER_ARC) {
     uiItemR(layout, &ptr, "spread", 0, NULL, ICON_NONE);
   }
+  uiItemS(layout);
+
   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);
@@ -376,6 +377,17 @@ static void shading_panel_draw(const bContext *C, Panel *panel)
   uiItemR(layout, &ptr, "face_strength_mode", 0, NULL, ICON_NONE);
 }
 
+static void profile_panel_draw(const bContext *C, Panel *panel)
+{
+  PointerRNA ptr;
+  modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
+  uiLayout *layout = panel->layout;
+
+  uiLayoutSetPropSep(layout, true);
+
+  uiItemR(layout, &ptr, "profile", UI_ITEM_R_SLIDER, IFACE_("Shape"), ICON_NONE);
+}
+
 static void custom_profile_panel_draw_header(const bContext *C, Panel *panel)
 {
   uiLayout *layout = panel->layout;
@@ -392,22 +404,26 @@ static void custom_profile_panel_draw(const bContext *C, Panel *panel)
   modifier_panel_get_property_pointers(C, panel, NULL, &ptr);
   uiLayout *layout = panel->layout;
 
+  uiLayoutSetActive(layout, RNA_boolean_get(&ptr, "use_custom_profile"));
+
   uiTemplateCurveProfile(layout, &ptr, "custom_profile");
 }
 
 static void panelRegister(ARegionType *region_type)
 {
   PanelType *panel_type = modifier_panel_register(region_type, "Bevel", panel_draw);
-  modifier_subpanel_register(
-      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);
+  PanelType *bevel_profil_panel = modifier_subpanel_register(
+      region_type, "bevel_profile", "Profile", NULL, profile_panel_draw, panel_type);
   modifier_subpanel_register(region_type,
                              "bevel_custom_profile",
                              "",
                              custom_profile_panel_draw_header,
                              custom_profile_panel_draw,
-                             panel_type);
+                             bevel_profil_panel);
+  modifier_subpanel_register(
+      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);
 }
 
 ModifierTypeInfo modifierType_Bevel = {



More information about the Bf-blender-cvs mailing list