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