[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24943] trunk/blender: Added RMB-menu to Headers:

Joshua Leung aligorith at gmail.com
Fri Nov 27 07:24:09 CET 2009


Revision: 24943
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24943
Author:   aligorith
Date:     2009-11-27 07:24:09 +0100 (Fri, 27 Nov 2009)

Log Message:
-----------
Added RMB-menu to Headers:

This contains two entries - one which calls the region flip operator, and one which calls the maxmize area operator. 

Unfortunately, there seem to be some context issues which are causing the wrong region to get activated for use by the region flipping, meaning that nothing happens.


Also, fixed own typo in 3d-view header/menu code...

Modified Paths:
--------------
    trunk/blender/release/scripts/ui/space_view3d.py
    trunk/blender/source/blender/editors/include/ED_screen.h
    trunk/blender/source/blender/editors/include/ED_screen_types.h
    trunk/blender/source/blender/editors/screen/area.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/space_action/space_action.c
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/editors/space_console/space_console.c
    trunk/blender/source/blender/editors/space_file/space_file.c
    trunk/blender/source/blender/editors/space_graph/space_graph.c
    trunk/blender/source/blender/editors/space_image/space_image.c
    trunk/blender/source/blender/editors/space_info/space_info.c
    trunk/blender/source/blender/editors/space_logic/space_logic.c
    trunk/blender/source/blender/editors/space_nla/space_nla.c
    trunk/blender/source/blender/editors/space_node/space_node.c
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/editors/space_script/space_script.c
    trunk/blender/source/blender/editors/space_sequencer/space_sequencer.c
    trunk/blender/source/blender/editors/space_sound/space_sound.c
    trunk/blender/source/blender/editors/space_text/space_text.c
    trunk/blender/source/blender/editors/space_time/space_time.c
    trunk/blender/source/blender/editors/space_userpref/space_userpref.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c

Modified: trunk/blender/release/scripts/ui/space_view3d.py
===================================================================
--- trunk/blender/release/scripts/ui/space_view3d.py	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/release/scripts/ui/space_view3d.py	2009-11-27 06:24:09 UTC (rev 24943)
@@ -191,7 +191,7 @@
         layout.operator("view3d.viewnumpad", text="Camera").type = 'CAMERA'
         layout.operator("view3d.viewnumpad", text="Top").type = 'TOP'
         layout.operator("view3d.viewnumpad", text="Front").type = 'FRONT'
-        layout.operator("view3d.viewnumpad", text+"Right").type = 'RIGHT'
+        layout.operator("view3d.viewnumpad", text="Right").type = 'RIGHT'
 
         layout.menu("VIEW3D_MT_view_cameras", text="Cameras")
 

Modified: trunk/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_screen.h	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/include/ED_screen.h	2009-11-27 06:24:09 UTC (rev 24943)
@@ -152,6 +152,7 @@
 #define ED_KEYMAP_ANIMATION	8
 #define ED_KEYMAP_FRAMES	16
 #define ED_KEYMAP_GPENCIL	32
+#define ED_KEYMAP_HEADER	64
 
 #endif /* ED_SCREEN_H */
 

Modified: trunk/blender/source/blender/editors/include/ED_screen_types.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_screen_types.h	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/include/ED_screen_types.h	2009-11-27 06:24:09 UTC (rev 24943)
@@ -50,7 +50,7 @@
 };
 
 
-
+/* for editing areas/regions */
 typedef struct AZone {
 	struct AZone *next, *prev;
 	ARegion *ar;

Modified: trunk/blender/source/blender/editors/screen/area.c
===================================================================
--- trunk/blender/source/blender/editors/screen/area.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/screen/area.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -828,29 +828,40 @@
 	
 	// XXX it would be good to have boundbox checks for some of these...
 	if(flag & ED_KEYMAP_UI) {
+		/* user interface widgets */
 		UI_add_region_handlers(handlers);
 	}
 	if(flag & ED_KEYMAP_VIEW2D) {
+		/* 2d-viewport handling+manipulation */
 		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "View2D", 0, 0);
 		WM_event_add_keymap_handler(handlers, keymap);
 	}
 	if(flag & ED_KEYMAP_MARKERS) {
+		/* time-markers */
 		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "Markers", 0, 0);
 		WM_event_add_keymap_handler(handlers, keymap);
 		// XXX need boundbox check urgently!!!
 	}
 	if(flag & ED_KEYMAP_ANIMATION) {
+		/* frame changing and timeline operators (for time spaces) */
 		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "Animation", 0, 0);
 		WM_event_add_keymap_handler(handlers, keymap);
 	}
 	if(flag & ED_KEYMAP_FRAMES) {
+		/* frame changing/jumping (for all spaces) */
 		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "Frames", 0, 0);
 		WM_event_add_keymap_handler(handlers, keymap);
 	}
 	if(flag & ED_KEYMAP_GPENCIL) {
+		/* grease pencil */
 		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "Grease Pencil", 0, 0);
 		WM_event_add_keymap_handler(handlers, keymap);
 	}
+	if(flag & ED_KEYMAP_HEADER) {
+		/* standard keymap for headers regions */
+		wmKeyMap *keymap= WM_keymap_find(wm->defaultconf, "Header", 0, 0);
+		WM_event_add_keymap_handler(handlers, keymap);
+	}
 }
 
 

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -2119,9 +2119,53 @@
 	
 	ot->poll= ED_operator_areaactive;
 	ot->flag= 0;
+}
 
