[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24934] trunk/blender/source/blender/ editors/mesh/editmesh_mods.c: Simplify mesh selection type operator and add missing header refresh notifier .
Martin Poirier
theeth at yahoo.com
Thu Nov 26 20:32:34 CET 2009
Revision: 24934
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24934
Author: theeth
Date: 2009-11-26 20:32:33 +0100 (Thu, 26 Nov 2009)
Log Message:
-----------
Simplify mesh selection type operator and add missing header refresh notifier.
Also remove REGISTER flag from operator (no need to see this in operator history).
Modified Paths:
--------------
trunk/blender/source/blender/editors/mesh/editmesh_mods.c
Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2009-11-26 19:31:25 UTC (rev 24933)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2009-11-26 19:32:33 UTC (rev 24934)
@@ -82,6 +82,7 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "ED_mesh.h"
#include "ED_screen.h"
@@ -3663,22 +3664,12 @@
static void mesh_selection_type(ToolSettings *ts, EditMesh *em, int val)
{
if(val>0) {
- if(val==1) {
- em->selectmode= SCE_SELECT_VERTEX;
- EM_selectmode_set(em);
- }
- else if(val==2) {
- //if(ctrl) EM_convertsel(em, em->selectmode, SCE_SELECT_EDGE);
- em->selectmode= SCE_SELECT_EDGE;
- EM_selectmode_set(em);
- }
+ //if(ctrl) EM_convertsel(em, em->selectmode, SCE_SELECT_EDGE);
+ //if((ctrl)) EM_convertsel(em, em->selectmode, SCE_SELECT_FACE);
+
+ em->selectmode= val;
+ EM_selectmode_set(em);
- else{
- //if((ctrl)) EM_convertsel(em, em->selectmode, SCE_SELECT_FACE);
- em->selectmode= SCE_SELECT_FACE;
- EM_selectmode_set(em);
- }
-
/* note, em stores selectmode to be able to pass it on everywhere without scene,
this is only until all select modes and toolsettings are settled more */
ts->selectmode= em->selectmode;
@@ -3686,13 +3677,6 @@
}
}
-static EnumPropertyItem prop_mesh_edit_types[] = {
- {1, "VERT", ICON_VERTEXSEL, "Vertices", ""},
- {2, "EDGE", ICON_EDGESEL, "Edges", ""},
- {3, "FACE", ICON_FACESEL, "Faces", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
static int mesh_selection_type_exec(bContext *C, wmOperator *op)
{
ToolSettings *ts= CTX_data_tool_settings(C);
@@ -3702,6 +3686,7 @@
mesh_selection_type(ts, em, RNA_enum_get(op->ptr,"type"));
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
+ WM_event_add_notifier(C, NC_SCENE|ND_MODE, NULL); /* header redraw */
BKE_mesh_end_editmesh(obedit->data, em);
return OPERATOR_FINISHED;
@@ -3721,10 +3706,10 @@
ot->poll= ED_operator_editmesh;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_UNDO;
/* props */
- RNA_def_enum(ot->srna, "type", prop_mesh_edit_types, 0, "Type", "Set the mesh selection type");
+ RNA_def_enum(ot->srna, "type", mesh_select_mode_items, 0, "Type", "Set the mesh selection type");
}
/* ************************* SEAMS AND EDGES **************** */
More information about the Bf-blender-cvs
mailing list