GeoExt 1.0 Release Notes
These notes summarize new features, bug fixes and API changes since the last release. GeoExt 1.0 closes a total of 64 tickets.
Dependencies
- Ext JS >= 3.2
- OpenLayers >= 2.10
GeoExt 1.0 was tested with Ext JS 3.2.1 and OpenLayers 2.10.
Overview of new Features in GeoExt 1.0
- New KaMap encoder for GeoExt.data.PrintProvider
- New GeoExt.tree.WMSCapabilitiesLoader to build a tree representing a WMS GetCapabilities response
- New GeoExt.plugins.TreeNodeComponent to render tree nodes with an additional Ext.Component (e.g. a GeoExt.LayerLegend)
See the enhancement page for the complete list of all 30 enhancements made in the 1.0 release.
Bug Fixes
See the defect page for the list of all 25 bugs fixed in the 1.0 release.
API Changes since 0.7
- Getter and setter methods for the layer in GeoExt.data.LayerRecord. Applications have to be changed in the following way:
// old var layer = layerRecord.get("layer"); // new var layer = layerRecord.getLayer(); // old layerRecord.set("layer", layer); // new layerRecord.setLayer(layer); - Getter and setter methods for the feature in GeoExt.data.FeatureRecord. Applications have to be changed in the following way:
// old var feature = featureRecord.get("feature"); // new var feature = featureRecord.getFeature(); // old featureRecord.set("feature", feature); // new featureRecord.setFeature(feature); - 2nd argument for GeoExt.data.PrintPage::fit changed. Previously, the argument was a boolean. When set to true, the closest matching print extent would have been used. The new argument is an object, with a mode property. To keep applications behave the same, the following changes have to be made:
// old printPage.fit(map, true); // new printPage.fit(map, {mode: "closest"}); - TreeNodeUI mixins replaced with TreePanel plugins. To make tree nodes extensible, a new TreeNodeUIEventMixin has been created. This allows easier creation of custom ui elements for tree nodes. Applications have to be changed the following way (example: GeoExt.tree.RadioButtonMixin):
// old var LayerNodeUI = Ext.extend( GeoExt.tree.LayerNodeUI, new GeoExt.tree.RadioButtonMixin() ); var tree = new Ext.tree.TreePanel(); // new var LayerNodeUI = Ext.extend( GeoExt.tree.LayerNodeUI, new GeoExt.tree.TreeNodeUIEventMixin() ); var tree = new Ext.tree.TreePanel({ plugins: [new GeoExt.plugins.TreeNodeRadioButton()] }); - Layers configured in the MapPanel's layers property won't be added to the map before it is rendered. This is a behavioral change that may require changes in code that relies on a layer's map property before the map is rendered.
- Simplified API for GeoExt.Popup. The feature and lonlat config options no longer exist and were replaced with a new location option which can take OpenLayers.Feature.Vector, OpenLayers.Geometry, OpenLayers.LonLat or OpenLayers.Pixel as arguments. In applications, the feature or lonlat config key has to be changed to location.
- GeoExt.SliderTip can now handle multiple thumbs. The API change is that the getText method in the tip gets a thumb argument instead of slider (this is consistent with Ext.slider.Tip).
- Added a baseParams config option to GeoExt.WMSLegend. With this change, the imageFormat config option was removed. Applications need to be changed:
// old var legend = new GeoExt.WMSLegend({ layerRecord: layerRec, imageFormat: "image/png" }); // new var legend = new GeoExt.WMSLegend({ layerRecord: layerRec, baseParams: {FORMAT: "image/png"} }); - The GeoExt.data.FeatureStore's addFeatureFilter and addRecordFilter were removed. As a replacement for addFeatureFilter, the new featureFilter config option was introduced, which is to be configured with an OpenLayers.Filter instance. Instead of addRecordFilter, applications should use the layer's beforefeatureadded event:
// old var featureStore = new GeoExt.data.FeatureStore({ addFeatureFilter: function(feature) { return false; } }); // new var featureStore = new GeoExt.data.FeatureStore({ featureFilter: new OpenLayers.Filter({ evaluate: function(feature) { return false; } }); }); - GeoExt.data.PrintProvider has a new autoLoad config option. Only if set to true, the capabilities will immediately be loaded. Applications that use the url config option have to configure autoLoad: true in addition to keep the current behavior.
- Two methods were renamed in GeoExt.plugins.PrintExtent: setUp is now called show, and tearDown is called hide.