Commit: d6df32a6f841836c9b83f116bd95440346cc74fe Author: Julian Eisel Date: Wed Dec 7 20:00:27 2022 +0100 Branches: asset-shelf https://developer.blender.org/rBd6df32a6f841836c9b83f116bd95440346cc74fe
Add basic (empty) asset shelf region =================================================================== M source/blender/blenloader/intern/versioning_300.cc M source/blender/editors/screen/area.c M source/blender/editors/screen/screen_edit.c M source/blender/editors/space_view3d/space_view3d.cc M source/blender/makesdna/DNA_screen_types.h M source/blender/makesrna/intern/rna_screen.c =================================================================== diff --git a/source/blender/blenloader/intern/versioning_300.cc b/source/blender/blenloader/intern/versioning_300.cc index 85078a9902d..2acc95b7339 100644 --- a/source/blender/blenloader/intern/versioning_300.cc +++ b/source/blender/blenloader/intern/versioning_300.cc @@ -3732,5 +3732,26 @@ void blo_do_versions_300(FileData *fd, Library * /*lib*/, Main *bmain) image->seam_margin = 8; } } + + /* Add a properties sidebar to the spreadsheet editor. */ + LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) { + LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) { + LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) { + if (sl->spacetype == SPACE_VIEW3D) { + ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase : + &sl->regionbase; + ARegion *new_asset_shelf = do_versions_add_region_if_not_found( + regionbase, + RGN_TYPE_ASSET_SHELF, + "asset shelf for view3d (versioning)", + RGN_TYPE_UI); + if (new_asset_shelf != nullptr) { + new_asset_shelf->alignment = RGN_ALIGN_BOTTOM; + new_asset_shelf->flag |= RGN_FLAG_HIDDEN; + } + } + } + } + } } } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index a62e027ba03..3721774842c 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1262,7 +1262,8 @@ bool ED_region_is_overlap(int spacetype, int regiontype) RGN_TYPE_UI, RGN_TYPE_TOOL_PROPS, RGN_TYPE_FOOTER, - RGN_TYPE_TOOL_HEADER)) { + RGN_TYPE_TOOL_HEADER, + RGN_TYPE_ASSET_SHELF)) { return true; } } diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 14ed5987cc7..0acae5b5ea5 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -1435,7 +1435,8 @@ static bScreen *screen_state_to_nonnormal(bContext *C, RGN_TYPE_FOOTER, RGN_TYPE_TOOLS, RGN_TYPE_NAV_BAR, - RGN_TYPE_EXECUTE)) { + RGN_TYPE_EXECUTE, + RGN_TYPE_ASSET_SHELF)) { region->flag |= RGN_FLAG_HIDDEN; } } diff --git a/source/blender/editors/space_view3d/space_view3d.cc b/source/blender/editors/space_view3d/space_view3d.cc index 05fb0c6a720..b2da6630b38 100644 --- a/source/blender/editors/space_view3d/space_view3d.cc +++ b/source/blender/editors/space_view3d/space_view3d.cc @@ -289,6 +289,14 @@ static SpaceLink *view3d_create(const ScrArea * /*area*/, const Scene *scene) region->alignment = RGN_ALIGN_RIGHT; region->flag = RGN_FLAG_HIDDEN; + /* asset shelf */ + region = MEM_cnew<ARegion>("asset shelf for view3d"); + + BLI_addtail(&v3d->regionbase, region); + region->regiontype = RGN_TYPE_ASSET_SHELF; + region->alignment = RGN_ALIGN_BOTTOM; + region->flag = RGN_FLAG_HIDDEN; + /* main region */ region = MEM_cnew<ARegion>("main region for view3d"); @@ -2137,6 +2145,15 @@ void ED_spacetype_view3d() art->draw = view3d_header_region_draw; BLI_addhead(&st->regiontypes, art); + /* regions: asset shelf */ + art = MEM_cnew<ARegionType>("spacetype view3d asset shelf region"); + art->regionid = RGN_TYPE_ASSET_SHELF; + art->prefsizey = HEADERY * 4; + art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D | ED_KEYMAP_FRAMES | ED_KEYMAP_HEADER; + art->init = view3d_header_region_init; + art->draw = view3d_header_region_draw; + BLI_addhead(&st->regiontypes, art); + /* regions: hud */ art = ED_area_type_hud(st->spaceid); BLI_addhead(&st->regiontypes, art); diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index 4d4bd9ef775..4feab97b6b7 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -657,8 +657,9 @@ typedef enum eRegion_Type { /* Region type used exclusively by internal code and add-ons to register draw callbacks to the XR * context (surface, mirror view). Does not represent any real region. */ RGN_TYPE_XR = 13, + RGN_TYPE_ASSET_SHELF = 14, -#define RGN_TYPE_NUM (RGN_TYPE_XR + 1) +#define RGN_TYPE_NUM (RGN_TYPE_ASSET_SHELF + 1) } eRegion_Type; /* use for function args */ diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c index a65bd613ecf..4d7354421ed 100644 --- a/source/blender/makesrna/intern/rna_screen.c +++ b/source/blender/makesrna/intern/rna_screen.c @@ -26,6 +26,7 @@ const EnumPropertyItem rna_enum_region_type_items[] = { {RGN_TYPE_UI, "UI", 0, "UI", ""}, {RGN_TYPE_TOOLS, "TOOLS", 0, "Tools", ""}, {RGN_TYPE_TOOL_PROPS, "TOOL_PROPS", 0, "Tool Properties", ""}, + {RGN_TYPE_ASSET_SHELF, "ASSET_SHELF", 0, "Asset Shelf", ""}, {RGN_TYPE_PREVIEW, "PREVIEW", 0, "Preview", ""}, {RGN_TYPE_HUD, "HUD", 0, "Floating Region", ""}, {RGN_TYPE_NAV_BAR, "NAVIGATION_BAR", 0, "Navigation Bar", ""}, _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs