Blender V5.0
tree_display.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#include "DNA_space_types.h"
10
11#include "tree_display.hh"
12
13using namespace blender::ed::outliner;
14
15namespace blender::ed::outliner {
16
17std::unique_ptr<AbstractTreeDisplay> AbstractTreeDisplay::create_from_display_mode(
18 int /*eSpaceOutliner_Mode*/ mode, SpaceOutliner &space_outliner)
19{
20 switch ((eSpaceOutliner_Mode)mode) {
21 case SO_SCENES:
22 return std::make_unique<TreeDisplayScenes>(space_outliner);
23 case SO_LIBRARIES:
24 return std::make_unique<TreeDisplayLibraries>(space_outliner);
25 case SO_SEQUENCE:
26 return std::make_unique<TreeDisplaySequencer>(space_outliner);
27 case SO_DATA_API:
28 return std::make_unique<TreeDisplayDataAPI>(space_outliner);
29 case SO_ID_ORPHANS:
30 return std::make_unique<TreeDisplayIDOrphans>(space_outliner);
34 return std::make_unique<TreeDisplayOverrideLibraryProperties>(space_outliner);
36 return std::make_unique<TreeDisplayOverrideLibraryHierarchies>(space_outliner);
37 }
38 break;
39 case SO_VIEW_LAYER:
40 return std::make_unique<TreeDisplayViewLayer>(space_outliner);
41 }
42
44 return nullptr;
45}
46
48{
49 return false;
50}
51
53{
54 return false;
55}
56
57} // namespace blender::ed::outliner
#define BLI_assert_unreachable()
Definition BLI_assert.h:93
eSpaceOutliner_LibOverrideViewMode
@ SO_LIB_OVERRIDE_VIEW_HIERARCHIES
@ SO_LIB_OVERRIDE_VIEW_PROPERTIES
eSpaceOutliner_Mode
@ SO_OVERRIDES_LIBRARY
@ SO_SEQUENCE
@ SO_DATA_API
@ SO_LIBRARIES
@ SO_VIEW_LAYER
@ SO_SCENES
@ SO_ID_ORPHANS
static std::unique_ptr< AbstractTreeDisplay > create_from_display_mode(int mode, SpaceOutliner &space_outliner)
short lib_override_view_mode
Establish and manage Outliner trees for different display modes.