Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Vogiatzis <Gvgeo>2019-04-05 14:48:26 +0300
committerJacques Lucke <mail@jlucke.com>2019-04-05 14:48:26 +0300
commita180b754eb40637a5d37eeb0ae60066f5a6f93d8 (patch)
tree3871e253a8f3b861b27dfd3f666535adffc606b0 /source/blender/editors/interface
parentfce469a30c5075216671f9ce3738ed401ad9c03f (diff)
Interface: New region type 'Footer', used by text editor
* It can be hidden by dragging it up/down. * It can be at the top or bottom, independent of the header. * It uses the color theme from the header. * It does not change its color, when the area becomes active. Currently, it is used in the text editor to display the file path. Differential Revision: https://developer.blender.org/D4601
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r--source/blender/editors/interface/interface_context_menu.c3
-rw-r--r--source/blender/editors/interface/interface_handlers.c2
-rw-r--r--source/blender/editors/interface/interface_region_menu_popup.c18
-rw-r--r--source/blender/editors/interface/interface_region_popover.c15
-rw-r--r--source/blender/editors/interface/resources.c8
5 files changed, 32 insertions, 14 deletions
diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c
index b5eb6302f81..4ca92fbb386 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.c
@@ -847,6 +847,9 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but)
else if (ar->regiontype == RGN_TYPE_NAV_BAR) {
uiItemMenuF(layout, IFACE_("Navigation Bar"), ICON_NONE, ED_screens_navigation_bar_tools_menu_create, NULL);
}
+ else if (ar->regiontype == RGN_TYPE_FOOTER) {
+ uiItemMenuF(layout, IFACE_("Footer"), ICON_NONE, ED_screens_footer_tools_menu_create, NULL);
+ }
}
MenuType *mt = WM_menutype_find("WM_MT_button_context", true);
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 208c1a90b89..07be2253969 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1784,7 +1784,7 @@ static bool ui_but_drag_init(
/* Initialize alignment for single row/column regions,
* otherwise we use the relative position of the first other button dragged over. */
- if (ELEM(data->region->regiontype, RGN_TYPE_NAV_BAR, RGN_TYPE_HEADER)) {
+ if (ELEM(data->region->regiontype, RGN_TYPE_NAV_BAR, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
int lock_axis = -1;
if (ELEM(data->region->alignment, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT)) {
lock_axis = 0;
diff --git a/source/blender/editors/interface/interface_region_menu_popup.c b/source/blender/editors/interface/interface_region_menu_popup.c
index a20c4fe9379..0fe847caa20 100644
--- a/source/blender/editors/interface/interface_region_menu_popup.c
+++ b/source/blender/editors/interface/interface_region_menu_popup.c
@@ -278,11 +278,19 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi
/* for a header menu we set the direction automatic */
if (!pup->slideout && flip) {
ScrArea *sa = CTX_wm_area(C);
- if (sa && ED_area_header_alignment(sa) == RGN_ALIGN_BOTTOM) {
- ARegion *ar = CTX_wm_region(C);
- if (ar && ar->regiontype == RGN_TYPE_HEADER) {
- UI_block_direction_set(block, UI_DIR_UP);
- UI_block_order_flip(block);
+ ARegion *ar = CTX_wm_region(C);
+ if (sa && ar) {
+ if (ar->regiontype == RGN_TYPE_HEADER) {
+ if (ED_area_header_alignment(sa) == RGN_ALIGN_BOTTOM) {
+ UI_block_direction_set(block, UI_DIR_UP);
+ UI_block_order_flip(block);
+ }
+ }
+ if (ar->regiontype == RGN_TYPE_FOOTER) {
+ if (ED_area_footer_alignment(sa) == RGN_ALIGN_BOTTOM) {
+ UI_block_direction_set(block, UI_DIR_UP);
+ UI_block_order_flip(block);
+ }
}
}
}
diff --git a/source/blender/editors/interface/interface_region_popover.c b/source/blender/editors/interface/interface_region_popover.c
index 0b1d3f19919..7ca6db2ca21 100644
--- a/source/blender/editors/interface/interface_region_popover.c
+++ b/source/blender/editors/interface/interface_region_popover.c
@@ -180,10 +180,17 @@ static uiBlock *ui_block_func_POPOVER(bContext *C, uiPopupBlockHandle *handle, v
* see the values of the buttons below changing. */
UI_block_direction_set(block, UI_DIR_UP | UI_DIR_CENTER_X);
}
- else if (sa && ED_area_header_alignment(sa) == RGN_ALIGN_BOTTOM) {
- /* Prefer popover from header to be positioned into the editor. */
- if (ar && ar->regiontype == RGN_TYPE_HEADER) {
- UI_block_direction_set(block, UI_DIR_UP | UI_DIR_CENTER_X);
+ /* Prefer popover from header to be positioned into the editor. */
+ else if (sa && ar) {
+ if (ar->regiontype == RGN_TYPE_HEADER){
+ if (ED_area_header_alignment(sa) == RGN_ALIGN_BOTTOM) {
+ UI_block_direction_set(block, UI_DIR_UP | UI_DIR_CENTER_X);
+ }
+ }
+ if (ar->regiontype == RGN_TYPE_FOOTER) {
+ if (ED_area_footer_alignment(sa) == RGN_ALIGN_BOTTOM) {
+ UI_block_direction_set(block, UI_DIR_UP | UI_DIR_CENTER_X);
+ }
}
}
}
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 72739b99e14..8d908375c1b 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -173,7 +173,7 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
else if (theme_regionid == RGN_TYPE_CHANNELS) {
cp = ts->list;
}
- else if (theme_regionid == RGN_TYPE_HEADER) {
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
cp = ts->header;
}
else if (theme_regionid == RGN_TYPE_NAV_BAR) {
@@ -207,7 +207,7 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
else if (theme_regionid == RGN_TYPE_CHANNELS) {
cp = ts->list_text;
}
- else if (theme_regionid == RGN_TYPE_HEADER) {
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
cp = ts->header_text;
}
else {
@@ -221,7 +221,7 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
else if (theme_regionid == RGN_TYPE_CHANNELS) {
cp = ts->list_text_hi;
}
- else if (theme_regionid == RGN_TYPE_HEADER) {
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
cp = ts->header_text_hi;
}
else {
@@ -235,7 +235,7 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
else if (theme_regionid == RGN_TYPE_CHANNELS) {
cp = ts->list_title;
}
- else if (theme_regionid == RGN_TYPE_HEADER) {
+ else if (ELEM(theme_regionid, RGN_TYPE_HEADER, RGN_TYPE_FOOTER)) {
cp = ts->header_title;
}
else {