Blender V4.3
outliner_sync.cc File Reference
#include <cstdio>
#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 "BLI_compiler_compat.h"
#include "BLI_ghash.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_bone_collections.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 (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 bContext *C, SpaceOutliner *space_outliner, SyncSelectTypes *sync_types)
 
static void blender::ed::outliner::selected_items_init (SelectedItems *selected_items)
 
static void blender::ed::outliner::selected_items_free (SelectedItems *selected_items)
 
static bool blender::ed::outliner::is_object_selected (GSet *selected_objects, Base *base)
 
static bool blender::ed::outliner::is_edit_bone_selected (GSet *selected_ebones, EditBone *ebone)
 
static bool blender::ed::outliner::is_pose_bone_selected (GSet *selected_pbones, bPoseChannel *pchan)
 
static void blender::ed::outliner::add_selected_item (GSet *selected, void *data)
 
static void blender::ed::outliner::outliner_select_sync_to_object (ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, GSet *selected_objects)
 
static void blender::ed::outliner::outliner_select_sync_to_edit_bone (const Scene *scene, ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, GSet *selected_ebones)
 
static void blender::ed::outliner::outliner_select_sync_to_pose_bone (TreeElement *te, TreeStoreElem *tselem, GSet *selected_pbones)
 
static void blender::ed::outliner::outliner_select_sync_to_sequence (Scene *scene, const TreeElement *te)
 
static void blender::ed::outliner::outliner_sync_selection_from_outliner (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_sequence (Sequence *sequence_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, 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 80 of file outliner_sync.cc.

References 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 44 of file outliner_sync.cc.

References 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()

◆ 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)