Blender  V3.3
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
outliner_intern.hh File Reference
#include <memory>
#include "RNA_types.h"
#include "tree/tree_element.hh"

Go to the source code of this file.

Classes

struct  SpaceOutliner_Runtime
 
struct  TreeElement
 
struct  TreeElementIcon
 
struct  TreeViewContext
 
struct  IDsSelectedData
 

Namespaces

 blender
 
 blender::ed
 
 blender::ed::outliner
 

Macros

#define TREESTORE_ID_TYPE(_id)
 
#define OL_NAMEBUTTON   1
 
#define TREESTORE(a)   ((a)->store_elem)
 
#define OL_Y_OFFSET   2
 
#define OL_TOG_USER_BUTS_USERS   (UI_UNIT_X * 2.0f + V2D_SCROLL_WIDTH)
 
#define OL_TOG_USER_BUTS_STATUS   (UI_UNIT_X + V2D_SCROLL_WIDTH)
 
#define OL_RNA_COLX   (UI_UNIT_X * 15)
 
#define OL_RNA_COL_SIZEX   (UI_UNIT_X * 7.5f)
 
#define OL_RNA_COL_SPACEX   (UI_UNIT_X * 2.5f)
 
#define SUPPORT_FILTER_OUTLINER(space_outliner_)    (ELEM((space_outliner_)->outlinevis, SO_VIEW_LAYER, SO_OVERRIDES_LIBRARY))
 
#define SEARCHING_OUTLINER(sov)   ((sov)->search_flags & SO_SEARCH_RECURSIVE)
 
#define TSELEM_OPEN(telm, sv)
 

Typedefs

typedef enum TreeElementInsertType TreeElementInsertType
 
typedef enum TreeTraversalAction TreeTraversalAction
 
typedef TreeTraversalAction(* TreeTraversalFunc) (struct TreeElement *te, void *customdata)
 
typedef struct TreeElement TreeElement
 
typedef struct TreeElementIcon TreeElementIcon
 
typedef struct TreeViewContext TreeViewContext
 
typedef enum TreeItemSelectAction TreeItemSelectAction
 
typedef struct IDsSelectedData IDsSelectedData
 
typedef void(* outliner_operation_fn) (struct bContext *C, struct ReportList *, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *, void *)
 

Enumerations

enum  TreeElementInsertType { TE_INSERT_BEFORE , TE_INSERT_AFTER , TE_INSERT_INTO }
 
enum  TreeTraversalAction { TRAVERSE_CONTINUE = 0 , TRAVERSE_BREAK , TRAVERSE_SKIP_CHILDS }
 
enum  {
  TE_ACTIVE = (1 << 0) , TE_ICONROW = (1 << 1) , TE_PRETEND_HAS_CHILDREN = (1 << 2) , TE_FREE_NAME = (1 << 3) ,
  TE_DRAGGING = (1 << 4) , TE_CHILD_NOT_IN_COLLECTION = (1 << 6) , TE_ICONROW_MERGED = (1 << 7)
}
 
enum  eOLDrawState { OL_DRAWSEL_NONE = 0 , OL_DRAWSEL_NORMAL = 1 , OL_DRAWSEL_ACTIVE = 2 }
 
enum  eOLSetState { OL_SETSEL_NONE = 0 , OL_SETSEL_NORMAL = 1 , OL_SETSEL_EXTEND = 2 }
 
enum  TreeItemSelectAction {
  OL_ITEM_DESELECT = 0 , OL_ITEM_SELECT = (1 << 0) , OL_ITEM_SELECT_DATA = (1 << 1) , OL_ITEM_ACTIVATE = (1 << 2) ,
  OL_ITEM_EXTEND = (1 << 3) , OL_ITEM_RECURSIVE = (1 << 4)
}
 

Functions

void outliner_free_tree (ListBase *tree)
 
void outliner_cleanup_tree (struct SpaceOutliner *space_outliner)
 
void outliner_free_tree_element (TreeElement *element, ListBase *parent_subtree)
 
void outliner_build_tree (struct Main *mainvar, struct Scene *scene, struct ViewLayer *view_layer, struct SpaceOutliner *space_outliner, struct ARegion *region)
 
struct TreeElementoutliner_add_collection_recursive (SpaceOutliner *space_outliner, struct Collection *collection, TreeElement *ten)
 
bool outliner_requires_rebuild_on_select_or_active_change (const struct SpaceOutliner *space_outliner)
 
TreeTraversalAction outliner_find_selected_collections (struct TreeElement *te, void *customdata)
 
TreeTraversalAction outliner_find_selected_objects (struct TreeElement *te, void *customdata)
 
void draw_outliner (const struct bContext *C)
 
void outliner_tree_dimensions (struct SpaceOutliner *space_outliner, int *r_width, int *r_height)
 
TreeElementIcon tree_element_get_icon (TreeStoreElem *tselem, TreeElement *te)
 
void outliner_collection_isolate_flag (struct Scene *scene, struct ViewLayer *view_layer, struct LayerCollection *layer_collection, struct Collection *collection, struct PropertyRNA *layer_or_collection_prop, const char *propname, bool value)
 
int tree_element_id_type_to_index (TreeElement *te)
 
void tree_element_type_active_set (struct bContext *C, const TreeViewContext *tvc, TreeElement *te, TreeStoreElem *tselem, eOLSetState set, bool recursive)
 
eOLDrawState tree_element_type_active_state_get (const struct bContext *C, const struct TreeViewContext *tvc, const TreeElement *te, const TreeStoreElem *tselem)
 
void tree_element_activate (struct bContext *C, const TreeViewContext *tvc, TreeElement *te, eOLSetState set, bool handle_all_types)
 
eOLDrawState tree_element_active_state_get (const TreeViewContext *tvc, const TreeElement *te, const TreeStoreElem *tselem)
 
struct bPoseChanneloutliner_find_parent_bone (TreeElement *te, TreeElement **r_bone_te)
 
void outliner_item_select (struct bContext *C, struct SpaceOutliner *space_outliner, struct TreeElement *te, short select_flag)
 
bool outliner_item_is_co_over_name_icons (const TreeElement *te, float view_co_x)
 
bool outliner_item_is_co_over_icon (const TreeElement *te, float view_co_x)
 
bool outliner_item_is_co_over_name (const TreeElement *te, float view_co_x)
 
bool outliner_item_is_co_within_close_toggle (const TreeElement *te, float view_co_x)
 
bool outliner_is_co_within_mode_column (SpaceOutliner *space_outliner, const float view_mval[2])
 