+/* ************** header tools operator ***************************** */
+
+static int header_toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+	ScrArea *sa= CTX_wm_area(C);
+	ARegion *ar= CTX_wm_region(C);
+	uiPopupMenu *pup;
+	uiLayout *layout;
+
+	pup= uiPupMenuBegin(C, "Header", 0);
+	layout= uiPupMenuLayout(pup);
+	
+	uiLayoutSetOperatorContext(layout, WM_OP_EXEC_REGION_WIN); // XXX still can't manage to get the right region flipped
+	if (ar->alignment == RGN_ALIGN_TOP)
+		uiItemO(layout, "Flip to Bottom", 0, "SCREEN_OT_region_flip");
+	else
+		uiItemO(layout, "Flip to Top", 0, "SCREEN_OT_region_flip");
+	
+	uiItemS(layout);
+	
+	/* file browser should be fullscreen all the time, but other regions can be maximised/restored... */
+	uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT);
+	if (sa->spacetype != SPACE_FILE) {
+		if (sa->full) 
+			uiItemO(layout, "Tile Window", 0, "SCREEN_OT_screen_full_area");
+		else
+			uiItemO(layout, "Maximize Window", 0, "SCREEN_OT_screen_full_area");
+	}
+	
+	uiPupMenuEnd(C, pup);
+
+	return OPERATOR_CANCELLED;
 }
 
+void SCREEN_OT_header_toolbox(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Header Toolbox";
+	ot->description="Display header region toolbox";
+	ot->idname= "SCREEN_OT_header_toolbox";
+	
+	/* api callbacks */
+	ot->invoke= header_toolbox_invoke;
+}
+
 /* ****************** anim player, with timer ***************** */
 
 static int match_region_with_redraws(int spacetype, int regiontype, int redraws)
@@ -3559,6 +3603,7 @@
 	WM_operatortype_append(SCREEN_OT_region_foursplit);
 	WM_operatortype_append(SCREEN_OT_region_flip);
 	WM_operatortype_append(SCREEN_OT_region_scale);
+	WM_operatortype_append(SCREEN_OT_header_toolbox);
 	WM_operatortype_append(SCREEN_OT_screen_set);
 	WM_operatortype_append(SCREEN_OT_screen_full_area);
 	WM_operatortype_append(SCREEN_OT_screenshot);
@@ -3638,7 +3683,11 @@
 			/* area move after action zones */
 	WM_keymap_verify_item(keymap, "SCREEN_OT_area_move", LEFTMOUSE, KM_PRESS, 0, 0);
 
-
+	/* Header Editing ------------------------------------------------ */
+	keymap= WM_keymap_find(keyconf, "Header", 0, 0);
+	
+	WM_keymap_add_item(keymap, "SCREEN_OT_header_toolbox", RIGHTMOUSE, KM_PRESS, 0, 0);
+	
 	/* Screen General ------------------------------------------------ */
 	keymap= WM_keymap_find(keyconf, "Screen", 0, 0);
 	
@@ -3658,7 +3707,7 @@
 	WM_keymap_add_item(keymap, "SCREEN_OT_region_foursplit", SKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
 	WM_keymap_verify_item(keymap, "SCREEN_OT_repeat_history", F3KEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SCREEN_OT_repeat_last", RKEY, KM_PRESS, KM_SHIFT, 0);
-	WM_keymap_add_item(keymap, "SCREEN_OT_region_flip", F5KEY, KM_PRESS, 0, 0);
+	WM_keymap_verify_item(keymap, "SCREEN_OT_region_flip", F5KEY, KM_PRESS, 0, 0);
 	WM_keymap_verify_item(keymap, "SCREEN_OT_redo_last", F6KEY, KM_PRESS, 0, 0);
 	WM_keymap_verify_item(keymap, "WM_OT_reload_scripts", F8KEY, KM_PRESS, 0, 0);
 

Modified: trunk/blender/source/blender/editors/space_action/space_action.c
===================================================================
--- trunk/blender/source/blender/editors/space_action/space_action.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/space_action/space_action.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -444,7 +444,7 @@
 	art= MEM_callocN(sizeof(ARegionType), "spacetype action region");
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= HEADERY;
-	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES;
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER;
 	
 	art->init= action_header_area_init;
 	art->draw= action_header_area_draw;

Modified: trunk/blender/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -349,7 +349,7 @@
 	art= MEM_callocN(sizeof(ARegionType), "spacetype buttons region");
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= BUTS_HEADERY;
-	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES;
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER;
 	
 	art->init= buttons_header_area_init;
 	art->draw= buttons_header_area_draw;

Modified: trunk/blender/source/blender/editors/space_console/space_console.c
===================================================================
--- trunk/blender/source/blender/editors/space_console/space_console.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/space_console/space_console.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -356,7 +356,7 @@
 	art= MEM_callocN(sizeof(ARegionType), "spacetype console region");
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= HEADERY;
-	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_HEADER;
 	
 	art->init= console_header_area_init;
 	art->draw= console_header_area_draw;

Modified: trunk/blender/source/blender/editors/space_file/space_file.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/space_file.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/space_file/space_file.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -531,7 +531,7 @@
 	art= MEM_callocN(sizeof(ARegionType), "spacetype file region");
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= HEADERY;
-	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_HEADER;
 	art->init= file_header_area_init;
 	art->draw= file_header_area_draw;
 	// art->listener= file_header_area_listener;

Modified: trunk/blender/source/blender/editors/space_graph/space_graph.c
===================================================================
--- trunk/blender/source/blender/editors/space_graph/space_graph.c	2009-11-27 06:22:55 UTC (rev 24942)
+++ trunk/blender/source/blender/editors/space_graph/space_graph.c	2009-11-27 06:24:09 UTC (rev 24943)
@@ -593,7 +593,7 @@
 	art= MEM_callocN(sizeof(ARegionType), "spacetype graphedit region");
 	art->regionid = RGN_TYPE_HEADER;
 	art->minsizey= HEADERY;
-	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES;
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list