diff options
Diffstat (limited to 'source/blender/editors/space_outliner/outliner_intern.h')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_intern.h | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h index f2b64bc2a4b..b590eb75407 100644 --- a/source/blender/editors/space_outliner/outliner_intern.h +++ b/source/blender/editors/space_outliner/outliner_intern.h @@ -163,8 +163,7 @@ typedef enum { #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 * 3.0f + V2D_SCROLL_WIDTH) -#define OL_TOG_USER_BUTS_FAKEUSER (UI_UNIT_X + 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) @@ -216,6 +215,16 @@ typedef struct TreeViewContext { Object *ob_pose; } TreeViewContext; +typedef enum TreeItemSelectAction { + OL_ITEM_DESELECT = 0, /* Deselect the item */ + OL_ITEM_SELECT = (1 << 0), /* Select the item */ + OL_ITEM_SELECT_DATA = (1 << 1), /* Select object data */ + OL_ITEM_ACTIVATE = (1 << 2), /* Activate the item */ + OL_ITEM_EXTEND = (1 << 3), /* Extend the current selection */ + OL_ITEM_RECURSIVE = (1 << 4), /* Select recursively */ + OL_ITEM_TOGGLE_MODE = (1 << 5) /* Temporary */ +} TreeItemSelectAction; + /* outliner_tree.c ----------------------------------------------- */ void outliner_free_tree(ListBase *tree); @@ -228,6 +237,8 @@ void outliner_build_tree(struct Main *mainvar, struct SpaceOutliner *soops, struct ARegion *region); +bool outliner_element_needs_rebuild_on_open_change(const TreeStoreElem *tselem); + typedef struct IDsSelectedData { struct ListBase selected_array; } IDsSelectedData; @@ -266,21 +277,16 @@ eOLDrawState tree_element_active(struct bContext *C, const eOLSetState set, const bool handle_all_types); -void outliner_item_do_activate_from_tree_element( - struct bContext *C, TreeElement *te, TreeStoreElem *tselem, bool extend, bool recursive); - -void outliner_item_select(struct SpaceOutliner *soops, - const struct TreeElement *te, - const bool extend, - const bool toggle); +void outliner_item_select(struct bContext *C, + struct SpaceOutliner *soops, + struct TreeElement *te, + const short select_flag); void outliner_object_mode_toggle(struct bContext *C, Scene *scene, ViewLayer *view_layer, Base *base); -void outliner_element_activate(struct SpaceOutliner *soops, struct TreeStoreElem *tselem); - bool outliner_item_is_co_over_name_icons(const TreeElement *te, float view_co_x); bool outliner_item_is_co_within_close_toggle(const TreeElement *te, float view_co_x); @@ -495,6 +501,7 @@ TreeElement *outliner_find_parent_element(ListBase *lb, TreeElement *outliner_find_id(struct SpaceOutliner *soops, ListBase *lb, const struct ID *id); TreeElement *outliner_find_posechannel(ListBase *lb, const struct bPoseChannel *pchan); TreeElement *outliner_find_editbone(ListBase *lb, const struct EditBone *ebone); +TreeElement *outliner_search_back_te(TreeElement *te, short idcode); struct ID *outliner_search_back(TreeElement *te, short idcode); bool outliner_tree_traverse(const SpaceOutliner *soops, ListBase *tree, |