From 6f20fcd5984a47baee9ff440e9e59584fccd1e59 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 23 May 2018 22:38:25 +0200 Subject: UI: Global "Status-bar" Area (WIP) * Add horizontal bar at bottom of all non-temp windows, similar to the Top-bar. * Status-bar is hidden in UI-less fullscreen mode * Current contents are preliminary and based on T54861: ** Left: Current file-path if needed. "(Modified)" note if file was changed. ** Center: Scene statistics (like in 2.7 Info Editor). ** Right: Progress-bars and reports * Internally managed as own "STATUSBAR" editor-type (hidden in UI). * Like with the Top-bar, Status-bar data and SDNA writing is disabled. * Most changes in low-level screen/area code are to support layout bounds that differ from window bounds. Design task: T54861 Main changes approved by @brecht. --- source/blender/makesdna/DNA_space_types.h | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'source/blender/makesdna/DNA_space_types.h') diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 588d90fae8d..3bc5118c996 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -67,9 +67,9 @@ struct MovieClipScopes; struct Mask; struct BLI_mempool; -/* TODO 2.8: We don't write the topbar to files currently. Uncomment this +/* TODO 2.8: We don't write the global areas to files currently. Uncomment * define to enable writing (should become the default in a bit). */ -//#define WITH_TOPBAR_WRITING +//#define WITH_GLOBAL_AREA_WRITING /* SpaceLink (Base) ==================================== */ @@ -1327,7 +1327,7 @@ typedef enum eSpaceClip_GPencil_Source { /* Top Bar ======================================= */ /* These two lines with # tell makesdna this struct can be excluded. - * Should be: #ifndef WITH_TOPBAR_WRITING */ + * Should be: #ifndef WITH_GLOBAL_AREA_WRITING */ # # typedef struct SpaceTopBar { @@ -1338,6 +1338,20 @@ typedef struct SpaceTopBar { int pad; } SpaceTopBar; +/* Status Bar ======================================= */ + +/* These two lines with # tell makesdna this struct can be excluded. + * Should be: #ifndef WITH_GLOBAL_AREA_WRITING */ +# +# +typedef struct SpaceStatusBar { + SpaceLink *next, *prev; + ListBase regionbase; /* storage of regions for inactive spaces */ + int spacetype; + + int pad; +} SpaceStatusBar; + /* **************** SPACE DEFINES ********************* */ @@ -1369,8 +1383,9 @@ typedef enum eSpace_Type { SPACE_USERPREF = 19, SPACE_CLIP = 20, SPACE_TOPBAR = 21, + SPACE_STATUSBAR = 22, - SPACE_TYPE_LAST = SPACE_TOPBAR + SPACE_TYPE_LAST = SPACE_STATUSBAR } eSpace_Type; /* use for function args */ -- cgit v1.2.3