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);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to