[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44176] trunk/blender: Cleanup of 3D viewport header in painting modes:

Sergey Sharybin sergey.vfx at gmail.com
Fri Feb 17 07:59:45 CET 2012


Revision: 44176
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44176
Author:   nazgul
Date:     2012-02-17 06:59:32 +0000 (Fri, 17 Feb 2012)
Log Message:
-----------
Cleanup of 3D viewport header in painting modes:

- Hide Manipulate center points in sculpt and particle edit modes
- Hide 3D manipulators and orientation from sculpt mode
- Hide snap buttons in sculpt, weight, texture, vertex and particle painting modes

All this options weren't make sense in this modes and might only confuse user.

This will resolve issue #30180: 3D View header buttons and modes

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
    trunk/blender/source/blender/editors/space_view3d/view3d_header.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2012-02-17 05:33:23 UTC (rev 44175)
+++ trunk/blender/release/scripts/startup/bl_ui/space_view3d.py	2012-02-17 06:59:32 UTC (rev 44176)
@@ -83,22 +83,23 @@
                     row.prop(toolsettings, "proportional_edit_falloff", text="", icon_only=True)
 
         # Snap
-        snap_element = toolsettings.snap_element
-        row = layout.row(align=True)
-        row.prop(toolsettings, "use_snap", text="")
-        row.prop(toolsettings, "snap_element", text="", icon_only=True)
-        if snap_element != 'INCREMENT':
-            row.prop(toolsettings, "snap_target", text="")
-            if obj:
-                if obj.mode == 'OBJECT':
-                    row.prop(toolsettings, "use_snap_align_rotation", text="")
-                elif obj.mode == 'EDIT':
-                    row.prop(toolsettings, "use_snap_self", text="")
+        if obj.mode not in {'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT', 'PARTICLE_EDIT'}:
+            snap_element = toolsettings.snap_element
+            row = layout.row(align=True)
+            row.prop(toolsettings, "use_snap", text="")
+            row.prop(toolsettings, "snap_element", text="", icon_only=True)
+            if snap_element != 'INCREMENT':
+                row.prop(toolsettings, "snap_target", text="")
+                if obj:
+                    if obj.mode == 'OBJECT':
+                        row.prop(toolsettings, "use_snap_align_rotation", text="")
+                    elif obj.mode == 'EDIT':
+                        row.prop(toolsettings, "use_snap_self", text="")
 
-        if snap_element == 'VOLUME':
-            row.prop(toolsettings, "use_snap_peel_object", text="")
-        elif snap_element == 'FACE':
-            row.prop(toolsettings, "use_snap_project", text="")
+            if snap_element == 'VOLUME':
+                row.prop(toolsettings, "use_snap_peel_object", text="")
+            elif snap_element == 'FACE':
+                row.prop(toolsettings, "use_snap_project", text="")
 
         # OpenGL render
         row = layout.row(align=True)

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2012-02-17 05:33:23 UTC (rev 44175)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2012-02-17 06:59:32 UTC (rev 44176)
@@ -478,6 +478,7 @@
 	uiBut *but;
 	uiLayout *row;
 	const float dpi_fac= UI_DPI_FAC;
+	int is_paint = 0;
 	
 	RNA_pointer_create(&screen->id, &RNA_SpaceView3D, v3d, &v3dptr);	
 	RNA_pointer_create(&scene->id, &RNA_ToolSettings, ts, &toolsptr);
@@ -492,6 +493,8 @@
 	/* mode */
 	if(ob) {
 		v3d->modeselect = ob->mode;
+		is_paint = ELEM5(ob->mode, OB_MODE_SCULPT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT,
+		                 OB_MODE_TEXTURE_PAINT, OB_MODE_PARTICLE_EDIT);
 	}
 	else {
 		v3d->modeselect = OB_MODE_OBJECT;
@@ -504,21 +507,22 @@
 	/* Draw type */
 	uiItemR(layout, &v3dptr, "viewport_shade", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
 
-	if (obedit==NULL && ((ob && ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)))) {
-		/* Manipulators aren't used in weight paint mode */
-		
-		PointerRNA meshptr;
+	if (obedit==NULL && is_paint) {
+		/* Manipulators aren't used in paint modes */
+		if (!ELEM(ob->mode, OB_MODE_SCULPT, OB_MODE_PARTICLE_EDIT)) {
+			/* masks aren't used for sculpt and particle painting */
+			PointerRNA meshptr;
 
-		RNA_pointer_create(&ob->id, &RNA_Mesh, ob->data, &meshptr);
-		if(ob->mode & (OB_MODE_TEXTURE_PAINT|OB_MODE_VERTEX_PAINT)) {
-			uiItemR(layout, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
+			RNA_pointer_create(&ob->id, &RNA_Mesh, ob->data, &meshptr);
+			if(ob->mode & (OB_MODE_TEXTURE_PAINT|OB_MODE_VERTEX_PAINT)) {
+				uiItemR(layout, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
+			}
+			else {
+				row= uiLayoutRow(layout, 1);
+				uiItemR(row, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
+				uiItemR(row, &meshptr, "use_paint_mask_vertex", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
+			}
 		}
-		else {
-			
-			row= uiLayoutRow(layout, 1);
-			uiItemR(row, &meshptr, "use_paint_mask", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
-			uiItemR(row, &meshptr, "use_paint_mask_vertex", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
-		}
 	} else {
 		const char *str_menu;
 




More information about the Bf-blender-cvs mailing list