@@ -112,22 +112,76 @@ namespace VisualEditor {
112112
113113 void ArrangementPanelInterfacePrivate::bindControllersInteraction () const {
114114 Q_Q (const ArrangementPanelInterface);
115- // TODO select tool
116115 QObject::connect (q, &ArrangementPanelInterface::toolChanged, scrollBehaviorViewModel, [=, this ] {
117116 switch (tool) {
118117 case ArrangementPanelInterface::PointerTool: {
118+ labelSequenceInteractionControllerOfLabel->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
119+ labelSequenceInteractionControllerOfLabel->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::CopyAndMove);
120+ labelSequenceInteractionControllerOfLabel->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
121+ labelSequenceInteractionControllerOfLabel->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
122+
123+ labelSequenceInteractionControllerOfTempo->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
124+ labelSequenceInteractionControllerOfTempo->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
125+ labelSequenceInteractionControllerOfTempo->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
126+ labelSequenceInteractionControllerOfTempo->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
127+
128+ trackListInteractionController->setPrimaryItemInteraction (sflow::TrackListInteractionController::DragMove);
129+ trackListInteractionController->setSecondaryItemInteraction (sflow::TrackListInteractionController::DragCopy);
130+ trackListInteractionController->setPrimarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
131+ trackListInteractionController->setSecondarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
132+
119133 clipPaneInteractionController->setPrimaryItemInteraction (sflow::ClipPaneInteractionController::Move);
120134 clipPaneInteractionController->setSecondaryItemInteraction (sflow::ClipPaneInteractionController::CopyAndMove);
121135 clipPaneInteractionController->setPrimarySceneInteraction (sflow::ClipPaneInteractionController::RubberBandSelect);
122136 clipPaneInteractionController->setSecondarySceneInteraction (sflow::ClipPaneInteractionController::TimeRangeSelect);
137+ break ;
123138 }
124139 case ArrangementPanelInterface::PencilTool: {
140+ labelSequenceInteractionControllerOfLabel->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
141+ labelSequenceInteractionControllerOfLabel->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::CopyAndMove);
142+ labelSequenceInteractionControllerOfLabel->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
143+ labelSequenceInteractionControllerOfLabel->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
144+
145+ labelSequenceInteractionControllerOfTempo->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
146+ labelSequenceInteractionControllerOfTempo->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::Move);
147+ labelSequenceInteractionControllerOfTempo->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
148+ labelSequenceInteractionControllerOfTempo->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
149+
150+ trackListInteractionController->setPrimaryItemInteraction (sflow::TrackListInteractionController::DragMove);
151+ trackListInteractionController->setSecondaryItemInteraction (sflow::TrackListInteractionController::DragCopy);
152+ trackListInteractionController->setPrimarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
153+ trackListInteractionController->setSecondarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
154+
125155 clipPaneInteractionController->setPrimaryItemInteraction (sflow::ClipPaneInteractionController::Move);
126156 clipPaneInteractionController->setSecondaryItemInteraction (sflow::ClipPaneInteractionController::Draw);
127157 clipPaneInteractionController->setPrimarySceneInteraction (sflow::ClipPaneInteractionController::Draw);
128158 clipPaneInteractionController->setSecondarySceneInteraction (sflow::ClipPaneInteractionController::Draw);
159+ break ;
160+ }
161+ case ArrangementPanelInterface::SelectTool: {
162+ labelSequenceInteractionControllerOfLabel->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
163+ labelSequenceInteractionControllerOfLabel->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
164+ labelSequenceInteractionControllerOfLabel->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
165+ labelSequenceInteractionControllerOfLabel->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
166+
167+ labelSequenceInteractionControllerOfTempo->setPrimaryItemInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
168+ labelSequenceInteractionControllerOfTempo->setSecondaryItemInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
169+ labelSequenceInteractionControllerOfTempo->setPrimarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
170+ labelSequenceInteractionControllerOfTempo->setSecondarySceneInteraction (sflow::LabelSequenceInteractionController::RubberBandSelect);
171+
172+ trackListInteractionController->setPrimaryItemInteraction (sflow::TrackListInteractionController::RubberBandSelect);
173+ trackListInteractionController->setSecondaryItemInteraction (sflow::TrackListInteractionController::RubberBandSelect);
174+ trackListInteractionController->setPrimarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
175+ trackListInteractionController->setSecondarySceneInteraction (sflow::TrackListInteractionController::RubberBandSelect);
176+
177+ clipPaneInteractionController->setPrimaryItemInteraction (sflow::ClipPaneInteractionController::RubberBandSelect);
178+ clipPaneInteractionController->setSecondaryItemInteraction (sflow::ClipPaneInteractionController::TimeRangeSelect);
179+ clipPaneInteractionController->setPrimarySceneInteraction (sflow::ClipPaneInteractionController::RubberBandSelect);
180+ clipPaneInteractionController->setSecondarySceneInteraction (sflow::ClipPaneInteractionController::TimeRangeSelect);
181+ break ;
129182 }
130- case ArrangementPanelInterface::HandTool: break ;
183+ case ArrangementPanelInterface::HandTool:
184+ break ;
131185 }
132186 });
133187 }
0 commit comments