Revision: 18214
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18214
Author: ton
Date: 2009-01-01 15:57:04 +0100 (Thu, 01 Jan 2009)
Log Message:
-----------
2.5
- Made scrollwheel behave uniform for zooming. It uses the UserDef
to map what's in our out. Use keymap entries WHEELINMOUSE and
WHEELOUTMOUSE to trigger this. Also removed the feature to store
in event->val the direction, it was conflicting with KM_ANY.
- Added more default poll callbacks, use for generic ops things
like ED_operator_object_active.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
branches/blender2.5/blender/source/blender/windowmanager/wm_event_types.h
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
2009-01-01 13:15:35 UTC (rev 18213)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
2009-01-01 14:57:04 UTC (rev 18214)
@@ -84,6 +84,8 @@
int ED_operator_screen_mainwinactive(struct bContext *C);
int ED_operator_areaactive(struct bContext *C);
+int ED_operator_scene_editable(struct bContext *C);
+
int ED_operator_view3d_active(struct bContext *C);
int ED_operator_timeline_active(struct bContext *C);
int ED_operator_outliner_active(struct bContext *C);
Modified:
branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
2009-01-01 13:15:35 UTC (rev 18213)
+++ branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
2009-01-01 14:57:04 UTC (rev 18214)
@@ -1273,25 +1273,25 @@
/* pan/scroll */
WM_keymap_add_item(keymap, "View2D_OT_view_pan", MIDDLEMOUSE, KM_PRESS,
0, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_rightscroll",
WHEELDOWNMOUSE, KM_ANY, KM_CTRL, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_leftscroll", WHEELUPMOUSE,
KM_ANY, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_rightscroll",
WHEELDOWNMOUSE, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_leftscroll", WHEELUPMOUSE,
KM_PRESS, KM_CTRL, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_downscroll", WHEELDOWNMOUSE,
KM_ANY, KM_SHIFT, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_upscroll", WHEELUPMOUSE,
KM_ANY, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_downscroll", WHEELDOWNMOUSE,
KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_upscroll", WHEELUPMOUSE,
KM_PRESS, KM_SHIFT, 0);
/* zoom - single step */
- WM_keymap_add_item(keymap, "View2D_OT_view_zoomout", WHEELUPMOUSE,
KM_ANY, 0, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_zoomin", WHEELDOWNMOUSE,
KM_ANY, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_zoomout", WHEELOUTMOUSE,
KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_zoomin", WHEELINMOUSE,
KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "View2D_OT_view_zoomout", PADMINUS,
KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "View2D_OT_view_zoomin", PADPLUSKEY,
KM_PRESS, 0, 0);
/* scroll up/down - no modifiers, only when zoom fails */
/* these may fail if zoom is disallowed, in which case they
should pass on event */
- WM_keymap_add_item(keymap, "View2D_OT_view_downscroll", WHEELDOWNMOUSE,
KM_ANY, 0, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_upscroll", WHEELUPMOUSE,
KM_ANY, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_downscroll", WHEELDOWNMOUSE,
KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_upscroll", WHEELUPMOUSE,
KM_PRESS, 0, 0);
/* these may be necessary if vertical scroll is disallowed */
- WM_keymap_add_item(keymap, "View2D_OT_view_rightscroll",
WHEELDOWNMOUSE, KM_ANY, 0, 0);
- WM_keymap_add_item(keymap, "View2D_OT_view_leftscroll", WHEELUPMOUSE,
KM_ANY, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_rightscroll",
WHEELDOWNMOUSE, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "View2D_OT_view_leftscroll", WHEELUPMOUSE,
KM_PRESS, 0, 0);
/* zoom - drag */
WM_keymap_add_item(keymap, "View2D_OT_view_zoom", MIDDLEMOUSE,
KM_PRESS, KM_CTRL, 0);
Modified:
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c
2009-01-01 13:15:35 UTC (rev 18213)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c
2009-01-01 14:57:04 UTC (rev 18214)
@@ -1014,7 +1014,7 @@
ot->invoke= WM_menu_invoke;
ot->exec= clear_parent_exec;
- ot->poll= ED_operator_areaactive; // XXX solve
+ ot->poll= ED_operator_object_active;
ot->flag= OPTYPE_REGISTER;
prop = RNA_def_property(ot->srna, "type", PROP_ENUM, PROP_NONE);
@@ -1067,7 +1067,7 @@
ot->invoke= WM_menu_invoke;
ot->exec= object_clear_track_exec;
- ot->poll= ED_operator_areaactive; // XXX solve
+ ot->poll= ED_operator_scene_editable;
ot->flag= OPTYPE_REGISTER;
prop = RNA_def_property(ot->srna, "type", PROP_ENUM, PROP_NONE);
@@ -1120,7 +1120,7 @@
/* api callbacks */
ot->invoke= WM_menu_invoke;
ot->exec= object_select_by_type_exec;
- ot->poll= ED_operator_view3d_active;
+ ot->poll= ED_operator_scene_editable;
prop = RNA_def_property(ot->srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, prop_select_object_types);
@@ -1158,7 +1158,7 @@
/* api callbacks */
/*ot->invoke = XXX - need a int grid popup*/
ot->exec= object_select_by_layer_exec;
- ot->poll= ED_operator_view3d_active;
+ ot->poll= ED_operator_scene_editable;
prop = RNA_def_property(ot->srna, "layer", PROP_INT, PROP_UNSIGNED);
RNA_def_property_ui_range(prop, 1, 20,1, 1);
@@ -1193,7 +1193,7 @@
/* api callbacks */
ot->exec= object_select_invert_exec;
- ot->poll= ED_operator_view3d_active;
+ ot->poll= ED_operator_scene_editable;
}
/* ****** (de)select All *******/
@@ -1234,7 +1234,7 @@
/* api callbacks */
ot->exec= object_de_select_all_exec;
- ot->poll= ED_operator_view3d_active;
+ ot->poll= ED_operator_scene_editable;
}
/* ****** random selection *******/
@@ -1269,7 +1269,7 @@
/* api callbacks */
/*ot->invoke= object_select_random_invoke XXX - need a number popup ;*/
ot->exec = object_select_random_exec;
- ot->poll= ED_operator_view3d_active;
+ ot->poll= ED_operator_scene_editable;
prop = RNA_def_property(ot->srna, "percent", PROP_INT, PROP_NONE);
RNA_def_property_ui_range(prop, 1, 100,1, 1);
@@ -1876,7 +1876,7 @@
ot->invoke= make_parent_invoke;
ot->exec= make_parent_exec;
- ot->poll= ED_operator_areaactive; // XXX solve
+ ot->poll= ED_operator_object_active;
ot->flag= OPTYPE_REGISTER;
prop = RNA_def_property(ot->srna, "type", PROP_ENUM, PROP_NONE);
@@ -1982,7 +1982,7 @@
ot->invoke= WM_menu_invoke;
ot->exec= make_track_exec;
- ot->poll= ED_operator_areaactive; // XXX solve
+ ot->poll= ED_operator_scene_editable;
ot->flag= OPTYPE_REGISTER;
prop = RNA_def_property(ot->srna, "type", PROP_ENUM, PROP_NONE);
@@ -2176,7 +2176,7 @@
/* api callbacks */
ot->exec= toggle_editmode_exec;
- ot->poll= ED_operator_areaactive; // XXX solve
+ ot->poll= ED_operator_object_active;
ot->flag= OPTYPE_REGISTER;
}
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
2009-01-01 13:15:35 UTC (rev 18213)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
2009-01-01 14:57:04 UTC (rev 18214)
@@ -79,6 +79,14 @@
return 1;
}
+int ED_operator_scene_editable(bContext *C)
+{
+ Scene *scene= CTX_data_scene(C);
+ if(scene && scene->id.lib==NULL)
+ return 1;
+ return 0;
+}
+
static int ed_spacetype_test(bContext *C, int type)
{
if(ED_operator_areaactive(C)) {
Modified:
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
---
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
2009-01-01 13:15:35 UTC (rev 18213)
+++
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
2009-01-01 14:57:04 UTC (rev 18214)
@@ -95,8 +95,8 @@
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom",
PADPLUSKEY, KM_PRESS, 0, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom", PADMINUS,
KM_PRESS, 0, 0)->ptr, "delta", -1);
- RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom",
WHEELUPMOUSE, KM_ANY, 0, 0)->ptr, "delta", 1);
- RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom",
WHEELDOWNMOUSE, KM_ANY, 0, 0)->ptr, "delta", -1);
+ RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom",
WHEELINMOUSE, KM_PRESS, 0, 0)->ptr, "delta", 1);
+ RNA_int_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewzoom",
WHEELOUTMOUSE, KM_PRESS, 0, 0)->ptr, "delta", -1);
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewhome",
HOMEKEY, KM_PRESS, 0, 0)->ptr, "center", 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewhome", CKEY,
KM_PRESS, KM_SHIFT, 0)->ptr, "center", 1);
Modified: branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
2009-01-01 13:15:35 UTC (rev 18213)
+++ branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
2009-01-01 14:57:04 UTC (rev 18214)
@@ -102,6 +102,7 @@
#define KM_RELEASE 0
#define KM_PRESS 1
+
/* ************** UI Handler ***************** */
#define WM_UI_HANDLER_CONTINUE 0
Modified:
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
---
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
2009-01-01 13:15:35 UTC (rev 18213)
+++
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
2009-01-01 14:57:04 UTC (rev 18214)
@@ -534,19 +534,31 @@
{
int kmitype= kmi->type;
- /* first do default mappings */
+ /* first do userdef mappings */
if(kmitype==SELECTMOUSE) {
if(U.flag & USER_LMOUSESELECT)
kmitype= LEFTMOUSE;
else
kmitype= RIGHTMOUSE;
}
- if(kmitype==ACTIONMOUSE) {
+ else if(kmitype==ACTIONMOUSE) {
if(U.flag & USER_LMOUSESELECT)
kmitype= RIGHTMOUSE;
else
kmitype= LEFTMOUSE;
}
+ else if(kmitype==WHEELOUTMOUSE) {
+ if(U.uiflag & USER_WHEELZOOMDIR)
+ kmitype= WHEELUPMOUSE;
+ else
+ kmitype= WHEELDOWNMOUSE;
+ }
+ else if(kmitype==WHEELINMOUSE) {
+ if(U.uiflag & USER_WHEELZOOMDIR)
+ kmitype= WHEELDOWNMOUSE;
+ else
+ kmitype= WHEELUPMOUSE;
+ }
/* the matching rules */
if(winevent->type!=kmitype) return 0;
@@ -1133,7 +1145,7 @@
else
event.type= WHEELDOWNMOUSE;
- event.val= wheelData->z; /* currently -1 or +1,
see ghost for improvements here... */
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs