| 315 | }; |
| 316 | |
| 317 | TrackerPanel::TrackerPanel(const NodeGuiPtr& n, |
| 318 | NodeSettingsPanel* parent) |
| 319 | : QWidget(parent) |
| 320 | , _imp( new TrackerPanelPrivate(this, n) ) |
| 321 | { |
| 322 | QObject::connect( parent, SIGNAL(closeChanged(bool)), this, SLOT(onSettingsPanelClosed(bool)) ); |
| 323 | boost::shared_ptr<TrackerContext> context = getContext(); |
| 324 | QObject::connect( n->getNode()->getApp()->getTimeLine().get(), SIGNAL(frameChanged(SequenceTime,int)), this, |
| 325 | SLOT(onTimeChanged(SequenceTime,int)) ); |
| 326 | QObject::connect( context.get(), SIGNAL(selectionChanged(int)), this, SLOT(onContextSelectionChanged(int)) ); |
| 327 | QObject::connect( context.get(), SIGNAL(selectionAboutToChange(int)), this, SLOT(onContextSelectionAboutToChange(int)) ); |
| 328 | QObject::connect( context.get(), SIGNAL(trackInserted(TrackMarkerPtr,int)), this, SLOT(onTrackInserted(TrackMarkerPtr,int)) ); |
| 329 | QObject::connect( context.get(), SIGNAL(trackRemoved(TrackMarkerPtr)), this, SLOT(onTrackRemoved(TrackMarkerPtr)) ); |
| 330 | QObject::connect( context.get(), SIGNAL(trackCloned(TrackMarkerPtr)), |
| 331 | this, SLOT(onTrackCloned(TrackMarkerPtr)) ); |
| 332 | QObject::connect( context.get(), SIGNAL(trackAboutToClone(TrackMarkerPtr)), |
| 333 | this, SLOT(onTrackAboutToClone(TrackMarkerPtr)) ); |
| 334 | QObject::connect( context.get(), SIGNAL(keyframeSetOnTrack(TrackMarkerPtr,int)), |
| 335 | this, SLOT(onTrackKeyframeSet(TrackMarkerPtr,int)) ); |
| 336 | QObject::connect( context.get(), SIGNAL(keyframeRemovedOnTrack(TrackMarkerPtr,int)), |
| 337 | this, SLOT(onTrackKeyframeRemoved(TrackMarkerPtr,int)) ); |
| 338 | QObject::connect( context.get(), SIGNAL(allKeyframesRemovedOnTrack(TrackMarkerPtr)), |
| 339 | this, SLOT(onTrackAllKeyframesRemoved(TrackMarkerPtr)) ); |
| 340 | QObject::connect( context.get(), SIGNAL(keyframeSetOnTrackCenter(TrackMarkerPtr,int)), |
| 341 | this, SLOT(onKeyframeSetOnTrackCenter(TrackMarkerPtr,int)) ); |
| 342 | QObject::connect( context.get(), SIGNAL(keyframeRemovedOnTrackCenter(TrackMarkerPtr,int)), |
| 343 | this, SLOT(onKeyframeRemovedOnTrackCenter(TrackMarkerPtr,int)) ); |
| 344 | QObject::connect( context.get(), SIGNAL(allKeyframesRemovedOnTrackCenter(TrackMarkerPtr)), |
| 345 | this, SLOT(onAllKeyframesRemovedOnTrackCenter(TrackMarkerPtr)) ); |
| 346 | QObject::connect( context.get(), SIGNAL(multipleKeyframesSetOnTrackCenter(TrackMarkerPtr,std::list<double>)), |
| 347 | this, SLOT(onMultipleKeyframesSetOnTrackCenter(TrackMarkerPtr,std::list<double>)) ); |
| 348 | QObject::connect( context.get(), SIGNAL(multipleKeyframesRemovedOnTrackCenter(TrackMarkerPtr,std::list<double>)), |
| 349 | this, SLOT(onMultipleKeysRemovedOnTrackCenter(TrackMarkerPtr,std::list<double>)) ); |
| 350 | QObject::connect( context.get(), SIGNAL(enabledChanged(TrackMarkerPtr,int)), this, |
| 351 | SLOT(onEnabledChanged(TrackMarkerPtr,int)) ); |
| 352 | QObject::connect( context.get(), SIGNAL(centerKnobValueChanged(TrackMarkerPtr,int,int)), this, |
| 353 | SLOT(onCenterKnobValueChanged(TrackMarkerPtr,int,int)) ); |
| 354 | QObject::connect( context.get(), SIGNAL(offsetKnobValueChanged(TrackMarkerPtr,int,int)), this, |
| 355 | SLOT(onOffsetKnobValueChanged(TrackMarkerPtr,int,int)) ); |
| 356 | QObject::connect( context.get(), SIGNAL(errorKnobValueChanged(TrackMarkerPtr,int,int)), this, |
| 357 | SLOT(onErrorKnobValueChanged(TrackMarkerPtr,int,int)) ); |
| 358 | QObject::connect( context.get(), SIGNAL(motionModelKnobValueChanged(TrackMarkerPtr,int,int)), this, |
| 359 | SLOT(onMotionModelKnobValueChanged(TrackMarkerPtr,int,int)) ); |
| 360 | const QSize medButtonSize( TO_DPIX(NATRON_MEDIUM_BUTTON_SIZE), TO_DPIY(NATRON_MEDIUM_BUTTON_SIZE) ); |
| 361 | const QSize medButtonIconSize( TO_DPIX(NATRON_MEDIUM_BUTTON_ICON_SIZE), TO_DPIY(NATRON_MEDIUM_BUTTON_ICON_SIZE) ); |
| 362 | |
| 363 | |
| 364 | _imp->mainLayout = new QVBoxLayout(this); |
| 365 | |
| 366 | QWidget* trackContainer = new QWidget(this); |
| 367 | _imp->mainLayout->addWidget(trackContainer); |
| 368 | |
| 369 | QHBoxLayout* trackLayout = new QHBoxLayout(trackContainer); |
| 370 | trackLayout->setSpacing(2); |
| 371 | _imp->trackLabel = new ClickableLabel(tr("Track keyframe:"), trackContainer); |
| 372 | _imp->trackLabel->setSunken(false); |
| 373 | trackLayout->addWidget(_imp->trackLabel); |
| 374 |
nothing calls this directly
no test coverage detected