Blender V4.3
outliner_edit.cc File Reference
#include <cstring>
#include <iostream>
#include <ostream>
#include <fmt/format.h>
#include "MEM_guardedalloc.h"
#include "DNA_ID.h"
#include "DNA_anim_types.h"
#include "DNA_collection_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"
#include "BLI_dynstr.h"
#include "BLI_path_utils.hh"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "BLF_api.hh"
#include "BKE_action.hh"
#include "BKE_animsys.h"
#include "BKE_appdir.hh"
#include "BKE_armature.hh"
#include "BKE_blender_copybuffer.hh"
#include "BKE_blendfile.hh"
#include "BKE_context.hh"
#include "BKE_idtype.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_override.hh"
#include "BKE_lib_query.hh"
#include "BKE_lib_remap.hh"
#include "BKE_main.hh"
#include "BKE_object.hh"
#include "BKE_report.hh"
#include "BKE_screen.hh"
#include "BKE_workspace.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "ED_keyframing.hh"
#include "ED_outliner.hh"
#include "ED_screen.hh"
#include "ED_select_utils.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_interface.hh"
#include "UI_view2d.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_path.hh"
#include "GPU_material.hh"
#include "outliner_intern.hh"
#include "tree/tree_element_rna.hh"
#include "tree/tree_iterator.hh"
#include "wm_window.hh"

Go to the source code of this file.

Classes

struct  blender::ed::outliner::OpenCloseData
 

Namespaces

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

Functions

View Show Active (Outliner) Operator
static void blender::ed::outliner::outliner_show_active (SpaceOutliner *space_outliner, ARegion *region, TreeElement *te, ID *id)
 
void blender::ed::outliner::outliner_set_coordinates (const ARegion *region, const SpaceOutliner *space_outliner)
 
static int blender::ed::outliner::outliner_open_back (TreeElement *te)
 
static TreeElementblender::ed::outliner::outliner_show_active_get_element (bContext *C, SpaceOutliner *space_outliner, const Scene *scene, ViewLayer *view_layer)
 
static int blender::ed::outliner::outliner_show_active_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_show_active (wmOperatorType *ot)
 
Local Utilities
static void blender::ed::outliner::outliner_copybuffer_filepath_get (char filepath[FILE_MAX], size_t filepath_maxncpy)
 
