/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2351 by bh, Sat Sep 25 18:49:20 2004 UTC revision 2551 by jonathan, Thu Jan 27 14:19:41 2005 UTC
# Line 1  Line 1 
1    2005-01-26  Jonathan Coles <[email protected]>
2    
3            Add a new dialog box for raster layers. The dialog box allows
4            the user to toggle a mask that is generated by ProjectRasterFile
5            and is used to only draw the real parts of the projected image.
6    
7            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
8            Instruct the warping code to generate a mask if the raster layer
9            requests one.
10            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
11    
12            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
13            obsolete optional mask argument.
14    
15            * Thuban/UI/classifier.py (Classifier): Change the parent class
16            to LayerProperties and rework the code to support layout calls
17            from the parent.
18            (Classifier.dialog_layout): New. Layout the dialog box.
19            (Classifier.map_layers_removed): Removed. Moved to parent class.
20            (Classifier.map_replaced): Removed. Moved to parent class.
21            (Classifier._OnTry): Renamed to OnTry to support parent class.
22            (Classifier.OnClose): Removed. Supplied in parent class.
23            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
24            (Classifier._OnOK): Renamed to OnOK to support parent class.
25            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
26    
27            * Thuban/UI/layerproperties.py: New. Base class for layer properties
28            dialog boxes.
29    
30            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
31            raster layer properties.
32    
33            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
34            with the non-simple version supplied with gdal. This allows added
35            features such as creating an alpha band.
36            (GetImageData): Generate a mask array from the alpha band that is
37            generated by gdal if the user has selected it. Try to support images
38            that have more than three bands, such as images with RGB plus an
39            alpha band.
40            (ProjectRasterFile): Convert python argument for mask and tell
41            gdal to enable or disable an alpha band.
42    
43            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
44            describing what kind of layer the class is. Defaults to "Unknown",
45            but should be overridden by subclasses.
46            (Layer.Type): New. Override base class method.
47            (RasterLayer.__init__): Create a flag for using a mask. Record extra
48            data from gdal for display in the properties dialog.
49            (RasterLayer.Type): New. Override base class method.
50            (RasterLayer.UseMask): New. Returns True if the mask should be used.
51            (RasterLayer.SetUseMask): New. Set if the mask should be used.
52            (RasterLayer.ImageInfo): New. Return extra information about the image.
53    
54            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
55            the mask information.
56    
57            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
58    
59            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
60            Classifier classes as dialogs to use with the proper layer types.
61    
62            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
63            Fix test.
64    
65            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
66            (TestLayerModification.build_path): New. Support function.
67            (TestLayerModification.test_raster_layer): New. Test new methods.
68    
69            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
70    
71            * test/test_load.py (TestRasterLayer): Add tests for mask.
72    
73            * test/test_load_1_0_1.py: New. Copied from test_load.py.
74    
75            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
76            obsolete optional mask argument.
77    
78    2005-01-26  Nina H�ffmeyer <[email protected]>
79    
80            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
81            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
82            RowOrdinalToId() and ReadRowAsDict().
83    
84            * Extensions/ogr/ogrstart.py: Added menu item which opens database
85            layers for existing database connections.
86    
87            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
88    
89    
90    2005-01-26  Jan-Oliver Wagner <[email protected]>
91    
92            * Doc/manual/thuban-manual-de.xml: More translations.
93    
94    2005-01-24  Bernhard Herzog  <[email protected]>
95    
96            Rework the status bar updates a bit to make sure the message about
97            the projections is produced at the right times.
98    
99            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
100            New class variable with messages that may require a status bar
101            update.
102            (MainWindow.view_position_changed)
103            (MainWindow.update_status_bar): Rename from view_position_changed
104            to update_status_bar.  It's meaning has changed now that it may
105            also generate messages about problems with projection settings.
106            (MainWindow.__init__): Use the new update_status_bar_messages
107            class variable to subscribe update_status_bar
108            (MainWindow.set_position_text): Update doc-string.  This method
109            has to be renamed at some point.  See doc-string and comments.
110            (MainWindow.OnClose): Unsubscribe update_status_bar from all
111            messages in update_status_bar_messages
112    
113            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
114            class attribute.  map messages to be forwarded by the viewport.
115            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
116            the messages in forwarded_map_messages
117    
118    2005-01-21  Bernhard Herzog  <[email protected]>
119    
120            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
121            doc-string
122            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
123            different name for the initialization SQL file.
124    
125    2005-01-21  Jonathan Coles <[email protected]>
126    
127            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
128            a projection and returns a formatted string representing the
129            parameters to feed to gdalwarp. This function eliminates
130            redundancy in draw_raster_layer().
131            (BaseRenderer.render_map_incrementally): Removed the optimization which
132            drew the top most raster layer first and then only those vector-
133            based layers that are above it. With the support for transparency
134            this optimization breaks correct behaviour.
135            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
136            future enhancements to raster layer bounding box. The old behaviour has
137            not changed. Also, change calling parameters to draw_raster_data()
138            to specify new RAW data format and mask.
139            (BaseRenderer.draw_raster_data): Change signature to include an optional
140            parameter for mask information. Change documentation to mention
141            support for new parameter and added option for RAW data format.
142            The data argument is now a list of [width, height, data].
143    
144            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
145            mask parameter. Add new condition for RAW format, which
146            significantly reduces rendering time. Add condition for
147            mask parameter.
148    
149            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
150            data array of RGB values from the projected image returned from
151            the gdal warping functions. In the case of palette based images, it
152            converts the NO_DATA index to the mask color.
153            (ProjectRasterFile): Removed all custom memory driver references
154            and replaced it with the standard in-memory dataset provided
155            by gdal. The return data is no longer a BMP file, but an array
156            of RGB values, one set triple per pixel.
157    
158            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
159            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
160            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
161    
162            * setup.py (thuban_build_ext.finalize_options): Removed mention
163            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
164            files. These are obsolete with the new version of gdalwarp.cpp
165    
166            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
167            Updated signature.
168            (TestBaseRenderer.test_raster_no_projection): Changed the test
169            data to be data in the uncompressed RAW format returned from
170            ProjectRasterFile.
171    
172    2005-01-21  Jan-Oliver Wagner <[email protected]>
173    
174            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
175            string available for i18n.
176    
177    2005-01-20  Russell Nelson  <[email protected]>
178    
179            * Resources/Projections/defaults.proj: Ruin the speling of the
180            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
181            It's the wrong thing to do in the long run, but it's necessary for
182            those users until that bug is fixed.  Otherwise the projection
183            dialog segfaults.  Better to annoy some Lambert-93 users with a
184            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
185    
186    2005-01-20  Bernhard Reiter <[email protected]>
187    
188            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
189            docstring and comment that the warning code here is a hack.
190    
191    2005-01-20  Russell Nelson  <[email protected]>
192    
193            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
194            user about misprojected layers when their lat/lon bounding
195            box exceeds rational lat/lon values.
196    
197    2005-01-20  Bernhard Reiter <[email protected]>
198    
199            * Thuban/UI/about.py (unicodeToLocale): Improved:
200            Use 'ascii' and then 'replace' for other characters
201            when getdefaultlocale returns None. Thanks to Bernhard H. .
202    
203    2005-01-20  Bernhard Reiter <[email protected]>
204    
205            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
206            that OnRangeText might be called twice and using None as argument.
207    
208    2005-01-20  Bernhard Reiter <[email protected]>
209    
210            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
211            OnRangeText(0) to work around a different in wx Behaviour noticed
212            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
213    
214    2005-01-20  Bernhard Reiter <[email protected]>
215    
216            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
217            None. (Fixes rt#2910.)
218            
219    2005-01-18  Frank Koormann <[email protected]>
220    
221            New Extension: mouseposition
222            Tool to collect mouse click positions (map coordinates) in a dialog.
223    
224            * Extensions/mouseposition/__init__.py: New, extension registration
225    
226            * Extensions/mouseposition/mouseposition.py: New, implements the
227            dialog and adds a tool to Thuban mainwindow.
228    
229            * Extensions/mouseposition/position.xpm: New, icon for tool.
230    
231    2005-01-14  Jan-Oliver Wagner <[email protected]>
232    
233            * Doc/manual/thuban-manual-de.xml: More translations.
234    
235    2005-01-11  Frank Koormann <[email protected]>
236    
237            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
238            Fix indention bug.
239    
240    2005-01-09  Frank Koormann <[email protected]>
241    
242            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
243            BugFix 2901: Explicitly copy layers ClassificationColumn since it
244            is not part of the layers Classification.
245    
246    2005-01-03  Frank Koormann <[email protected]>
247    
248            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
249            BugFix 2883: Former implementation only worked on classified point
250            layers: KeyError was raised, now use the default size if field is None.
251    
252    2004-12-27  Bernhard Reiter <[email protected]>
253    
254            svgexport 1.0.0cvs: Fixed label export.
255    
256            * Extensions/svgexport/test/test_svgmapwriter.py:
257            class TestSVGRenderer(): New class; new test test_label_font().
258    
259            * Extensions/svgexport/svgmapwriter.py
260            (SVGRenderer.label_font()): initialised Font size with self.factor now,
261            makes test_label_font happy.
262    
263            * Extensions/svgexport/TODO: crossed out fixed label export item.
264            Added item for options.
265    
266            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
267    
268    2004-12-27  Russell Nelson  <[email protected]>
269    
270            Middle mouse button pans.
271    
272            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
273            OnMiddleDown and OnMiddleUp events.
274            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
275            previously used tool.
276            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
277            pressing the middle mouse button.
278    
279    2004-12-27  Jan-Oliver Wagner <[email protected]>
280    
281            * Doc/manual/thuban-manual-de.xml: More translations.
282    
283    2004-12-23  Jan-Oliver Wagner <[email protected]>
284    
285            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
286            \n to stderr after the warnings. Thanks to Russell Nelson.
287    
288    2004-12-20  Nina Hueffmeyer <[email protected]>
289    
290            * Extensions/ogr/ogrshapes.py: Fixed some issues from
291            Bernhard (coding guidelines etc.). Additionally it is now possible to
292            display shapefiles containing feature collections (e.g.polygons
293            with holes). Works with gdal 1.2.1 now.
294    
295            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
296            from Bernhard (coding guidelines etc.). If ogr can't be imported,
297            tests are skipped now.
298    
299            * Extensions/ogr/ogrstart.py: Fixed some typings.
300    
301    2004-12-20  Bernhard Reiter <[email protected]>
302    
303            * Extensions/svgexport/TODO: updated to add support for
304            raster layers and labels for 1.0.1.
305    
306            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
307            Issue a warning now.
308    
309    2004-12-19  Bernhard Reiter <[email protected]>
310    
311            * Extensions/svgexport/TODO: Added idea to support triggering
312            the application down the pipe.
313    
314    2004-12-19  Bernhard Reiter <[email protected]>
315    
316            svgexport: Improved code quality, mainly by better naming.
317    
318            * Extensions/svgexport/svgmapwriter.py:
319            DrawPath() renamed to DrawPolygonPath(),
320            added documentation, improved comments and variable names.
321            
322            * Extensions/svgexport/svgmapwriter.py,
323              Extensions/svgexport/test/test_svgmapwriter.py:
324            All using DrawPolygonPath() now, the default parameter closed=True
325            omitted.
326    
327            * Extensions/svgexport/test/test_svgmapwriter.py:
328            renamed test_polygon_opened() to test_polyline()
329            renamed test_transparent_polygon() to test_transparent_polyline()
330    
331    2004-12-18  Jan-Oliver Wagner <[email protected]>
332    
333            Some fixes of gns2shp extension.
334    
335            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
336            package.
337    
338            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
339            dynamically.
340    
341            * Extensions/gns2shp/test/README: Simplified description how to test.
342    
343            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
344            fixed some dimensions of fields according to the GNS documentation
345            which seems to change undocumented.
346            Now killing trailing \n and/or \r from MODIFY_DATE.
347            This fixes RT#2453.
348    
349    2004-12-18  Bernhard Reiter <[email protected]>
350    
351            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
352    
353            * Extensions/svgexport/test/test_svgmapwriter.py:
354            Added new tests: test_export_polygon_with_hole()
355            and test_polygon_with_hole().
356    
357            * Extensions/svgexport/svgmapwriter.py
358            (draw_polygon_shape()): Uses DrawPath correctly now.
359    
360            * Doc/manual/thuban-manual.xml: Added documentation for stable
361            extention svgexport.    
362            * Doc/manual/thuban-manual-de.xml: Copied English section about
363            svexport over.
364    
365            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
366    
367            * Extensions/svgexport/svgsaver.py,maplegend.py:
368            Moved from experimental to stable extension menu.
369    
370            * Extensions/svgexport/TODO: updated.
371    
372    
373    2004-12-18  Bernhard Reiter <[email protected]>
374    
375            Added Extensions/svgexport/TODO
376    
377    2004-12-18  Bernhard Reiter <[email protected]>
378    
379            Refactored in svgexport:
380            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
381    
382            * Extensions/svgexport/svgmapwriter.py
383            Added verbosity level 3 to print out polygon points.
384            (class Point): added __repr__
385            (class Brush, __str__()): Added space after ,.
386            (DrawPolygon): Renamed to DrawPath()
387            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
388            (DrawLines): Using DrawPath now.
389    
390            * Extensions/svgexport/test/test_svgmapwriter.py:
391            Replaced DrawPolygon() calls with DrawPath() and put the first argument
392            inside another list. Adapted test data with a newline before "M".
393    
394    2004-12-18  Bernhard Reiter <[email protected]>
395            
396            Refactored svgexport tests: 9 double tests runs eliminated;
397            code size reduced by 8 lines.
398    
399            * Extensions/svgexport/test/test_svgmapwriter.py:
400            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
401            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
402            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
403            this fixed the double running of the nine tests of TestVirtualDC.
404            (class TestVirtualDC): Using self.dc and self.file from setUp().
405    
406    2004-12-17  Bernhard Herzog  <[email protected]>
407    
408            Two windows specific fixes ported from thuban-1�0-branch:
409    
410            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
411            instead of getlocale because getlocale doesn't return a usable
412            encoding name on a german windows 2000
413    
414            * setup.py: windows build: Removed the absolute path names and
415            made all prfixes relative to the directory containing setup.py.
416            Makes it a little easier to adapt to a different system.
417    
418    2004-12-16  Bernhard Herzog  <[email protected]>
419    
420            Add support for PostGIS tables with LINESTRING geometries.
421            Fixes RT#2299
422    
423            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
424    
425            * test/postgissupport.py
426            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
427            table to "roads-multi" because it now uses MULTILINESTRING
428            geometries and introduce a new "roads" table that uses LINESTRING
429            (coords_to_multilinestring): Make the doc string more precise
430            (coords_to_linestring): New.  Create a LINESTRING WKT
431            representatin
432            (wkt_converter): Add coords_to_linestring
433            (upload_shapefile): Rephrase the doc-string a bit.
434    
435            * test/test_postgis_db.py (TestPostGISShapestoreArc)
436            (LineStringTests)
437            (TestPostGISShapestoreLineString)
438            (TestPostGISShapestoreMultiLineString): Split
439            TestPostGISShapestoreArc into a base class LineStringTests and two
440            derived classes TestPostGISShapestoreLineString for LINESTRING
441            geometries and TestPostGISShapestoreMultiLineString for
442            MULTILINESTRING geometries.  Most test methods are in the base
443            class with the exception of tests that explicitly check the raw
444            format.
445    
446    2004-12-16  Bernhard Herzog  <[email protected]>
447    
448            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
449    
450            * test/postgissupport.py (find_postgis_sql): Different postgis
451            versions put the postgis.sql file into slightly different places
452            so we have to look in both.  The updated doc string describes this
453            is more detail.
454    
455            * test/test_postgis_db.py
456            (TestPostGISSpecialCases.test_column_name_quoting): The return
457            value of UniqueValues is unsorted, so it has to be sorted for
458            comparison.
459    
460    2004-12-16  Bernhard Herzog  <[email protected]>
461    
462            Fix for RT#2237
463    
464            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
465            panel to be shown is the UnknownProjPanel disable the OK and Try
466            buttons.  Otherwise enable them.
467            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
468            the parameters.  In that case __GetProjection also returns None
469            now.
470    
471    2004-12-15  Bernhard Herzog  <[email protected]>
472    
473            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
474            minimum number of classes to 2.  The calculate_quantiles needs at
475            least two and raises an exception otherwise.  
476            Fixes RT#2549
477    
478    2004-12-15  Bernhard Herzog  <[email protected]>
479    
480            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
481            so that it returns a result for select statements.
482            (PostgreSQLServer.server_version): New.  Return the version of the
483            server software.
484            (PostgreSQLServer.require_authentication): The format of
485            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
486            server version and generate the file in the correct format
487    
488    2004-12-15  Bernhard Herzog  <[email protected]>
489    
490            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
491            in the doc string and rephrase it a little.
492    
493    2004-12-15  Frank Koormann <[email protected]>
494    
495            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
496            session has been loaded successfully. The check is called by the relevant
497            tests after executing load_session().
498    
499    2004-12-13  Bernhard Herzog  <[email protected]>
500    
501            Make sure the region used to determine which shapes are visible
502            actually matches the region on the printed page.  If this isn't
503            done properly some shapes might not be printed.  
504            Fixes RT #2692
505    
506            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
507            renderer has to be at the same position as the mapregion
508    
509            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
510            has to be moved by (self.shiftx, self.shifty) too.
511    
512    2004-12-13  Bernhard Herzog  <[email protected]>
513    
514            * libraries/pyprojection/Projection.i: Work around a bug in the
515            generated python code which leads to exception in the __del__
516            method when the constructor fails.  See the comments in the code
517            for more details.
518    
519            * libraries/pyprojection/Projection.py: Updated from Projection.i
520            with SWIG.
521    
522    2004-12-13  Bernhard Herzog  <[email protected]>
523    
524            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
525            (TestAltPath.test_02_path_error_fix_from_list)
526            (TestAltPath.test_05_path_error_fix_from_list_changed)
527            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
528            is destroyed in tearDown, so there's no need to do it in a test
529            case.
530    
531            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
532            debug print
533    
534    2004-12-13  Bernhard Herzog  <[email protected]>
535    
536            * Extensions/svgexport/test/test_svgmapwriter.py
537            (TestDrawSplines.setUp): Do not use super with the unittest
538            classes because in Python 2.2 they're still old-style classes.
539    
540    2004-12-13  Frank Koormann <[email protected]>
541    
542        Alternative Path feature: When loading a (moved) session where
543            shapefiles cannot be found, ask the user. Use the specified path
544            if further shapefiles are missing. However, ask the usr for confirmation
545            in such cases.
546    
547            * test/test_load.py (TestAltPath): New, tests for alternative path feature
548            in load_session()
549            (Shapefile_CallBack): Helper, implements controllable callback.
550    
551            * Thuban/UI/application.py (ThubanApplication.OnInit):
552            Added "alt_path" to self.path
553            (ThubanApplication.OpenSession): Added shapefile_callback as second
554            callback similar to db_connection_callback.
555            (ThubanApplication.run_alt_path_dialog): New, implementaion of
556            shapefile_callback. In addition to raising the dialog the control of
557            self.path('alt_path') is implemented here.
558    
559            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
560            (SessionLoader.open_shapefile): Open shapefile, eventually with
561            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
562            formerly used in start_fileshapesource()/start_layer().
563            (SessionLoader.start_fileshapesource): Call open_shapefile().
564            (SessionLoader.start_layer): Call open_shapefile().
565            (load_session): Added shapefile_callback.
566    
567            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
568            feature (search / check).
569            
570            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
571    
572    2004-12-11  Bernhard Reiter <[email protected]>
573    
574             svgexport 0.9.2: Point size supports for maps.
575    
576            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
577            (def draw_point_shape): new parameter size defaults to 2 as before.
578            (draw_shape_layer_incrementally): Moved draw_func log line higher.
579            Added draw_func call with size when dealing with a point layer.
580    
581            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
582            
583    2004-12-11  Bernhard Reiter <[email protected]>
584    
585            Made sure that newlines are inserted in the svg path d attributes
586            to raise the chance that the line length will be below 255 characters,
587            as recommended by REC SVG 1.1 in section 8.3.1.
588    
589            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
590            Adding \n before L's and changed whitespace handling.
591    
592            * Extensions/svgexport/test/test_svgmapwriter.py:
593            Adapted tests to new whitespace handling of DrawPolygon.
594    
595    2004-12-11  Bernhard Reiter <[email protected]>
596    
597            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
598    
599            * Extensions/svgexport/test/test_svgmapwriter.py:
600            Removed test_drawbezier in favour of new test_drawspline3 and
601            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
602            All only to test DrawSpline.
603    
604            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
605            New implementation now really using the strange algorithm of
606            xfig 3.1's approximated splines and its conversion to postscript
607            with one twist: SVG can do quadratic beziers, so skipped translation
608            to cubic beziers.
609            (TestWithDC): Typo in comment fixed.
610    
611    2004-12-09  Martin Schulze  <[email protected]>
612    
613            * Thuban/Model/classgen.py: Added missing character encoding
614    
615            * Extensions/wms/properties.py (OpenWMSProperties): removed
616    
617            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
618            support for get_srs_discrepancies() since there are no
619            discrepancies anymore (was a thinko)
620    
621            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
622            format priority now that more formats are supported globally by
623            the render engine.
624    
625    2004-12-08  Silke Reimer <[email protected]>
626            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
627            because it is not available in all versions of ogr
628    
629    2004-12-08  Bernhard Reiter <[email protected]>
630            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
631            global tests until a real one is commited.
632    
633    2004-12-07 Nina H�ffmeyer <[email protected]>
634    
635            * /Extensions/ogr/: Adding a new extension to read shapefiles with
636            ogr. It is planned to add other vector formats.
637    
638            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
639    
640    2004-12-07  Jan-Oliver Wagner <[email protected]>
641    
642            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
643            part of a (non-)fix to renable that the tests are always
644            executed.
645    
646    2004-12-07  Bernhard Reiter <[email protected]>
647    
648            * Extensions/svgexport/test/test_svgmapwriter.py:
649            Added test_drawbezier() to test DrawSpline().
650    
651            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
652            Really implemented bezier drawing.
653    
654            * Extensions/svgexport/__init__.py: Bumped version of svgexport
655            to 0.9.1 because now the legend examples lines styles
656            will be drawing with beziers.
657    
658    2004-12-05  Martin Schulze  <[email protected]>
659    
660            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
661            GIF as supported bitmap image formats (helpful for the WMS extension)
662    
663    2004-11-30  Martin Schulze  <[email protected]>
664    
665            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
666            Improved the test for the internal compare method
667    
668    2004-11-27  Jan-Oliver Wagner <[email protected]>
669    
670            * Thuban/UI/about.py (About.__init__): Added
671            Norbert Solymosi for hungarian translation and Ole Rahn
672            as contrbutor. Moved Bernhard Reiter from Contributor
673            to Developer.
674    
675    2004-11-27  Bernhard Reiter <[email protected]>
676    
677            * Extensions/svgexport/test/test_svgmapwriter.py:
678            Removed Jan from author list as he did not change enough significant
679            lines yet.
680    
681            * Extensions/svgexport/__init__.py: Added Bernhard as author
682            of the Extension.
683    
684    2004-11-27  Jan-Oliver Wagner <[email protected]>
685    
686            * po/hu.po: New. Hungarian translation. Contributed
687            by Norbert Solymosi.
688    
689    2004-11-26  Bernhard Herzog  <[email protected]>
690    
691            * Extensions/svgexport/test/test_svgmapwriter.py
692            (Testobjectexport.test_transparent_polygon): Commented out some
693            debug prints
694    
695    2004-11-24  Jan-Oliver Wagner <[email protected]>
696    
697            Fix broken tests for svg extension and added svg legend
698            to Experimental menu.
699    
700            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
701            the test run correctly even if the extension is a package.
702            Also removed the "import Thuban" which makes no sense.
703    
704            * Extensions/svgexport/__init__.py: Fix to have the extensions'
705            test module also be executed from the global test routine.
706            This is done by looking for the absense of the DISPLAY variable.
707    
708            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
709            to Experimental menu since this module has yet not reached a stable
710            status (ie. 1.0).
711    
712    2004-11-22  Bernhard Reiter <[email protected]>
713    
714            * Extensions/svgexport/svgmapwriter.py:
715            Added verbose variable and some logging depending on it.
716            (class VirtualDC(XMLWriter)): Minor improvement in the polygon loop,
717            because counting i is not necessary.
718            (class Pen, class Brush): Added simple __str__ methods.
719            (SVGRenderer.draw_polygone_shape): Fix #2698 (transparent polygons are
720            not exported to svg file) Note: holes still unhandled.
721    
722            * Extensions/svgexport/test/test_svgmapwriter.py:
723                    Made a baseclass TestWithDC for test needed a DC.
724                    Added tests for bug #2698 (transparent polygons are not
725                    exported to svg file):
726                    Testobjectexport.test_transparent_polygon()
727    
728            * Thuban/Model/base.py (UnsetModified):
729            Fixed some typos in docstring.
730    
731            * Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
732            Added hints on the used algorithm for handling holes.
733    
734    2004-11-20  Jan-Oliver Wagner <[email protected]>
735    
736            Some face lifting for the examples.
737    
738            * Examples/__init__.py: Make this directory a package.
739    
740            * Examples/simple_extensions/__init__.py: Make this directory a package.
741    
742            * Examples/simple_extensions/hello_world.py: Moved entry from Extensions
743            menu to Examples menu.
744    
745            * Examples/simple_extensions/simple_command.py: Some more comments,
746            minor changes.
747    
748            * Examples/simple_extensions/simple_tool.py: Minor changes.
749    
750    2004-11-20  Jan-Oliver Wagner <[email protected]>
751    
752            Changed way of extension registry for wms and added extension
753            registry for umn_mapserver extension.
754    
755            * Extensions/wms/__init__.py: Added registry entry and the importing
756            of the actual wms module. Included a test for the required PyOGCLib.
757    
758            * Extensions/wms/wms.py: Removed registry entry (moved to __init__.py).
759    
760            * Extensions/umn_mapserver/__init__.py: Added registry entry and the
761            importing of the actual umn mapserver management modules.
762            Included a test for the required Python MapScript.
763    
764    2004-11-20  Jan-Oliver Wagner <[email protected]>
765    
766            Changed way of extension registry for importAPR, bboxdump
767            and added extension registry for svgexport.extension registry for
768            svgexport.
769    
770            * Extensions/importAPR/__init__.py: Added registry entry and the importing
771            of the actual importAPR module.
772    
773            * Extensions/importAPR/importAPR.py: Removed registry entry (moved to
774            __init__.py).
775    
776            * Extensions/bboxdump/__init__.py: Added registry entry and the importing
777            ï¿½ï¿½ï¿½ï¿½of the actual bboxdump module.
778    
779            * Extensions/bboxdump/bboxdump.py: Removed registry entry (moved to
780            ï¿½ï¿½ï¿½ï¿½__init__.py).
781    
782            * Extensions/svgexport/__init__.py: Added registry entry and the importing
783            of the svgsaver module.
784    
785            * Extensions/svgexport/svgsaver.py: Moved the menu entry from Extensions
786            to Experimental menu since this module has yet not reached a stable
787            status (ie. 1.0).
788    
789    2004-11-18  Jan-Oliver Wagner <[email protected]>
790    
791            Now the hit test considers the size of point symbols.
792    
793            * Thuban/UI/viewport.py (ViewPort._hit_point): Added optional parameter
794            'size' defaulting to the previously fixed value 5.
795            Extended doc-string.
796            (Viewport._find_shape_in_layer): Resolved FIXME regarding flexibility
797            for symbols.
798            Now the size of the largest point symbol is determined to find out
799            about whether the point has been hit.
800            This fixes the problem that only clicks inside a fixed distance of
801            5 where found.
802    
803    2004-11-17  Jan-Oliver Wagner <[email protected]>
804    
805            Another open issue fixed regarding sizeable symbols: correct rendering of
806            selected symbols.
807    
808            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
809            Added consideration of the specific size of point symbols.
810            The property for each point symbol is retrieved and the size applied
811            for the rendering method.
812            Added doc-string.
813    
814    2004-11-16  Jan-Oliver Wagner <[email protected]>
815    
816            Changed way of Extension Registry for gns2shp and profiling.
817    
818            * Extensions/gns2shp/gns2shp.py: Removed registry entry (moved to
819            __init__.py).
820    
821            * Extensions/gns2shp/__init__.py: Added registry entry and the importing
822            of the actual gns2shp module.
823    
824            * Extensions/profiling/profiling.py: Removed registry entry (moved to
825            __init__.py).
826    
827            * Extensions/profiling/__init__.py: Added registry entry and the importing
828            of the actual profiling module.
829    
830    2004-10-28  Bernhard Reiter <[email protected]>
831    
832            * Extensions/svgexport/: Minor improvements to doc strings.
833    
834    2004-10-07  Jan-Oliver Wagner <[email protected]>
835    
836            Further elements for sizable point objects now
837            making this feature usable though not yet complete.
838    
839            * Thuban/Model/save.py (SessionSaver.write_classification): Write
840            attribute 'size' for cldata when the shape layer is of point type.
841            This also now make the test_load.py tests happy.
842    
843            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Added size
844            gradient.
845    
846            * Thuban/UI/classifier.py (ID_SELPROP_SPINCTRL): Renamed to
847            ID_SELPROP_SPINCTRL_LINEWIDTH.
848            (ID_SELPROP_SPINCTRL_LINEWIDTH): New Id replaces ID_SELPROP_SPINCTRL.
849            (ID_SELPROP_SPINCTRL_SIZE): New Id.
850            (SelectPropertiesDialog.__init__): Added a second spin control
851            for the size in case the corresponding layer is of point type.
852            (SelectPropertiesDialog._OnSpin): Renamed to _OnSpinLineWidth.
853            (SelectPropertiesDialog._OnSpinLineWidth): New. Former _OnSpin.
854            (SelectPropertiesDialog._OnSpinSize): New. Set size of property
855            and refresh preview.
856    
857    
858    
859    2004-10-04  Martin Schulze  <[email protected]>
860    
861            * Extensions/wms/test/test_parser.py
862            (TestWMSCapabilitiesParser.test_compareLists): Added missing
863            self-test for compareLists()
864            (TestWMSCapabilitiesParser.test_compareDicts): Added missing
865            self-test for compareDicts()
866            (TestWMSCapabilitiesParser.test_compareLists): Adding more tests
867            to verify the test routine fails with non-equal arguments
868            (TestWMSCapabilitiesParser.test_compareDicts): Adding more tests
869            to verify the test routine fails with non-equal arguments
870    
871    2004-10-03  Jan-Oliver Wagner <[email protected]>
872    
873            First elements for sizeable point objects.
874    
875            * Resources/XML/thuban-1.1.dtd: Added size attribute to cldata.
876    
877            * Data/iceland_sample_size.thuban: New. Sample for sized point objects.
878    
879            * test/test_load.py (ClassificationTest.TestLayers): Added SetSize in case
880            of a corresponding argument is given.
881            (TestSymbolSize): New. Test the size attribute of cldata.
882    
883            * Thuban/Model/classification.py: Removed some trailing whitespaces.
884            (ClassGroupProperties.__init__): Set default size.
885            (ClassGroupProperties.SetProperties): Set the size.
886            (ClassGroupProperties.GetSize): New. Return the size.
887            (ClassGroupProperties.SetSize): New. Set the size.
888            (ClassGroupProperties__eq__): Compare also size.
889            (ClassGroupProperties__repr__): Print also size.
890    
891            * Thuban/Model/load.py (SessionLoader.start_cldata): Also parse
892            the size attribute.
893    
894            * Thuban/UI/classifier.py (ClassDataPreviewer.Draw): Added doc-string.
895            Also, now there is a return value that indicates whether the drawing
896            size exceeded the given rect extent and if so the new extent.
897            Finally, point objects are drawn depending on the size. If either
898            the width or height is exceeded, the new extent is returned.
899            (ClassRenderer.Draw): Now when calling the previewer drawing function,
900            evaluate the return value and, if not None, adapt the grid widget size
901            accordingly and redraw again.
902    
903            * Thuban/UI/baserenderer.py (BaseRenderer.draw_shape_layer_incrementally):
904            If the draw function is for points, call it with the size as additional
905            parameter.
906            (BaseRenderer.draw_point_shape): Added additional, optional parameter for
907            the size. Compute the radius using the size.
908    
909            * Extensions/importAPR/apr.py (APR_BMkSym.GetThubanProp): Now
910            that Thuban supports size, apply this correctly.
911    
912            * Extensions/importAPR/importAPR.py: Bumped version to 0.1.1.
913    
914    2004-10-03  Jan-Oliver Wagner <[email protected]>
915    
916            * Doc/manual/thuban-manual-de.xml: Started translation of
917            Map chapter.
918    
919    2004-10-01  Martin Schulze  <[email protected]>
920    
921            * Extensions/wms/properties.py (wmsProperties.__init__): Extended
922            argument for general use through properties-dialog selector
923            
924            * Thuban/UI/classifier.py: Register properties dialog classes for
925            both provided layer classes/types.
926    
927            * Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): The
928            map can be retrieved through the parent which is passed to the
929            constructor anyway and doesn't require an argument of its own,
930            required for the unification of arguments for general use through
931            properties-dialog selector.
932            (MainWindow.OpenOrRaiseDialog): Move the logic for checking
933            whether a dialog is already opened (and raising it to the users
934            attention) and creating a new dialog into a function of its own
935            (MainWindow.OpenLayerProperties): Use the new OpenOrRaiseDialog()
936            method
937            (MainWindow.OpenLayerProperties): Utilise the new ClassMapper for
938            global registration of properties dialog classes (which are indeed
939            layer-specific).
940    
941            * Thuban/UI/classifier.py (Classifier.__init__): Unify arguments
942            for general use through properties-dialog selector, the map can be
943            retrieved through the parent and doesn't require an argument of
944            its own.
945    
946            * Extensions/wms/wms.py: Register the properties dialog class for
947            the provided WMS layer
948    
949    2004-09-28  Jan-Oliver Wagner <[email protected]>
950    
951            New feature: Registry for Extensions.
952    
953            * Thuban/UI/extensionregistry.py: This module defines a registry for
954            Extensions.
955    
956            * Thuban/UI/about.py (About.__init__): Added description
957            of the registered extensions with all of the information.
958    
959            * Thuban/Model/extension.py (Extension): Improved doc-string.
960    
961            * Extensions/gns2shp/gns2shp.py, Extensions/importAPR/importAPR.py,
962            Extensions/bboxdump/bboxdump.py, Extensions/profiling/profiling.py,
963            Extensions/wms/wms.py: Added registration of the extension.
964    
965    2004-09-27  Bernhard Reiter <[email protected]>
966    
967            More fixes to svgexport to make used ids unique and
968            conforming to XML's Name production.
969    
970            * Extensions/svgexport/test/test_svgmapwriter.py: Added new tests
971            test_xml_id_constraints(), test_make_ide_nosetbaseid() and
972            test_make_id_nonintegersetid().  Switched SetID and SetBaseID.
973            Added Bernhard R. as author.
974            * Extensions/svgexport/svgmapwriter.py (make_id): Using "_" as
975            concatenation char now (makes test_make_ide_nosetbaseid() valid).
976            Also transform second id part with "%d" and catch the TypeError
977            to raise SVGMapWriterError (making test_make_id_nonintegersetid() ok).
978            Corrected typo inBernhard's author line.
979            (SetBaseID): Return the transformed base id. Transform characters
980            which are not alnum() or in ".-_" to binascii.b2a_hex(). Added
981            import binascii. If to be set string starts with "xml" or so, add "t".
982            (draw_shape_layer_incrementally): use the returned value of SetBaseID
983            for used_baseids checks.
984    
985  2004-09-25  Bernhard Herzog  <[email protected]>  2004-09-25  Bernhard Herzog  <[email protected]>
986    
987          * test/test_layer.py (TestLayer.test_arc_layer_with_projection):          * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
# Line 9  Line 993 
993          (SetBaseID, SetID, make_id): Improved docstring comments to explain          (SetBaseID, SetID, make_id): Improved docstring comments to explain
994          the interaction of the three functions and the XML id contrains.          the interaction of the three functions and the XML id contrains.
995    
996    
997  2004-09-23  Jan-Oliver Wagner <[email protected]>  2004-09-23  Jan-Oliver Wagner <[email protected]>
998    
999          * Doc/ThubanModel.xmi: New. UML file for Thuban Model          * Doc/ThubanModel.xmi: New. UML file for Thuban Model

Legend:
Removed from v.2351  
changed lines
  Added in v.2551

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26