Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_outliner/outliner_select.cc
| Show All 13 Lines | |||||
| #include "DNA_gpencil_modifier_types.h" | #include "DNA_gpencil_modifier_types.h" | ||||
| #include "DNA_gpencil_types.h" | #include "DNA_gpencil_types.h" | ||||
| #include "DNA_modifier_types.h" | #include "DNA_modifier_types.h" | ||||
| #include "DNA_object_types.h" | #include "DNA_object_types.h" | ||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| #include "DNA_sequence_types.h" | #include "DNA_sequence_types.h" | ||||
| #include "DNA_shader_fx_types.h" | #include "DNA_shader_fx_types.h" | ||||
| #include "DNA_text_types.h" | #include "DNA_text_types.h" | ||||
| #include "DNA_video_edit_types.h" | |||||
| #include "BLI_listbase.h" | #include "BLI_listbase.h" | ||||
| #include "BLI_utildefines.h" | #include "BLI_utildefines.h" | ||||
| #include "BKE_armature.h" | #include "BKE_armature.h" | ||||
| #include "BKE_collection.h" | #include "BKE_collection.h" | ||||
| #include "BKE_constraint.h" | #include "BKE_constraint.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| ▲ Show 20 Lines • Show All 652 Lines • ▼ Show 20 Lines | while (te) { | ||||
| } | } | ||||
| te = te->parent; | te = te->parent; | ||||
| } | } | ||||
| WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, ob); | WM_event_add_notifier(C, NC_OBJECT | ND_CONSTRAINT, ob); | ||||
| } | } | ||||
| static void tree_element_sequence_activate(bContext *C, | static void tree_element_sequence_activate(bContext *C, | ||||
| Scene *scene, | VideoEdit *video_edit, | ||||
| TreeElement *te, | TreeElement *te, | ||||
| const eOLSetState set) | const eOLSetState set) | ||||
| { | { | ||||
| const TreeElementSequence *te_seq = tree_element_cast<TreeElementSequence>(te); | const TreeElementSequence *te_seq = tree_element_cast<TreeElementSequence>(te); | ||||
| Sequence *seq = &te_seq->getSequence(); | Sequence *seq = &te_seq->getSequence(); | ||||
| Editing *ed = SEQ_editing_get(scene); | |||||
| if (BLI_findindex(ed->seqbasep, seq) != -1) { | if (BLI_findindex(video_edit->seqbasep, seq) != -1) { | ||||
| if (set == OL_SETSEL_EXTEND) { | if (set == OL_SETSEL_EXTEND) { | ||||
| SEQ_select_active_set(scene, nullptr); | SEQ_select_active_set(video_edit, nullptr); | ||||
| } | } | ||||
| ED_sequencer_deselect_all(scene); | ED_sequencer_deselect_all(video_edit); | ||||
| if ((set == OL_SETSEL_EXTEND) && seq->flag & SELECT) { | if ((set == OL_SETSEL_EXTEND) && seq->flag & SELECT) { | ||||
| seq->flag &= ~SELECT; | seq->flag &= ~SELECT; | ||||
| } | } | ||||
| else { | else { | ||||
| seq->flag |= SELECT; | seq->flag |= SELECT; | ||||
| SEQ_select_active_set(scene, seq); | SEQ_select_active_set(video_edit, seq); | ||||
| } | } | ||||
| } | } | ||||
| WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER | NA_SELECTED, scene); | WM_event_add_notifier(C, NC_VIDEO_EDIT | ND_SEQUENCER | NA_SELECTED, nullptr); | ||||
| } | } | ||||
| static void tree_element_sequence_dup_activate(Scene *scene, TreeElement * /*te*/) | static void tree_element_sequence_dup_activate(VideoEdit *video_edit, TreeElement * /*te*/) | ||||
| { | { | ||||
| Editing *ed = SEQ_editing_get(scene); | |||||
| #if 0 | #if 0 | ||||
| select_single_seq(seq, 1); | select_single_seq(seq, 1); | ||||
| #endif | #endif | ||||
| Sequence *p = static_cast<Sequence *>(ed->seqbasep->first); | Sequence *p = static_cast<Sequence *>(video_edit->seqbasep->first); | ||||
| while (p) { | while (p) { | ||||
| if ((!p->strip) || (!p->strip->stripdata) || (p->strip->stripdata->name[0] == '\0')) { | if ((!p->strip) || (!p->strip->stripdata) || (p->strip->stripdata->name[0] == '\0')) { | ||||
| p = p->next; | p = p->next; | ||||
| continue; | continue; | ||||
| } | } | ||||
| #if 0 | #if 0 | ||||
| if (STREQ(p->strip->stripdata->name, seq->strip->stripdata->name)) { | if (STREQ(p->strip->stripdata->name, seq->strip->stripdata->name)) { | ||||
| ▲ Show 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | case TSE_CONSTRAINT: | ||||
| break; | break; | ||||
| case TSE_R_LAYER: | case TSE_R_LAYER: | ||||
| tree_element_viewlayer_activate(C, te); | tree_element_viewlayer_activate(C, te); | ||||
| break; | break; | ||||
| case TSE_POSEGRP: | case TSE_POSEGRP: | ||||
| tree_element_posegroup_activate(C, te, tselem); | tree_element_posegroup_activate(C, te, tselem); | ||||
| break; | break; | ||||
| case TSE_SEQUENCE: | case TSE_SEQUENCE: | ||||
| tree_element_sequence_activate(C, tvc->scene, te, set); | tree_element_sequence_activate(C, tvc->video_edit, te, set); | ||||
| break; | break; | ||||
| case TSE_SEQUENCE_DUP: | case TSE_SEQUENCE_DUP: | ||||
| tree_element_sequence_dup_activate(tvc->scene, te); | tree_element_sequence_dup_activate(tvc->video_edit, te); | ||||
| break; | break; | ||||
| case TSE_GP_LAYER: | case TSE_GP_LAYER: | ||||
| tree_element_gplayer_activate(C, te, tselem); | tree_element_gplayer_activate(C, te, tselem); | ||||
| break; | break; | ||||
| case TSE_VIEW_COLLECTION_BASE: | case TSE_VIEW_COLLECTION_BASE: | ||||
| tree_element_master_collection_activate(C); | tree_element_master_collection_activate(C); | ||||
| break; | break; | ||||
| case TSE_LAYER_COLLECTION: | case TSE_LAYER_COLLECTION: | ||||
| ▲ Show 20 Lines • Show All 1,222 Lines • Show Last 20 Lines | |||||