Highlight on Cursor Motion Operator
static int blender::ed::outliner::outliner_highlight_update_invoke (bContext *C, wmOperator *, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_highlight_update (wmOperatorType *ot)
 
Toggle Open/Closed Operator
void blender::ed::outliner::outliner_item_openclose (TreeElement *te, bool open, bool toggle_all)
 
static int blender::ed::outliner::outliner_item_openclose_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int blender::ed::outliner::outliner_item_openclose_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_item_openclose (wmOperatorType *ot)
 
Rename Operator
static void blender::ed::outliner::do_item_rename (ARegion *region, TreeElement *te, TreeStoreElem *tselem, ReportList *reports)
 
void blender::ed::outliner::item_rename_fn (bContext *C, ReportList *reports, Scene *, TreeElement *te, TreeStoreElem *, TreeStoreElem *tselem)
 
static TreeElementblender::ed::outliner::outliner_item_rename_find_active (const SpaceOutliner *space_outliner, ReportList *reports)
 
static TreeElementblender::ed::outliner::outliner_item_rename_find_hovered (const SpaceOutliner *space_outliner, ARegion *region, const wmEvent *event)
 
static int blender::ed::outliner::outliner_item_rename_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_item_rename (wmOperatorType *ot)
 
ID Delete Operator
static void blender::ed::outliner::id_delete_tag (bContext *C, ReportList *reports, TreeElement *te, TreeStoreElem *tselem)
 
void blender::ed::outliner::id_delete_tag_fn (bContext *C, ReportList *reports, Scene *, TreeElement *te, TreeStoreElem *, TreeStoreElem *tselem)
 
static int blender::ed::outliner::outliner_id_delete_tag (bContext *C, ReportList *reports, TreeElement *te, const float mval[2])
 
static int blender::ed::outliner::outliner_id_delete_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_id_delete (wmOperatorType *ot)
 
ID Remap Operator
static int blender::ed::outliner::outliner_id_remap_exec (bContext *C, wmOperator *op)
 
static bool blender::ed::outliner::outliner_id_remap_find_tree_element (bContext *C, wmOperator *op, ListBase *tree, const float y)
 
static int blender::ed::outliner::outliner_id_remap_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static const EnumPropertyItemblender::ed::outliner::outliner_id_itemf (bContext *C, PointerRNA *ptr, PropertyRNA *, bool *r_free)
 
void blender::ed::outliner::OUTLINER_OT_id_remap (wmOperatorType *ot)
 
void blender::ed::outliner::id_remap_fn (bContext *C, ReportList *, Scene *, TreeElement *, TreeStoreElem *, TreeStoreElem *tselem)
 
ID Copy Operator
static int blender::ed::outliner::outliner_id_copy_tag (SpaceOutliner *space_outliner, ListBase *tree, blender::bke::blendfile::PartialWriteContext &copybuffer)
 
static int blender::ed::outliner::outliner_id_copy_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_id_copy (wmOperatorType *ot)
 
ID Paste Operator
static int blender::ed::outliner::outliner_id_paste_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_id_paste (wmOperatorType *ot)
 
Library Relocate Operator
static int blender::ed::outliner::lib_relocate (bContext *C, TreeElement *te, TreeStoreElem *tselem, wmOperatorType *ot, const bool reload)
 
static int blender::ed::outliner::outliner_lib_relocate_invoke_do (bContext *C, ReportList *reports, TreeElement *te, const float mval[2], const bool reload)
 
static int blender::ed::outliner::outliner_lib_relocate_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_lib_relocate (wmOperatorType *ot)
 
void blender::ed::outliner::lib_relocate_fn (bContext *C, ReportList *, Scene *, TreeElement *te, TreeStoreElem *, TreeStoreElem *tselem)
 
static int blender::ed::outliner::outliner_lib_reload_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
Library Reload Operator
void blender::ed::outliner::OUTLINER_OT_lib_reload (wmOperatorType *ot)
 
void blender::ed::outliner::lib_reload_fn (bContext *C, ReportList *, Scene *, TreeElement *te, TreeStoreElem *, TreeStoreElem *tselem)
 
Apply Settings Utilities
static int blender::ed::outliner::outliner_count_levels (ListBase *lb, const int curlevel)
 
int blender::ed::outliner::outliner_flag_is_any_test (ListBase *lb, short flag, const int curlevel)
 
bool blender::ed::outliner::outliner_flag_set (const SpaceOutliner &space_outliner, const short flag, const short set)
 
bool blender::ed::outliner::outliner_flag_set (const ListBase &lb, const short flag, const short set)
 
bool blender::ed::outliner::outliner_flag_flip (const SpaceOutliner &space_outliner, const short flag)
 
bool blender::ed::outliner::outliner_flag_flip (const ListBase &lb, const short flag)
 
Toggle Expanded (Outliner) Operator
static int blender::ed::outliner::outliner_toggle_expanded_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_expanded_toggle (wmOperatorType *ot)
 
Toggle Selected (Outliner) Operator
static int blender::ed::outliner::outliner_select_all_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_select_all (wmOperatorType *ot)
 
Start / Clear Search Filter Operators
static int blender::ed::outliner::outliner_start_filter_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_start_filter (wmOperatorType *ot)
 
static int blender::ed::outliner::outliner_clear_filter_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_clear_filter (wmOperatorType *ot)
 
View Panning (Outliner) Operator
static int blender::ed::outliner::outliner_scroll_page_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_scroll_page (wmOperatorType *ot)
 
Show One Level Operator
static void blender::ed::outliner::outliner_openclose_level (ListBase *lb, int curlevel, int level, int open)
 
static int blender::ed::outliner::outliner_one_level_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_show_one_level (wmOperatorType *ot)
 
Show Hierarchy Operator
static int blender::ed::outliner::subtree_has_objects (ListBase *lb)
 
static void blender::ed::outliner::tree_element_show_hierarchy (Scene *scene, SpaceOutliner *space_outliner)
 
static int blender::ed::outliner::outliner_show_hierarchy_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_show_hierarchy (wmOperatorType *ot)
 
Animation Internal Utilities
static bool blender::ed::outliner::ed_operator_outliner_datablocks_active (bContext *C)
 
static void blender::ed::outliner::tree_element_to_path (TreeElement *te, TreeStoreElem *tselem, ID **id, char **path, int *array_index, short *flag, short *)
 
Driver Add Operator
static int blender::ed::outliner::outliner_drivers_addsel_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_drivers_add_selected (wmOperatorType *ot)
 
Driver Remove Operator
static int blender::ed::outliner::outliner_drivers_deletesel_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_drivers_delete_selected (wmOperatorType *ot)
 
Keying-Set Add Operator
static int blender::ed::outliner::outliner_keyingset_additems_exec (bContext *C, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_keyingset_add_selected (wmOperatorType *ot)
 
Keying-Set Remove Operator
static int blender::ed::outliner::outliner_keyingset_removeitems_exec (bContext *C, wmOperator *)
 
void blender::ed::outliner::OUTLINER_OT_keyingset_remove_selected (wmOperatorType *ot)
 
Purge Orphan Data-Blocks Operator
static bool blender::ed::outliner::ed_operator_outliner_id_orphans_active (bContext *C)
 
static void blender::ed::outliner::unused_message_gen (std::string &message, const std::array< int, INDEX_ID_MAX > &num_tagged)
 
static int blender::ed::outliner::unused_message_popup_width_compute (bContext *C)
 
static void blender::ed::outliner::outliner_orphans_purge_cleanup (wmOperator *op)
 
static bool blender::ed::outliner::outliner_orphans_purge_check (bContext *C, wmOperator *op)
 
static int blender::ed::outliner::outliner_orphans_purge_invoke (bContext *C, wmOperator *op, const wmEvent *)
 
static int blender::ed::outliner::outliner_orphans_purge_exec (bContext *C, wmOperator *op)
 
static void blender::ed::outliner::outliner_orphans_purge_cancel (bContext *, wmOperator *op)
 
static void blender::ed::outliner::outliner_orphans_purge_ui (bContext *, wmOperator *op)
 
void blender::ed::outliner::OUTLINER_OT_orphans_purge (wmOperatorType *ot)
 
Manage Orphan Data-Blocks Operator
static int blender::ed::outliner::outliner_orphans_manage_invoke (bContext *C, wmOperator *, const wmEvent *event)
 
void blender::ed::outliner::OUTLINER_OT_orphans_manage (wmOperatorType *ot)
 

Driver Internal Utilities

enum  { blender::ed::outliner::DRIVERS_EDITMODE_ADD = 0 , blender::ed::outliner::DRIVERS_EDITMODE_REMOVE }
 
static void blender::ed::outliner::do_outliner_drivers_editop (SpaceOutliner *space_outliner, ReportList *reports, short mode)
 

Keying-Set Internal Utilities

enum  { blender::ed::outliner::KEYINGSET_EDITMODE_ADD = 0 , blender::ed::outliner::KEYINGSET_EDITMODE_REMOVE }
 
static KeyingSetblender::ed::outliner::verify_active_keyingset (Scene *scene, short add)
 
static void blender::ed::outliner::do_outliner_keyingset_editop (SpaceOutliner *space_outliner, KeyingSet *ks, const short mode)