[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20971] branches/bmesh/blender/source/ blender: the hideous alt-tab selectmode menu is gone, replaced by alt-1, alt-2, and alt-3.

Joseph Eagar joeedh at gmail.com
Thu Jun 18 12:15:23 CEST 2009


Revision: 20971
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20971
Author:   joeedh
Date:     2009-06-18 12:15:23 +0200 (Thu, 18 Jun 2009)

Log Message:
-----------
the hideous alt-tab selectmode menu is gone, replaced by alt-1, alt-2, and alt-3.  need to still make the 'inclusive' feature work somehow though.  also fixed some bugs in the selectmode flushing code.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
    branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_ops.c

Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -62,8 +62,8 @@
 
 	if(bm->selectmode & SCE_SELECT_VERTEX) {
 		for(e = BMIter_New(&edges, bm, BM_EDGES_OF_MESH, bm ); e; e= BMIter_Step(&edges)) {
-			if(BM_TestHFlag(e->v1, BM_SELECT) && BM_TestHFlag(e->v2, BM_SELECT)) BM_SetHFlag(e, 1);
-			else BM_ClearHFlag(e, 0);
+			if(BM_TestHFlag(e->v1, BM_SELECT) && BM_TestHFlag(e->v2, BM_SELECT)) BM_SetHFlag(e, BM_SELECT);
+			else BM_ClearHFlag(e, BM_SELECT);
 		}
 		for(f = BMIter_New(&faces, bm, BM_FACES_OF_MESH, bm ); f; f= BMIter_Step(&faces)) {
 			totsel = 0;
@@ -75,9 +75,9 @@
 			} while(l != f->loopbase);
 			
 			if(totsel == f->len) 
-				BM_SetHFlag(f, 1);
+				BM_SetHFlag(f, BM_SELECT);
 			else
-				BM_ClearHFlag(f, 0);
+				BM_ClearHFlag(f, BM_SELECT);
 		}
 	}
 	else if(bm->selectmode & SCE_SELECT_EDGE) {
@@ -91,9 +91,9 @@
 			}while(l!=f->loopbase);
 			
 			if(totsel == f->len) 
-				BM_SetHFlag(f, 1);
+				BM_SetHFlag(f, BM_SELECT);
 			else 
-				BM_ClearHFlag(f, 0);
+				BM_ClearHFlag(f, BM_SELECT);
 		}
 	}
 

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -1333,11 +1333,11 @@
 	if(em->selectmode & SCE_SELECT_VERTEX) {
 		BMIter iter;
 		
-		eed = BMIter_New(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
+		/*eed = BMIter_New(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
 		for ( ; eed; eed=BMIter_Step(&iter)) BM_Select(em->bm, eed, 0);
 		
 		efa = BMIter_New(&iter, em->bm, BM_FACES_OF_MESH, NULL);
-		for ( ; efa; efa=BMIter_Step(&iter)) BM_Select(em->bm, efa, 0);
+		for ( ; efa; efa=BMIter_Step(&iter)) BM_Select(em->bm, efa, 0);*/
 
 		EDBM_selectmode_flush(em);
 	}

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -1083,3 +1083,57 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
 }
+
+static EnumPropertyItem prop_mesh_edit_types[] = {
+	{1, "VERT", "Vertices", ""},
+	{2, "EDGE", "Edges", ""},
+	{3, "FACE", "Faces", ""},
+	{0, NULL, NULL, NULL}
+};
+
+static int mesh_selection_type_exec(bContext *C, wmOperator *op)
+{		
+	
+	Object *obedit= CTX_data_edit_object(C);
+	BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh;
+	int type = RNA_enum_get(op->ptr,"type");
+
+	switch (type) {
+		case 1:
+			em->selectmode = SCE_SELECT_VERTEX;
+			break;
+		case 2:
+			em->selectmode = SCE_SELECT_EDGE;
+			break;
+		case 3:
+			em->selectmode = SCE_SELECT_FACE;
+			break;
+	}
+
+	EDBM_selectmode_set(em);
+	CTX_data_scene(C)->selectmode = em->selectmode;
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+	
+	return OPERATOR_FINISHED;
+}
+
+void MESH_OT_selection_type(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Selection Mode";
+	ot->idname= "MESH_OT_selection_type";
+	
+	/* api callbacks */
+	ot->invoke= NULL;
+	ot->exec= mesh_selection_type_exec;
+	
+	ot->poll= ED_operator_editmesh;
+	
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+	
+	/* props */
+	RNA_def_enum(ot->srna, "type", prop_mesh_edit_types, 0, "Type", "Set the mesh selection type");
+	RNA_def_boolean(ot->srna, "inclusive", 0, "Inclusive", "Selects geometry around selected geometry, occording to selection mode");	
+}

Modified: branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -2998,47 +2998,6 @@
 //		if (EM_texFaceCheck())
 	}
 }
