Blender  V3.3
DNA_outliner_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3 
8 #pragma once
9 
10 #include "DNA_defs.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 struct ID;
17 
18 typedef struct TreeStoreElem {
19  short type, nr, flag, used;
20 
21  /* XXX We actually also store non-ID data in this pointer for identifying
22  * the #TreeStoreElem for a #TreeElement when rebuilding the tree. Ugly! */
23  struct ID *id;
25 
27 typedef struct TreeStore {
29  int totelem DNA_DEPRECATED;
31  int usedelem;
38 
40 enum {
41  TSE_CLOSED = (1 << 0),
42  TSE_SELECTED = (1 << 1),
43  TSE_TEXTBUT = (1 << 2),
44  TSE_CHILDSEARCH = (1 << 3),
45  TSE_SEARCHMATCH = (1 << 4),
46  TSE_HIGHLIGHTED = (1 << 5),
47  TSE_DRAG_INTO = (1 << 6),
48  TSE_DRAG_BEFORE = (1 << 7),
49  TSE_DRAG_AFTER = (1 << 8),
50  /* Needed because outliner-only elements can be active */
51  TSE_ACTIVE = (1 << 9),
52  /* TSE_ACTIVE_WALK = (1 << 10), */ /* Unused */
53  TSE_HIGHLIGHTED_ICON = (1 << 11),
56 };
57 
59 typedef enum eTreeStoreElemType {
69 
70  TSE_NLA = 1, /* NO ID */
74  TSE_BONE = 5,
75  TSE_EBONE = 6,
81  /* TSE_SCRIPT_BASE = 12, */ /* UNUSED */
85  TSE_DRIVER_BASE = 16, /* NO ID */
86  /* TSE_DRIVER = 17, */ /* UNUSED */
87 
88  /* TSE_PROXY = 18, */ /* UNUSED */
91  /* TSE_R_PASS = 21, */ /* UNUSED */
92  /* TSE_LINKED_MAT = 22, */
93  /* NOTE: is used for light group. */
94  /* TSE_LINKED_LAMP = 23, */
97  TSE_SEQUENCE = 26, /* NO ID */
98  TSE_SEQ_STRIP = 27, /* NO ID */
99  TSE_SEQUENCE_DUP = 28, /* NO ID */
101  TSE_RNA_STRUCT = 30, /* NO ID */
102  TSE_RNA_PROPERTY = 31, /* NO ID */
103  TSE_RNA_ARRAY_ELEM = 32, /* NO ID */
104  TSE_NLA_TRACK = 33, /* NO ID */
105  /* TSE_KEYMAP = 34, */ /* UNUSED */
106  /* TSE_KEYMAP_ITEM = 35, */ /* UNUSED */
107  TSE_ID_BASE = 36, /* NO ID */
108  TSE_GP_LAYER = 37, /* NO ID */
116  TSE_LIBRARY_OVERRIDE = 45, /* No ID */
118  TSE_GENERIC_LABEL = 47, /* No ID */
120 
122 #define TSE_IS_REAL_ID(_tse) \
123  (!ELEM((_tse)->type, \
124  TSE_NLA, \
125  TSE_NLA_TRACK, \
126  TSE_DRIVER_BASE, \
127  TSE_SEQUENCE, \
128  TSE_SEQ_STRIP, \
129  TSE_SEQUENCE_DUP, \
130  TSE_RNA_STRUCT, \
131  TSE_RNA_PROPERTY, \
132  TSE_RNA_ARRAY_ELEM, \
133  TSE_ID_BASE, \
134  TSE_GP_LAYER, \
135  TSE_GENERIC_LABEL))
136 
137 #ifdef __cplusplus
138 }
139 #endif
eTreeStoreElemType
@ TSE_POSE_CHANNEL
@ TSE_CONSTRAINT_BASE
@ TSE_LIBRARY_OVERRIDE_OPERATION
@ TSE_MODIFIER_BASE
@ TSE_GP_LAYER
@ TSE_SEQUENCE_DUP
@ TSE_RNA_ARRAY_ELEM
@ TSE_SEQUENCE
@ TSE_GPENCIL_EFFECT
@ TSE_POSEGRP_BASE
@ TSE_VIEW_COLLECTION_BASE
@ TSE_ANIM_DATA
@ TSE_LIBRARY_OVERRIDE
@ TSE_RNA_PROPERTY
@ TSE_LIBRARY_OVERRIDE_BASE
@ TSE_EBONE
@ TSE_NLA_TRACK
@ TSE_BONE
@ TSE_LINKED_PSYS
@ TSE_DEFGROUP_BASE
@ TSE_CONSTRAINT
@ TSE_SCENE_COLLECTION_BASE
@ TSE_SCENE_OBJECTS_BASE
@ TSE_R_LAYER_BASE
@ TSE_LAYER_COLLECTION
@ TSE_SEQ_STRIP
@ TSE_GENERIC_LABEL
@ TSE_GPENCIL_EFFECT_BASE
@ TSE_LINKED_OB
@ TSE_NLA
@ TSE_ID_BASE
@ TSE_SOME_ID
@ TSE_DRIVER_BASE
@ TSE_NLA_ACTION
@ TSE_MODIFIER
@ TSE_POSEGRP
@ TSE_R_LAYER
@ TSE_RNA_STRUCT
@ TSE_POSE_BASE
@ TSE_DEFGROUP
struct TreeStore TreeStore
struct TreeStoreElem TreeStoreElem
@ TSE_CHILDSEARCH
@ TSE_DRAG_AFTER
@ TSE_HIGHLIGHTED_ANY
@ TSE_SELECTED
@ TSE_DRAG_INTO
@ TSE_CLOSED
@ TSE_HIGHLIGHTED_ICON
@ TSE_HIGHLIGHTED
@ TSE_SEARCHMATCH
@ TSE_DRAG_BEFORE
@ TSE_DRAG_ANY
@ TSE_ACTIVE
@ TSE_TEXTBUT
Definition: DNA_ID.h:368
int totelem DNA_DEPRECATED
TreeStoreElem * data