Blender  V3.3
Classes | Functions
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.h"
#include "BKE_context.h"
#include "BKE_layer.h"
#include "BKE_main.h"
#include "DEG_depsgraph.h"
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_outliner.h"
#include "SEQ_select.h"
#include "WM_api.h"
#include "WM_types.h"
#include "outliner_intern.hh"

Go to the source code of this file.

Classes

struct  SyncSelectTypes
 
struct  SelectedItems
 
struct  SyncSelectActiveData
 

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 outliner_sync_select_from_outliner_set_types (bContext *C, SpaceOutliner *space_outliner, SyncSelectTypes *sync_types)
 
static bool outliner_sync_select_to_outliner_set_types (const bContext *C, SpaceOutliner *space_outliner, SyncSelectTypes *sync_types)
 
static void selected_items_init (SelectedItems *selected_items)
 
static void selected_items_free (SelectedItems *selected_items)
 
static bool is_object_selected (GSet *selected_objects, Base *base)
 
static bool is_edit_bone_selected (GSet *selected_ebones, EditBone *ebone)
 
static bool is_pose_bone_selected (GSet *selected_pbones, bPoseChannel *pchan)
 
static void add_selected_item (GSet *selected, void *data)
 
static void outliner_select_sync_to_object (ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, GSet *selected_objects)
 
static void outliner_select_sync_to_edit_bone (ViewLayer *view_layer, TreeElement *te, TreeStoreElem *tselem, GSet *selected_ebones)
 
static void outliner_select_sync_to_pose_bone (TreeElement *te, TreeStoreElem *tselem, GSet *selected_pbones)
 
static void outliner_select_sync_to_sequence (Scene *scene, TreeStoreElem *tselem)
 
static void 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 outliner_select_sync_from_object (ViewLayer *view_layer, Object *obact, TreeElement *te, TreeStoreElem *tselem)
 
static void outliner_select_sync_from_edit_bone (EditBone *ebone_active, TreeElement *te, TreeStoreElem *tselem)
 
static void outliner_select_sync_from_pose_bone (bPoseChannel *pchan_active, TreeElement *te, TreeStoreElem *tselem)
 
static void outliner_select_sync_from_sequence (Sequence *sequence_active, TreeStoreElem *tselem)
 
static void outliner_sync_selection_to_outliner (ViewLayer *view_layer, SpaceOutliner *space_outliner, ListBase *tree, SyncSelectActiveData *active_data, const SyncSelectTypes *sync_types)
 
static void get_sync_select_active_data (const bContext *C, SyncSelectActiveData *active_data)
 
void outliner_sync_selection (const bContext *C, SpaceOutliner *space_outliner)
 

Function Documentation

◆ add_selected_item()

static void add_selected_item ( GSet *  selected,
void *  data 
)
static

◆ ED_outliner_select_sync_flag_outliners()

void ED_outliner_select_sync_flag_outliners ( const bContext *  C)

◆ ED_outliner_select_sync_from_all_tag()

void ED_outliner_select_sync_from_all_tag ( bContext *  C)

◆ ED_outliner_select_sync_from_edit_bone_tag()

void ED_outliner_select_sync_from_edit_bone_tag ( bContext *  C)

◆ ED_outliner_select_sync_from_object_tag()

void ED_outliner_select_sync_from_object_tag ( struct bContext *  C)

◆ ED_outliner_select_sync_from_outliner()

void ED_outliner_select_sync_from_outliner ( struct bContext *  C,
struct SpaceOutliner *  space_outliner 
)

◆ ED_outliner_select_sync_from_pose_bone_tag()

void ED_outliner_select_sync_from_pose_bone_tag ( bContext *  C)

◆ ED_outliner_select_sync_from_sequence_tag()

void ED_outliner_select_sync_from_sequence_tag ( bContext *  C)

◆ ED_outliner_select_sync_is_dirty()

bool ED_outliner_select_sync_is_dirty ( const bContext *  C)

◆ get_sync_select_active_data()

static void get_sync_select_active_data ( const bContext *  C,
SyncSelectActiveData *  active_data 
)
static

◆ is_edit_bone_selected()

static bool is_edit_bone_selected ( GSet *  selected_ebones,
EditBone *  ebone 
)
static

