Making it so features with DELETE state get drawn with the 'delete' rendering intent. The default symbolizer used for the delete intent has display property set to 'none'. This means features with DELETE state will be erased (if already drawn) the next time layer.drawFeature is called. If you want to have features with DELETE state drawn in a partially opaque gray (for example), create a custom style map or change the default delete symbolizer. r=crschmidt (closes #1953)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8956 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -397,5 +397,8 @@ OpenLayers.Feature.Vector.style = {
|
||||
hoverPointUnit: "%",
|
||||
pointerEvents: "visiblePainted",
|
||||
cursor: "inherit"
|
||||
},
|
||||
'delete': {
|
||||
display: "none"
|
||||
}
|
||||
};
|
||||
|
||||
@@ -118,7 +118,7 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
* {Boolean} Whether the layer is a vector layer.
|
||||
*/
|
||||
isVector: true,
|
||||
|
||||
|
||||
/**
|
||||
* APIProperty: features
|
||||
* {Array(<OpenLayers.Feature.Vector>)}
|
||||
@@ -643,10 +643,11 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
if (!this.drawn) {
|
||||
return
|
||||
}
|
||||
|
||||
if (typeof style != "object") {
|
||||
var renderIntent = typeof style == "string" ?
|
||||
style : feature.renderIntent;
|
||||
if(!style && feature.state === OpenLayers.State.DELETE) {
|
||||
style = "delete";
|
||||
}
|
||||
var renderIntent = style || feature.renderIntent;
|
||||
style = feature.style || this.style;
|
||||
if (!style) {
|
||||
style = this.styleMap.createSymbolizer(feature, renderIntent);
|
||||
|
||||
@@ -15,7 +15,7 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
/**
|
||||
* Property: styles
|
||||
* Hash of {<OpenLayers.Style>}, keyed by names of well known
|
||||
* rendering intents (e.g. "default", "temporary", "select").
|
||||
* rendering intents (e.g. "default", "temporary", "select", "delete").
|
||||
*/
|
||||
styles: null,
|
||||
|
||||
@@ -46,7 +46,9 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
"select": new OpenLayers.Style(
|
||||
OpenLayers.Feature.Vector.style["select"]),
|
||||
"temporary": new OpenLayers.Style(
|
||||
OpenLayers.Feature.Vector.style["temporary"])
|
||||
OpenLayers.Feature.Vector.style["temporary"]),
|
||||
"delete": new OpenLayers.Style(
|
||||
OpenLayers.Feature.Vector.style["delete"])
|
||||
};
|
||||
|
||||
// take whatever the user passed as style parameter and convert it
|
||||
@@ -56,6 +58,7 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
this.styles["default"] = style;
|
||||
this.styles["select"] = style;
|
||||
this.styles["temporary"] = style;
|
||||
this.styles["delete"] = style;
|
||||
} else if(typeof style == "object") {
|
||||
for(var key in style) {
|
||||
if(style[key] instanceof OpenLayers.Style) {
|
||||
@@ -69,6 +72,7 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
this.styles["default"] = new OpenLayers.Style(style);
|
||||
this.styles["select"] = new OpenLayers.Style(style);
|
||||
this.styles["temporary"] = new OpenLayers.Style(style);
|
||||
this.styles["delete"] = new OpenLayers.Style(style);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user