Page Menu
Home
Search
Configure Global Search
Log In
Files
F4357
cyclesel3.txt
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Juho Vepsalainen (bebraw)
Nov 13 2013, 1:15 PM
Size
5 KB
Subscribers
None
cyclesel3.txt
View Options
Index: source/blender/include/BIF_editmesh.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/include/BIF_editmesh.h,v
retrieving revision 1.67
diff -u -p -u -r1.67 BIF_editmesh.h
--- source/blender/include/BIF_editmesh.h 8 Jun 2006 05:41:57 -0000 1.67
+++ source/blender/include/BIF_editmesh.h 23 Aug 2006 08:46:33 -0000
@@ -118,9 +118,9 @@ extern int EM_init_backbuf_circle(short
extern int EM_check_backbuf(unsigned int index);
extern void EM_free_backbuf(void);
+extern void EM_selectmode_cycle(void);
extern void EM_selectmode_menu(void);
-
extern void vertexnoise(void);
extern void vertexsmooth(void);
extern void righthandfaces(int select);
@@ -225,4 +225,3 @@ void pathselect(void);
void loop_to_region(void);
void region_to_loop(void);
#endif
-
Index: source/blender/makesdna/DNA_scene_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_scene_types.h,v
retrieving revision 1.76
diff -u -p -u -r1.76 DNA_scene_types.h
--- source/blender/makesdna/DNA_scene_types.h 28 Jul 2006 00:56:34 -0000 1.76
+++ source/blender/makesdna/DNA_scene_types.h 23 Aug 2006 08:46:33 -0000
@@ -514,9 +514,11 @@ typedef struct Scene {
#define SCE_ADDSCENAME 1
/* sce->selectmode */
-#define SCE_SELECT_VERTEX 1
-#define SCE_SELECT_EDGE 2
-#define SCE_SELECT_FACE 4
+#define SCE_SELECT_VERTEX 1
+#define SCE_SELECT_EDGE 2
+#define SCE_SELECT_VERTEX_AND_EDGE 3
+#define SCE_SELECT_FACE 4
+#define SCE_SELECT_EDGE_AND_FACE 6
/* sce->recalc (now in use by previewrender) */
#define SCE_PRV_CHANGED 1
@@ -553,4 +555,3 @@ typedef struct Scene {
#endif
#endif
-
Index: source/blender/makesdna/DNA_userdef_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h,v
retrieving revision 1.56
diff -u -p -u -r1.56 DNA_userdef_types.h
--- source/blender/makesdna/DNA_userdef_types.h 8 Jun 2006 19:05:58 -0000 1.56
+++ source/blender/makesdna/DNA_userdef_types.h 23 Aug 2006 08:46:34 -0000
@@ -223,6 +223,7 @@ extern UserDef U; /* from usiblender.c !
#define USER_HIDE_DOT 65536
#define USER_SHOW_ROTVIEWICON 131072
#define USER_SHOW_VIEWPORTNAME 262144
+#define USER_CYCLE_SELMODE 524288
/* transopts */
@@ -265,4 +266,3 @@ extern UserDef U; /* from usiblender.c !
#endif
-
Index: source/blender/src/editmesh_mods.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/editmesh_mods.c,v
retrieving revision 1.108
diff -u -p -u -r1.108 editmesh_mods.c
--- source/blender/src/editmesh_mods.c 20 Aug 2006 15:22:55 -0000 1.108
+++ source/blender/src/editmesh_mods.c 23 Aug 2006 08:46:34 -0000
@@ -2471,8 +2471,32 @@ void editmesh_deselect_by_material(int i
EM_selectmode_flush();
}
-void EM_selectmode_menu(void)
+void EM_selectmode_cycle(void)
{
+ int selectModes[] = {SCE_SELECT_VERTEX, SCE_SELECT_VERTEX_AND_EDGE, SCE_SELECT_EDGE, SCE_SELECT_EDGE_AND_FACE, SCE_SELECT_FACE, SCE_SELECT_VERTEX};
+ const char *undoStrings[] = {"Vertex","Vertex\\Edge","Edge","Edge\\Face","Face","Vertex"};
+ int amountOfSelectModes = 6;
+
+ static char undoBegin[] = "Selectmode Set: ";
+ static char undoEnd[] = " ";
+
+ int i = 0;
+
+ for(i; i<amountOfSelectModes; i++) {
+ if (G.scene->selectmode == selectModes[i]) {
+ G.scene->selectmode= selectModes[i+1];
+ EM_selectmode_set();
+ countall();
+ char *undoText = strcat(undoBegin, undoStrings[i+1]);
+ BIF_undo_push(strcat(undoText, undoEnd));
+ break;
+ }
+ }
+ allqueue(REDRAWVIEW3D, 1);
+}
+
+void EM_selectmode_menu(void)
+{
int val;
if(G.scene->selectmode & SCE_SELECT_VERTEX) pupmenu_set_active(1);
@@ -3220,4 +3244,3 @@ void vertices_to_sphere(void)
#endif
BIF_undo_push("To Sphere");
}
-
Index: source/blender/src/space.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/space.c,v
retrieving revision 1.374
diff -u -p -u -r1.374 space.c
--- source/blender/src/space.c 20 Aug 2006 15:22:56 -0000 1.374
+++ source/blender/src/space.c 23 Aug 2006 08:46:35 -0000
@@ -2752,6 +2752,12 @@ void drawinfospace(ScrArea *sa, void *sp
uiDefBut(block, LABEL,0,"Middle Mouse Button:",
(xpos+(2*edgsp)+(4*mpref)+(4*midsp)),y6label,mpref,buth,
0, 0, 0, 0, 0, "");
+
+ uiDefButBitI(block, TOG, USER_CYCLE_SELMODE, B_DRAWINFO, "Cycle Selection Mode",
+ (xpos+edgsp+(3*mpref)+(4*midsp)),y1,mpref,buth,
+ &(U.uiflag), 0, 0, 0, 0,
+ "Cycle through selection modes by using ctrl-tab");
+
uiBlockBeginAlign(block);
uiBlockSetCol(block, TH_BUT_SETTING1); /* mutually exclusive toggles, start color */
uiDefButBitI(block, TOGN, USER_VIEWMOVE, B_DRAWINFO, "Rotate View",
Index: source/blender/src/toets.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/toets.c,v
retrieving revision 1.82
diff -u -p -u -r1.82 toets.c
--- source/blender/src/toets.c 20 Jul 2006 10:36:55 -0000 1.82
+++ source/blender/src/toets.c 23 Aug 2006 08:46:35 -0000
@@ -664,7 +664,10 @@ int blenderqread(unsigned short event, s
else enter_posemode();
}
else if(ob->type==OB_MESH) {
- if(ob==G.obedit) EM_selectmode_menu();
+ if(ob==G.obedit) {
+ if (U.uiflag & USER_CYCLE_SELMODE) EM_selectmode_cycle();
+ else EM_selectmode_menu();
+ }
else set_wpaint();
}
}
File Metadata
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
28/5d/7fa65929aed9621405b8af5c4a09
Event Timeline
Log In to Comment