Page MenuHome

panel_solo_1.diff

Authored By
Xavier Thomas (xat)
Nov 13 2013, 2:24 PM
Size
1 KB
Subscribers
None

panel_solo_1.diff

Index: source/blender/editors/interface/interface_panel.c
===================================================================
--- source/blender/editors/interface/interface_panel.c (révision 28559)
+++ source/blender/editors/interface/interface_panel.c (copie de travail)
@@ -68,6 +68,7 @@
#define PNL_ANIM_ALIGN 8
#define PNL_NEW_ADDED 16
#define PNL_FIRST 32
+#define PNL_SOLO 64
typedef enum uiHandlePanelState {
PANEL_STATE_DRAG,
@@ -968,7 +969,12 @@
/* XXX weak code, currently it assumes layout style for location of widgets */
/* check open/collapsed button */
- if(event==RETKEY)
+ if(event == EVT_TWEAK_A){
+ if(block->panel->runtime_flag != PNL_SOLO){
+ if(mx <= block->minx+10+PNL_ICON-2) button = 3;
+ }
+ }
+ else if(event==RETKEY)
button= 1;
else if(event==AKEY)
button= 1;
@@ -984,7 +990,18 @@
}
if(button) {
- if(button==2) { // close
+ if(button==3){ // solo
+ for(pa= ar->panels.first; pa; pa= pa->next) {
+ if(pa != block->panel) {
+ pa->flag= (align==BUT_HORIZONTAL)? PNL_CLOSEDX: PNL_CLOSEDY;
+ block->panel->runtime_flag = PNL_CLOSED;
+ } else {
+ pa->flag &= ~PNL_CLOSED;
+ block->panel->runtime_flag = PNL_SOLO;
+ }
+ }
+ }
+ else if(button==2) { // close
ED_region_tag_redraw(ar);
}
else { // collapse
@@ -1097,7 +1114,11 @@
}
else if(event->type == LEFTMOUSE) {
if(inside_header) {
- ui_handle_panel_header(C, block, mx, my, 0);
+ if(event->ctrl) {
+ ui_handle_panel_header(C, block, mx, my, EVT_TWEAK_A);
+ } else {
+ ui_handle_panel_header(C, block, mx, my, 0);
+ }
break;
}
else if(inside_scale && !(pa->flag & PNL_CLOSED)) {

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
98/22/7b02d9d4881ae0a643f21174cba5

Event Timeline