Definition at line 188 of file outliner_sync.cc.

References BLI_gset_haskey().

Referenced by outliner_select_sync_to_edit_bone().

◆ is_object_selected()

static bool is_object_selected ( GSet *  selected_objects,
Base *  base 
)
static

Definition at line 182 of file outliner_sync.cc.

References BLI_gset_haskey().

Referenced by outliner_select_sync_to_object().

◆ is_pose_bone_selected()

static bool is_pose_bone_selected ( GSet *  selected_pbones,
bPoseChannel *  pchan 
)
static

Definition at line 194 of file outliner_sync.cc.

References BLI_gset_haskey().

Referenced by outliner_select_sync_to_pose_bone().

◆ outliner_select_sync_from_edit_bone()

static void outliner_select_sync_from_edit_bone ( EditBone *  ebone_active,
TreeElement *  te,
TreeStoreElem *  tselem 
)
static

◆ outliner_select_sync_from_object()

static void outliner_select_sync_from_object ( ViewLayer *  view_layer,
Object *  obact,
TreeElement *  te,
TreeStoreElem *  tselem 
)
static

◆ outliner_select_sync_from_pose_bone()

static void outliner_select_sync_from_pose_bone ( bPoseChannel *  pchan_active,
TreeElement *  te,
TreeStoreElem *  tselem 
)
static

◆ outliner_select_sync_from_sequence()

static void outliner_select_sync_from_sequence ( Sequence *  sequence_active,
TreeStoreElem *  tselem 
)
static

◆ outliner_select_sync_to_edit_bone()

static void outliner_select_sync_to_edit_bone ( ViewLayer *  view_layer,
TreeElement *  te,
TreeStoreElem *  tselem,
GSet *  selected_ebones 
)
static

◆ outliner_select_sync_to_object()

static void outliner_select_sync_to_object ( ViewLayer *  view_layer,
TreeElement *  te,
TreeStoreElem *  tselem,
GSet *  selected_objects 
)
static

◆ outliner_select_sync_to_pose_bone()

static void outliner_select_sync_to_pose_bone ( TreeElement *  te,
TreeStoreElem *  tselem,
GSet *  selected_pbones 
)
static

◆ outliner_select_sync_to_sequence()

static void outliner_select_sync_to_sequence ( Scene *  scene,
TreeStoreElem *  tselem 
)
static

◆ outliner_sync_select_from_outliner_set_types()

static void outliner_sync_select_from_outliner_set_types ( bContext *  C,
SpaceOutliner *  space_outliner,
SyncSelectTypes *  sync_types 
)
static

Set which types of data to sync when syncing selection from the outliner based on object interaction mode and outliner display mode

Definition at line 113 of file outliner_sync.cc.

References C, SyncSelectTypes::edit_bone, Object::mode, OB_ARMATURE, TreeViewContext::ob_edit, OB_MODE_POSE, TreeViewContext::ob_pose, SyncSelectTypes::object, outliner_viewcontext_init(), SpaceOutliner::outlinevis, SyncSelectTypes::pose_bone, SyncSelectTypes::sequence, SO_SEQUENCE, and Object::type.

Referenced by ED_outliner_select_sync_from_outliner().

◆ outliner_sync_select_to_outliner_set_types()

static bool outliner_sync_select_to_outliner_set_types ( const bContext *  C,
SpaceOutliner *  space_outliner,
SyncSelectTypes *  sync_types 
)
static

◆ outliner_sync_selection()

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

◆ outliner_sync_selection_from_outliner()

static void outliner_sync_selection_from_outliner ( Scene *  scene,
ViewLayer *  view_layer,
ListBase *  tree,
const SyncSelectTypes *  sync_types,
SelectedItems *  selected_items 
)
static

◆ outliner_sync_selection_to_outliner()

static void outliner_sync_selection_to_outliner ( ViewLayer *  view_layer,
SpaceOutliner *  space_outliner,
ListBase *  tree,
SyncSelectActiveData *  active_data,
const SyncSelectTypes *  sync_types 
)
static

◆ selected_items_free()

static void selected_items_free ( SelectedItems *  selected_items)
static

◆ selected_items_init()

static void selected_items_init ( SelectedItems *  selected_items)
static