void PlayContextMenu::fillContextMenu(QMenu *menu, const Selection & s) { if(std::any_of(s.cbegin(), s.cend(), [] (auto obj) { return dynamic_cast<const StateModel*>(obj);})) { menu->addAction(m_playStates); } }
void PlayContextMenu::fillContextMenu( QMenu *menu, const Selection & s, const TemporalScenarioPresenter& pres, const QPoint& pt, const QPointF& scenept) { menu->addAction(m_playFromHere); auto scenPoint = Scenario::ConvertToScenarioPoint(scenept, pres.zoomRatio(), pres.view().height()); m_playFromHere->setData(QVariant::fromValue(scenPoint.date)); if(s.empty()) { menu->addAction(m_recordAction); m_recordAction->setData(QVariant::fromValue(ScenarioRecordInitData{&pres, scenept})); } else { if(std::any_of(s.cbegin(), s.cend(), [] (auto obj) { return dynamic_cast<const StateModel*>(obj.data());})) { menu->addAction(m_playStates); } /* if(std::any_of(s.cbegin(), s.cend(), [] (auto obj) { return dynamic_cast<const ConstraintModel*>(obj);})) { menu->addAction(m_playConstraints); } if(std::any_of(s.cbegin(), s.cend(), [] (auto obj) { return dynamic_cast<const EventModel*>(obj);})) { menu->addAction(m_playEvents); } */ } }