[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51621] trunk/blender/source/blender/ editors/screen/screen_ops.c: UI: add hide/ show menus item in header right click menu (same as +/- button).

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Oct 25 15:08:50 CEST 2012


Revision: 51621
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51621
Author:   blendix
Date:     2012-10-25 13:08:47 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
UI: add hide/show menus item in header right click menu (same as +/- button).

Patch #32872 by Harley Acheson.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_ops.c

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2012-10-25 12:54:16 UTC (rev 51620)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2012-10-25 13:08:47 UTC (rev 51621)
@@ -2881,6 +2881,38 @@
 	ot->flag = 0;
 }
 
+
+
+/* ************** show menus operator ***************************** */
+
+/* show/hide header text menus */
+static int header_toggle_menus_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	ScrArea *sa = CTX_wm_area(C);
+
+	sa->flag = sa->flag ^ HEADER_NO_PULLDOWN;
+
+	ED_area_tag_redraw(CTX_wm_area(C));
+	WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL);	
+
+	return OPERATOR_FINISHED;
+}
+
+
+static void SCREEN_OT_header_toggle_menus(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name = "Show/Hide Header Menus";
+	ot->idname = "SCREEN_OT_header_toggle_menus";
+	ot->description = "Show or Hide the header pulldown menus";
+	
+	/* api callbacks */
+	ot->exec = header_toggle_menus_exec;	
+	ot->poll = ED_operator_areaactive;
+	ot->flag = 0;
+}
+
+
 /* ************** header tools operator ***************************** */
 void ED_screens_header_tools_menu_create(bContext *C, uiLayout *layout, void *UNUSED(arg))
 {
@@ -2893,6 +2925,11 @@
 	else
 		uiItemO(layout, IFACE_("Flip to Top"), ICON_NONE, "SCREEN_OT_header_flip");
 
+	if (sa->flag & HEADER_NO_PULLDOWN)
+		uiItemO(layout, IFACE_("Show Menus"), ICON_NONE, "SCREEN_OT_header_toggle_menus");
+	else
+		uiItemO(layout, IFACE_("Hide Menus"), ICON_NONE, "SCREEN_OT_header_toggle_menus");
+
 	uiItemS(layout);
 
 	/* file browser should be fullscreen all the time, but other regions can be maximized/restored... */
@@ -3558,6 +3595,7 @@
 	WM_operatortype_append(SCREEN_OT_region_scale);
 	WM_operatortype_append(SCREEN_OT_region_flip);
 	WM_operatortype_append(SCREEN_OT_header_flip);
+	WM_operatortype_append(SCREEN_OT_header_toggle_menus);
 	WM_operatortype_append(SCREEN_OT_header_toolbox);
 	WM_operatortype_append(SCREEN_OT_screen_set);
 	WM_operatortype_append(SCREEN_OT_screen_full_area);




More information about the Bf-blender-cvs mailing list