void outliner_item_mode_toggle (struct bContext *C, TreeViewContext *tvc, TreeElement *te, bool do_extend)
 
void outliner_do_object_operation_ex (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct SpaceOutliner *space_outliner, struct ListBase *lb, outliner_operation_fn operation_fn, void *user_data, bool recurse_selected)
 
void outliner_do_object_operation (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct SpaceOutliner *space_outliner, struct ListBase *lb, outliner_operation_fn operation_fn)
 
int outliner_flag_is_any_test (ListBase *lb, short flag, int curlevel)
 
bool outliner_flag_set (const SpaceOutliner &space_outliner, short flag, short set)
 
bool outliner_flag_set (const ListBase &lb, short flag, short set)
 
bool outliner_flag_flip (const SpaceOutliner &space_outliner, short flag)
 
bool outliner_flag_flip (const ListBase &lb, short flag)
 
void item_rename_fn (struct bContext *C, struct ReportList *reports, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem, void *user_data)
 
void lib_relocate_fn (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem, void *user_data)
 
void lib_reload_fn (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem, void *user_data)
 
void id_delete_tag_fn (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem, void *user_data)
 
void id_remap_fn (struct bContext *C, struct ReportList *reports, struct Scene *scene, struct TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem, void *user_data)
 
void outliner_set_coordinates (const struct ARegion *region, const struct SpaceOutliner *space_outliner)
 
void outliner_item_openclose (TreeElement *te, bool open, bool toggle_all)
 
void outliner_dropboxes (void)
 
void OUTLINER_OT_item_drag_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_parent_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_parent_clear (struct wmOperatorType *ot)
 
void OUTLINER_OT_scene_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_material_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_datastack_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_drop (struct wmOperatorType *ot)
 
void OUTLINER_OT_highlight_update (struct wmOperatorType *ot)
 
void OUTLINER_OT_item_activate (struct wmOperatorType *ot)
 
void OUTLINER_OT_item_openclose (struct wmOperatorType *ot)
 
void OUTLINER_OT_item_rename (struct wmOperatorType *ot)
 
void OUTLINER_OT_lib_relocate (struct wmOperatorType *ot)
 
void OUTLINER_OT_lib_reload (struct wmOperatorType *ot)
 
void OUTLINER_OT_id_delete (struct wmOperatorType *ot)
 
void OUTLINER_OT_show_one_level (struct wmOperatorType *ot)
 
void OUTLINER_OT_show_active (struct wmOperatorType *ot)
 
void OUTLINER_OT_show_hierarchy (struct wmOperatorType *ot)
 
void OUTLINER_OT_select_box (struct wmOperatorType *ot)
 
void OUTLINER_OT_select_walk (struct wmOperatorType *ot)
 
void OUTLINER_OT_select_all (struct wmOperatorType *ot)
 
void OUTLINER_OT_expanded_toggle (struct wmOperatorType *ot)
 
void OUTLINER_OT_scroll_page (struct wmOperatorType *ot)
 
void OUTLINER_OT_keyingset_add_selected (struct wmOperatorType *ot)
 
void OUTLINER_OT_keyingset_remove_selected (struct wmOperatorType *ot)
 
void OUTLINER_OT_drivers_add_selected (struct wmOperatorType *ot)
 
void OUTLINER_OT_drivers_delete_selected (struct wmOperatorType *ot)
 
void OUTLINER_OT_orphans_purge (struct wmOperatorType *ot)
 
bool outliner_shows_mode_column (const SpaceOutliner &space_outliner)
 
bool outliner_has_element_warnings (const SpaceOutliner &space_outliner)
 
void merged_element_search_menu_invoke (struct bContext *C, TreeElement *parent_te, TreeElement *activate_te)
 
void OUTLINER_OT_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_scene_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_object_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_lib_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_liboverride_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_liboverride_troubleshoot_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_id_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_id_remap (struct wmOperatorType *ot)
 
void OUTLINER_OT_id_copy (struct wmOperatorType *ot)
 
void OUTLINER_OT_id_paste (struct wmOperatorType *ot)
 
void OUTLINER_OT_data_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_animdata_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_action_set (struct wmOperatorType *ot)
 
void OUTLINER_OT_constraint_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_modifier_operation (struct wmOperatorType *ot)
 
void OUTLINER_OT_delete (struct wmOperatorType *ot)
 
void outliner_operatortypes (void)
 
void outliner_keymap (struct wmKeyConfig *keyconf)
 
bool outliner_is_collection_tree_element (const TreeElement *te)
 
struct Collectionoutliner_collection_from_tree_element (const TreeElement *te)
 
void outliner_collection_delete (struct bContext *C, struct Main *bmain, struct Scene *scene, struct ReportList *reports, bool do_hierarchy)
 
