[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