diff options
author | Jacques Lucke <jacques@blender.org> | 2021-03-01 18:59:04 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-03-01 18:59:04 +0300 |
commit | be36c4d37d7e3b600c5daf10e4e12101cc16de15 (patch) | |
tree | 3adf195072ed5cec14c6667769aa4d20797d7292 /source/blender/editors | |
parent | c5bf114d78eae84dce18fae4701c5d4ab8aa92da (diff) |
initial listeners for main region
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_spreadsheet/space_spreadsheet.cc | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc index bdb0b81dc97..ee5a689f885 100644 --- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc +++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc @@ -149,8 +149,34 @@ static void spreadsheet_main_region_draw(const bContext *C, ARegion *region) static void spreadsheet_main_region_listener(const wmRegionListenerParams *params) { - /* TODO: Do more precise check. */ - ED_region_tag_redraw(params->region); + ARegion *region = params->region; + wmNotifier *wmn = params->notifier; + + switch (wmn->category) { + case NC_SCENE: { + switch (wmn->data) { + case ND_OB_ACTIVE: { + ED_region_tag_redraw(region); + break; + } + } + break; + } + case NC_OBJECT: { + ED_region_tag_redraw(region); + break; + } + case NC_SPACE: { + if (wmn->data == ND_SPACE_SPREADSHEET) { + ED_region_tag_redraw(region); + } + break; + } + case NC_GEOM: { + ED_region_tag_redraw(region); + break; + } + } } static void spreadsheet_header_region_init(wmWindowManager *UNUSED(wm), ARegion *region) |