Blender V5.0
outliner_sync.cc File Reference
#include "DNA_armature_types.h"
#include "DNA_layer_types.h"
#include "DNA_outliner_types.h"
#include "DNA_screen_types.h"
#include "DNA_sequence_types.h"
#include "DNA_space_types.h"
#include "DNA_workspace_types.h"
#include "BLI_listbase.h"
#include "BKE_armature.hh"
#include "BKE_context.hh"
#include "BKE_layer.hh"
#include "BKE_main.hh"
#include "DEG_depsgraph.hh"
#include "ED_armature.hh"
#include "ED_object.hh"
#include "ED_outliner.hh"
#include "SEQ_select.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "ANIM_armature.hh"
#include "tree/tree_element_seq.hh"
#include "outliner_intern.hh"

Go to the source code of this file.

Classes

struct  blender::ed::outliner::SyncSelectTypes
struct  blender::ed::outliner::SelectedItems
struct  blender::ed::outliner::SyncSelectActiveData

Namespaces

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

Functions

void ED_outliner_select_sync_from_object_tag (bContext *C)
void ED_outliner_select_sync_from_edit_bone_tag (bContext *C)
void ED_outliner_select_sync_from_pose_bone_tag (bContext *C)
void ED_outliner_select_sync_from_sequence_tag (const bContext *C)
void ED_outliner_select_sync_from_all_tag (bContext *C)
bool ED_outliner_select_sync_is_dirty (const bContext *C)
void ED_outliner_select_sync_flag_outliners (const bContext *C)
static void blender::ed::outliner::outliner_sync_select_from_outliner_set_types (bContext *C, SpaceOutliner *space_outliner, SyncSelectTypes *sync_types)
static bool blender::ed::outliner::outliner_sync_select_to_outliner_set_types (const TreeViewContext &tvc, SpaceOutliner *space_outliner, SyncSelectTypes *sync_types)
static void blender::ed::outliner::outliner_select_sync_to_object (ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, Set< Base * > &selected_objects)
static void blender::ed::outliner::outliner_select_sync_to_edit_bone (const Scene *scene, ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, Set< EditBone * > &selected_ebones)
static void blender::ed::outliner::outliner_select_sync_to_pose_bone (TreeElement *te, TreeStoreElem *tselem, Set< bPoseChannel * > &selected_pbones)
static void blender::ed::outliner::outliner_select_sync_to_strip (WorkSpace *workspace, const TreeElement *te)
static void blender::ed::outliner::outliner_sync_selection_from_outliner (WorkSpace *workspace, Scene *scene, ViewLayer *view_layer, ListBase *tree, const SyncSelectTypes *sync_types, SelectedItems *selected_items)
void ED_outliner_select_sync_from_outliner (bContext *C, SpaceOutliner *space_outliner)
static void blender::ed::outliner::outliner_select_sync_from_object (const Scene *scene, ViewLayer *view_layer, Object *obact, TreeElement *te, TreeStoreElem *tselem)
static void blender::ed::outliner::outliner_select_sync_from_edit_bone (EditBone *ebone_active, TreeElement *te, TreeStoreElem *tselem)
static void blender::ed::outliner::outliner_select_sync_from_pose_bone (bPoseChannel *pchan_active, TreeElement *te, TreeStoreElem *tselem)
static void blender::ed::outliner::outliner_select_sync_from_strip (Strip *strip_active, const TreeElement *te)
static void blender::ed::outliner::outliner_sync_selection_to_outliner (const Scene *scene, ViewLayer *view_layer, SpaceOutliner *space_outliner, ListBase *tree, SyncSelectActiveData *active_data, const SyncSelectTypes *sync_types)
static void blender::ed::outliner::get_sync_select_active_data (const bContext *C, SyncSelectActiveData *active_data)
void blender::ed::outliner::outliner_sync_selection (const bContext *C, const TreeViewContext &tvc, SpaceOutliner *space_outliner)

Function Documentation

◆ ED_outliner_select_sync_flag_outliners()

void ED_outliner_select_sync_flag_outliners ( const bContext * C)

Copy sync select dirty flag from window manager to all outliners to be synced lazily on draw.

Definition at line 77 of file outliner_sync.cc.

References C, CTX_data_main(), CTX_wm_manager(), ListBase::first, LISTBASE_FOREACH, wmWindowManager::outliner_sync_select_dirty, Main::screens, SPACE_OUTLINER, and SpaceOutliner::sync_select_dirty.

Referenced by blender::ed::outliner::draw_outliner().

◆ ED_outliner_select_sync_from_all_tag()

◆ ED_outliner_select_sync_from_edit_bone_tag()

◆ ED_outliner_select_sync_from_object_tag()

void ED_outliner_select_sync_from_object_tag ( bContext * C)

Functions for tagging outliner selection syncing is dirty from operators.

Definition at line 41 of file outliner_sync.cc.

References C, CTX_wm_manager(), wmWindowManager::outliner_sync_select_dirty, and WM_OUTLINER_SYNC_SELECT_FROM_OBJECT.

Referenced by blender::ed::object::add_type_with_obdata(), bone_select_menu_exec(), blender::ed::outliner::collection_duplicate_exec(), blender::ed::outliner::collection_hierarchy_delete_exec(), blender::ed::outliner::collection_objects_select_exec(), blender::ed::outliner::do_outliner_item_editmode_toggle(), blender::ed::outliner::do_outliner_item_mode_toggle_generic(), blender::ed::outliner::do_outliner_item_posemode_toggle(), blender::ed::object::duplicate_exec(), ed_object_select_pick(), ED_text_to_object(), edbm_separate_exec(), blender::ed::object::object_add_named_exec(), blender::ed::object::object_duplicates_make_real_exec(), blender::ed::object::object_select_all_exec(), blender::ed::object::object_select_by_type_exec(), blender::ed::object::object_select_grouped_exec(), blender::ed::object::object_select_less_exec(), blender::ed::object::object_select_linked_exec(), object_select_menu_exec(), blender::ed::object::object_select_mirror_exec(), blender::ed::object::object_select_more_exec(), blender::ed::object::object_select_random_exec(), blender::ed::object::object_select_same_collection_exec(), blender::ed::object::object_transfer_mode_invoke(), blender::ed::outliner::outliner_delete_exec(), blender::ed::outliner::outliner_object_operation_exec(), separate_armature_exec(), separate_exec(), view3d_box_select_exec(), view3d_circle_select_exec(), view3d_collection_drop_copy_external_asset(), view3d_lasso_select(), view3d_ob_drop_copy_external_asset(), and view3d_pastebuffer_exec().

◆ ED_outliner_select_sync_from_outliner()

void ED_outliner_select_sync_from_outliner ( bContext * C,
SpaceOutliner * space_outliner )

◆ ED_outliner_select_sync_from_pose_bone_tag()

◆ ED_outliner_select_sync_from_sequence_tag()

◆ ED_outliner_select_sync_is_dirty()

bool ED_outliner_select_sync_is_dirty ( const bContext * C)