Commit Graph

110 Commits

Author SHA1 Message Date
crschmidt
68f70f750b Add support for a Canvas renderer. This renderer will allow for some new
capabilties in OpenLayers Vector drawing, including: 
 * Vector support for iPhone, Safari 2.x series browsers
 * Improved performance of dragging the map with a large number of 
   geometries.

The Vector layer default renderer order is now SVG, VML, Canvas, so browsers
with Canvas support and no SVG or VML will be able to draw vectors.

The Canvas layer has a number of limitations: getFeatureFromEvent is much
slower than the other types of layer, and any change to any feature requires a
redraw of the entire canvas. Because Canvas is typically a pretty fast 
drawing implementation, the latter is less problematic than it might otherwise
be.

r=pagameba,fred, with glances from a couple other people.
(Closes #1512)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7862 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-08-26 14:22:59 +00:00
Frédéric Junod
39201a0427 Adding OpenLayers.Strategy.Fixed: A simple strategy that requests features once and never requests new data. r=elemoine, (Closes #1664)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7707 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-08-05 11:55:24 +00:00
Tim Schaub
d4a62c630a Adding a filter format for version 1.0.0 filter encoding. The sld parser extends itself to use readers and writers from the filter parser. r=me (closes #1605)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7651 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-31 23:34:19 +00:00
Tim Schaub
360d7412f0 Adding strategy and protocol base classes for better vector behavior. This just sets the common API for strategy and protocol. In general, a vector layer can have many strategies. A setLayer method gets called on each of these layers. When a layer is added to a map, any strategies on that layer get activated. When the layer is destroyed, any strategies get destroyed (this could be changed to deactivate for symmetry). A vector layer may also have a protocol. A protocol is typically constructed with a format. The layer doesn't need to know about the format. The protocol doesn't need to know about the layer. Strategies coordinate feature management for a layer. Specific strategies and protocols to follow. r=crschmidt (closes #1646)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7650 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-31 21:27:35 +00:00
crschmidt
09b4073636 * Fixes to the Keyboard Handler to make it work better --
* drop keypress event (not used, registers as keydown in IE< which results
      in double events) 
    * return evt instead of evt.keyCode || evt.charCode, so apps can do
      whatever they like best
 * adjust ModifyFeature to new API
 * Adjust KeyboardDefaults to new API, and include a new set of keyCodes
    in switch statement to catch more cases
 * Include keyboard defaults test in list-tests.

Patch from tcoulter, work from Pedro Simonetti (See #1108), Paul Spencer,
myself. r=pagameba,me (Closes #1292)   


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7644 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-31 17:45:16 +00:00
Tim Schaub
9bdd7bc77a Alphabetize test list.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7632 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-31 16:21:00 +00:00
Tim Schaub
309877a48c Adding a featureadded event to the draw feature control event types. First tests ever for the draw feature control. Thanks sbenthall for the patch. r=me (closes #1508)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7601 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-30 03:41:22 +00:00
crschmidt
54482a0a2e Add GPX-parsing format, courtesy Edgemaster. (Closes #1272)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7590 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-29 21:00:02 +00:00
crschmidt
5e8b9284a5 MultiMap's API seems to have all-but-disappeared from where we were using it
in the past; the only reference I can find is a' call us and get a quote' 
number. For now, just removing the tests from run-tests until we figure out
what to do.  


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7577 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-07-28 20:47:08 +00:00
Tim Schaub
3c70e78e47 Adding cross-browser XMLHttpRequest functionality and convenience methods around it in the OpenLayers.Request namespace. Deprecating OpenLayers.Ajax.Request. Full support sync/async requests using all HTTP verbs now. r=elemoine (closes #1565)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7335 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-06-09 19:51:38 +00:00
crschmidt
ffab22ba19 2.6 introduced a regression that maps could not be created when the Object
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
2008-04-09 16:06:23 +00:00
Tim Schaub
1091e34c0b With dramatic flourish, I'm modifying 21 files with 1033 insertions and 815 deletions between release candidates. This moves all rule subclasses to a more natural home as filter subclasses. Also adds tests for SLD write and corrects a handful of issues there. Apologies to all who lose sleep over this sort of thing. r=ahocevar,crschmidt (closes #1492)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6818 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-04-08 00:13:45 +00:00
crschmidt
797c57586a The FramedCloud popup throws an error if you attempt to call setContentHTML
before you add the popup to the map. To prevent this, don't call construct
or updateBlocks if relativePosition is null, to prevent this error message.
r=elemoine, (Pullup #1479)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6765 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-04-02 14:08:01 +00:00
crschmidt
0d6174db7f Note to self: when moving all test files, *also* move the location of those
files in the test plan. (in other words: oops.)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6723 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-31 05:16:11 +00:00
crschmidt
99265c2581 Add support for MapGuide Open Source layers in OpenLayers. Great work by
Mike Adair on following this one through. Includes example, tests, code, 
etc. r=me (Closes #995)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@6368 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-26 02:56:40 +00:00
Tim Schaub
3405e97835 Adding more complete style parsing to the WMC format. The format now has support for named, linked (SLD), and inline (SLD_BODY) styles. r=ahocevar (closes #1313)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6358 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-24 20:25:27 +00:00
Tim Schaub
fa55f54e32 Adding framework for internationalization support. The new OpenLayers.Lang.translate method takes a key and looks for a value in a dictionary based on the current language setting. Set a new language code with OpenLayers.Lang.setCode. Get the current code with OpenLayers.Lang.getCode. Thanks to Mike Adair for the lead on this one. r=ahocevar,me (closes #109)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6313 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-15 21:15:48 +00:00
ahocevar
c5dd8ada2c "users should be able to customize the select style per feature": Created a !StyleMap class which stores all styles that are needed for a layer. Controls that need to render features differently can now just give a render intent (e.g. "default", "select" or "temporary") to the layer's drawFeature method, instead of having extra style informations like Control.!SelectFeature.selectStyle. Existing application that set layer.style or feature.style are still supported, but both of these style properties are now null by default. r=crschmidt,elemoine,tschaub (closes #1120)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6240 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-12 23:05:47 +00:00
Tim Schaub
db77398339 Thanks Ian Mayo for this nice ScaleLine control. Give your maps a dualie scale line control customizable with CSS. r=crschmidt (closes #1089)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6177 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-09 19:39:12 +00:00
Tim Schaub
c52ed952d8 Add navigation history control. This control creates two obligate controls: next and previous. Calling trigger on the next and previous controls steps through the navigation history. r=crschmidt,ahocevar,pgiraud (closes #1240)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6157 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-09 01:27:45 +00:00
pgiraud
f6fe7d48d3 adds tween and easing classes (with algorithms from Robert Penner) to handle animation
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6097 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-08 13:09:58 +00:00
Tim Schaub
61f124f214 Only write out min/max scale related properties if they are explicitly set on the layer. Thanks for slapping Safari around a bit with this on crschmidt. Works but still untested there. r=crschmidt (closes #1314)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6033 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-07 21:06:08 +00:00
euzuro
672d3c4eed give the navigation control a proper destroy and also give it a test file while we're at it. (Closes #1289)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5990 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-02-05 06:34:20 +00:00
ahocevar
c3c97be5b2 Create tests for OpenLayers.js. r=crschmidt (closes #1267)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5922 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-28 20:29:25 +00:00
Tim Schaub
44f7ebdc22 Adding Web Map Context document parsing for versions 1.0.0 and 1.1.0. This also adds a cross browser setAttributeNS to the XML format. Thanks bartvde for supporting this work. r=crschmidt (closes #100)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5919 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-28 16:39:05 +00:00
crschmidt
bd7eaeb167 Add support for parsing and serializing OpenStreetMap data. Includes
tests, examples, modification to proxy.cgi, etc. This should allow one
to build an OpenLayers based OpenStreetMap editor with some effort, and 
makes it trivially simple to drop OpenStreetMap data from the API into 
your OpenLayers application. r=ahocevar,elemoine (Closes #1271)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5902 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-26 14:41:41 +00:00
crschmidt
81505f54b0 Add generic 'button' control. r=tschaub. (Closes #872)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5870 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-24 03:16:42 +00:00
crschmidt
72a1cef5da Accidentally committed Format/OSM test in list-tests.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5867 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-24 02:14:10 +00:00
crschmidt
7af5b1c657 Fix silly typo which neither Paul nor I caught, with tests this time. Thanks
Tim for catching it.


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5866 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-24 02:12:21 +00:00
Éric Lemoine
f053a4e0c8 Add hover handler. With this handler user-defined actions can be triggered as the mouse moves over the map and pauses. An example of use is send WMS/GetFeatureInfo requests. r=crschmidt,tschaub (closes #1255)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5746 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-15 12:54:47 +00:00
ahocevar
651b60f8f7 New layer type PointTrack: connects point features to lines. r=crschmidt,elemoine. (closes #1167)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5733 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-01-14 14:42:29 +00:00
Tim Schaub
e636e82455 reordering tests for a bit easier reading
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5575 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-26 23:49:20 +00:00
Tim Schaub
7011c0f470 Big thanks to Andreas Hocevar for this SLD format class - this continues to extend his Rule and Style work by giving us the ability to read SLD docs - onward with style r=tschaub (closes #533).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5520 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-20 00:24:20 +00:00
Tim Schaub
6ad22b8e6a adding a click handler for flexible cross-browser single and double click handling - add to a control and set click or dblclick callbacks - thanks for the review and pairing crschmidt (closes #1211)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5438 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-16 04:42:14 +00:00
crschmidt
fb3c02354f Add support for the extremely awesomely super-comprehensive rule based styling
that Andreas has been working so hard on. I think this is the single most
awesome commit I've ever had the pleasure of committing. The results of this
commit are described on http://trac.openlayers.org/wiki/Styles: essentially,
this makes it possible to style features in all kinds of fun ways based on
rules, and will also form the underlying basis for #533. Things this patch
adds:

 * OL.Rule classes. These classes allow you to do tests against the propertie
   of a feature, and set a style based on these properties -- so you can
   compare the 'speedlimit' property of a line, and test if it is > 60, and if
   it is greater than 60, render it in a different color. You can also test
   combinations of rules using the OL.Rule.Logical class, and test featureids
   with the FeatureID class. 
 * OL.Style class: The OL.Style class lets you wrap up Rules into styles that 
   can be used with drawFeature to draw the feature in the selected style.
 * OL.Layer.Vector.drawFeature will check if the given style is an OL.Style
   object, and if so, it will draw the feature accordingly.

examples/georss-flickr.html shows usage of these classes.

Many, many thanks go to Andreas for all his hard work on this: this code really
is very pretty, and includes unit tests for all the classes (and we know that I
am a big fan of tests.)

Three cheers for Andreas: Hip hip, hooray! hip hip, hooray! hip hip, hooray!


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5429 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-15 16:17:50 +00:00
crschmidt
c720e44c7c Patch from Gregers Rygg to fix setOpacity for AnchoredBubble popups.
(Closes #1204)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5415 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-15 03:51:21 +00:00
crschmidt
abe2a52c31 With a confirmation that Tim is happy considering this a review, I'm going to
go ahead and commit this (relatively lighttweight) patch to the code so that
the projection library base API is there, even though for the most part, it's
not usable yet. This changes map.projection from being a string to being a 
class, with a projCode on it. (Closes #1035)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@5401 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-13 23:29:18 +00:00
crschmidt
d91db97efa Renderer tests, from pgiraud. (Thx!) (Closes #1128)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5319 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-12-01 15:03:23 +00:00
crschmidt
0307d4868a Fix to mouseposition destroy from fredj
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4431 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-21 11:44:36 +00:00
Tim Schaub
dd8d895460 Modify away! This was a long time coming. Thanks all for contributions. The ModifyFeature control lets you select a feature for modification, drag around vertices (or the whole feature in the case of a point), delete vertices, and add new vertices (closes #941).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4272 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-13 23:22:06 +00:00
crschmidt
ebc60202b7 Patch from Erik/I to fix:
Popups don't move adequately after zooming with scroll wheel
(Closes #494)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@4250 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-12 20:14:14 +00:00
euzuro
c519879391 adding OpenLayers.Control.Attribution to the list of controls in the OL suite. includes example and tests. very nice. Thanks to pensyakito and cr5 for getting this together and complete. (Closes #103)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4231 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-12 04:37:45 +00:00
crschmidt
0aba585bc0 With review from elem, and oversight from tschaub, rolling in
SphericalMercator changes. Note that this explicitly does *not* include 
r4182 , so as to keep changes to a single logical set: that should be
filed in a seperate bug if it can be reproduced against trunk after this
commit. Hooray for Tim, thanks for all the feedback, onward and upward!
(Closes #686)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@4221 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-11 21:16:28 +00:00
crschmidt
abeecc555a Add Tile_WFS tests -- just a pretty much empty wrapper at the moment.
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4218 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-11 14:46:55 +00:00
Tim Schaub
35dae2bdb0 Adding a RegularPolygon handler for drawing squares, triangles, circles, etc. Demo in the regular-polygon.html example. Also adding a createRegularPolygon class method to the Polygon geometry class. Thanks to crschmidt for all the tests and help getting this in (closes #828).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4205 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-10 20:24:27 +00:00
crschmidt
a339074539 Add test_KML stub (does nothing useful.)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4188 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-09-04 15:28:14 +00:00
Tim Schaub
b3e524960b adding basic tests for the select feature control
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4149 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-08-31 00:27:28 +00:00
Tim Schaub
6c7824cfb0 adding basic tests for the feature handler
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4148 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-08-30 23:56:04 +00:00
Tim Schaub
e5641c76e0 Fix deactivate and destroy methods on the keyboard handler. Add 28 tests for previously untested handler. Thanks to Erik for the quick review and comments - appreciated as always (closes #943).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4108 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-08-29 17:37:42 +00:00
Tim Schaub
153b7a2a78 Properly destroy features in the polygon handler. Many thanks to fredj who has caubht these issues, provided clear patches, and written solid tests. More please. (Closes #934)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@4076 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2007-08-28 16:34:53 +00:00