Blender  V2.93
DNA_outliner_types.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19 
24 #pragma once
25 
26 #include "DNA_defs.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 struct ID;
33 
34 typedef struct TreeStoreElem {
35  short type, nr, flag, used;
36 
37  /* XXX We actually also store non-ID data in this pointer for identifying
38  * the #TreeStoreElem for a #TreeElement when rebuilding the tree. Ugly! */
39  struct ID *id;
41 
43 typedef struct TreeStore {
45  int totelem DNA_DEPRECATED;
47  int usedelem;
54 
56 enum {
57  TSE_CLOSED = (1 << 0),
58  TSE_SELECTED = (1 << 1),
59  TSE_TEXTBUT = (1 << 2),
60  TSE_CHILDSEARCH = (1 << 3),
61  TSE_SEARCHMATCH = (1 << 4),
62  TSE_HIGHLIGHTED = (1 << 5),
63  TSE_DRAG_INTO = (1 << 6),
64  TSE_DRAG_BEFORE = (1 << 7),
65  TSE_DRAG_AFTER = (1 << 8),
66  /* Needed because outliner-only elements can be active */
67  TSE_ACTIVE = (1 << 9),
68  /* TSE_ACTIVE_WALK = (1 << 10), */ /* Unused */
69  TSE_HIGHLIGHTED_ICON = (1 << 11),
72 };
73 
75 typedef enum eTreeStoreElemType {
85 
86  TSE_NLA = 1, /* NO ID */
90  TSE_BONE = 5,
91  TSE_EBONE = 6,
97  /* TSE_SCRIPT_BASE = 12, */ /* UNUSED */
101  TSE_DRIVER_BASE = 16, /* NO ID */
102  /* TSE_DRIVER = 17, */ /* UNUSED */
103 
104  TSE_PROXY = 18,
107  /* TSE_R_PASS = 21, */ /* UNUSED */
108  /* TSE_LINKED_MAT = 22, */
109  /* NOTE, is used for light group */
110  /* TSE_LINKED_LAMP = 23, */
113  TSE_SEQUENCE = 26, /* NO ID */
114  TSE_SEQ_STRIP = 27, /* NO ID */
115  TSE_SEQUENCE_DUP = 28, /* NO ID */
117  TSE_RNA_STRUCT = 30, /* NO ID */
118  TSE_RNA_PROPERTY = 31, /* NO ID */
119  TSE_RNA_ARRAY_ELEM = 32, /* NO ID */
120  TSE_NLA_TRACK = 33, /* NO ID */
121  /* TSE_KEYMAP = 34, */ /* UNUSED */
122  /* TSE_KEYMAP_ITEM = 35, */ /* UNUSED */
123  TSE_ID_BASE = 36, /* NO ID */
124  TSE_GP_LAYER = 37, /* NO ID */
134 
136 #define TSE_IS_REAL_ID(_tse) \
137  (!ELEM((_tse)->type, \
138  TSE_NLA, \
139  TSE_NLA_TRACK, \
140  TSE_DRIVER_BASE, \
141  TSE_SEQUENCE, \
142  TSE_SEQ_STRIP, \
143  TSE_SEQUENCE_DUP, \
144  TSE_RNA_STRUCT, \
145  TSE_RNA_PROPERTY, \
146  TSE_RNA_ARRAY_ELEM, \
147  TSE_ID_BASE, \
148  TSE_GP_LAYER))
149 
150 #ifdef __cplusplus
151 }
152 #endif
eTreeStoreElemType
@ TSE_PROXY
@ TSE_POSE_CHANNEL
@ TSE_CONSTRAINT_BASE
@ 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_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:273
int totelem DNA_DEPRECATED
TreeStoreElem * data