[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22529] branches/blender2.5/blender/source /blender/editors: 2.5
Ton Roosendaal
ton at blender.org
Sun Aug 16 20:25:25 CEST 2009
Revision: 22529
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22529
Author: ton
Date: 2009-08-16 20:25:22 +0200 (Sun, 16 Aug 2009)
Log Message:
-----------
2.5
Another keymap goodie for test fun: Tweak events allow to be limited
to a direction, like North, South-West, etc.
Tested with View3D keymap for border, circle & lasso. Issue to look at
still is whether a border should start immediate, or first draw a cross...
this can be an operator property of course.
Note that tweak code can be extended to corner-gestures too (so you can
do a north+east, north+west, and so on... nice for later).
Time to get keymap saving work! :)
(Fixed bug in Mesh edit circle select, missing notifier)
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-08-16 18:14:17 UTC (rev 22528)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c 2009-08-16 18:25:22 UTC (rev 22529)
@@ -5081,6 +5081,28 @@
return string;
}
+static char *keymap_tweak_dir_menu(void)
+{
+ static char string[500];
+ static char formatstr[] = "|%s %%x%d";
+ char *str= string;
+
+ str += sprintf(str, "Tweak Direction %%t");
+
+ str += sprintf(str, formatstr, "Any", KM_ANY);
+ str += sprintf(str, formatstr, "North", EVT_GESTURE_N);
+ str += sprintf(str, formatstr, "North-East", EVT_GESTURE_NE);
+ str += sprintf(str, formatstr, "East", EVT_GESTURE_E);
+ str += sprintf(str, formatstr, "Sout-East", EVT_GESTURE_SE);
+ str += sprintf(str, formatstr, "South", EVT_GESTURE_S);
+ str += sprintf(str, formatstr, "South-West", EVT_GESTURE_SW);
+ str += sprintf(str, formatstr, "West", EVT_GESTURE_W);
+ str += sprintf(str, formatstr, "North-West", EVT_GESTURE_NW);
+
+ return string;
+}
+
+
static void keymap_type_cb(bContext *C, void *kmi_v, void *unused_v)
{
wmKeymapItem *kmi= kmi_v;
@@ -5158,6 +5180,9 @@
str= keymap_tweak_menu();
uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, OL_H-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
xstart+= butw2+5;
+ str= keymap_tweak_dir_menu();
+ uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, OL_H-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
+ xstart+= butw2+5;
break;
}
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c 2009-08-16 18:14:17 UTC (rev 22528)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c 2009-08-16 18:25:22 UTC (rev 22529)
@@ -1800,8 +1800,10 @@
mval[1]= y;
selecting= LEFTMOUSE==RNA_int_get(op->ptr, "event_type"); // XXX solve
- if(CTX_data_edit_object(C))
+ if(CTX_data_edit_object(C)) {
obedit_circle_select(&vc, selecting, mval, (float)radius);
+ WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obact);
+ }
else
return PE_circle_select(C, selecting, mval, (float)radius);
}
More information about the Bf-blender-cvs
mailing list