[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