-
-static EnumPropertyItem prop_mesh_edit_types[] = {
-	{1, "VERT", "Vertices", ""},
-	{2, "EDGE", "Edges", ""},
-	{3, "FACE", "Faces", ""},
-	{0, NULL, NULL, NULL}
-};
-
-static int mesh_selection_type_exec(bContext *C, wmOperator *op)
-{		
-	
-	Object *obedit= CTX_data_edit_object(C);
-	EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
-
-	mesh_selection_type(CTX_data_scene(C), em, RNA_enum_get(op->ptr,"type"));
-
-	WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-	
-	BKE_mesh_end_editmesh(obedit->data, em);
-	return OPERATOR_FINISHED;
-}
-
-void MESH_OT_selection_type(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name= "Selection Mode";
-	ot->idname= "MESH_OT_selection_type";
-	
-	/* api callbacks */
-	ot->invoke= WM_menu_invoke;
-	ot->exec= mesh_selection_type_exec;
-	
-	ot->poll= ED_operator_editmesh;
-	
-	/* flags */
-	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-	
-	/* props */
-	RNA_def_enum(ot->srna, "type", prop_mesh_edit_types, 0, "Type", "Set the mesh selection type");
-	
-}
 /* ************************* SEAMS AND EDGES **************** */
 
 static int editmesh_mark_seam(bContext *C, wmOperator *op)

Modified: branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -224,10 +224,10 @@
 	WM_keymap_add_item(keymap, "MESH_OT_vertices_transform_to_sphere", SKEY, KM_PRESS, KM_CTRL|KM_SHIFT , 0);
 
 	WM_keymap_add_item(keymap, "MESH_OT_mark_seam", ONEKEY, KM_PRESS, KM_CTRL , 0);
-	RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_seam", ONEKEY, KM_PRESS, KM_ALT , 0)->ptr,"clear",1);
+	//RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_seam", ONEKEY, KM_PRESS, KM_ALT , 0)->ptr,"clear",1);
 
-	WM_keymap_add_item(keymap, "MESH_OT_mark_sharp", TWOKEY, KM_PRESS, KM_CTRL , 0);
-	RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_sharp", TWOKEY, KM_PRESS, KM_ALT , 0)->ptr,"set",1);
+	//WM_keymap_add_item(keymap, "MESH_OT_mark_sharp", TWOKEY, KM_PRESS, KM_CTRL , 0);
+	//RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_mark_sharp", TWOKEY, KM_PRESS, KM_ALT , 0)->ptr,"set",1);
 
 	/* temp hotkeys! */
 	WM_keymap_add_item(keymap, "MESH_OT_vertices_select_similar", GKEY, KM_PRESS, KM_SHIFT, 0);
@@ -235,8 +235,13 @@
 	WM_keymap_add_item(keymap, "MESH_OT_faces_select_similar", GKEY, KM_PRESS, KM_SHIFT|KM_CTRL2, 0);
 	
 	/* selection mode */
-	WM_keymap_add_item(keymap, "MESH_OT_selection_type", TABKEY, KM_PRESS, KM_CTRL, 0);
-	
+	kmi = WM_keymap_add_item(keymap, "MESH_OT_selection_type", ONEKEY, KM_PRESS, KM_ALT, 0);
+	RNA_int_set(kmi->ptr, "type", 1);
+	kmi = WM_keymap_add_item(keymap, "MESH_OT_selection_type", TWOKEY, KM_PRESS, KM_ALT, 0);
+	RNA_int_set(kmi->ptr, "type", 2);
+	kmi = WM_keymap_add_item(keymap, "MESH_OT_selection_type", THREEKEY, KM_PRESS, KM_ALT, 0);
+	RNA_int_set(kmi->ptr, "type", 3);
+
 	/* hide */
 	WM_keymap_add_item(keymap, "MESH_OT_hide", HKEY, KM_PRESS, 0, 0);
 	RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "unselected", 1);
@@ -245,8 +250,8 @@
 	/* tools */
 	WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_CTRL, 0);
 	RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "inside", 1);
-	WM_keymap_add_item(keymap, "MESH_OT_vertices_smooth", THREEKEY, KM_PRESS, KM_CTRL , 0);
-	WM_keymap_add_item(keymap, "MESH_OT_flip_editnormals", THREEKEY, KM_PRESS, KM_ALT , 0);
+	//WM_keymap_add_item(keymap, "MESH_OT_vertices_smooth", THREEKEY, KM_PRESS, KM_CTRL , 0);
+	//WM_keymap_add_item(keymap, "MESH_OT_flip_editnormals", THREEKEY, KM_PRESS, KM_ALT , 0);
 	
 	WM_keymap_add_item(keymap, "MESH_OT_subdivs", WKEY, KM_PRESS, 0, 0); // this is the menu
 	/*WM_keymap_add_item(keymap, "MESH_OT_subdivide_multi", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);

Modified: branches/bmesh/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-06-18 09:50:34 UTC (rev 20970)
+++ branches/bmesh/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-06-18 10:15:23 UTC (rev 20971)
@@ -174,9 +174,9 @@
 	WM_keymap_add_item(keymap, "VIEW3D_OT_localview", PADSLASHKEY, KM_PRESS, 0, 0);
 	
 	/* layers, shift + alt are properties set in invoke() */
-	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ONEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 1);
-	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", TWOKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 2);
-	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", THREEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 3);
+	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", ONEKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "nr", 1);
+	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", TWOKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "nr", 2);
+	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", THREEKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "nr", 3);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", FOURKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 4);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", FIVEKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 5);
 	RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_layers", SIXKEY, KM_PRESS, KM_ANY, 0)->ptr, "nr", 6);





More information about the Bf-blender-cvs mailing list