diff options
author | Ton Roosendaal <ton@blender.org> | 2008-12-10 16:56:54 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-12-10 16:56:54 +0300 |
commit | 54c4ed469ad632b06e444ff577f35effca952e38 (patch) | |
tree | 7571934754e1ebd1d95c146d7fc21ba1bddda4ed /source/blender/editors/interface/interface_regions.c | |
parent | 1fdb9da2a730b9b9fc12cf6b70f5c3ba69cce178 (diff) |
2.5
Cleanup in area/region management
- more intelligence in area management for adding handlers and setting
data correct. Space/Region type callbacks only have to do own things.
- added option for adding default handlers to areas/regions. (flag in
type definition)
- ensured that region-types store the minsizes for regions.
- added boundbox check for handlers; note that it accepts pointer to
boundbox, because handlers don't get reset on area-resizing or
view changes. Example: view2d handlers use mask rect.
- handlers get now added on correct context levels (example frame change
also worked in header)
- removed ->refresh() callback. Context refreshing is Listener.
- the ->init() is being called on all WM level actions, also after a
file read, moving areas, re-opening areas etc.
- fixed bug: crash on exit was caused by cleaning up Screen too late.
- UI_view2d_size_update() removed from draw callback, is init()
- regions now store (winx, winy) subwindow size.
Diffstat (limited to 'source/blender/editors/interface/interface_regions.c')
-rw-r--r-- | source/blender/editors/interface/interface_regions.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index 2154236cc59..251db907bf4 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -350,6 +350,9 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but) ar->winrct.xmax= x2; ar->winrct.ymax= y2; + /* adds subwindow */ + ED_region_init(C, ar); + /* notify change and redraw */ WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); @@ -663,6 +666,9 @@ uiMenuBlockHandle *ui_menu_block_create(bContext *C, ARegion *butregion, uiBut * block->flag |= UI_BLOCK_LOOP|UI_BLOCK_MOVEMOUSE_QUIT; + /* adds subwindow */ + ED_region_init(C, ar); + /* notify change and redraw */ WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL); WM_event_add_notifier(C, WM_NOTE_WINDOW_REDRAW, 0, NULL); |