Pullup changes for RC3:
* KML Examples broken (Closes #1001) * drag handler doesn't reset properties on left or improperly modified mousedown (Closes #1003) * Text nodes limited to 4096 in length (Closes #1006) * KML/GML Attribute CDATA Parsing (Closes #1007) * Control.MousePosition (Closes #1008) git-svn-id: http://svn.openlayers.org/branches/openlayers/2.5@4432 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -61,6 +61,16 @@ OpenLayers.Control.MousePosition = OpenLayers.Class(OpenLayers.Control, {
|
||||
OpenLayers.Control.prototype.initialize.apply(this, arguments);
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: destroy
|
||||
*/
|
||||
destroy: function() {
|
||||
if (this.map) {
|
||||
this.map.events.unregister('mousemove', this, this.redraw);
|
||||
}
|
||||
OpenLayers.Control.prototype.destroy.apply(this, arguments);
|
||||
},
|
||||
|
||||
/**
|
||||
* Method: draw
|
||||
* {DOMElement}
|
||||
|
||||
@@ -295,7 +295,7 @@ OpenLayers.Format.GML = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
// look for <gml:posList>
|
||||
nodeList = this.getElementsByTagNameNS(node, this.gmlns, "posList");
|
||||
if(nodeList.length > 0) {
|
||||
coordString = nodeList[0].firstChild.nodeValue;
|
||||
coordString = this.concatChildValues(nodeList[0]);
|
||||
coordString = coordString.replace(this.regExes.trimSpace, "");
|
||||
coords = coordString.split(this.regExes.splitSpace);
|
||||
var dim = parseInt(nodeList[0].getAttribute("dimension"));
|
||||
@@ -314,7 +314,7 @@ OpenLayers.Format.GML = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
nodeList = this.getElementsByTagNameNS(node, this.gmlns,
|
||||
"coordinates");
|
||||
if(nodeList.length > 0) {
|
||||
coordString = nodeList[0].firstChild.nodeValue;
|
||||
coordString = this.concatChildValues(nodeList[0]);
|
||||
coordString = coordString.replace(this.regExes.trimSpace,
|
||||
"");
|
||||
coordString = coordString.replace(this.regExes.trimComma,
|
||||
@@ -453,7 +453,8 @@ OpenLayers.Format.GML = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
grandchildren = child.childNodes;
|
||||
if(grandchildren.length == 1) {
|
||||
grandchild = grandchildren[0];
|
||||
if(grandchild.nodeType == 3) {
|
||||
if(grandchild.nodeType == 3 ||
|
||||
grandchild.nodeType == 4) {
|
||||
name = (child.prefix) ?
|
||||
child.nodeName.split(":")[1] :
|
||||
child.nodeName;
|
||||
|
||||
@@ -326,7 +326,7 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
grandchildren = child.childNodes;
|
||||
if(grandchildren.length == 1) {
|
||||
grandchild = grandchildren[0];
|
||||
if(grandchild.nodeType == 3) {
|
||||
if(grandchild.nodeType == 3 || grandchild.nodeType == 4) {
|
||||
name = (child.prefix) ?
|
||||
child.nodeName.split(":")[1] :
|
||||
child.nodeName;
|
||||
@@ -638,4 +638,4 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
|
||||
},
|
||||
|
||||
CLASS_NAME: "OpenLayers.Format.KML"
|
||||
});
|
||||
});
|
||||
|
||||
@@ -256,6 +256,62 @@ OpenLayers.Format.XML = OpenLayers.Class(OpenLayers.Format, {
|
||||
}
|
||||
return attributeValue;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: getChildValue
|
||||
* Get the value of the first child node if it exists, or return an
|
||||
* optional default string. Returns an empty string if no first child
|
||||
* exists and no default value is supplied.
|
||||
*
|
||||
* Parameters:
|
||||
* node - {DOMElement} The element used to look for a first child value.
|
||||
* def - {String} Optional string to return in the event that no
|
||||
* first child value exists.
|
||||
*
|
||||
* Returns:
|
||||
* {String} The value of the first child of the given node.
|
||||
*/
|
||||
getChildValue: function(node, def) {
|
||||
var value;
|
||||
try {
|
||||
value = node.firstChild.nodeValue;
|
||||
} catch(e) {
|
||||
value = (def != undefined) ? def : "";
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: concatChildValues
|
||||
* Concatenate the value of all child nodes if any exist, or return an
|
||||
* optional default string. Returns an empty string if no children
|
||||
* exist and no default value is supplied. Not optimized for large
|
||||
* numbers of child nodes.
|
||||
*
|
||||
* Parameters:
|
||||
* node - {DOMElement} The element used to look for child values.
|
||||
* def - {String} Optional string to return in the event that no
|
||||
* child exist.
|
||||
*
|
||||
* Returns:
|
||||
* {String} The concatenated value of all child nodes of the given node.
|
||||
*/
|
||||
concatChildValues: function(node, def) {
|
||||
var value = "";
|
||||
var child = node.firstChild;
|
||||
var childValue;
|
||||
while(child) {
|
||||
childValue = child.nodeValue;
|
||||
if(childValue) {
|
||||
value += childValue;
|
||||
}
|
||||
child = child.nextSibling;
|
||||
}
|
||||
if(value == "" && def != undefined) {
|
||||
value = def;
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
/**
|
||||
* APIMethod: hasAttributeNS
|
||||
|
||||
@@ -143,9 +143,10 @@ OpenLayers.Handler.Drag = OpenLayers.Class(OpenLayers.Handler, {
|
||||
* {Boolean} Let the event propagate.
|
||||
*/
|
||||
mousedown: function (evt) {
|
||||
var propagate = true;
|
||||
this.dragging = false;
|
||||
if (this.checkModifiers(evt) && OpenLayers.Event.isLeftClick(evt)) {
|
||||
this.started = true;
|
||||
this.dragging = false;
|
||||
this.start = evt.xy;
|
||||
this.last = evt.xy;
|
||||
// TBD replace with CSS classes
|
||||
@@ -159,9 +160,13 @@ OpenLayers.Handler.Drag = OpenLayers.Class(OpenLayers.Handler, {
|
||||
document.onselectstart = function() {return false;}
|
||||
}
|
||||
|
||||
return false;
|
||||
propagate = false;
|
||||
} else {
|
||||
this.started = false;
|
||||
this.start = null;
|
||||
this.last = null;
|
||||
}
|
||||
return true;
|
||||
return propagate;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user