For PanZoomBar, this fixes the slider behavior. Now the buttonclick listener argument also includes a buttonXY property, and PanZoomPanel does not need an Events instance for the zoombarDiv any more.
For Panel, this fixes events for panels outside the map. Just setting the element on the Events instance was no longer enough after e70569b2bb. Events::attachToElement is now used, and it needed to be modified to also work if the Events instance had no element previously.
Finally, I renamed the button property of the buttonclick listener argument to buttonElement, to not confuse it with the browser event button property, and added some more tests and documentation.
This change involves removal of the map's eventsDiv and introduces an OpenLayers.Events.buttonclick component that adds a buttonclick event which makes sure that only events that are not related to clicking a button propagate. This allows button controls to be on the map's viewPortDiv again.
authors.txt file. In reality, MetaCarta does not own copyright to these files,
they merely have a right to distribute them under the license terms agreed to
by the contributors. At this point, there is no longer any reference to
MetaCarta as a copyright holder in the OpenLayers project, only to its
individual contributors via the authors.txt file.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@10706 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
nullified while being created in getMousePosition. This behavior seems
to be due to a bug in IE6 (it appears that two event handlers are
running in separate threads, which should never happen). The
proposed patch does nothing but improve the coding style of setting
scrolls and lefttop, and it seems to fix the issue. p=rdewit, r=me
(closes#1952)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8936 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
flag on the Events object is set to true. This ends up meaning that we save a
lot of unneccesary getMousePosition calls because (for example) the layer
doesn't need to include the .xy property. In addition, we add in speed
improvements via caching to the getMousePosition, courtesy the work from
pgiraud (which was worked on further by tcoulter) -- this results in
significantly improved getMousePosition performance improvements in 'real life'
situations that are more like the cases that people use OpenLayers, with a
higher number of containing divs (and also clearly demonstrate a gain in
performance even in the simple case.)
The end result is:
* In typical map movement over the map, (n / n+1) fewer calls to
getMousePosition, where n is the number of active layers when dragging over
the map.
* In the simple case, 40% faster getMousePosition performance -- and in
more complex cases, significantly more performance improvements.
To drop the former improvement, which may affect some applications (as
described in the includeXY documentation) simply set:
OpenLayers.Events.prototype.includeXY = true;
This will restore the 'every element has an xy property always' behavior
that was the case beore this patch.
r=me,tschaub, work by pgiraud related to (See #1509), and (Closes#1459)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7615 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
prototype is extended. Although OpenLayers is not designed to work when this
fundamental violation of Javascript is in place, we can at least not fail
so miserably in this case: this gets us back to a similar level of
functionality as we had in 2.5. This was brought up by a user working on
a viamichelin layer, which apparently extends the object prototype (bad!),
and fixed in conjuction with tschaub. r=pgiraud,tschaub (Pullup #1502)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6832 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf