Hi Eric, That's a nice and great approach without hurting the core a all. There's just a small issue with this solution ( see below ).
Keep up the excellent work, Alexandre Eric Lemoine wrote: > On Tue, Mar 3, 2009 at 7:05 PM, Eric Lemoine <eric....@gmail.com> wrote: > >> Alexandre >> >> I fully support the idea of being able to have two "highlight feature" >> controls working at the same time, one on hover and one on click. >> However i don't like the renderIntent array in the feature class, it >> brings extra complexity that I think is undesirable. I have to say >> though that i cannot think of a better solution at this point. Still >> thinking... >> >> Thanks for bringing this back up. >> > > > Alexandre, > > What about this: add an highlightOnly boolean option to the select > feature control, if highlightOnly is true then do not select features, > just highlight them. Also, if highlightOnly is set to true, when > clicking or moving out of an highlighted feature do not unhighlight > the feature if it is in the selected features array, i.e. if it was > previously selected (by another select feature control). > Control #1, select on click, color: blue Control #2, select on hover, color: yellow, highlightOnly Mouse over a feature, it's not selected but color changed to yellow. ( OK ) Click on this feature, it's selected and color changed to blue. ( OK ) Move moves over the feature, it remains blue ( OK ) Move out of the feature, it remains blue ( OK ) Move back over the feature, it's not selected but changes from blue to yellow ( OK ) Move out, it remains yellow ( not OK : it should be drawn back to blue ) Selecting a bunch of features on click with control #1 renders them to blue, but hovering them makes control #2 renders them to yellow instead. It's a small price to pay if we consider that your changes don't hurt the core at all, which is a good thing in my opinion. BUT ( sorry to bring that up again ^_^ ), a renderIntent "stack" would resolve this small issue. We would just need to call this.layer.drawFeature(feature) instead of not calling this.drawFeature(feature) to draw the feature back to its previous renderIntent. What do you ( and others ) think ? > See the attached patch. Note that patch isn't complete - the select > feature control should trigger "featurehighlighted" and > "featureunhighlighted" events to complete the picture. > > What do you think? > > -- > Eric > -- Alexandre Dubé Mapgears www.mapgears.com _______________________________________________ Dev mailing list Dev@openlayers.org http://openlayers.org/mailman/listinfo/dev