[qt] Separate transition options accessors from class API
This commit is contained in:
@@ -105,13 +105,14 @@ void MapWindow::keyPressEvent(QKeyEvent *ev)
|
||||
case Qt::Key_Tab:
|
||||
m_map.cycleDebugOptions();
|
||||
break;
|
||||
case Qt::Key_R:
|
||||
case Qt::Key_R: {
|
||||
m_map.setTransitionOptions(transition);
|
||||
if (m_map.hasClass("night")) {
|
||||
m_map.removeClass("night", transition);
|
||||
m_map.removeClass("night");
|
||||
} else {
|
||||
m_map.addClass("night", transition);
|
||||
m_map.addClass("night");
|
||||
}
|
||||
break;
|
||||
} break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -159,14 +159,14 @@ public:
|
||||
void setGestureInProgress(bool inProgress);
|
||||
|
||||
void addClass(const QString &);
|
||||
void addClass(const QString &, const QMapbox::TransitionOptions &);
|
||||
void removeClass(const QString &);
|
||||
void removeClass(const QString &, const QMapbox::TransitionOptions &);
|
||||
bool hasClass(const QString &) const;
|
||||
void setClasses(const QStringList &);
|
||||
void setClasses(const QStringList &, const QMapbox::TransitionOptions &);
|
||||
QStringList getClasses() const;
|
||||
|
||||
QMapbox::TransitionOptions getTransitionOptions() const;
|
||||
void setTransitionOptions(const QMapbox::TransitionOptions&);
|
||||
|
||||
QMapbox::AnnotationID addPointAnnotation(const QMapbox::PointAnnotation &);
|
||||
QMapbox::AnnotationID addShapeAnnotation(const QMapbox::ShapeAnnotation &);
|
||||
|
||||
|
||||
@@ -107,6 +107,16 @@ auto fromQMapboxTransitionOptions(const QMapbox::TransitionOptions &options) {
|
||||
return mbgl::style::TransitionOptions { convert(options.duration), convert(options.delay) };
|
||||
}
|
||||
|
||||
auto toQMapboxTransitionOptions(const mbgl::style::TransitionOptions &options) {
|
||||
auto convert = [](auto& value) -> QVariant {
|
||||
if (value) {
|
||||
return qint64(std::chrono::duration_cast<mbgl::Milliseconds>(*value).count());
|
||||
}
|
||||
return {};
|
||||
};
|
||||
return QMapbox::TransitionOptions { convert(options.duration), convert(options.delay) };
|
||||
}
|
||||
|
||||
auto fromQStringList(const QStringList &list)
|
||||
{
|
||||
std::vector<std::string> strings(list.size());
|
||||
@@ -462,21 +472,11 @@ void QMapboxGL::addClass(const QString &className)
|
||||
d_ptr->mapObj->addClass(className.toStdString());
|
||||
}
|
||||
|
||||
void QMapboxGL::addClass(const QString &className, const QMapbox::TransitionOptions &options)
|
||||
{
|
||||
d_ptr->mapObj->addClass(className.toStdString(), fromQMapboxTransitionOptions(options));
|
||||
}
|
||||
|
||||
void QMapboxGL::removeClass(const QString &className)
|
||||
{
|
||||
d_ptr->mapObj->removeClass(className.toStdString());
|
||||
}
|
||||
|
||||
void QMapboxGL::removeClass(const QString &className, const QMapbox::TransitionOptions &options)
|
||||
{
|
||||
d_ptr->mapObj->removeClass(className.toStdString(), fromQMapboxTransitionOptions(options));
|
||||
}
|
||||
|
||||
bool QMapboxGL::hasClass(const QString &className) const
|
||||
{
|
||||
return d_ptr->mapObj->hasClass(className.toStdString());
|
||||
@@ -487,11 +487,6 @@ void QMapboxGL::setClasses(const QStringList &classNames)
|
||||
d_ptr->mapObj->setClasses(fromQStringList(classNames));
|
||||
}
|
||||
|
||||
void QMapboxGL::setClasses(const QStringList &classNames, const QMapbox::TransitionOptions &options)
|
||||
{
|
||||
d_ptr->mapObj->setClasses(fromQStringList(classNames), fromQMapboxTransitionOptions(options));
|
||||
}
|
||||
|
||||
QStringList QMapboxGL::getClasses() const
|
||||
{
|
||||
QStringList classNames;
|
||||
@@ -501,6 +496,14 @@ QStringList QMapboxGL::getClasses() const
|
||||
return classNames;
|
||||
}
|
||||
|
||||
QMapbox::TransitionOptions QMapboxGL::getTransitionOptions() const {
|
||||
return toQMapboxTransitionOptions(d_ptr->mapObj->getTransitionOptions());
|
||||
}
|
||||
|
||||
void QMapboxGL::setTransitionOptions(const QMapbox::TransitionOptions &options) {
|
||||
d_ptr->mapObj->setTransitionOptions(fromQMapboxTransitionOptions(options));
|
||||
}
|
||||
|
||||
mbgl::Annotation fromPointAnnotation(const PointAnnotation &pointAnnotation) {
|
||||
const Coordinate &coordinate = pointAnnotation.first;
|
||||
const QString &icon = pointAnnotation.second;
|
||||
|
||||
Reference in New Issue
Block a user