[Bf-blender-cvs] [bff8950] temp_widgets_c++_experiment: Move widget-group keymap to wm_operators.c
Julian Eisel
noreply at git.blender.org
Wed Dec 23 22:09:44 CET 2015
Commit: bff8950595608cb25eacf361951efd7ea774a1ee
Author: Julian Eisel
Date: Wed Dec 23 22:06:24 2015 +0100
Branches: temp_widgets_c++_experiment
https://developer.blender.org/rBbff8950595608cb25eacf361951efd7ea774a1ee
Move widget-group keymap to wm_operators.c
===================================================================
M source/blender/windowmanager/intern/wm_operators.c
M source/blender/windowmanager/intern/wm_widgets.c
M source/blender/windowmanager/wm.h
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 8f4c42e..78c637c 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -5316,7 +5316,6 @@ static void WM_OT_widget_select(wmOperatorType *ot)
ot->flag = OPTYPE_UNDO;
WM_operator_properties_mouse_select(ot);
- fix_linking_widgets();
}
typedef struct WidgetTweakData {
@@ -5697,6 +5696,72 @@ static void gesture_zoom_border_modal_keymap(wmKeyConfig *keyconf)
WM_modalkeymap_assign(keymap, "VIEW3D_OT_zoom_border");
}
+static wmKeyMap *widgetgroup_tweak_modal_keymap(wmKeyConfig *keyconf, const char *wgroupname)
+{
+ wmKeyMap *keymap;
+ char name[MAX_NAME];
+
+ static EnumPropertyItem modal_items[] = {
+ {WIDGET_TWEAK_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
+ {WIDGET_TWEAK_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
+ {WIDGET_TWEAK_MODAL_PRECISION_ON, "PRECISION_ON", 0, "Enable Precision", ""},
+ {WIDGET_TWEAK_MODAL_PRECISION_OFF, "PRECISION_OFF", 0, "Disable Precision", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+
+ BLI_snprintf(name, sizeof(name), "%s Tweak Modal Map", wgroupname);
+ keymap = WM_modalkeymap_get(keyconf, name);
+
+ /* this function is called for each spacetype, only needs to add map once */
+ if (keymap && keymap->modal_items)
+ return NULL;
+
+ keymap = WM_modalkeymap_add(keyconf, name, modal_items);
+
+
+ /* items for modal map */
+ WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CANCEL);
+ WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CANCEL);
+
+ WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CONFIRM);
+ WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CONFIRM);
+
+ WM_modalkeymap_add_item(keymap, RIGHTSHIFTKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_ON);
+ WM_modalkeymap_add_item(keymap, RIGHTSHIFTKEY, KM_RELEASE, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_OFF);
+ WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_ON);
+ WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_RELEASE, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_OFF);
+
+
+ WM_modalkeymap_assign(keymap, "WM_OT_widget_tweak");
+
+ return keymap;
+}
+
+/**
+ * Common default keymap for widget groups
+ */
+wmKeyMap *WM_widgetgroup_keymap_common(wmKeyConfig *config, const char *wgroupname)
+{
+ wmKeyMap *km = WM_keymap_find(config, wgroupname, 0, 0);
+ wmKeyMapItem *kmi;
+
+ WM_keymap_add_item(km, "WM_OT_widget_tweak", ACTIONMOUSE, KM_PRESS, KM_ANY, 0);
+
+ widgetgroup_tweak_modal_keymap(config, wgroupname);
+
+ kmi = WM_keymap_add_item(km, "WM_OT_widget_select", SELECTMOUSE, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "extend", false);
+ RNA_boolean_set(kmi->ptr, "deselect", false);
+ RNA_boolean_set(kmi->ptr, "toggle", false);
+ kmi = WM_keymap_add_item(km, "WM_OT_widget_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "extend", false);
+ RNA_boolean_set(kmi->ptr, "deselect", false);
+ RNA_boolean_set(kmi->ptr, "toggle", true);
+
+ return km;
+}
+
/* default keymap for windows and screens, only call once per WM */
void wm_window_keymap(wmKeyConfig *keyconf)
{
diff --git a/source/blender/windowmanager/intern/wm_widgets.c b/source/blender/windowmanager/intern/wm_widgets.c
index a80ff20..58fe9b5 100644
--- a/source/blender/windowmanager/intern/wm_widgets.c
+++ b/source/blender/windowmanager/intern/wm_widgets.c
@@ -74,74 +74,3 @@
#include "BPY_extern.h"
-static wmKeyMap *widgetgroup_tweak_modal_keymap(wmKeyConfig *keyconf, const char *wgroupname)
-{
- wmKeyMap *keymap;
- char name[MAX_NAME];
-
- static EnumPropertyItem modal_items[] = {
- {WIDGET_TWEAK_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""},
- {WIDGET_TWEAK_MODAL_CONFIRM, "CONFIRM", 0, "Confirm", ""},
- {WIDGET_TWEAK_MODAL_PRECISION_ON, "PRECISION_ON", 0, "Enable Precision", ""},
- {WIDGET_TWEAK_MODAL_PRECISION_OFF, "PRECISION_OFF", 0, "Disable Precision", ""},
- {0, NULL, 0, NULL, NULL}
- };
-
-
- BLI_snprintf(name, sizeof(name), "%s Tweak Modal Map", wgroupname);
- keymap = WM_modalkeymap_get(keyconf, name);
-
- /* this function is called for each spacetype, only needs to add map once */
- if (keymap && keymap->modal_items)
- return NULL;
-
- keymap = WM_modalkeymap_add(keyconf, name, modal_items);
-
-
- /* items for modal map */
- WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CANCEL);
- WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CANCEL);
-
- WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CONFIRM);
- WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_CONFIRM);
-
- WM_modalkeymap_add_item(keymap, RIGHTSHIFTKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_ON);
- WM_modalkeymap_add_item(keymap, RIGHTSHIFTKEY, KM_RELEASE, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_OFF);
- WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_ON);
- WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_RELEASE, KM_ANY, 0, WIDGET_TWEAK_MODAL_PRECISION_OFF);
-
-
- WM_modalkeymap_assign(keymap, "WM_OT_widget_tweak");
-
- return keymap;
-}
-
-/**
- * Common default keymap for widget groups
- */
-wmKeyMap *WM_widgetgroup_keymap_common(wmKeyConfig *config, const char *wgroupname)
-{
- wmKeyMap *km = WM_keymap_find(config, wgroupname, 0, 0);
- wmKeyMapItem *kmi;
-
- WM_keymap_add_item(km, "WM_OT_widget_tweak", ACTIONMOUSE, KM_PRESS, KM_ANY, 0);
-
- widgetgroup_tweak_modal_keymap(config, wgroupname);
-
- kmi = WM_keymap_add_item(km, "WM_OT_widget_select", SELECTMOUSE, KM_PRESS, 0, 0);
- RNA_boolean_set(kmi->ptr, "extend", false);
- RNA_boolean_set(kmi->ptr, "deselect", false);
- RNA_boolean_set(kmi->ptr, "toggle", false);
- kmi = WM_keymap_add_item(km, "WM_OT_widget_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
- RNA_boolean_set(kmi->ptr, "extend", false);
- RNA_boolean_set(kmi->ptr, "deselect", false);
- RNA_boolean_set(kmi->ptr, "toggle", true);
-
- return km;
-}
-
-void fix_linking_widgets(void)
-{
- (void)0;
-}
-
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h
index 9e5c44c..ff80fc5 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -171,9 +171,6 @@ void wm_stereo3d_set_cancel(bContext *C, wmOperator *op);
void wm_open_init_load_ui(wmOperator *op, bool use_prefs);
void wm_open_init_use_scripts(wmOperator *op, bool use_prefs);
-/* wm_widgets.c */
-void fix_linking_widgets(void);
-
/* hack to store circle select size - campbell, must replace with nice operator memory */
#define GESTURE_MEMORY
More information about the Bf-blender-cvs
mailing list