[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30927] trunk/blender/source/blender: Separate proportional edit setting between edit and object mode.

Martin Poirier theeth at yahoo.com
Sat Jul 31 21:26:21 CEST 2010


Revision: 30927
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30927
Author:   theeth
Date:     2010-07-31 21:26:21 +0200 (Sat, 31 Jul 2010)

Log Message:
-----------
Separate proportional edit setting between edit and object mode. They are now used and toggled independently.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/curve/curve_ops.c
    trunk/blender/source/blender/editors/include/ED_object.h
    trunk/blender/source/blender/editors/mesh/mesh_ops.c
    trunk/blender/source/blender/editors/object/object_ops.c
    trunk/blender/source/blender/editors/physics/physics_ops.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/editors/transform/transform_generics.c
    trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
    trunk/blender/source/blender/makesdna/DNA_scene_types.h
    trunk/blender/source/blender/makesrna/intern/rna_scene.c

Modified: trunk/blender/source/blender/editors/curve/curve_ops.c
===================================================================
--- trunk/blender/source/blender/editors/curve/curve_ops.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/curve/curve_ops.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -233,6 +233,6 @@
 	/* menus */
 	WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
 
-	ED_object_generic_keymap(keyconf, keymap, 2);
+	ED_object_generic_keymap(keyconf, keymap, 3);
 }
 

Modified: trunk/blender/source/blender/editors/include/ED_object.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_object.h	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/include/ED_object.h	2010-07-31 19:26:21 UTC (rev 30927)
@@ -55,7 +55,13 @@
 void ED_operatormacros_object(void);
 void ED_keymap_object(struct wmKeyConfig *keyconf);
 
-/* generic editmode keys like pet */
+/* generic editmode keys like pet
+ * do_pet
+ * 	0: No
+ * 	1: Object
+ * 	2: Edit
+ * 	3: Edit with connected
+ * */
 void ED_object_generic_keymap(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int do_pet);
 
 	/* send your own notifier for select! */

Modified: trunk/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_ops.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/mesh/mesh_ops.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -314,6 +314,6 @@
 	WM_keymap_add_menu(keymap, "VIEW3D_MT_uv_map", UKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_menu(keymap, "VIEW3D_MT_vertex_group", GKEY, KM_PRESS, KM_CTRL, 0);
 	
-	ED_object_generic_keymap(keyconf, keymap, 2);
+	ED_object_generic_keymap(keyconf, keymap, 3);
 }
 

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/object/object_ops.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -364,7 +364,10 @@
 		RNA_int_set(kmi->ptr, "level", i);
 	}
 
-	/* Lattice -------------------------------------------------------------------- */
+	/* ############################################################################ */
+	/* ################################ LATTICE ################################### */
+	/* ############################################################################ */
+
 	keymap= WM_keymap_find(keyconf, "Lattice", 0, 0);
 	keymap->poll= ED_operator_editlattice;
 
@@ -375,7 +378,7 @@
 		/* menus */
 	WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
 
-	ED_object_generic_keymap(keyconf, keymap, 1);
+	ED_object_generic_keymap(keyconf, keymap, 2);
 }
 
 void ED_object_generic_keymap(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int do_pet)
@@ -383,22 +386,31 @@
 	wmKeyMapItem *kmi;
 
 	/* used by mesh, curve & lattice only */
-	if(do_pet > 0) {
+	if(do_pet) {
 		/* context ops */
 		kmi = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
 		RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_editing_falloff");
 
-		kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
-		RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_editing");
-		RNA_string_set(kmi->ptr, "value_1", "DISABLED");
-		RNA_string_set(kmi->ptr, "value_2", "ENABLED");
+		// Object mode
+		if (do_pet == 1) {
 
-		/* for modes/object types that allow 'conencted' mode, add the Alt O key */
-		if (do_pet > 1) {
-			kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
+			kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
+			RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_editing_objects");
+
+		} else { // Edit mode
+
+			kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
 			RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_editing");
 			RNA_string_set(kmi->ptr, "value_1", "DISABLED");
-			RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
+			RNA_string_set(kmi->ptr, "value_2", "ENABLED");
+
+			/* for modes/object types that allow 'connected' mode, add the Alt O key */
+			if (do_pet == 3) {
+				kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
+				RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_editing");
+				RNA_string_set(kmi->ptr, "value_1", "DISABLED");
+				RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
+			}
 		}
 	}
 }

Modified: trunk/blender/source/blender/editors/physics/physics_ops.c
===================================================================
--- trunk/blender/source/blender/editors/physics/physics_ops.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/physics/physics_ops.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -114,7 +114,7 @@
 	
 	WM_keymap_add_item(keymap, "PARTICLE_OT_weight_set", KKEY, KM_PRESS, KM_SHIFT, 0);
 
-	ED_object_generic_keymap(keyconf, keymap, 1);
+	ED_object_generic_keymap(keyconf, keymap, 2);
 }
 
 /******************************* boids *************************************/

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/transform/transform.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -1367,17 +1367,17 @@
 		}
 	}
 
-	/* XXX convert stupid flag to enum */
+	/* convert flag to enum */
 	switch(t->flag & (T_PROP_EDIT|T_PROP_CONNECTED))
 	{
 	case (T_PROP_EDIT|T_PROP_CONNECTED):
-		proportional = 2;
+		proportional = PROP_EDIT_CONNECTED;
 		break;
 	case T_PROP_EDIT:
-		proportional = 1;
+		proportional = PROP_EDIT_ON;
 		break;
 	default:
-		proportional = 0;
+		proportional = PROP_EDIT_OFF;
 	}
 
 	// If modal, save settings back in scene if not set as operator argument
@@ -1385,7 +1385,10 @@
 
 		/* save settings if not set in operator */
 		if (RNA_struct_find_property(op->ptr, "proportional") && !RNA_property_is_set(op->ptr, "proportional")) {
-			ts->proportional = proportional;
+			if (t->obedit)
+				ts->proportional = proportional;
+			else
+				ts->proportional_objects = (proportional != PROP_EDIT_OFF);
 		}
 
 		if (RNA_struct_find_property(op->ptr, "proportional_size") && !RNA_property_is_set(op->ptr, "proportional_size")) {

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -38,6 +38,7 @@
 #include "DNA_armature_types.h"
 #include "DNA_lattice_types.h"
 #include "DNA_screen_types.h"
+#include "DNA_scene_types.h"
 #include "DNA_space_types.h"
 #include "DNA_view3d_types.h"
 
@@ -1033,9 +1034,9 @@
 		{
 			switch(RNA_enum_get(op->ptr, "proportional"))
 			{
-			case 2: /* XXX connected constant */
+			case PROP_EDIT_CONNECTED:
 				t->flag |= T_PROP_CONNECTED;
-			case 1: /* XXX prop on constant */
+			case PROP_EDIT_ON:
 				t->flag |= T_PROP_EDIT;
 				break;
 			}
@@ -1045,11 +1046,19 @@
 			/* use settings from scene only if modal */
 			if (t->flag & T_MODAL)
 			{
-				if ((t->options & CTX_NO_PET) == 0 && (ts->proportional != PROP_EDIT_OFF)) {
-					t->flag |= T_PROP_EDIT;
+				if ((t->options & CTX_NO_PET) == 0)
+				{
+					if (t->obedit && ts->proportional != PROP_EDIT_OFF)
+					{
+						t->flag |= T_PROP_EDIT;
 
-					if(ts->proportional == PROP_EDIT_CONNECTED)
-						t->flag |= T_PROP_CONNECTED;
+						if(ts->proportional == PROP_EDIT_CONNECTED)
+							t->flag |= T_PROP_CONNECTED;
+					}
+					else if (t->obedit == NULL && ts->proportional_objects)
+					{
+						t->flag |= T_PROP_EDIT;
+					}
 				}
 			}
 		}

Modified: trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_ops.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_ops.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -3241,7 +3241,7 @@
 	/* menus */
 	WM_keymap_add_menu(keymap, "IMAGE_MT_uvs_snap", SKEY, KM_PRESS, KM_SHIFT, 0);
 
-	ED_object_generic_keymap(keyconf, keymap, 1);
+	ED_object_generic_keymap(keyconf, keymap, 2);
 
 	transform_keymap_for_space(keyconf, keymap, SPACE_IMAGE);
 }

Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h	2010-07-31 19:26:21 UTC (rev 30927)
@@ -724,11 +724,13 @@
 	/* Transform */
 	short snap_mode, snap_flag, snap_target;
 	short proportional, prop_mode;
+	char proportional_objects; /* proportional edit, object mode */
+	char pad[3];
 
-	int auto_normalize, intpad; /*auto normalizing mode in wpaint*/
+	int auto_normalize; /*auto normalizing mode in wpaint*/
 
 	short sculpt_paint_settings; /* user preferences for sculpt and paint */
-	short pad;
+	short pad1;
 	int sculpt_paint_unified_size; /* unified radius of brush in pixels */
 	float sculpt_paint_unified_unprojected_radius;/* unified radius of brush in Blender units */
 	float sculpt_paint_unified_alpha; /* unified strength of brush */

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-07-31 19:23:22 UTC (rev 30926)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2010-07-31 19:26:21 UTC (rev 30927)
@@ -1009,6 +1009,12 @@
 	RNA_def_property_ui_text(prop, "Proportional Editing", "Proportional editing mode");
 	RNA_def_property_update(prop, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
 
+	prop= RNA_def_property(srna, "proportional_editing_objects", PROP_BOOLEAN, PROP_NONE);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list