[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47098] trunk/blender/source/blender/ editors/interface/interface_panel.c: User Interface Panels:

Thomas Dinges blender at dingto.org
Mon May 28 02:02:25 CEST 2012


Revision: 47098
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47098
Author:   dingto
Date:     2012-05-28 00:02:24 +0000 (Mon, 28 May 2012)
Log Message:
-----------
User Interface Panels:
* Add a solo mode for panels, CTRL+LMB on a panel header.
This closes all other panels.

Patch [#22233] by sneg negr (sneg) with modifications by myself to exclude panels with hidden header (like context) 

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_panel.c

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c	2012-05-27 21:56:19 UTC (rev 47097)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c	2012-05-28 00:02:24 UTC (rev 47098)
@@ -164,6 +164,18 @@
 
 /****************************** panels ******************************/
 
+static void panels_collapse_all(ScrArea *sa, ARegion *ar)
+{
+	Panel *pa;
+	int align = panel_aligned(sa, ar);
+
+	for (pa= ar->panels.first; pa; pa= pa->next) {
+			if (pa->type && !(pa->type->flag & PNL_NO_HEADER))
+				pa->flag = (align==BUT_HORIZONTAL)? PNL_CLOSEDX: PNL_CLOSEDY;
+	}
+}
+
+
 static void ui_panel_copy_offset(Panel *pa, Panel *papar)
 {
 	/* with respect to sizes... papar is parent */
@@ -1074,6 +1086,7 @@
 
 int ui_handler_panel_region(bContext *C, wmEvent *event)
 {
+	ScrArea *sa = CTX_wm_area(C);
 	ARegion *ar = CTX_wm_region(C);
 	uiBlock *block;
 	Panel *pa;
@@ -1141,6 +1154,8 @@
 				}
 				else if (event->type == LEFTMOUSE) {
 					if (inside_header) {
+						if (event->ctrl)
+							panels_collapse_all(sa, ar);
 						ui_handle_panel_header(C, block, mx, my, 0);
 						break;
 					}




More information about the Bf-blender-cvs mailing list