[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37813] branches/merwin-spacenav/source/ blender/windowmanager/intern/wm_operators.c: baby steps toward an NDOF popup menu

Mike Erwin significant.bit at gmail.com
Sat Jun 25 20:50:03 CEST 2011


Revision: 37813
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37813
Author:   merwin
Date:     2011-06-25 18:50:03 +0000 (Sat, 25 Jun 2011)
Log Message:
-----------
baby steps toward an NDOF popup menu

Modified Paths:
--------------
    branches/merwin-spacenav/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/merwin-spacenav/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/merwin-spacenav/source/blender/windowmanager/intern/wm_operators.c	2011-06-25 18:48:53 UTC (rev 37812)
+++ branches/merwin-spacenav/source/blender/windowmanager/intern/wm_operators.c	2011-06-25 18:50:03 UTC (rev 37813)
@@ -1374,6 +1374,48 @@
 	ot->poll= wm_search_menu_poll;
 }
 
+// BEGIN ndof menu -- experimental!
+
+static int wm_ndof_menu_poll(bContext *C)
+{
+	if(CTX_wm_window(C)==NULL)
+		return 0;
+
+	// if menu is already pulled up, another button press should dismiss it
+	// not sure if that behavior should go here or elsewhere...
+
+	puts("ndof: menu poll");
+	return 1;
+}
+
+static int wm_ndof_menu_exec(bContext *UNUSED(C), wmOperator *UNUSED(op))
+{
+	puts("ndof: menu exec");
+	return OPERATOR_FINISHED;	
+}
+
+static int wm_ndof_menu_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+	puts("ndof: menu invoke");
+
+	uiPupMenuNotice(C, "Hello!");
+	
+	return OPERATOR_CANCELLED;
+}
+
+static void WM_OT_ndof_menu(wmOperatorType *ot)
+{
+	puts("ndof: registering menu operator");
+	ot->name= "NDOF Menu";
+	ot->idname= "WM_OT_ndof_menu";
+	
+	ot->invoke= wm_ndof_menu_invoke;
+	ot->exec= wm_ndof_menu_exec;
+	ot->poll= wm_ndof_menu_poll;
+}
+
+// END ndof menu
+
 static int wm_call_menu_exec(bContext *C, wmOperator *op)
 {
 	char idname[BKE_ST_MAXNAME];
@@ -3403,6 +3445,7 @@
 	WM_operatortype_append(WM_OT_debug_menu);
 	WM_operatortype_append(WM_OT_splash);
 	WM_operatortype_append(WM_OT_search_menu);
+	WM_operatortype_append(WM_OT_ndof_menu);
 	WM_operatortype_append(WM_OT_call_menu);
 	WM_operatortype_append(WM_OT_radial_control);
 #if defined(WIN32)
@@ -3623,7 +3666,9 @@
 	WM_keymap_verify_item(keymap, "WM_OT_redraw_timer", TKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
 	WM_keymap_verify_item(keymap, "WM_OT_debug_menu", DKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
 	WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
-	
+
+	WM_keymap_add_item(keymap, "WM_OT_ndof_menu", NDOF_BUTTON_MENU, KM_PRESS, 0, 0);
+
 	/* Space switching */
 
 




More information about the Bf-blender-cvs mailing list