diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-12-02 18:04:06 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-12-03 14:20:17 +0200 |
commit | 5d46cd662fe5c441618204241f61c986af200f48 (patch) | |
tree | 37449a128ea6b4c6f4052f370ebadbea095bfd41 /platform | |
parent | 684000fc263ac6c4064e80505bd1a2f6c15fb0fa (diff) | |
download | qtlocation-mapboxgl-5d46cd662fe5c441618204241f61c986af200f48.tar.gz |
[android][node][qt] Update platform code for style::Layer::setProperty()
Diffstat (limited to 'platform')
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 28 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp | 4 | ||||
-rw-r--r-- | platform/node/src/node_map.cpp | 40 | ||||
-rw-r--r-- | platform/node/src/node_map.hpp | 3 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 4 |
5 files changed, 19 insertions, 60 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 2f335b6ff3..b90d670a4b 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -91,18 +91,10 @@ namespace android { return layer; } - void Layer::setLayoutProperty(jni::JNIEnv& env, const jni::String& jname, const jni::Object<>& jvalue) { + void Layer::setProperty(jni::JNIEnv& env, const jni::String& jname, const jni::Object<>& jvalue) { // Convert and set property - optional<mbgl::style::conversion::Error> error = layer.setLayoutProperty(jni::Make<std::string>(env, jname), Value(env, jvalue)); - if (error) { - mbgl::Log::Error(mbgl::Event::JNI, "Error setting property: " + jni::Make<std::string>(env, jname) + " " + error->message); - return; - } - } - - void Layer::setPaintProperty(jni::JNIEnv& env, const jni::String& jname, const jni::Object<>& jvalue) { - // Convert and set property - optional<mbgl::style::conversion::Error> error = layer.setPaintProperty(jni::Make<std::string>(env, jname), Value(env, jvalue)); + optional<mbgl::style::conversion::Error> error = + layer.setProperty(jni::Make<std::string>(env, jname), Value(env, jvalue)); if (error) { mbgl::Log::Error(mbgl::Event::JNI, "Error setting property: " + jni::Make<std::string>(env, jname) + " " + error->message); return; @@ -176,10 +168,14 @@ namespace android { #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod<decltype(MethodPtr), (MethodPtr)>(name) // Register the peer - jni::RegisterNativePeer<Layer>(env, javaClass, "nativePtr", + jni::RegisterNativePeer<Layer>( + env, + javaClass, + "nativePtr", METHOD(&Layer::getId, "nativeGetId"), - METHOD(&Layer::setLayoutProperty, "nativeSetLayoutProperty"), - METHOD(&Layer::setPaintProperty, "nativeSetPaintProperty"), + METHOD(&Layer::setProperty, + "nativeSetLayoutProperty"), // TODO : Export only nativeSetProperty() when #15970 lands. + METHOD(&Layer::setProperty, "nativeSetPaintProperty"), METHOD(&Layer::setFilter, "nativeSetFilter"), METHOD(&Layer::getFilter, "nativeGetFilter"), METHOD(&Layer::setSourceLayer, "nativeSetSourceLayer"), @@ -189,9 +185,7 @@ namespace android { METHOD(&Layer::getMaxZoom, "nativeGetMaxZoom"), METHOD(&Layer::setMinZoom, "nativeSetMinZoom"), METHOD(&Layer::setMaxZoom, "nativeSetMaxZoom"), - METHOD(&Layer::getVisibility, "nativeGetVisibility") - ); - + METHOD(&Layer::getVisibility, "nativeGetVisibility")); } } // namespace android diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index 0fb679152b..bde351f708 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -35,9 +35,7 @@ public: style::Layer& get(); - void setLayoutProperty(jni::JNIEnv&, const jni::String&, const jni::Object<>& value); - - void setPaintProperty(jni::JNIEnv&, const jni::String&, const jni::Object<>& value); + void setProperty(jni::JNIEnv&, const jni::String&, const jni::Object<>& value); // Zoom diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp index 5ce201da2e..e55460fa29 100644 --- a/platform/node/src/node_map.cpp +++ b/platform/node/src/node_map.cpp @@ -106,8 +106,8 @@ ParseError)JS").ToLocalChecked()).ToLocalChecked(); Nan::SetPrototypeMethod(tpl, "addImage", AddImage); Nan::SetPrototypeMethod(tpl, "removeImage", RemoveImage); Nan::SetPrototypeMethod(tpl, "setLayerZoomRange", SetLayerZoomRange); - Nan::SetPrototypeMethod(tpl, "setLayoutProperty", SetLayoutProperty); - Nan::SetPrototypeMethod(tpl, "setPaintProperty", SetPaintProperty); + Nan::SetPrototypeMethod(tpl, "setLayoutProperty", SetLayerProperty); + Nan::SetPrototypeMethod(tpl, "setPaintProperty", SetLayerProperty); Nan::SetPrototypeMethod(tpl, "setFilter", SetFilter); Nan::SetPrototypeMethod(tpl, "setCenter", SetCenter); Nan::SetPrototypeMethod(tpl, "setZoom", SetZoom); @@ -850,7 +850,7 @@ void NodeMap::SetLayerZoomRange(const Nan::FunctionCallbackInfo<v8::Value>& info layer->setMaxZoom(info[2]->NumberValue()); } -void NodeMap::SetLayoutProperty(const Nan::FunctionCallbackInfo<v8::Value>& info) { +void NodeMap::SetLayerProperty(const Nan::FunctionCallbackInfo<v8::Value>& info) { using namespace mbgl::style; using namespace mbgl::style::conversion; @@ -874,39 +874,7 @@ void NodeMap::SetLayoutProperty(const Nan::FunctionCallbackInfo<v8::Value>& info return Nan::ThrowTypeError("Second argument must be a string"); } - mbgl::optional<Error> error = layer->setLayoutProperty(*Nan::Utf8String(info[1]), Convertible(info[2])); - if (error) { - return Nan::ThrowTypeError(error->message.c_str()); - } - - info.GetReturnValue().SetUndefined(); -} - -void NodeMap::SetPaintProperty(const Nan::FunctionCallbackInfo<v8::Value>& info) { - using namespace mbgl::style; - using namespace mbgl::style::conversion; - - auto nodeMap = Nan::ObjectWrap::Unwrap<NodeMap>(info.Holder()); - if (!nodeMap->map) return Nan::ThrowError(releasedMessage()); - - if (info.Length() < 3) { - return Nan::ThrowTypeError("Three arguments required"); - } - - if (!info[0]->IsString()) { - return Nan::ThrowTypeError("First argument must be a string"); - } - - mbgl::style::Layer* layer = nodeMap->map->getStyle().getLayer(*Nan::Utf8String(info[0])); - if (!layer) { - return Nan::ThrowTypeError("layer not found"); - } - - if (!info[1]->IsString()) { - return Nan::ThrowTypeError("Second argument must be a string"); - } - - mbgl::optional<Error> error = layer->setPaintProperty(*Nan::Utf8String(info[1]), Convertible(info[2])); + mbgl::optional<Error> error = layer->setProperty(*Nan::Utf8String(info[1]), Convertible(info[2])); if (error) { return Nan::ThrowTypeError(error->message.c_str()); } diff --git a/platform/node/src/node_map.hpp b/platform/node/src/node_map.hpp index 381e10381b..aa440d2323 100644 --- a/platform/node/src/node_map.hpp +++ b/platform/node/src/node_map.hpp @@ -50,8 +50,7 @@ public: static void AddImage(const Nan::FunctionCallbackInfo<v8::Value>&); static void RemoveImage(const Nan::FunctionCallbackInfo<v8::Value>&); static void SetLayerZoomRange(const Nan::FunctionCallbackInfo<v8::Value>&); - static void SetLayoutProperty(const Nan::FunctionCallbackInfo<v8::Value>&); - static void SetPaintProperty(const Nan::FunctionCallbackInfo<v8::Value>&); + static void SetLayerProperty(const Nan::FunctionCallbackInfo<v8::Value>&); static void SetFilter(const Nan::FunctionCallbackInfo<v8::Value>&); static void SetCenter(const Nan::FunctionCallbackInfo<v8::Value>&); static void SetZoom(const Nan::FunctionCallbackInfo<v8::Value>&); diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index b5681d218d..1fdfb6ef3a 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -1011,7 +1011,7 @@ void QMapboxGL::removeAnnotation(QMapbox::AnnotationID id) */ bool QMapboxGL::setLayoutProperty(const QString& layer, const QString& propertyName, const QVariant& value) { - return d_ptr->setProperty(&mbgl::style::Layer::setLayoutProperty, layer, propertyName, value); + return d_ptr->setProperty(&mbgl::style::Layer::setProperty, layer, propertyName, value); } /*! @@ -1071,7 +1071,7 @@ bool QMapboxGL::setLayoutProperty(const QString& layer, const QString& propertyN bool QMapboxGL::setPaintProperty(const QString& layer, const QString& propertyName, const QVariant& value) { - return d_ptr->setProperty(&mbgl::style::Layer::setPaintProperty, layer, propertyName, value); + return d_ptr->setProperty(&mbgl::style::Layer::setProperty, layer, propertyName, value); } /*! |