From 7a71f107cb3c7c0f3cf59a95fc9f11a12661e607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Thu, 28 Mar 2013 11:21:10 +0100 Subject: [PATCH] Export and externalize Control.setMap --- build.py | 1 + buildcfg/base.json | 1 + buildcfg/ol-all.json | 1 + buildcfg/ol-simple.json | 1 + buildcfg/ol-whitespace.json | 1 + buildcfg/ol.json | 1 + externs/oli.js | 21 +++++++++++++++++++++ src/objectliterals.jsdoc | 7 +++++++ src/ol/control/control.exports | 2 ++ src/ol/control/control.js | 17 ++++------------- 10 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 externs/oli.js create mode 100644 src/ol/control/control.exports diff --git a/build.py b/build.py index a2f90bdcbc..7533eb1d38 100755 --- a/build.py +++ b/build.py @@ -309,6 +309,7 @@ def examples_star_json(name, match): '../externs/bingmaps.js', '../externs/bootstrap.js', '../externs/geojson.js', + '../externs/oli.js', '../externs/proj4js.js', '../externs/tilejson.js', ], diff --git a/buildcfg/base.json b/buildcfg/base.json index 10924bb5e8..557581927e 100644 --- a/buildcfg/base.json +++ b/buildcfg/base.json @@ -42,6 +42,7 @@ "//json.js", "../externs/bingmaps.js", "../externs/geojson.js", + "../externs/oli.js", "../externs/proj4js.js", "../externs/tilejson.js" ], diff --git a/buildcfg/ol-all.json b/buildcfg/ol-all.json index 8b4f9dfa31..340936188c 100644 --- a/buildcfg/ol-all.json +++ b/buildcfg/ol-all.json @@ -7,6 +7,7 @@ "../build/src/external/externs/types.js", "../externs/bingmaps.js", "../externs/geojson.js", + "../externs/oli.js", "../externs/proj4js.js", "../externs/tilejson.js" ], diff --git a/buildcfg/ol-simple.json b/buildcfg/ol-simple.json index 3f2b82544e..c21ae1528e 100644 --- a/buildcfg/ol-simple.json +++ b/buildcfg/ol-simple.json @@ -16,6 +16,7 @@ "//json.js", "../externs/bingmaps.js", "../externs/geojson.js", + "../externs/oli.js", "../externs/proj4js.js", "../externs/tilejson.js" ], diff --git a/buildcfg/ol-whitespace.json b/buildcfg/ol-whitespace.json index 94089465b6..fb99f44cc3 100644 --- a/buildcfg/ol-whitespace.json +++ b/buildcfg/ol-whitespace.json @@ -17,6 +17,7 @@ "//json.js", "../externs/bingmaps.js", "../externs/geojson.js", + "../externs/oli.js", "../externs/proj4js.js", "../externs/tilejson.js" ], diff --git a/buildcfg/ol.json b/buildcfg/ol.json index 28f8d9c4ec..cb689bbddc 100644 --- a/buildcfg/ol.json +++ b/buildcfg/ol.json @@ -17,6 +17,7 @@ "../build/src/external/externs/types.js", "../externs/bingmaps.js", "../externs/geojson.js", + "../externs/oli.js", "../externs/proj4js.js", "../externs/tilejson.js" ], diff --git a/externs/oli.js b/externs/oli.js new file mode 100644 index 0000000000..4e4ce0a325 --- /dev/null +++ b/externs/oli.js @@ -0,0 +1,21 @@ +/** + * @externs + */ + + +/** + * @type {Object} + */ +var oli; + + +/** + * @interface + */ +oli.control.Control = function() {}; + +/** + * @param {ol.Map} map Map. + * @return {undefined} Undefined. + */ +oli.control.Control.prototype.setMap = function(map) {}; diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index d4423fa0f5..be7b0760e2 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -109,6 +109,13 @@ * @property {Element|undefined} target Target. */ + /** + * @typedef {Object} ol.control.ControlOptions + * @property {Element|undefined} element Element. + * @property {ol.Map|undefined} map Map. + * @property {Element|undefined} target Target. + */ + /** * @typedef {Object} ol.control.DefaultsOptions * @property {boolean|undefined} attribution Attribution. diff --git a/src/ol/control/control.exports b/src/ol/control/control.exports new file mode 100644 index 0000000000..203e867251 --- /dev/null +++ b/src/ol/control/control.exports @@ -0,0 +1,2 @@ +@exportClass ol.control.Control ol.control.ControlOptions +@exportProperty ol.control.Control.prototype.setMap diff --git a/src/ol/control/control.js b/src/ol/control/control.js index 6ae418f8b7..f9b7d16cca 100644 --- a/src/ol/control/control.js +++ b/src/ol/control/control.js @@ -1,5 +1,4 @@ goog.provide('ol.control.Control'); -goog.provide('ol.control.ControlOptions'); goog.require('goog.Disposable'); goog.require('goog.array'); @@ -8,14 +7,6 @@ goog.require('goog.events'); goog.require('ol.MapEventType'); -/** - * @typedef {{element: (Element|undefined), - * map: (ol.Map|undefined), - * target: (Element|undefined)}} - */ -ol.control.ControlOptions; - - /** * A thing which is painted over the map to provide a means for interaction @@ -23,6 +14,7 @@ ol.control.ControlOptions; * * @constructor * @extends {goog.Disposable} + * @implements {oli.control.Control} * @param {ol.control.ControlOptions} options Control options. */ ol.control.Control = function(options) { @@ -85,10 +77,9 @@ ol.control.Control.prototype.handleMapPostrender = goog.nullFunction; /** - * Removes the control from its current map and attaches it to the new map. - * Subtypes might also wish set up event handlers to get notified about changes - * to the map here. - * + * Remove the control from its current map and attach it to the new map. + * Subclasses may set up event handlers to get notified about changes to + * the map here. * @param {ol.Map} map Map. */ ol.control.Control.prototype.setMap = function(map) {