void OUTLINER_OT_collection_new (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_duplicate_linked (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_duplicate (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_hierarchy_delete (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_objects_select (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_objects_deselect (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_link (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_instance (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_exclude_set (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_exclude_clear (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_holdout_set (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_holdout_clear (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_indirect_only_set (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_indirect_only_clear (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_isolate (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_show (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_hide (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_show_inside (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_hide_inside (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_enable (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_disable (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_enable_render (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_disable_render (struct wmOperatorType *ot)
 
void OUTLINER_OT_hide (struct wmOperatorType *ot)
 
void OUTLINER_OT_unhide_all (struct wmOperatorType *ot)
 
void OUTLINER_OT_collection_color_tag_set (struct wmOperatorType *ot)
 
void outliner_viewcontext_init (const struct bContext *C, TreeViewContext *tvc)
 
TreeElementoutliner_find_item_at_y (const SpaceOutliner *space_outliner, const ListBase *tree, float view_co_y)
 
TreeElementoutliner_find_item_at_x_in_row (const SpaceOutliner *space_outliner, TreeElement *parent_te, float view_co_x, bool *r_is_merged_icon, bool *r_is_over_icon)
 
TreeElementoutliner_find_tse (struct SpaceOutliner *space_outliner, const TreeStoreElem *tse)
 
TreeElementoutliner_find_tree_element (ListBase *lb, const TreeStoreElem *store_elem)
 
TreeElementoutliner_find_parent_element (ListBase *lb, TreeElement *parent_te, const TreeElement *child_te)
 
TreeElementoutliner_find_id (struct SpaceOutliner *space_outliner, ListBase *lb, const struct ID *id)
 
TreeElementoutliner_find_posechannel (ListBase *lb, const struct bPoseChannel *pchan)
 
TreeElementoutliner_find_editbone (ListBase *lb, const struct EditBone *ebone)
 
TreeElementoutliner_search_back_te (TreeElement *te, short idcode)
 
struct IDoutliner_search_back (TreeElement *te, short idcode)
 
bool outliner_tree_traverse (const SpaceOutliner *space_outliner, ListBase *tree, int filter_te_flag, int filter_tselem_flag, TreeTraversalFunc func, void *customdata)
 
float outliner_right_columns_width (const struct SpaceOutliner *space_outliner)
 
TreeElementoutliner_find_element_with_flag (const ListBase *lb, short flag)
 
bool outliner_is_element_visible (const TreeElement *te)
 
bool outliner_is_element_in_view (const TreeElement *te, const struct View2D *v2d)
 
void outliner_scroll_view (struct SpaceOutliner *space_outliner, struct ARegion *region, int delta_y)
 
void outliner_tag_redraw_avoid_rebuild_on_open_change (const struct SpaceOutliner *space_outliner, struct ARegion *region)
 
void outliner_sync_selection (const struct bContext *C, struct SpaceOutliner *space_outliner)
 
int outliner_context (const struct bContext *C, const char *member, struct bContextDataResult *result)
 
template<typename TreeElementT >
TreeElementT * blender::ed::outliner::tree_element_cast (const TreeElement *te)
 

Macro Definition Documentation

◆ OL_NAMEBUTTON

#define OL_NAMEBUTTON   1

Definition at line 169 of file outliner_intern.hh.

◆ OL_RNA_COL_SIZEX

#define OL_RNA_COL_SIZEX   (UI_UNIT_X * 7.5f)

Definition at line 195 of file outliner_intern.hh.

◆ OL_RNA_COL_SPACEX

#define OL_RNA_COL_SPACEX   (UI_UNIT_X * 2.5f)

Definition at line 196 of file outliner_intern.hh.

◆ OL_RNA_COLX

#define OL_RNA_COLX   (UI_UNIT_X * 15)

Definition at line 194 of file outliner_intern.hh.

◆ OL_TOG_USER_BUTS_STATUS

#define OL_TOG_USER_BUTS_STATUS   (UI_UNIT_X + V2D_SCROLL_WIDTH)

Definition at line 192 of file outliner_intern.hh.

◆ OL_TOG_USER_BUTS_USERS

#define OL_TOG_USER_BUTS_USERS   (UI_UNIT_X * 2.0f + V2D_SCROLL_WIDTH)

Definition at line 191 of file outliner_intern.hh.

◆ OL_Y_OFFSET

#define OL_Y_OFFSET   2

Definition at line 189 of file outliner_intern.hh.

◆ SEARCHING_OUTLINER

#define SEARCHING_OUTLINER (   sov)    ((sov)->search_flags & SO_SEARCH_RECURSIVE)

Definition at line 219 of file outliner_intern.hh.

◆ SUPPORT_FILTER_OUTLINER

#define SUPPORT_FILTER_OUTLINER (   space_outliner_)     (ELEM((space_outliner_)->outlinevis, SO_VIEW_LAYER, SO_OVERRIDES_LIBRARY))

Definition at line 200 of file outliner_intern.hh.

◆ TREESTORE

#define TREESTORE (   a)    ((a)->store_elem)

Definition at line 186 of file outliner_intern.hh.

◆ TREESTORE_ID_TYPE

#define TREESTORE_ID_TYPE (   _id)

Definition at line 106 of file outliner_intern.hh.

◆ TSELEM_OPEN

#define TSELEM_OPEN (   telm,
  sv 
)
Value:
(((telm)->flag & TSE_CLOSED) == 0 || \
(SEARCHING_OUTLINER(sv) && ((telm)->flag & TSE_CHILDSEARCH))))
#define CHECK_TYPE_INLINE(val, type)
@ TSE_CHILDSEARCH
@ TSE_CLOSED
#define SEARCHING_OUTLINER(sov)

Definition at line 222 of file outliner_intern.hh.

Typedef Documentation

◆ IDsSelectedData

◆ outliner_operation_fn

typedef void(* outliner_operation_fn) (struct bContext *C, struct ReportList *, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *, void *)

Definition at line 377 of file outliner_intern.hh.

◆ TreeElement

typedef struct TreeElement TreeElement

◆ TreeElementIcon

◆ TreeElementInsertType

◆ TreeItemSelectAction

◆ TreeTraversalAction

◆ TreeTraversalFunc

typedef TreeTraversalAction(* TreeTraversalFunc) (struct TreeElement *te, void *customdata)

Definition at line 77 of file outliner_intern.hh.

◆ TreeViewContext

Container to avoid passing around these variables to many functions. Also so we can have one place to assign these variables.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TE_ACTIVE 
TE_ICONROW 
TE_PRETEND_HAS_CHILDREN 

Treat the element as if it had children, e.g. draw an icon to un-collapse it, even if it doesn't. Used where children are lazy-built only if the parent isn't collapsed (see #AbstractTreeDisplay::is_lazy_built()).

TE_FREE_NAME 
TE_DRAGGING 
TE_CHILD_NOT_IN_COLLECTION 
TE_ICONROW_MERGED 

Definition at line 151 of file outliner_intern.hh.

◆ eOLDrawState

Enumerator
OL_DRAWSEL_NONE 
OL_DRAWSEL_NORMAL 
OL_DRAWSEL_ACTIVE 

Definition at line 171 of file outliner_intern.hh.

◆ eOLSetState

Enumerator
OL_SETSEL_NONE 
OL_SETSEL_NORMAL 
OL_SETSEL_EXTEND 

Definition at line 177 of file outliner_intern.hh.

◆ TreeElementInsertType

Enumerator
TE_INSERT_BEFORE 
TE_INSERT_AFTER 
TE_INSERT_INTO 

Definition at line 62 of file outliner_intern.hh.

◆ TreeItemSelectAction

Enumerator
OL_ITEM_DESELECT 
OL_ITEM_SELECT 
OL_ITEM_SELECT_DATA 
OL_ITEM_ACTIVATE 
OL_ITEM_EXTEND 
OL_ITEM_RECURSIVE 

Definition at line 246 of file outliner_intern.hh.

◆ TreeTraversalAction

Enumerator
TRAVERSE_CONTINUE 

Continue traversal regularly, don't skip children.

TRAVERSE_BREAK 

Stop traversal.

TRAVERSE_SKIP_CHILDS 

Continue traversal, but skip children of traversed element.

Definition at line 68 of file outliner_intern.hh.

Function Documentation

◆ draw_outliner()

void draw_outliner ( const struct bContext C)

◆ id_delete_tag_fn()

void id_delete_tag_fn ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct TreeElement te,
struct TreeStoreElem tsep,
struct TreeStoreElem tselem,
void user_data 
)

◆ id_remap_fn()

void id_remap_fn ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct TreeElement te,
struct TreeStoreElem tsep,
struct TreeStoreElem tselem,
void user_data 
)

◆ item_rename_fn()

void item_rename_fn ( struct bContext C,
struct ReportList reports,
struct Scene scene,
TreeElement te,
struct TreeStoreElem tsep,
struct TreeStoreElem tselem,
void user_data 
)

◆ lib_reload_fn()

void lib_reload_fn ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct TreeElement te,
struct TreeStoreElem tsep,
struct TreeStoreElem tselem,
void user_data 
)

◆ lib_relocate_fn()

void lib_relocate_fn ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct TreeElement te,
struct TreeStoreElem tsep,
struct TreeStoreElem tselem,
void user_data 
)

◆ merged_element_search_menu_invoke()

void merged_element_search_menu_invoke ( struct bContext C,
TreeElement parent_te,
TreeElement activate_te 
)

◆ outliner_add_collection_recursive()

struct TreeElement* outliner_add_collection_recursive ( SpaceOutliner space_outliner,
struct Collection collection,
TreeElement ten 
)

◆ outliner_build_tree()

void outliner_build_tree ( struct Main mainvar,
struct Scene scene,
struct ViewLayer view_layer,
struct SpaceOutliner space_outliner,
struct ARegion region 
)

◆ outliner_cleanup_tree()

void outliner_cleanup_tree ( struct SpaceOutliner space_outliner)

◆ outliner_collection_delete()

void outliner_collection_delete ( struct bContext C,
struct Main bmain,
struct Scene scene,
struct ReportList reports,
bool  do_hierarchy 
)

◆ outliner_collection_from_tree_element()

struct Collection* outliner_collection_from_tree_element ( const TreeElement te)

◆ outliner_collection_isolate_flag()

void outliner_collection_isolate_flag ( struct Scene scene,
struct ViewLayer view_layer,
struct LayerCollection layer_collection,
struct Collection collection,
struct PropertyRNA layer_or_collection_prop,
const char *  propname,
bool  value 
)

◆ outliner_context()

int outliner_context ( const struct bContext C,
const char *  member,
struct bContextDataResult result 
)

◆ outliner_do_object_operation()

void outliner_do_object_operation ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct SpaceOutliner space_outliner,
struct ListBase lb,
outliner_operation_fn  operation_fn 
)

Definition at line 1624 of file outliner_tools.cc.

References C, and outliner_do_object_operation_ex().

Referenced by outliner_object_operation_exec().

◆ outliner_do_object_operation_ex()

void outliner_do_object_operation_ex ( struct bContext C,
struct ReportList reports,
struct Scene scene,
struct SpaceOutliner space_outliner,
struct ListBase lb,
outliner_operation_fn  operation_fn,
void user_data,
bool  recurse_selected 
)

◆ outliner_dropboxes()

void outliner_dropboxes ( void  )

◆ outliner_find_editbone()

TreeElement* outliner_find_editbone ( ListBase lb,
const struct EditBone ebone 
)

◆ outliner_find_element_with_flag()

TreeElement* outliner_find_element_with_flag ( const ListBase lb,
short  flag 
)

◆ outliner_find_id()

TreeElement* outliner_find_id ( struct SpaceOutliner space_outliner,
ListBase lb,
const struct ID id 
)

Find tree-store that refers to given ID.

Referenced by outliner_show_active_get_element(), and parent_drop_set_parents().

◆ outliner_find_item_at_x_in_row()

TreeElement* outliner_find_item_at_x_in_row ( const SpaceOutliner space_outliner,
TreeElement parent_te,
float  view_co_x,
bool r_is_merged_icon,
bool r_is_over_icon 
)

Collapsed items can show their children as click-able icons. This function tries to find such an icon that represents the child item at x-coordinate view_co_x (view-space).

Returns
a hovered child item or parent_te (if no hovered child found).

Definition at line 129 of file outliner_utils.cc.

References outliner_find_item_at_x_in_row_recursive(), outliner_item_is_co_over_icon(), TREESTORE, TSE_R_LAYER, TSELEM_OPEN, and TreeStoreElem::type.

Referenced by outliner_highlight_update(), and outliner_item_do_activate_from_cursor().

◆ outliner_find_item_at_y()

TreeElement* outliner_find_item_at_y ( const SpaceOutliner space_outliner,
const ListBase tree,
float  view_co_y 
)

◆ outliner_find_parent_bone()

struct bPoseChannel* outliner_find_parent_bone ( TreeElement te,
TreeElement **  r_bone_te 
)

◆ outliner_find_parent_element()

TreeElement* outliner_find_parent_element ( ListBase lb,
TreeElement parent_te,
const TreeElement child_te 
)

Find parent element of te.

Definition at line 164 of file outliner_utils.cc.

References LISTBASE_FOREACH, and outliner_find_parent_element().

Referenced by collection_drop_invoke(), and outliner_find_parent_element().

◆ outliner_find_posechannel()

TreeElement* outliner_find_posechannel ( ListBase lb,
const struct bPoseChannel pchan 
)

◆ outliner_find_selected_collections()

TreeTraversalAction outliner_find_selected_collections ( struct TreeElement te,
void customdata 
)

◆ outliner_find_selected_objects()

TreeTraversalAction outliner_find_selected_objects ( struct TreeElement te,
void customdata 
)

◆ outliner_find_tree_element()

TreeElement* outliner_find_tree_element ( ListBase lb,
const TreeStoreElem store_elem 
)

◆ outliner_find_tse()

TreeElement* outliner_find_tse ( struct SpaceOutliner space_outliner,
const TreeStoreElem tse 
)

◆ outliner_flag_flip() [1/2]

bool outliner_flag_flip ( const ListBase lb,
short  flag 
)

◆ outliner_flag_flip() [2/2]

bool outliner_flag_flip ( const SpaceOutliner space_outliner,
short  flag 
)

Definition at line 1116 of file outliner_edit.cc.

References SpaceOutliner::tree.

Referenced by outliner_select_all_exec().

◆ outliner_flag_is_any_test()

int outliner_flag_is_any_test ( ListBase lb,
short  flag,
int  curlevel 
)

◆ outliner_flag_set() [1/2]

bool outliner_flag_set ( const ListBase lb,
short  flag,
short  set 
)

◆ outliner_flag_set() [2/2]

bool outliner_flag_set ( const SpaceOutliner space_outliner,
short  flag,
short  set 
)

◆ outliner_free_tree()

void outliner_free_tree ( ListBase tree)

◆ outliner_free_tree_element()

void outliner_free_tree_element ( TreeElement element,
ListBase parent_subtree 
)

Free element and its sub-tree and remove its link in parent_subtree.

Note
Does not remove the TreeStoreElem of element!
Parameters
parent_subtreeSub-tree of the parent element, so the list containing element.

Definition at line 198 of file outliner_tree.cc.

References BLI_assert, BLI_findindex(), BLI_remlink(), element, MEM_freeN, outliner_free_tree(), and TE_FREE_NAME.

Referenced by blender::ed::outliner::TreeDisplayOverrideLibraryHierarchies::buildTree(), outliner_extract_children_from_subtree(), outliner_filter_subtree(), and outliner_free_tree().

◆ outliner_has_element_warnings()

bool outliner_has_element_warnings ( const SpaceOutliner space_outliner)

Iterate over the entire tree (including collapsed sub-elements), probing if any of the elements has a warning to be displayed.

Definition at line 29 of file outliner_query.cc.

References bool, LISTBASE_FOREACH, and SpaceOutliner::tree.

Referenced by draw_outliner().

◆ outliner_is_co_within_mode_column()

bool outliner_is_co_within_mode_column ( SpaceOutliner space_outliner,
const float  view_mval[2] 
)

◆ outliner_is_collection_tree_element()

bool outliner_is_collection_tree_element ( const TreeElement te)

◆ outliner_is_element_in_view()

bool outliner_is_element_in_view ( const TreeElement te,
const struct View2D v2d 
)

Check if the element is displayed within the view bounds. Doesn't check if all parents are open/uncollapsed.

Referenced by outliner_draw_overrides_restrictbuts(), outliner_draw_overrides_rna_buts(), outliner_draw_rnabuts(), and outliner_draw_userbuts().

◆ outliner_is_element_visible()

bool outliner_is_element_visible ( const TreeElement te)

Find if element is visible in the outliner tree, i.e. if all of its parents are expanded. Doesn't check if the item is in view-bounds, for that use outliner_is_element_in_view().

Definition at line 388 of file outliner_utils.cc.

References TreeStoreElem::flag, TreeElement::parent, TREESTORE, and TSE_CLOSED.

Referenced by do_outliner_range_select(), and find_walk_select_start_element().

◆ outliner_item_is_co_over_icon()

bool outliner_item_is_co_over_icon ( const TreeElement te,
float  view_co_x 
)

Definition at line 419 of file outliner_utils.cc.

References UI_UNIT_X, and TreeElement::xs.

Referenced by outliner_find_item_at_x_in_row().

◆ outliner_item_is_co_over_name()

bool outliner_item_is_co_over_name ( const TreeElement te,
float  view_co_x 
)

Find if x coordinate is over element name.

Definition at line 424 of file outliner_utils.cc.

References UI_UNIT_X, TreeElement::xend, and TreeElement::xs.

Referenced by outliner_item_rename_find_hovered().

◆ outliner_item_is_co_over_name_icons()

bool outliner_item_is_co_over_name_icons ( const TreeElement te,
float  view_co_x 
)

Find if x coordinate is over an icon or name.

Definition at line 409 of file outliner_utils.cc.

References TREESTORE, TSE_VIEW_COLLECTION_BASE, UI_UNIT_X, TreeElement::xend, and TreeElement::xs.

Referenced by outliner_box_select_invoke(), and outliner_item_do_activate_from_cursor().

◆ outliner_item_is_co_within_close_toggle()

bool outliner_item_is_co_within_close_toggle ( const TreeElement te,
float  view_co_x 
)

Find if x coordinate is over element disclosure toggle.

Definition at line 429 of file outliner_utils.cc.

References UI_UNIT_X, and TreeElement::xs.

Referenced by outliner_item_do_activate_from_cursor(), outliner_item_drag_drop_invoke(), and outliner_item_openclose_invoke().

◆ outliner_item_mode_toggle()

void outliner_item_mode_toggle ( struct bContext C,
TreeViewContext tvc,
TreeElement te,
bool  do_extend 
)

◆ outliner_item_openclose()

void outliner_item_openclose ( TreeElement te,
bool  open,
bool  toggle_all 
)

◆ outliner_item_select()

void outliner_item_select ( struct bContext C,
struct SpaceOutliner space_outliner,
struct TreeElement te,
short  select_flag 
)

◆ outliner_keymap()

void outliner_keymap ( struct wmKeyConfig keyconf)

Definition at line 100 of file outliner_ops.cc.

References SPACE_OUTLINER, and WM_keymap_ensure().

Referenced by ED_spacetype_outliner().

◆ outliner_operatortypes()

void outliner_operatortypes ( void  )

Definition at line 18 of file outliner_ops.cc.

References OUTLINER_OT_action_set(), OUTLINER_OT_animdata_operation(), OUTLINER_OT_collection_color_tag_set(), OUTLINER_OT_collection_disable(), OUTLINER_OT_collection_disable_render(), OUTLINER_OT_collection_drop(), OUTLINER_OT_collection_duplicate(), OUTLINER_OT_collection_duplicate_linked(), OUTLINER_OT_collection_enable(), OUTLINER_OT_collection_enable_render(), OUTLINER_OT_collection_exclude_clear(), OUTLINER_OT_collection_exclude_set(), OUTLINER_OT_collection_hide(), OUTLINER_OT_collection_hide_inside(), OUTLINER_OT_collection_hierarchy_delete(), OUTLINER_OT_collection_holdout_clear(), OUTLINER_OT_collection_holdout_set(), OUTLINER_OT_collection_indirect_only_clear(), OUTLINER_OT_collection_indirect_only_set(), OUTLINER_OT_collection_instance(), OUTLINER_OT_collection_isolate(), OUTLINER_OT_collection_link(), OUTLINER_OT_collection_new(), OUTLINER_OT_collection_objects_deselect(), OUTLINER_OT_collection_objects_select(), OUTLINER_OT_collection_show(), OUTLINER_OT_collection_show_inside(), OUTLINER_OT_constraint_operation(), OUTLINER_OT_data_operation(), OUTLINER_OT_datastack_drop(), OUTLINER_OT_delete(), OUTLINER_OT_drivers_add_selected(), OUTLINER_OT_drivers_delete_selected(), OUTLINER_OT_expanded_toggle(), OUTLINER_OT_hide(), OUTLINER_OT_highlight_update(), OUTLINER_OT_id_copy(), OUTLINER_OT_id_delete(), OUTLINER_OT_id_operation(), OUTLINER_OT_id_paste(), OUTLINER_OT_id_remap(), OUTLINER_OT_item_activate(), OUTLINER_OT_item_drag_drop(), OUTLINER_OT_item_openclose(), OUTLINER_OT_item_rename(), OUTLINER_OT_keyingset_add_selected(), OUTLINER_OT_keyingset_remove_selected(), OUTLINER_OT_lib_operation(), OUTLINER_OT_lib_relocate(), OUTLINER_OT_liboverride_operation(), OUTLINER_OT_liboverride_troubleshoot_operation(), OUTLINER_OT_material_drop(), OUTLINER_OT_modifier_operation(), OUTLINER_OT_object_operation(), OUTLINER_OT_operation(), OUTLINER_OT_orphans_purge(), OUTLINER_OT_parent_clear(), OUTLINER_OT_parent_drop(), OUTLINER_OT_scene_drop(), OUTLINER_OT_scene_operation(), OUTLINER_OT_scroll_page(), OUTLINER_OT_select_all(), OUTLINER_OT_select_box(), OUTLINER_OT_select_walk(), OUTLINER_OT_show_active(), OUTLINER_OT_show_hierarchy(), OUTLINER_OT_show_one_level(), OUTLINER_OT_unhide_all(), and WM_operatortype_append().

Referenced by ED_spacetype_outliner().

◆ OUTLINER_OT_action_set()

void OUTLINER_OT_action_set ( struct wmOperatorType ot)

◆ OUTLINER_OT_animdata_operation()

void OUTLINER_OT_animdata_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_color_tag_set()

void OUTLINER_OT_collection_color_tag_set ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_disable()

void OUTLINER_OT_collection_disable ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_disable_render()

void OUTLINER_OT_collection_disable_render ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_drop()

void OUTLINER_OT_collection_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_duplicate()

void OUTLINER_OT_collection_duplicate ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_duplicate_linked()

void OUTLINER_OT_collection_duplicate_linked ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_enable()

void OUTLINER_OT_collection_enable ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_enable_render()

void OUTLINER_OT_collection_enable_render ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_exclude_clear()

void OUTLINER_OT_collection_exclude_clear ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_exclude_set()

void OUTLINER_OT_collection_exclude_set ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_hide()

void OUTLINER_OT_collection_hide ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_hide_inside()

void OUTLINER_OT_collection_hide_inside ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_hierarchy_delete()

void OUTLINER_OT_collection_hierarchy_delete ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_holdout_clear()

void OUTLINER_OT_collection_holdout_clear ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_holdout_set()

void OUTLINER_OT_collection_holdout_set ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_indirect_only_clear()

void OUTLINER_OT_collection_indirect_only_clear ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_indirect_only_set()

void OUTLINER_OT_collection_indirect_only_set ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_instance()

void OUTLINER_OT_collection_instance ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_isolate()

void OUTLINER_OT_collection_isolate ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_link()

void OUTLINER_OT_collection_link ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_new()

void OUTLINER_OT_collection_new ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_objects_deselect()

void OUTLINER_OT_collection_objects_deselect ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_objects_select()

void OUTLINER_OT_collection_objects_select ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_show()

void OUTLINER_OT_collection_show ( struct wmOperatorType ot)

◆ OUTLINER_OT_collection_show_inside()

void OUTLINER_OT_collection_show_inside ( struct wmOperatorType ot)

◆ OUTLINER_OT_constraint_operation()

void OUTLINER_OT_constraint_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_data_operation()

void OUTLINER_OT_data_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_datastack_drop()

void OUTLINER_OT_datastack_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_delete()

void OUTLINER_OT_delete ( struct wmOperatorType ot)

◆ OUTLINER_OT_drivers_add_selected()

void OUTLINER_OT_drivers_add_selected ( struct wmOperatorType ot)

◆ OUTLINER_OT_drivers_delete_selected()

void OUTLINER_OT_drivers_delete_selected ( struct wmOperatorType ot)

◆ OUTLINER_OT_expanded_toggle()

void OUTLINER_OT_expanded_toggle ( struct wmOperatorType ot)

◆ OUTLINER_OT_hide()

void OUTLINER_OT_hide ( struct wmOperatorType ot)

◆ OUTLINER_OT_highlight_update()

void OUTLINER_OT_highlight_update ( struct wmOperatorType ot)

◆ OUTLINER_OT_id_copy()

void OUTLINER_OT_id_copy ( struct wmOperatorType ot)

◆ OUTLINER_OT_id_delete()

void OUTLINER_OT_id_delete ( struct wmOperatorType ot)

◆ OUTLINER_OT_id_operation()

void OUTLINER_OT_id_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_id_paste()

void OUTLINER_OT_id_paste ( struct wmOperatorType ot)

◆ OUTLINER_OT_id_remap()

void OUTLINER_OT_id_remap ( struct wmOperatorType ot)

◆ OUTLINER_OT_item_activate()

void OUTLINER_OT_item_activate ( struct wmOperatorType ot)

◆ OUTLINER_OT_item_drag_drop()

void OUTLINER_OT_item_drag_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_item_openclose()

void OUTLINER_OT_item_openclose ( struct wmOperatorType ot)

◆ OUTLINER_OT_item_rename()

void OUTLINER_OT_item_rename ( struct wmOperatorType ot)

◆ OUTLINER_OT_keyingset_add_selected()

void OUTLINER_OT_keyingset_add_selected ( struct wmOperatorType ot)

◆ OUTLINER_OT_keyingset_remove_selected()

void OUTLINER_OT_keyingset_remove_selected ( struct wmOperatorType ot)

◆ OUTLINER_OT_lib_operation()

void OUTLINER_OT_lib_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_lib_reload()

void OUTLINER_OT_lib_reload ( struct wmOperatorType ot)

◆ OUTLINER_OT_lib_relocate()

void OUTLINER_OT_lib_relocate ( struct wmOperatorType ot)

◆ OUTLINER_OT_liboverride_operation()

void OUTLINER_OT_liboverride_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_liboverride_troubleshoot_operation()

void OUTLINER_OT_liboverride_troubleshoot_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_material_drop()

void OUTLINER_OT_material_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_modifier_operation()

void OUTLINER_OT_modifier_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_object_operation()

void OUTLINER_OT_object_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_operation()

void OUTLINER_OT_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_orphans_purge()

void OUTLINER_OT_orphans_purge ( struct wmOperatorType ot)

◆ OUTLINER_OT_parent_clear()

void OUTLINER_OT_parent_clear ( struct wmOperatorType ot)

◆ OUTLINER_OT_parent_drop()

void OUTLINER_OT_parent_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_scene_drop()

void OUTLINER_OT_scene_drop ( struct wmOperatorType ot)

◆ OUTLINER_OT_scene_operation()

void OUTLINER_OT_scene_operation ( struct wmOperatorType ot)

◆ OUTLINER_OT_scroll_page()

void OUTLINER_OT_scroll_page ( struct wmOperatorType ot)

◆ OUTLINER_OT_select_all()

void OUTLINER_OT_select_all ( struct wmOperatorType ot)

◆ OUTLINER_OT_select_box()

void OUTLINER_OT_select_box ( struct wmOperatorType ot)

◆ OUTLINER_OT_select_walk()

void OUTLINER_OT_select_walk ( struct wmOperatorType ot)

◆ OUTLINER_OT_show_active()

void OUTLINER_OT_show_active ( struct wmOperatorType ot)

◆ OUTLINER_OT_show_hierarchy()

void OUTLINER_OT_show_hierarchy ( struct wmOperatorType ot)

◆ OUTLINER_OT_show_one_level()

void OUTLINER_OT_show_one_level ( struct wmOperatorType ot)

◆ OUTLINER_OT_unhide_all()

void OUTLINER_OT_unhide_all ( struct wmOperatorType ot)

◆ outliner_requires_rebuild_on_select_or_active_change()

bool outliner_requires_rebuild_on_select_or_active_change ( const struct SpaceOutliner space_outliner)

◆ outliner_right_columns_width()

float outliner_right_columns_width ( const struct SpaceOutliner space_outliner)

◆ outliner_scroll_view()

void outliner_scroll_view ( struct SpaceOutliner space_outliner,
struct ARegion region,
int  delta_y 
)

Scroll view vertically while keeping within total bounds.

Definition at line 434 of file outliner_utils.cc.

References View2D::cur, MIN2, offset, outliner_tree_dimensions(), UI_UNIT_Y, ARegion::v2d, rctf::ymax, and rctf::ymin.

Referenced by outliner_item_rename(), outliner_scroll_page_exec(), outliner_show_active_exec(), and outliner_walk_scroll().

◆ outliner_search_back()

struct ID* outliner_search_back ( TreeElement te,
short  idcode 
)

◆ outliner_search_back_te()

TreeElement* outliner_search_back_te ( TreeElement te,
short  idcode 
)

◆ outliner_set_coordinates()

void outliner_set_coordinates ( const struct ARegion region,
const struct SpaceOutliner space_outliner 
)

To retrieve coordinates with redrawing the entire tree.

◆ outliner_shows_mode_column()

bool outliner_shows_mode_column ( const SpaceOutliner space_outliner)

◆ outliner_sync_selection()

void outliner_sync_selection ( const struct bContext C,
struct SpaceOutliner space_outliner 
)

If outliner is dirty sync selection from view layer and sequencer.

Referenced by draw_outliner().

◆ outliner_tag_redraw_avoid_rebuild_on_open_change()

void outliner_tag_redraw_avoid_rebuild_on_open_change ( const struct SpaceOutliner space_outliner,
struct ARegion region 
)

The outliner should generally use ED_region_tag_redraw_no_rebuild() to avoid unnecessary tree rebuilds. If elements are open or closed, we may still have to rebuild. Upon changing the open/closed state, call this to avoid rebuilds if possible.

Referenced by outliner_item_openclose_invoke(), outliner_item_openclose_modal(), and outliner_walk_select_invoke().

◆ outliner_tree_dimensions()

void outliner_tree_dimensions ( struct SpaceOutliner space_outliner,
int *  r_width,
int *  r_height 
)

Definition at line 105 of file outliner_draw.cc.

References outliner_tree_dimensions_impl(), and SpaceOutliner::tree.

Referenced by draw_outliner(), and outliner_scroll_view().

◆ outliner_tree_traverse()

bool outliner_tree_traverse ( const SpaceOutliner space_outliner,
ListBase tree,
int  filter_te_flag,
int  filter_tselem_flag,
TreeTraversalFunc  func,
void customdata 
)

Iterate over all tree elements (pre-order traversal), executing func callback for each tree element matching the optional filters.

Parameters
filter_te_flagIf not 0, only TreeElements with this flag will be visited.
filter_tselem_flagSame as filter_te_flag, but for the TreeStoreElem.
funcCustom callback to execute for each visited item.

Definition at line 281 of file outliner_utils.cc.

References TreeStoreElem::flag, outliner_tree_traverse(), TRAVERSE_BREAK, TRAVERSE_CONTINUE, TRAVERSE_SKIP_CHILDS, tree, and TREESTORE.

Referenced by collection_flag_exec(), collection_instance_exec(), collection_isolate_exec(), collection_link_exec(), collection_new_exec(), collection_view_layer_exec(), collection_visibility_exec(), collections_view_layer_poll(), ED_outliner_selected_objects_get(), outliner_active_collection(), outliner_active_layer_collection(), outliner_collection_delete(), outliner_color_tag_set_exec(), outliner_delete_exec(), outliner_hide_exec(), outliner_item_drag_drop_invoke(), and outliner_tree_traverse().

◆ outliner_viewcontext_init()

void outliner_viewcontext_init ( const struct bContext C,
TreeViewContext tvc 
)

◆ tree_element_activate()

void tree_element_activate ( struct bContext C,
const TreeViewContext tvc,
TreeElement te,
eOLSetState  set,
bool  handle_all_types 
)

Generic call for ID data check or make/check active in UI.

Note
ID_OB only if handle_all_type is true, else objects are handled specially to allow multiple selection. See #do_outliner_item_activate.

Definition at line 753 of file outliner_select.cc.

References C, ID_CA, ID_MA, ID_OB, ID_TXT, ID_WO, TreeElement::idcode, TreeViewContext::scene, tree_element_camera_activate(), tree_element_material_activate(), tree_element_object_activate(), tree_element_text_activate(), tree_element_world_activate(), and TreeViewContext::view_layer.

Referenced by do_outliner_item_activate_tree_element(), and namebutton_fn().

◆ tree_element_active_state_get()

eOLDrawState tree_element_active_state_get ( const TreeViewContext tvc,
const TreeElement te,
const TreeStoreElem tselem 
)

◆ tree_element_get_icon()

TreeElementIcon tree_element_get_icon ( TreeStoreElem tselem,
TreeElement te 
)

Definition at line 2496 of file outliner_draw.cc.

References TreeElement::abstract_element, BKE_modifier_get_info(), BLI_findlink(), COLLECTION_IS_MASTER, CONSTRAINT_TYPE_ACTION, CONSTRAINT_TYPE_ARMATURE, CONSTRAINT_TYPE_CAMERASOLVER, CONSTRAINT_TYPE_CHILDOF, CONSTRAINT_TYPE_CLAMPTO, CONSTRAINT_TYPE_DAMPTRACK, CONSTRAINT_TYPE_DISTLIMIT, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_FOLLOWTRACK, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_LOCKTRACK, CONSTRAINT_TYPE_LOCLIKE, CONSTRAINT_TYPE_LOCLIMIT, CONSTRAINT_TYPE_MINMAX, CONSTRAINT_TYPE_OBJECTSOLVER, CONSTRAINT_TYPE_PIVOT, CONSTRAINT_TYPE_ROTLIKE, CONSTRAINT_TYPE_ROTLIMIT, CONSTRAINT_TYPE_SAMEVOL, CONSTRAINT_TYPE_SHRINKWRAP, CONSTRAINT_TYPE_SIZELIKE, CONSTRAINT_TYPE_SIZELIMIT, CONSTRAINT_TYPE_SPLINEIK, CONSTRAINT_TYPE_STRETCHTO, CONSTRAINT_TYPE_TRACKTO, CONSTRAINT_TYPE_TRANSFORM, CONSTRAINT_TYPE_TRANSFORM_CACHE, CONSTRAINT_TYPE_TRANSLIKE, data, PointerRNA::data, TreeElement::directdata, eGpencilModifierType_Armature, eGpencilModifierType_Array, eGpencilModifierType_Build, eGpencilModifierType_Color, eGpencilModifierType_Hook, eGpencilModifierType_Lattice, eGpencilModifierType_Mirror, eGpencilModifierType_Multiply, eGpencilModifierType_Noise, eGpencilModifierType_Offset, eGpencilModifierType_Opacity, eGpencilModifierType_Shrinkwrap, eGpencilModifierType_Simplify, eGpencilModifierType_Smooth, eGpencilModifierType_Subdiv, eGpencilModifierType_Texture, eGpencilModifierType_Thick, eGpencilModifierType_Time, eGpencilModifierType_Tint, eGpencilModifierType_WeightAngle, eGpencilModifierType_WeightProximity, Collection::flag, blender::ed::outliner::TreeElementRNACommon::getPointerRNA(), Object::greasepencil_modifiers, ModifierTypeInfo::icon, blender::ed::outliner::TreeElementOverridesBase::id, TreeStoreElem::id, TreeElement::idcode, if(), Object::modifiers, TreeStoreElem::nr, OB_GPENCIL, outliner_collection_from_tree_element(), TreeElement::parent, ptr, RNA_struct_is_ID(), RNA_struct_ui_icon(), SEQ_TYPE_ADD, SEQ_TYPE_ADJUSTMENT, SEQ_TYPE_ALPHAOVER, SEQ_TYPE_ALPHAUNDER, SEQ_TYPE_COLOR, SEQ_TYPE_COLORMIX, SEQ_TYPE_CROSS, SEQ_TYPE_GAMCROSS, SEQ_TYPE_GAUSSIAN_BLUR, SEQ_TYPE_GLOW, SEQ_TYPE_IMAGE, SEQ_TYPE_MASK, SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_MUL, SEQ_TYPE_MULTICAM, SEQ_TYPE_OVERDROP, SEQ_TYPE_SCENE, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SPEED, SEQ_TYPE_SUB, SEQ_TYPE_TEXT, SEQ_TYPE_TRANSFORM, SEQ_TYPE_WIPE, tree_element_get_icon_from_id(), TREESTORE, TSE_ANIM_DATA, TSE_BONE, TSE_CONSTRAINT, TSE_CONSTRAINT_BASE, TSE_DEFGROUP, TSE_DEFGROUP_BASE, TSE_DRIVER_BASE, TSE_EBONE, TSE_GP_LAYER, TSE_GPENCIL_EFFECT, TSE_GPENCIL_EFFECT_BASE, TSE_LAYER_COLLECTION, TSE_LIBRARY_OVERRIDE, TSE_LIBRARY_OVERRIDE_BASE, TSE_LINKED_OB, TSE_LINKED_PSYS, TSE_MODIFIER, TSE_MODIFIER_BASE, TSE_NLA, TSE_NLA_ACTION, TSE_NLA_TRACK, TSE_POSE_BASE, TSE_POSE_CHANNEL, TSE_POSEGRP, TSE_POSEGRP_BASE, TSE_R_LAYER, TSE_R_LAYER_BASE, TSE_RNA_STRUCT, TSE_SCENE_COLLECTION_BASE, TSE_SCENE_OBJECTS_BASE, TSE_SEQ_STRIP, TSE_SEQUENCE, TSE_SEQUENCE_DUP, TSE_SOME_ID, TSE_VIEW_COLLECTION_BASE, bConstraint::type, GpencilModifierData::type, ModifierData::type, Object::type, TreeStoreElem::type, and PointerRNA::type.

Referenced by merged_element_search_fn_recursive(), outliner_item_drag_drop_invoke(), and tselem_draw_icon().

◆ tree_element_id_type_to_index()

int tree_element_id_type_to_index ( TreeElement te)

Return the index to use based on the TreeElement ID and object type

We use a continuum of indices until we get to the object data-blocks and we then make room for the object types.

Definition at line 3069 of file outliner_draw.cc.

References BKE_idtype_idcode_to_index(), TreeStoreElem::id, TreeElement::idcode, INDEX_ID_GR, INDEX_ID_OB, OB_TYPE_MAX, TREESTORE, TSE_SOME_ID, Object::type, and TreeStoreElem::type.

Referenced by merged_element_search_fn_recursive(), merged_element_search_update_fn(), and outliner_draw_iconrow().

◆ tree_element_type_active_set()

void tree_element_type_active_set ( struct bContext C,
const TreeViewContext tvc,
TreeElement te,
TreeStoreElem tselem,
eOLSetState  set,
bool  recursive 
)

◆ tree_element_type_active_state_get()

eOLDrawState tree_element_type_active_state_get ( const struct bContext C,
const struct TreeViewContext tvc,
const TreeElement te,
const TreeStoreElem tselem 
)

Generic call for non-id data to check the active state in UI.

Referenced by outliner_draw_iconrow(), and outliner_draw_tree_element().