[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