45 tselem->
flag &= ~TSE_CLOSED;
55 lib->id.newid = (
ID *)ten;
61 if (ten ==
tree.first) {
69 if (!
lib || !
lib->runtime.parent) {
91 library_id->newid =
nullptr;
99 const short filter_id_type = id_filter_get();
103 if (filter_id_type) {
111 TreeElement *tenlib =
nullptr;
112 for (
int a = 0; a < tot; a++) {
113 if (!lbarray[a] || !lbarray[a]->first) {
117 ID *
id =
static_cast<ID *
>(lbarray[a]->
first);
118 const bool is_library = (
GS(id->name) ==
ID_LI) && (
lib !=
nullptr);
126 for (
ID *id_iter :
List<
ID>(lbarray[a])) {
127 if (id_iter->lib ==
lib) {
135 if (
id !=
nullptr || is_library) {
143 tenlib->name =
IFACE_(
"Current File");
151 if (filter_id_type) {
156 &tenlib->subtree,
reinterpret_cast<ID *
>(
lib),
nullptr,
nullptr,
TSE_ID_BASE, a);
157 ten->directdata = lbarray[a];
161 for (
ID *
id :
List<
ID>(lbarray[a])) {
162 if (library_id_filter_poll(
lib,
id)) {
173short TreeDisplayLibraries::id_filter_get()
const
181bool TreeDisplayLibraries::library_id_filter_poll(
const Library *
lib,
ID *
id)
const
183 if (id->lib !=
lib) {
187 if (id_filter_get() ==
ID_GR) {
191 bool has_non_scene_parent =
false;
195 has_non_scene_parent =
true;
199 if (has_non_scene_parent) {
ListBase * which_libbase(Main *bmain, short type)
int set_listbasepointers(Main *bmain, ListBase *lb[])
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define ID_TYPE_IS_DEPRECATED(id_type)
Object groups, one object can be in many groups at once.
Base Class For Tree-Displays.
SpaceOutliner & space_outliner_
static TreeElement * add_element(SpaceOutliner *space_outliner, ListBase *lb, ID *owner_id, void *create_data, TreeElement *parent, short type, short index, const bool expand=true)
TreeDisplayLibraries(SpaceOutliner &space_outliner)
ListBase build_tree(const TreeSourceData &source_data) override
GPU_SHADER_INTERFACE_INFO(depth_2d_update_iface, "").smooth(Type fragColor push_constant(Type::VEC2, "extent") .push_constant(Type source_data
ListBaseWrapper< T > List
const char * outliner_idcode_to_plural(short idcode)
The data to build the tree from.
Establish and manage Outliner trees for different display modes.
static DynamicLibrary lib