[Commits] r2023 - in sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint: examples lib/GeoExt.ux
commits at geoext.org
commits at geoext.org
Tue Mar 23 15:04:38 CET 2010
Author: pgiraud
Date: 2010-03-23 15:04:38 +0100 (Tue, 23 Mar 2010)
New Revision: 2023
Modified:
sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/examples/PrintExtent.js
sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/lib/GeoExt.ux/MultiPagePrint.js
Log:
more changes in PrintExtent, no default page is created by default
Modified: sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/examples/PrintExtent.js
===================================================================
--- sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/examples/PrintExtent.js 2010-03-23 12:42:04 UTC (rev 2022)
+++ sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/examples/PrintExtent.js 2010-03-23 14:04:38 UTC (rev 2023)
@@ -34,6 +34,8 @@
* plugins: printExtent
* });
*
+ * printExtent.addPage();
+ *
* // print the map
* printExtent.print();
*/
@@ -130,7 +132,6 @@
);
GeoExt.plugins.PrintExtent.superclass.constructor.apply(this, arguments);
-
},
/** api: method[print]
@@ -151,6 +152,20 @@
init: function(mapPanel) {
this.map = mapPanel.map;
mapPanel.on("destroy", this.onMapPanelDestroy, this);
+
+ if (!this.layer) {
+ this.layer = new OpenLayers.Layer.Vector(null, {
+ displayInLayerSwitcher: false
+ });
+ }
+ this.createControl();
+
+ if(this.initialConfig.pages) {
+ for(var i=0, len=this.initialConfig.pages.length; i<len; ++i) {
+ var page = this.initialConfig.pages[i];
+ this.addPage(page);
+ }
+ }
this.setUp();
},
@@ -209,22 +224,11 @@
* the first page if no pages were specified in the configuration.
*/
setUp: function() {
- this.initLayer();
-
- this.initControl();
+ this.map.addLayer(this.layer);
this.map.addControl(this.control);
this.control.activate();
this.printProvider.on("layoutchange", this.updateBox, this);
-
- if(!this.initialConfig.pages) {
- this.addPage();
- } else {
- for(var i=0, len=this.initialConfig.pages.length; i<len; ++i) {
- var page = this.initialConfig.pages[i];
- this.addPage(page);
- }
- }
},
/** private: method[tearDown]
@@ -251,13 +255,6 @@
}
var layer = this.layer;
- if(layer && layer.events) {
- for(var i=0, len=this.pages.length; i<len; ++i) {
- var page = this.pages[i];
- page.un("change", this.onPageChange, this);
- layer.removeFeatures([page.feature]);
- }
- }
if(!this.initialConfig.layer &&
map && map.events &&
@@ -291,82 +288,65 @@
delete this.page;
this.map = null;
},
-
- /** private: method[initLayer]
- */
- initLayer: function() {
- if(!this.layer) {
- this.layer = new OpenLayers.Layer.Vector(null, {
- displayInLayerSwitcher: false
- });
- }
- if(!this.layer.map) {
- this.map.addLayer(this.layer);
- }
- },
- /** private: method[initControl]
+ /** private: method[createControl]
*/
- initControl: function() {
- var pages = this.pages;
-
- if(!this.control) {
- this.control = new OpenLayers.Control.TransformFeature(this.layer, {
- preserveAspectRatio: true,
- eventListeners: {
- "beforesetfeature": function(e) {
- for(var i=0, len=this.pages.length; i<len; ++i) {
- if(this.pages[i].feature === e.feature) {
- this.page = this.pages[i];
- e.object.rotation = -this.pages[i].rotation;
- break;
- }
+ createControl: function() {
+ this.control = new OpenLayers.Control.TransformFeature(this.layer, {
+ preserveAspectRatio: true,
+ eventListeners: {
+ "beforesetfeature": function(e) {
+ for(var i=0, len=this.pages.length; i<len; ++i) {
+ if(this.pages[i].feature === e.feature) {
+ this.page = this.pages[i];
+ e.object.rotation = -this.pages[i].rotation;
+ break;
}
- },
- "setfeature": function(e) {
- for(var i=0, len=this.pages.length; i<len; ++i) {
- if(this.pages[i].feature === e.feature) {
- this.fireEvent("selectpage", this.pages[i]);
- break;
- }
+ }
+ },
+ "setfeature": function(e) {
+ for(var i=0, len=this.pages.length; i<len; ++i) {
+ if(this.pages[i].feature === e.feature) {
+ this.fireEvent("selectpage", this.pages[i]);
+ break;
}
- },
- "beforetransform": function(e) {
- this._updating = true;
- var page = this.page;
- if(e.rotation) {
- if(this.printProvider.layout.get("rotation")) {
- page.setRotation(-e.object.rotation);
- } else {
- e.object.setFeature(page.feature);
- }
- } else if(e.center) {
- page.setCenter(OpenLayers.LonLat.fromString(
- e.center.toShortString()
- ));
+ }
+ },
+ "beforetransform": function(e) {
+ this._updating = true;
+ var page = this.page;
+ if(e.rotation) {
+ if(this.printProvider.layout.get("rotation")) {
+ page.setRotation(-e.object.rotation);
} else {
- page.fit(e.object.box);
- var minScale = this.printProvider.scales.getAt(0);
- var maxScale = this.printProvider.scales.getAt(
- this.printProvider.scales.getCount() - 1);
- var boxBounds = e.object.box.geometry.getBounds();
- var pageBounds = page.feature.geometry.getBounds();
- var tooLarge = page.scale === minScale &&
- boxBounds.containsBounds(pageBounds);
- var tooSmall = page.scale === maxScale &&
- pageBounds.containsBounds(boxBounds);
- if(tooLarge === true || tooSmall === true) {
- this.updateBox();
- }
+ e.object.setFeature(page.feature);
}
- delete this._updating;
- return false;
- },
- "transformcomplete": this.updateBox,
- scope: this
- }
- });
- }
+ } else if(e.center) {
+ page.setCenter(OpenLayers.LonLat.fromString(
+ e.center.toShortString()
+ ));
+ } else {
+ page.fit(e.object.box);
+ var minScale = this.printProvider.scales.getAt(0);
+ var maxScale = this.printProvider.scales.getAt(
+ this.printProvider.scales.getCount() - 1);
+ var boxBounds = e.object.box.geometry.getBounds();
+ var pageBounds = page.feature.geometry.getBounds();
+ var tooLarge = page.scale === minScale &&
+ boxBounds.containsBounds(pageBounds);
+ var tooSmall = page.scale === maxScale &&
+ pageBounds.containsBounds(boxBounds);
+ if(tooLarge === true || tooSmall === true) {
+ this.updateBox();
+ }
+ }
+ delete this._updating;
+ return false;
+ },
+ "transformcomplete": this.updateBox,
+ scope: this
+ }
+ });
},
/** private: method[fitPage]
Modified: sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/lib/GeoExt.ux/MultiPagePrint.js
===================================================================
--- sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/lib/GeoExt.ux/MultiPagePrint.js 2010-03-23 12:42:04 UTC (rev 2022)
+++ sandbox/pgiraud/playground/print-multipage/geoext.ux/ux/MultiPagePrint/lib/GeoExt.ux/MultiPagePrint.js 2010-03-23 14:04:38 UTC (rev 2023)
@@ -245,7 +245,7 @@
scope: this
})
}
- this.addPageForm(this.printExtent.pages[0]);
+ this.addPage();
this.printExtent.on('selectpage', function(page) {
for(var i=0, len=this.printPages.length; i<len; ++i) {
More information about the Commits
mailing list