Blender  V3.3
tree_display.cc
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #include "DNA_listBase.h"
8 #include "DNA_space_types.h"
9 
10 #include "BLI_utildefines.h"
11 
12 #include "tree_display.hh"
13 
14 using namespace blender::ed::outliner;
15 
16 namespace blender::ed::outliner {
17 
18 std::unique_ptr<AbstractTreeDisplay> AbstractTreeDisplay::createFromDisplayMode(
19  int /*eSpaceOutliner_Mode*/ mode, SpaceOutliner &space_outliner)
20 {
21  switch ((eSpaceOutliner_Mode)mode) {
22  case SO_SCENES:
23  return std::make_unique<TreeDisplayScenes>(space_outliner);
24  case SO_LIBRARIES:
25  return std::make_unique<TreeDisplayLibraries>(space_outliner);
26  case SO_SEQUENCE:
27  return std::make_unique<TreeDisplaySequencer>(space_outliner);
28  case SO_DATA_API:
29  return std::make_unique<TreeDisplayDataAPI>(space_outliner);
30  case SO_ID_ORPHANS:
31  return std::make_unique<TreeDisplayIDOrphans>(space_outliner);
35  return std::make_unique<TreeDisplayOverrideLibraryProperties>(space_outliner);
37  return std::make_unique<TreeDisplayOverrideLibraryHierarchies>(space_outliner);
38  }
39  break;
40  case SO_VIEW_LAYER:
41  return std::make_unique<TreeDisplayViewLayer>(space_outliner);
42  }
43 
45  return nullptr;
46 }
47 
49 {
50  return false;
51 }
52 
54 {
55  return false;
56 }
57 
58 } // namespace blender::ed::outliner
#define BLI_assert_unreachable()
Definition: BLI_assert.h:93
These structs are the foundation for all linked lists in the library system.
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 > createFromDisplayMode(int mode, SpaceOutliner &space_outliner)
Definition: tree_display.cc:18
short lib_override_view_mode
Establish and manage Outliner trees for different display modes.