Blender V4.3
DNA_outliner_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_defs.h"
12
13struct ID;
14
15typedef struct TreeStoreElem {
16 short type, nr, flag, used;
17
18 /* XXX We actually also store non-ID data in this pointer for identifying
19 * the #TreeStoreElem for a #TreeElement when rebuilding the tree. Ugly! */
20 struct ID *id;
22
35
37enum {
38 TSE_CLOSED = (1 << 0),
39 TSE_SELECTED = (1 << 1),
40 TSE_TEXTBUT = (1 << 2),
41 TSE_CHILDSEARCH = (1 << 3),
42 TSE_SEARCHMATCH = (1 << 4),
43 TSE_HIGHLIGHTED = (1 << 5),
44 TSE_DRAG_INTO = (1 << 6),
45 TSE_DRAG_BEFORE = (1 << 7),
46 TSE_DRAG_AFTER = (1 << 8),
47 /* Needed because outliner-only elements can be active */
48 TSE_ACTIVE = (1 << 9),
49 /* TSE_ACTIVE_WALK = (1 << 10), */ /* Unused */
53};
54
56typedef enum eTreeStoreElemType {
66
67 TSE_NLA = 1, /* NO ID */
78 /* TSE_SCRIPT_BASE = 12, */ /* UNUSED */
82 TSE_DRIVER_BASE = 16, /* NO ID */
83 /* TSE_DRIVER = 17, */ /* UNUSED */
84
85 /* TSE_PROXY = 18, */ /* UNUSED */
88 /* TSE_R_PASS = 21, */ /* UNUSED */
89 /* TSE_LINKED_MAT = 22, */
90 /* NOTE: is used for light group. */
91 /* TSE_LINKED_LAMP = 23, */
94 TSE_SEQUENCE = 26, /* NO ID */
95 TSE_SEQ_STRIP = 27, /* NO ID */
96 TSE_SEQUENCE_DUP = 28, /* NO ID */
98 TSE_RNA_STRUCT = 30, /* NO ID */
99 TSE_RNA_PROPERTY = 31, /* NO ID */
100 TSE_RNA_ARRAY_ELEM = 32, /* NO ID */
101 TSE_NLA_TRACK = 33, /* NO ID */
102 /* TSE_KEYMAP = 34, */ /* UNUSED */
103 /* TSE_KEYMAP_ITEM = 35, */ /* UNUSED */
104 TSE_ID_BASE = 36, /* NO ID */
105 TSE_GP_LAYER = 37, /* NO ID */
115 TSE_GENERIC_LABEL = 47, /* No ID */
119
121#define TSE_IS_REAL_ID(_tse) \
122 (!ELEM((_tse)->type, \
123 TSE_NLA, \
124 TSE_NLA_TRACK, \
125 TSE_DRIVER_BASE, \
126 TSE_SEQUENCE, \
127 TSE_SEQ_STRIP, \
128 TSE_SEQUENCE_DUP, \
129 TSE_RNA_STRUCT, \
130 TSE_RNA_PROPERTY, \
131 TSE_RNA_ARRAY_ELEM, \
132 TSE_ID_BASE, \
133 TSE_GP_LAYER, \
134 TSE_GENERIC_LABEL))
eTreeStoreElemType
@ TSE_BONE_COLLECTION
@ 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_LINKED_NODE_TREE
@ 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_GREASE_PENCIL_NODE
@ 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_BONE_COLLECTION_BASE
@ TSE_R_LAYER
@ TSE_RNA_STRUCT
@ TSE_POSE_BASE
@ TSE_DEFGROUP
struct TreeStore TreeStore
@ 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
struct TreeStoreElem TreeStoreElem
Definition DNA_ID.h:413
int totelem DNA_DEPRECATED
TreeStoreElem * data