[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14140] trunk/blender/source/blender: == Align ==
Martin Poirier
theeth at yahoo.com
Sun Mar 16 17:00:00 CET 2008
Revision: 14140
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14140
Author: theeth
Date: 2008-03-16 17:00:00 +0100 (Sun, 16 Mar 2008)
Log Message:
-----------
== Align ==
Use pupmenu menu to select align orientation. Faster workflow than always having to change the current transform orientation beforehand.
Modified Paths:
--------------
trunk/blender/source/blender/include/BIF_transform.h
trunk/blender/source/blender/include/BSE_edit.h
trunk/blender/source/blender/src/edit.c
trunk/blender/source/blender/src/header_view3d.c
trunk/blender/source/blender/src/space.c
trunk/blender/source/blender/src/transform.c
trunk/blender/source/blender/src/transform_orientations.c
Modified: trunk/blender/source/blender/include/BIF_transform.h
===================================================================
--- trunk/blender/source/blender/include/BIF_transform.h 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/include/BIF_transform.h 2008-03-16 16:00:00 UTC (rev 14140)
@@ -105,7 +105,7 @@
void BIF_selectTransformOrientation(struct TransformOrientation *ts);
void BIF_selectTransformOrientationFromIndex(int index);
-char * BIF_menustringTransformOrientation(); /* the returned value was allocated and needs to be freed after use */
+char * BIF_menustringTransformOrientation(char *title); /* the returned value was allocated and needs to be freed after use */
int BIF_countTransformOrientation();
/* Drawing callbacks */
Modified: trunk/blender/source/blender/include/BSE_edit.h
===================================================================
--- trunk/blender/source/blender/include/BSE_edit.h 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/include/BSE_edit.h 2008-03-16 16:00:00 UTC (rev 14140)
@@ -40,6 +40,7 @@
void countall(void);
void snapmenu(void);
void mergemenu(void);
+void alignmenu(void);
void delete_context_selected(void);
void duplicate_context_selected(void);
void toggle_shading(void);
Modified: trunk/blender/source/blender/src/edit.c
===================================================================
--- trunk/blender/source/blender/src/edit.c 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/src/edit.c 2008-03-16 16:00:00 UTC (rev 14140)
@@ -1856,7 +1856,23 @@
}
}
+void alignmenu()
+{
+ short val;
+ char *str_menu = BIF_menustringTransformOrientation("Align");
+ val= pupmenu(str_menu);
+ MEM_freeN(str_menu);
+ if (val >= 0)
+ {
+ short old_val = G.vd->twmode;
+ G.vd->twmode = val;
+ initTransform(TFM_ALIGN, CTX_NO_PET|CTX_AUTOCONFIRM);
+ Transform();
+ G.vd->twmode = old_val;
+ }
+}
+
#define MERGELIMIT 0.001
void mergemenu(void)
{
Modified: trunk/blender/source/blender/src/header_view3d.c
===================================================================
--- trunk/blender/source/blender/src/header_view3d.c 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/src/header_view3d.c 2008-03-16 16:00:00 UTC (rev 14140)
@@ -1787,8 +1787,7 @@
G.scene->snap_target = SCE_SNAP_TARGET_ACTIVE;
break;
case 21:
- initTransform(TFM_ALIGN, CTX_NO_PET|CTX_AUTOCONFIRM);
- Transform();
+ alignmenu();
break;
}
allqueue(REDRAWVIEW3D, 0);
@@ -5603,7 +5602,7 @@
xco+= XIC;
}
- str_menu = BIF_menustringTransformOrientation();
+ str_menu = BIF_menustringTransformOrientation("Orientation");
uiDefButS(block, MENU, B_MAN_MODE, str_menu,xco,0,70,YIC, &G.vd->twmode, 0, 0, 0, 0, "Transform Orientation (ALT+Space)");
MEM_freeN(str_menu);
Modified: trunk/blender/source/blender/src/space.c
===================================================================
--- trunk/blender/source/blender/src/space.c 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/src/space.c 2008-03-16 16:00:00 UTC (rev 14140)
@@ -1744,10 +1744,7 @@
case AKEY:
if (G.obedit == 0 && G.qual == (LR_CTRLKEY|LR_ALTKEY)) {
- if(okee("Align to Transform Orientation")) {
- initTransform(TFM_ALIGN, CTX_NO_PET|CTX_AUTOCONFIRM);
- Transform();
- }
+ alignmenu();
}
else if(G.qual & LR_CTRLKEY) { /* also with shift! */
apply_object();
Modified: trunk/blender/source/blender/src/transform.c
===================================================================
--- trunk/blender/source/blender/src/transform.c 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/src/transform.c 2008-03-16 16:00:00 UTC (rev 14140)
@@ -467,7 +467,7 @@
void BIF_selectOrientation() {
short val;
- char *str_menu = BIF_menustringTransformOrientation();
+ char *str_menu = BIF_menustringTransformOrientation("Orientation");
val= pupmenu(str_menu);
MEM_freeN(str_menu);
Modified: trunk/blender/source/blender/src/transform_orientations.c
===================================================================
--- trunk/blender/source/blender/src/transform_orientations.c 2008-03-16 14:28:00 UTC (rev 14139)
+++ trunk/blender/source/blender/src/transform_orientations.c 2008-03-16 16:00:00 UTC (rev 14140)
@@ -313,8 +313,8 @@
G.vd->twmode = V3D_MANIP_CUSTOM + index;
}
-char * BIF_menustringTransformOrientation() {
- char menu[] = "Orientation%t|Global%x0|Local%x1|Normal%x2|View%x3";
+char * BIF_menustringTransformOrientation(char *title) {
+ char menu[] = "%t|Global%x0|Local%x1|Normal%x2|View%x3";
ListBase *transform_spaces = &G.scene->transform_spaces;
TransformOrientation *ts;
int i = V3D_MANIP_CUSTOM;
@@ -324,7 +324,8 @@
str_menu = MEM_callocN(strlen(menu) + 40 * BIF_countTransformOrientation(), "UserTransSpace from matrix");
p = str_menu;
- p += sprintf(str_menu, "%s", menu);
+ p += sprintf(str_menu, "%s", title);
+ p += sprintf(p, "%s", menu);
for (ts = transform_spaces->first; ts; ts = ts->next) {
p += sprintf(p, "|%s%%x%d", ts->name, i++);
More information about the Bf-blender-cvs
mailing list