/[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 2022 by frank, Fri Dec 5 13:36:10 2003 UTC revision 2289 by bh, Fri Jul 16 19:47:29 2004 UTC
# Line 1  Line 1 
1    2004-07-16  Bernhard Herzog  <[email protected]>
2    
3            * test/test_viewport.py
4            (ViewPortTest.test_changing_map_projection): Check that changing
5            the projection of an empty map shown in a viewport doesn't lead to
6            exceptions in the viewport's handler for the
7            MAP_PROJECTION_CHANGED messages
8    
9            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Only
10            try to keep the same region visible when the map actually contains
11            something
12    
13    2004-07-15  Jan Sch�ngel <[email protected]>
14    
15            * Extensions/umn_mapserver/mapfile.py: Added a function to get the
16            mappath directly from the mapobj. Is needed because of the changes
17            in mf_import.py.
18            (MF_Layer.add_thubanclass): Added a new comment.
19            (MF_Map.set_extent): Fixed a bug with exporting empty mapobj. If the
20            mapobj is empty there is no extent get from thuban an so no one can
21            set to th mapobj.
22            
23            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Updated
24            the discription.
25            Split the funktion in to three smaller ones. The new functions are
26            add_rasterlayer, add_polygonlayer and select_layer2import.
27            Removed the mapfilepath and filepath initialisation, because its know
28            include in the new functions.
29            Now nothing will be imported if cancel is pressed in the
30            layer choice dialog.
31    
32    2004-07-14  Jan Sch�ngel <[email protected]>
33    
34            * Extensions/umn_mapserver/mapfile.py: Added ClassGroupDefault to
35            import.
36            (MF_Symbolset): Removed the extra variable for numsymbols.
37            (MF_Class.__init__): Added a comment to the exception clause.
38            Removed the extent init, because it was not needed anymore.
39            (MF_Layer.add_thubanclass): Added the code to set the class name to
40            the expression value from thuban if no label is defined.
41            Added the code to export Range expressions from thuban to the mapfile.
42            (MF_Map.set_extent): Removed the exception and replace it by some if
43            code. If the size of a map is not defined the size will be set to 1,1.
44            This is necessary because if the extent is set, mapscript checks if
45            the size is greater than zero.
46            (MF_Web): Added the get and set function for the template.
47    
48            * Extensions/umn_mapserver/mf_export.py: Added the function to check
49            if a mapobject exists and used it to set the status of the menu items.
50            If no mapfile exists the settings could not be edditied.
51            Define after which menuitem the exportitem will include.
52            
53            * Extensions/umn_mapserver/mf_handle.py: Removed the import
54            Thuban.UI.mainwindow clause, because it is not needed.
55            Added the command Refresh() to all "OnChangeColor()" functions,
56            because the color preview window was not updated on a color change.
57            Added the function to check if a mapobject exists and used it to set the
58            status of the menu items. If no mapobject exists the settings could not
59            be edditied.
60            (Map_Dialog): Moved the imagetype selector from the
61            Outputformat_Dialog to Map_Dialog and removed Outputformat_Dialog.
62            (Web_Dialog): Removed the name label and added the template textbox.
63    
64            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Replace
65            the exception handling on loading the layers by an if statement. It
66            is not necessary to us the exception there.
67            The Filepath creation now use os.path.join to build the path.
68    
69            * Extensions/umn_mapserver/test/test_mapserver.py: Moved the testMap
70            definition from global to the setUp function. Now the testMap will
71            initialize new on each test.
72    
73            * Extensions/umn_mapserver/sample/iceland.map: Include three new
74            classes in the Line Layer, to test logical Expressions.
75            Set the status of the class "Point9" in the Point Layer to off
76            
77    2004-07-13  Bernhard Herzog  <[email protected]>
78    
79            * Thuban/UI/baserenderer.py
80            (BaseRenderer.render_map_incrementally): Fix a logic bug in the
81            optimization that tries not to draw layers under a raster layer.
82            The bug was harmless.  All it effectively did was to produce The a
83            strange messages about not being able to draw Layer instances for
84            all vector layers below a raster layer which would be invisible
85            anyway because the raster layer currently always covers the entire
86            window
87    
88    2004-07-08  Jan Sch�ngel <[email protected]>
89    
90            * Extensions/umn_mapserver/mapfile.py: Added code to generade and get
91            a list of supported outputformats. This formats are not alle supported
92            because there is no possibility to get the outputformat without the
93            name known. Make some formal changes to the code.
94            (MF_Map.set_name()): Fixed a bug if the name is None.
95    
96            * Extensions/umn_mapserver/mf_handle.py: Removed the image_type import
97            statement, because its not needed anymore. The Outputformat is now
98            given as string from the object. Make some formal changes to the code.
99    
100            * Extensions/umn_mapserver/test/test_mapserver.py: Added new test for
101            most of the new setting which were added during the last changes.
102            Removed the MF_Size Test.
103            
104            * Extensions/umn_mapserver/test/test.map: Added a new class to the
105            cultural Layer to test expressions and the the status of that layer
106            from on to default.
107            Changed the data path the the correct Thuban Data
108            Added the Outputformat Object and Symbol Object
109            
110    2004-07-07  Jan Sch�ngel <[email protected]>
111    
112            * Extensions/umn_mapserver/mapfile.py: Added some new
113            settings to edit (outputformat, label, imagetype)
114    
115            * Extensions/umn_mapserver/mf_handle.py: Added some setting to
116            the Label Dialog and add the OutputDialog.
117            Make some changes to the code order.
118    
119    2004-07-06  Jan Sch�ngel <[email protected]>
120    
121            * Extensions/umn_mapserver/mapfile.py: Added the symbolObj, pointObj
122            and line Obj and add the scalebar_status_type, scalebar_style_type and
123            scalebar_position_type.
124            Added the symbol- and symbolsetObject (MF_Symbol,MF_Symbolset). The
125            are only used to create a Symbol like the circle in Thuban.
126            Added the scalebarObject (MF_Scalebar)
127            (MF_Class): Added set_status and get_status.
128            (MF_Layer.add_thubanclass): Added code to set the class status
129            (MF_Map): Added code to handle the symbols and scalebar
130            (MF_Label): Added the set_partials and get_partials functions
131            
132            * Extensions/umn_mapserver/mf_export.py: Added MF_Symbol to import
133            from mapfile. Added a function to create a circle object like the one
134            from thuban if no one exists.
135            
136            * Extensions/umn_mapserver/mf_handle.py: All colors are now set when
137            press ok in the assosiated dialog and not at the end of the
138            colordialog.
139            Added the Dialog for the Scalebar.
140            (Label_Dialog): Added the offset option
141    
142            * Extensions/umn_mapserver/mf_import.py: Added code to import the
143            status of the Classes.
144            Fixed a bug with the projection. Now the to_meter parameter will be
145            added to the Projection only if it doesn't exists.
146    
147    2004-07-01  Jan Sch�ngel <[email protected]>
148    
149            Added the functionality to handle the content thuban is not
150            able to handle directly.
151    
152            * Extensions/umn_mapserver/mf_handle.py: New. This module extents
153            Thuban with the possibility to edit the mapfile content.        
154            
155            * Extensions/umn_mapserver/mf_import.py: Added the possibility
156            to import mapfiles without any layer selected. So it is possible
157            to edit the other settings in a mapfile.
158            (import_mapfile): Added code to use the editing functions.
159            Added the possibility to import the projection to a layer if one
160            is defined.
161            Status settings (On,Off) will now set in thuban (visible, invisible).
162            fixed a bug with with classnames. If no classname is set in mapfile
163            the value in Thuban will set to the expression.
164            
165            * Extensions/umn_mapserver/mf_export.py(export_mapfile): Added the
166            possibility to save a new mapfile or use the old one which is
167            imported or new created.
168            Added code to use the editing functions.
169            Remove some not needed import statements
170    
171            * Extensions/umn_mapserver/mapfile.py: Added new types which are
172            need for the editing functions.
173            Added needed set-functions for the editing functions.
174            Added the possibility to export rasterimages.
175            Added new classes (MF_Web, MF_Label, MF_Legend, MF_Symbol,
176            MF_SymbolSet). MF_Symbol and MF_SymbolSet are not needed at the
177            moment.
178            (MF_Class.set_thubanstyle): Now point layers will set to a default
179            symbol to show a circle in mapserver and not only a 1px dot.
180            (MF_Style.__init__): Fixed a bug with the color. Color was not set
181            correct before.
182            (MF_Size): Removed, because it is not needed.
183            
184            * Extensions/umn_mapserver/README: Added the hints to use the
185            export and editing functions, too.
186    
187            * Extensions/umn_mapserver/sample/iceland.map: Added the
188            new parameter "UNITS METERS".
189            Change the political layer to status OFF.
190    
191            * Extensions/umn_mapserver/sample/README: Added some
192            more details to setup the sample in the MapServer.
193            
194    2004-06-26  Bernhard Reiter <[email protected]>
195    
196            * Extensions/svgexport/test/test_svgmapwriter.py:
197            Removed class VFile and used standard StringIO instead.
198    
199    2004-06-23  Jan Sch�ngel  <[email protected]>
200    
201            Add the export function to the umn_mapserver extension.
202    
203            * Extension/umn_mapserver/mf_export.py: New. This module extents
204            Thuban with the possibility to export the Thuban content.
205    
206            * Extensions/umn_mapserver/mapfile.py: Expand the classes to use
207            with the export module. Especially added the possibility to
208            add thuban objects directly to the map objects.
209    
210            * Extensions/umn_mapserver/mf_import.py: Removed the wxCHANGE_DIR,
211            because of the hint from Bernhard Herzog.
212            Corrected the handling of absolute pathnames.
213            Changed the Text of the Menu-Item, now the beginning is upper case.
214    
215            * Extensions/umn_mapserver/README: Added the --with-tiff statement.
216    
217    2004-06-16  Jan Sch�ngel  <[email protected]>
218    
219            Add a sample and make some changes.
220    
221            * Extension/umn_mapserver/mf_import.py: Changed the wxPython.wx
222            import from * to explicit used statements. Changed the
223            Thuban.UI.mainwindow import phrase, too.
224            (import_mapfile):Corrected a clerical mistake.
225            Added wxCHANGE_DIR in OpenFile Dialog.
226            Added a MultipleChoiceDialog, to select the layers to load from
227            mapfile into thuban. Thereby the projection is only set if one layer
228            is selected.
229            Added the possibility to handle relative pathnames which uses
230            up-level references.
231            Removed some doubled code.
232            Corrected an error with integer values used as label in thuban
233            ClassGroup.
234            
235            * Extensions/umn_mapserver/sample: New.
236    
237            * Extensions/umn_mapserver/sample/README: New. Describes the
238            usage of the sample files.
239    
240            * Extensions/umn_mapserver/sample/iceland.map: New. This is
241            a suitable .map-file for the iceland data.
242    
243            * Extensions/umn_mapserver/sample/index.html: New. The template
244            for the mapfile.  
245    
246            * Extensions/umn_mapserver/sample/iceland.html: New. Initialisation
247            file for the Iceland Application on web.
248    
249            * Extensions/umn_mapserver/README: Corrected a inaccuracy and added
250            some details.
251    
252            * Extensions/umn_mapserver/test/test_mapserver
253            (mapserver_import_Test_generalClasses.test_MF_Color):
254            Corrected the thubancolor test.
255    
256    2004-06-15  Jan Sch�ngel  <[email protected]>
257    
258            * Extensions/umn_mapserver/README: New. Install instruction.
259    
260    2004-06-14  Bernhard Reiter <[email protected]>
261    
262            * libraries/thuban/cpl_mfile.h: Added copyright header.
263    
264            * libraries/thuban/ cpl_mfile.cpp, cpl_mfile.h: Added non-protecting
265            Free Software License so that it is most useful with gdalwarp
266            and bmpdataset.
267    
268    2004-06-14  Bernhard Herzog  <[email protected]>
269    
270            * Thuban/UI/multiplechoicedialog.py (__version__): Add missing
271            import of wxPython.wx itself (as opposed to the contents of
272            wxPython.wx).  For some reason wxPython.wx is available as
273            wxPython.wx.wx in at least some 2.4 releases.  Fixes RT#2482
274            wrt. wxPython 2.4.
275    
276    2004-06-10  Jan Sch�ngel  <[email protected]>
277    
278            Initial version of new extension "umn_mapserver".  This extension aims
279            to manage configuration for the UMN MapServer application.  This
280            inital version just imports the .map-files and displays all, Thuban is
281            capable of.
282    
283            * Extensions/umn_mapserver, Extensions/umn_mapserver/test: New.
284    
285            * Extensions/umn_mapserver/test/README: New. Describes how to run the
286            tests.
287    
288            * Extensions/umn_mapserver/test/test.map: New. This is a test
289            .map-file for automated tests of the umn_mapserver extension of
290            Thuban.
291    
292            * Extensions/umn_mapserver/test/test_mapserver.py: New. Tests for
293            UMN Mapserver classes.
294    
295            * Extensions/umn_mapserver/__init__.py: New. Init to make this
296            directory a package.
297    
298            * Extensions/umn_mapserver/mapfile.py: New. Classes to represent
299            '.map'-file objects.
300    
301            * Extensions/umn_mapserver/mf_import.py: New. This module extends
302            Thuban with the possibility to handle UMN MapServer mapfiles.
303    
304    2004-06-03  Bernhard Herzog  <[email protected]>
305    
306            * Thuban/Model/layer.py (Layer.TreeInfo): Convert the bounding box
307            to a tuple before using it as arguments to the % operator.  This
308            fixes the formatting issue filed in RT#2239 on 2004-01-13 and
309            reported today on thuban-list by Jan Sch�ngel
310    
311            * test/test_layer.py (TestLayerModification.setUp): Save the
312            filename as an instance variable so we can refer to it in tests
313            (TestLayerModification.test_tree_info): Uncomment this method
314            again and make it work.  This tests for the formatting issue
315            filed in RT#2239 on 2004-01-13
316    
317    2004-05-28  Bernhard Herzog  <[email protected]>
318    
319            * Thuban/UI/baserenderer.py: Fix some typos.
320    
321    2004-05-18  Jan-Oliver Wagner <[email protected]>
322    
323            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed a bug
324            by increasing a field size.
325    
326    2004-05-17  Bernhard Herzog  <[email protected]>
327    
328            Update to newest shapelib and get rid of Thuban specific
329            extensions, i.e. use the new DBFUpdateHeader instead of our
330            DBFCommit kludge
331    
332            * libraries/shapelib/shpopen.c: Update to version from current
333            shapelib CVS.
334    
335            * libraries/shapelib/shapefil.h: Update to version from current
336            shapelib CVS.
337    
338            * libraries/shapelib/dbfopen.c: Update to version from current
339            shapelib CVS.
340            (DBFCommit): Effectively removed since shapelib itself has
341            DBFUpdateHeader now which is better for what DBFCommit wanted to
342            achieve.  
343            We're now using an unmodified version of dbfopen.
344    
345            * setup.py (extensions): Add the HAVE_UPDATE_HEADER macro with
346            value '1' to the Lib.dbflibc extension.  This simply reflects the
347            shapelib and pyshapelib updates
348    
349    2004-05-16  Jan-Oliver Wagner <[email protected]>
350    
351            Finished introduction of Menu.FindOrInsertMenu.
352    
353            * Extensions/drawshape/drawshape.py: Add the command
354            to the experimental menu additionally to the toolbar.
355    
356            * Extensions/svgexport/svgsaver.py: Use FindOrInsertMenu() instead of
357            finding menu on its own.
358    
359            * Doc/manual/thuban-manual.xml: updated sample file
360            to use FindOrInsertMenu().
361    
362            * Examples/simple_extensions/hello_world.py: Use FindOrInsertMenu()
363            instead of finding menu on its own.
364    
365    2004-05-11  Jan-Oliver Wagner <[email protected]>
366    
367            * test/test_menu.py (MenuTest.test): Added testing
368            of method Menu.FindOrInsertMenu.
369    
370    2004-05-10  Jan-Oliver Wagner <[email protected]>
371    
372            Introduce and use Menu.FindOrInsertMenu.
373    
374            * Thuban/UI/menu.py (Menu.FindOrInsertMenu): New. Find a
375              given menu or, if not found, insert it.
376    
377            * Extensions/bboxdump/bboxdump.py, /Extensions/gns2shp/gns2shp.py,
378            /Extensions/importAPR/importAPR.py, Extensions/profiling/profiling.py,
379            /Extensions/wms/wms.py: Use FindOrInsertMenu() instead of finding
380            menu on its own.
381    
382    2004-05-06  Jan-Oliver Wagner <[email protected]>
383    
384            Introduce a abstract ColorDialog class and remove
385            and outdated file.
386    
387            * Thuban/UI/proj4dialog.py: Removed. It is has been
388            replaced by projdialog for quite a while and is not used
389            anymore.
390    
391            * Thuban/UI/colordialog.py: New. Abstraction for color selection
392            dialog(s).
393    
394            * Thuban/UI/classifier.py (SelectPropertiesDialog.__GetColor):
395            Now calls the abstract ColorDialog instead of wxColourDialog.
396            This also removed the dependency to Color class conversion
397            from this function.
398    
399    2004-05-04  Frank Koormann  <[email protected]>
400    
401            * Extensions/bboxdump/__init__.py: Fixed string left over from
402            copying.
403    
404            * Extensions/bboxdump/bboxdump.py (bboxdump):
405            Use layer.ShapeStore().AllShapes() to loop over shapes instead of
406            xrange(layer.NumShapes()). Compile the bboxmessage from a list
407            of formatted outputs (string.join) instead of appending to the
408            message. Two progress bar dialogs to report progress on the sometimes
409            lenghty processing.
410    
411    2004-04-22  Frank Koormann  <[email protected]>
412    
413            New Extension to dump bounding boxes of all shapes of the selected
414            layer. An optional column can be specified to group the objects,
415            in this case the bounding box is a union of the separate boxes.
416            Dump can be displayed in a ScrolledMessageDialog or written to file.
417            The Extension is simply a combination of available and well tested
418            Thuban functionality.
419    
420            * Extensions/bboxdump/__init__.py: New: Init to make this
421            directory a package.
422    
423            * Extensions/bboxdump/bboxdump.py: New: Dump bounding boxes of
424            all shapes of the selected layer.
425    
426    2004-04-22  Jan-Oliver Wagner <[email protected]>
427    
428            * Thuban/UI/classgen.py (GenUniquePanel.__init__): Fixed two
429            strings to be i18n now.
430    
431    2004-04-18  Jan-Oliver Wagner <[email protected]>
432    
433            Changing popup menu of legend from direct building
434            to using the Menu construction as used for the mainwindow.
435    
436            * Thuban/UI/mainwindow.py: New method commands: layer_to_top,
437            layer_to_bottom, layer_visibility
438            (MainWindow.LayerToTop): New. Put current layer to the top.
439            (MainWindow.LayerToBottom): New. Put current layer to bottom.
440            (MainWindow.HideLayer, MainWindow.ShowLayer, _has_visible_map):
441            Replace 1,0 by True, False.
442            (MainWindow.ToggleLayerVisibility): New. Toggle visibility of
443            current layer.
444            (MainWindow.LayerShowTable): Removed raising of dialog.
445            (_has_selected_layer_visible): New. Support function.
446    
447            * Thuban/UI/legend.py: ID_POP_xxx: removed.
448            (LegendPanel.__init__): Removed EVT_MENU bindings.
449            (LegendTree._OnRightClick): Replace direct creation of
450            menu via wx Classes by applying the menu definition
451            as of Menu class of menu.py.
452            
453    2004-04-16  Jan-Oliver Wagner <[email protected]>
454    
455            * Thuban/UI/exceptiondialog.py (ExceptionDialog.dialog_layout): Improved
456        button string to stronger clearify that Thuban will be closed when hitting
457            the button.
458    
459            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Added docstring.
460            Now for layers without a ShapeStore a corresponding message is given
461            to the user, that this layer has no table to show.
462    
463    2004-04-15  Martin Schulze  <[email protected]>
464    
465            * Extensions/wms/layer.py (WMSLayer.setWMSFormat): Need to
466            recalculate the format for the internal render engine as well.
467    
468            * Extensions/wms/properties.py (wmsProperties): First start for a
469            properties dialog.  It's functional for a first selection of
470            layers, but still has some weired wxWidgets/GTK problems but
471            beautification can be done later.
472    
473            * Extensions/wms/layer.py: Added more documentation
474            (WMSLayer.getFormats): New: Return list of supported image formats
475            by the WMS server
476            (WMSLayer.getLayers): New: Return the list of layer names
477            supported by the WMS server
478            (WMSLayer.getLayerTitle): New: Return the title of the named layer
479            (WMSLayer.getWMSFormat): New: Return the image format that is used
480            for WMS GetMap requests
481            (WMSLayer.setWMSFormat): New: Set the image format that is used
482            for WMS GetMap requests
483            (WMSLayer.__init__): Move away from using only one layer to using
484            a list of layers (unsorted at the moment, though).
485            (WMSLayer.getVisibleLayers): New: Return the list of names for all
486            visible layers
487            (WMSLayer.setVisibleLayers): New: Set the list of names for all
488            visible layers
489    
490            * Extensions/wms/wms.py: Moved the WMS layer into layer.py in
491            order to establish a clean structure.
492    
493            * Extensions/wms/layer.py: Moved the WMS layer into a file on its
494            own in order to establish a clean structure.
495    
496    2004-04-13  Martin Schulze  <[email protected]>
497    
498            * Extensions/wms/parser.py (WMSCapabilitiesParser.grok): Added
499            support for oldstyle (WMS 1.0 apparently) image format
500            specification.
501    
502            * Extensions/wms/wms.py (WMSLayer.calcFormat): Reduce the list of
503            supported graphic formats back to JPEG and BMP, PNG and others are
504            too *cough* experimental...  Sorry, I meant to filter this out
505            before I committed this part.  This should make the WMS extension
506            run from CVS again.
507            (wms_dialog): Reset an empty URL to None so that the subsequent
508            program can depend on this, since the dialog will indeed return an
509            empty URL, causing another declaration of love by Python.
510    
511            * Extensions/wms/parser.py (WMSCapabilitiesParser.getLayerBBox):
512            Whenever a native BoundingBox request cannot be fulfilled, check
513            whether the requested SRS is EPSG:3426, in which case return the
514            LatLonBoundingBox values.
515    
516            * Extensions/wms/test/test_parser.py
517            (TestWMSCapabilitiesParser.test_LayerSRS): Added a test for
518            ignoring AUTO:* SRS.
519            (TestWMSCapabilitiesParser.test_LatLonBoundingBoxes_as_bboxes):
520            Added another test method to test whether the LatLonBoundingBox
521            values will be returned if BoundingBox values are requested with
522            SRS set to EPSG:3426.
523    
524            * Extensions/wms/parser.py (WMSCapabilitiesParser.peekLayers):
525            Added rudimentary support for non-EPSG SRS, i.e. ignore them for
526            the moment by placing them into a variable which is currently
527            unused.  Also test whether the EPSG SRS is numerical as it should
528            be and add an error message if it is not.
529    
530            * Extensions/wms/test/sample.xml: Added AUTO:* SRS since they
531            appear in the real world as well.  Since we cannot handle them yet
532            (OGCLib can't either), we will ignore them for the moment.
533    
534            * Extensions/wms/parser.py: Use a variable for denoting the sample
535            filename
536            (WMSCapabilitiesParser.peekLayers): Added support for error
537            messages during grok().  They will be aggregated in an array and
538            may be displayed later.  We may have to add a classification
539            "Warning" and "Error" to this.  That requires more experience,
540            though, since not every error may be lethal.
541    
542            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Raise the
543            ShowTable() dialog/frame when the user attempts to display it
544            while it has been opened before already and not closed again.
545    
546    2004-04-11  Martin Schulze  <[email protected]>
547    
548            * Extensions/wms/infodialog.py: Adjusted the class documentation
549    
550            * Extensions/wms/wms.py (WMSLayer.__init__, WMSLayer.GetMapImg):
551            Switch to using Thuban{Begin,End}BusyCursor instead of the pure
552            wxWidgets variants.
553            (WMSLayer.__init__): The epsg_id variable is named top_srs now.
554    
555            * Extensions/wms/infodialog.py: Added an information dialog that
556            will display various information about the WMS current resource,
557            so that additional information such as the title, the abstract,
558            fees and access constraints can be displayed for the user if they
559            are documented in the WMS XML.
560    
561    2004-04-10  Martin Schulze  <[email protected]>
562    
563            * Extensions/wms/parser.py (WMSCapabilitiesParser.grok): Adjusted
564            string handling.  It's "foo".lower() and not lower(foo) without
565            lower imported from strings or something.
566    
567            * Extensions/wms/wms.py (WMSLayer): Incorporated WMSCapabilities
568            from capabilities.py and parser.py.  Implement priority list for
569            supported graphics formats, take care of wbmp != bmp.  PNG, TIFF
570            and GIF are supported here, but not yet by main Thuban.  Hence,
571            support for them may be removed later.  Special contribution to
572            usability: get wxWidgets to change the cursor when we're waiting
573            for data from the network so the user won't start to worry.  This
574            causes a redrawing error/warning, though.
575    
576            * Extensions/wms/parser.py (WMSCapabilitiesParser.grok): Unlink
577            the DOM object.
578    
579    2004-04-01  Martin Schulze  <[email protected]>
580    
581            * Extensions/wms/capabilities.py: Adjusted documentation
582            (WMSCapabilities.__init__): Improved documentation, fixed syntax
583            (WMSCapabilities.saveCapabilities): Only catch IOError when
584            handling files
585            (WMSCapabilities.loadCapabilities): Only catch IOError when
586            handling files
587            __main__: corrected variable naming
588            (WMSCapabilities.fetchCapabilities,loadCapabilities): Make this
589            class a specialisation of WMSCapabilitiesParser as well.  Also
590            execute grok() after loading or fetching capabilities, if that
591            went well, so that subsequent calls can already access the data.
592            (WMSCapabilities.getVersion): Export the used version of the
593            GetCapabilities request, so we can use it for subsequent calls,
594            i.e. for GetMap requests.
595            (WMSCapabilities.fetchCapabilities): Added proper error handling
596            when the GetCapabilities request failed, so that the surrounding
597            program can act accordingly.
598    
599    2004-03-30  Martin Schulze  <[email protected]>
600    
601            * Extensions/wms/parser.py (WMSCapabilitiesParser.getLayerSRS):
602            Adjusted the getLayerSRS method to return the list of SRSes
603            extracted from <SRS> elements instead of <BoundingBox> elements.
604            Added a bit of documentation as well.
605            (WMSCapabilitiesParser.checkLayerSRS): Removed integrity test
606            since it was only implemented due to a misunderstanding.
607    
608            * Extensions/wms/test/test_parser.py
609            (TestWMSCapabilitiesParser.test_LayerSRS): Adjust the tests to
610            reflect the corrected interpretation of the standard: i.e. a layer
611            does not have to define a BoundingBox for all SRSes it supports.
612            Hence the <SRS></SRS> specification is authoritative, not the list
613            of BoundingBoxes.
614            (TestWMSCapabilitiesParser.test_BoundingBoxes): Added a new test
615            to ensure None is returned for a non-existing SRS.
616            (TestWMSCapabilitiesParser.test_grok): Removed test_grok method
617            since it is not applicable anymore.  Listing more SRSes in <SRS>
618            elements is valid according to the specs.
619    
620    2004-03-26  Bernhard Reiter <[email protected]>
621    
622            * README: Nicer formatting of text. Improved descriptions.
623            Reflected wxWidgets name change.
624            
625            * Thuban/UI/about.py: Extended copyright to 2004 and added
626            information about the thuban-devel mailinglist.
627    
628    2004-03-24  Martin Schulze  <[email protected]>
629    
630            * Extensions/wms/capabilities.py: Renamed the class to contain
631            'WMS', also added a linebreak where required
632    
633            * Extensions/wms/parser.py: Finally added the XML parser for the
634            GetCapabilities response.
635    
636            * Extensions/wms/test/sample.xml: Adjusted the sample file so that
637            <SRS> elements match the <BoundingBox> elements, except for the
638            layer 'beschriftung'.
639    
640            * Extensions/wms/test/test_parser.py: Encode non-ascii strings
641            since Python uses unicode strings internally, otherwise
642            comparisons will fail.  Removed tests for getLayerBBoxSRS() since
643            the SRS will be calculated anyway and this method is obsoleted by
644            getLayerSRS().  Denote SRS as strings and not as cardinal numbers.
645            Move loading the sample file into the setUp method.  Added a test
646            for finding the integrity problem in the sample response.
647            Improved formatting.
648    
649            * Extensions/wms/domutils.py: Added convenience routines for
650            handling of Document Object Model (DOM) nodes.
651    
652            * Extensions/wms/test/test_domutils.py: Added a test for the
653            domutils module
654    
655    2004-03-19  Martin Schulze  <[email protected]>
656    
657            * Extensions/wms/test/test_parser.py (TestWMSCapabilitiesParser):
658            Moved path detection and adding into a module of its own,
659            adjustpath, which exports thubandir as main Thuban directory.
660    
661            * Extensions/wms/test/test_ogclib.py (TestWMSLib): Moved path
662            detection and adding into a module of its own, adjustpath, which
663            exports thubandir as main Thuban directory.  Reorganised the
664            module in order to support the SkipTest feature for Thuban test
665            cases.
666    
667            * Extensions/wms/test/adjustpath.py: Moved path detection and
668            adding into a module of its own.
669    
670    2004-03-18  Martin Schulze  <[email protected]>
671    
672            * Extensions/wms/test/test_parser.py: Added another test for
673            checking whether the WMS XML parser (to be implemented) returns
674            the information we expect.  This requires a sample WMS WML file
675            (sample.xml) which has been extracted from the frida server and
676            "improved" manually.
677    
678            * Extensions/wms/test/test_ogclib.py: Added legacy code to add the
679            main Thuban directory to the path in order to be able to import
680            random modules.  Adjusted the PyOGCLib detection to reuse the
681            information gathered.  Also added a note about the PYTHONPATH
682            environment variable.
683    
684            * Extensions/wms/test/test_ogclib.py: The format specification is
685            a mime-type, not a graphic format, hence image/jpeg wou ld be the
686            proper format and not JPEG.  We'll also have to take care of the
687            encoding of / as %2F.
688    
689    2004-03-16  Martin Schulze  <[email protected]>
690    
691            * Extensions/wms/test/test_ogclib.py: Added a (hopefully)
692            comprehensive test for the getMapURL method, built compare URLs
693            according to the documentation in OGC 01-068r3
694    
695            * Extensions/wms/capabilities.py (WMSCapabilities): Added the
696            class WMSCapabilities to manage capabilites, will incorporate
697            parsing the capabilities response and provide details for other
698            classes.
699    
700    2004-03-12  Bernhard Herzog  <[email protected]>
701    
702            Support views in addition to normal tables in the postgis
703            shapestore
704    
705            * Thuban/Model/postgisdb.py
706            (PostGISShapeStore._fetch_table_information): Add a fallback for
707            the case where the table name is not in the geometry_columns
708            table.  This is usually the case for views.  Also, set
709            self.shapestore here.
710            (PostGISShapeStore.ShapeType): No need to query the database all
711            the time.  The shape type is now determined in
712            _fetch_table_information
713    
714            * test/postgissupport.py (PostgreSQLServer.new_postgis_db)
715            (PostgreSQLServer.get_static_data_db, PostGISDatabase.__init__):
716            New parameter to specify views.
717            (PostGISDatabase.has_data): Also compare the views.  New views
718            parameter
719            (PostGISDatabase.initdb): Create the views.
720            (PostgreSQLServer.get_default_static_data_db): Add the v_landmarks
721            view
722    
723            * test/test_postgis_db.py
724            (TestPostGISShapestorePointFromViews): New.  Test a
725            PostGISShapeStore with a view
726            (TestPostGISShapestorePointOIDAsGIDColumn.setUp): Pass the name of
727            the geometry_column explicitly to test whether that works
728    
729    2004-03-12  Bernhard Herzog  <[email protected]>
730    
731            Final step for explicit id/geometry columns: Loading and saving
732    
733            * Resources/XML/thuban-1.1.dtd: New.  Derived from thuban-1.0.dtd
734            with the following changes:
735            (dbshapesource): Two new attributes id_column and geometry_column
736    
737            * Thuban/Model/save.py (SessionSaver.write): Use the new dtd
738            (SessionSaver.write_session): Use the new namespace
739            (SessionSaver.write_data_containers): Write the new dbshapesource
740            parameters
741    
742            * Thuban/Model/load.py (SessionLoader.__init__): New namespace for
743            the new file format version
744            (SessionLoader.start_dbshapesource): Handle the new db parameters
745    
746            * test/test_save.py: Update to the new dtd and namespace
747            (SaveSessionTest.test_save_postgis): Update the NonConnectionStore
748            mock object to provide a working IDColumn method.
749    
750            * test/test_load_1_0.py: New.  Copy of the test_load.py before
751            today's changes but with the round-trip tests removed.
752    
753            * test/test_load_0_9.py: Update doc-string.
754    
755            * test/test_load.py: Update all .thuban files to the new dtd and
756            namespace.
757            (TestPostGISLayer.file_contents): Add the new dbshapesource
758            paramters
759    
760    2004-03-11  Bernhard Herzog  <[email protected]>
761    
762            Next step for explicit id/geometry columns: User interaction
763    
764            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Rework how
765            the dialog is constructed. Add combo boxes to select id and
766            geometry column.  Rename some instance variables.
767            (ChooseDBTableDialog.GetTable): Return id and geometry column
768            names
769            (ChooseDBTableDialog.OnTableSelect): New. Event handler for
770            selections in the table list
771    
772            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Use id_column
773            and geometry_column
774    
775            * Thuban/Model/session.py (Session.OpenDBShapeStore): Add the new
776            parameters for id_column and geometry column of PostGISShapeStore
777            here as well.
778    
779            * Thuban/Model/postgisdb.py (type_map): Add ROWID psycog type.
780            (_raw_type_map): New. Map raw PostgreSQL type ints to thuban types
781            (PostGISConnection.GeometryTables): Use a better query to
782            determine which relations in the database might be usable for
783            shapestores.  Now supports views as well but is more PostgreSQL
784            specific
785            (PostGISConnection.table_columns): New. Somewhat experimental
786            method to let the db dialogs provide lists of columns to users so
787            that they can select id and geometry columns.
788            (PostGISTable.__init__): The default value of the id_column
789            parameter is now None it still means "gid" effectively, though.
790            (PostGISTable.IDColumn): New introspection method to return a
791            column object for the id column
792            (PostGISShapeStore.GeometryColumn): New introspection method to
793            return a column object for the geometry column
794    
795            * test/test_postgis_db.py
796            (TestPostGISConnection.test_gis_tables_non_empty):
797            Removed. Subsumed by the new:
798            (TestPostGISConnection.test_gis_tables_with_views_and_tables):
799            New. Tes the GeometryTables and table_columns methods with actual
800            tables and views.
801            (PointTests.test_id_column, PointTests.test_geometry_column):
802            New. tests for the new methods.
803            (TestPostGISShapestorePoint.setUp)
804            (TestPostGISShapestorePointSRID.setUp)
805            (TestPostGISShapestorePointExplicitGIDColumn.setUp): Fill the
806            instance variables needed by the new tests
807    
808    2004-03-11  Bernhard Herzog  <[email protected]>
809    
810            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): The row
811            numbers given to ReadValue are ordinals.
812    
813    2004-03-11  Bernhard Herzog  <[email protected]>
814    
815            Elimiate the requirement for PostGIS tables to have a column
816            called "gid".
817    
818            * Thuban/Model/postgisdb.py (PostGISTable.__init__): New parameter
819            id_column to specify which column to use to identify rows.  Also
820            new instance variables id_column and quoted_id_column
821            (PostGISTable.RowIdToOrdinal, PostGISTable.RowOrdinalToId)
822            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue)
823            (PostGISTable.SimpleQuery): Use the id column name provided to the
824            constructor instead of "gid"
825            (PostGISShapeStore.__init__): New parameter id_column analogously
826            to PostGISTable.__init__.  This parameter is simply passed through
827            to the base class constructor
828            (PostGISShapeStore._create_col_from_description): Fix typo in
829            doc-string
830            (PostGISShapeStore.Shape, PostGISShapeStore.AllShapes)
831            (PostGISShapeStore.ShapesInRegion): Use the id column name
832            provided to the constructor instead of "gid"
833    
834            * test/postgissupport.py
835            (PostgreSQLServer.get_default_static_data_db): New static table
836            landmarks_point_id with an id column != "gid.  Update the comments
837            a bit.
838            (skip_if_addgeometrycolumn_does_not_use_quote_ident): Fix typo in
839            doc-
840            (upload_shapefile): New parameter gid_column to use a name other
841            than "gid" for the column to store the shape ids
842    
843            * test/test_postgis_db.py (TableTests): New.  Mixin-class
844            containing all tests previously in TestPostGISTable.  The actual
845            tests are the same but the code is a bit more configurable to
846            allow for different id columns etc.
847            (TestPostGISTable): Derive from TableTests now for the actual
848            tests.
849            (TestPostGISTableExplicitGIDColumn): New. Like TestPostGISTable
850            except that it the landmarks_point_id table to test the id_column
851            parameter
852            (PointTests): Extend the doc-string
853            (TestPostGISShapestorePointExplicitGIDColumn)
854            (TestPostGISShapestorePointOIDAsGIDColumn): New classes derived
855            from PointTests to test the explicit id_column parameter.  One
856            tests with the name of the column holding the shape ids, the other
857            uses PostgreSQL's OID column.  For the latter a number of methods
858            have to be overwritten to make them independent of the actual id
859            values.
860    
861    2004-03-08  Silke Reimer  <[email protected]>
862    
863            Update debian directory:
864    
865            * debian/changelog: Added new version.
866            * deiban/rules: Updated management of patches (with cbds)
867            * debian/control: Added cbds to dependencies
868            * debian/patches/*: New. Adds better support for patches of thuban in
869                            debian
870            * debian/menu: Syntax of menu changed slightly
871            * debian/setup.py.patch: removed because it has been moved to
872                            debian/patechs/setup.py.patch
873            
874    
875    2004-02-26  Bernhard Herzog  <[email protected]>
876    
877            Create the Doc/technotes directory for text files with information
878            for developers
879    
880            * Doc/technotes/README: New. README for the technotes
881    
882            * Doc/technotes/coding_guidelines.txt: New. Coding guidelines for
883            Thuban
884    
885            * Doc/technotes/release_process.txt: New. Used to be
886            HOWTO-Release.  Now slightly adapted to technote formatting style.
887    
888            * HOWTO-Release: Removed.  It's contents are now in
889            Doc/technotes/release_process.txt
890    
891    2004-02-25  Bernhard Herzog  <[email protected]>
892    
893            * libraries/thuban/wxproj.cpp (get_wx_version): New.  Return the
894            version of wxWindows the module was compiled with so we can check
895            that against the wxPython version.
896    
897            * Thuban/version.py (thuban_branch, thuban_release): New variables
898            controlling which and how Thuban versions are shown.  See the
899            comments for details.
900            (verify_versions): Also check that the wx version that wxproj is
901            compiled against matches that of the wxPython we use at runtime
902    
903    2004-02-20  Bernhard Herzog  <[email protected]>
904    
905            * Extensions/wms/wms.py (epsg_code_to_projection): Use
906            get_system_proj_file to read the epsg projections.  The old way
907            depended on the current directory being the top Thuban directory.
908    
909    2004-02-20  Bernhard Herzog  <[email protected]>
910    
911            * Extensions/svgexport/test/test_svgmapwriter.py
912            (TestVirtualDC.test_clippath): Remove a debug print
913    
914    2004-02-20  Bernhard Herzog  <[email protected]>
915    
916            * Extensions/svgexport/__init__.py: New.  Turn
917            Extensions/svgexport into a package.
918    
919            * Extensions/svgexport/svgmapwriter.py: Reorder the imports and
920            doc-string a bit.  The doc-string must come first, otherwise it's
921            not a doc-string.  The __future__ import must be the first thing
922            after the doc-string.  Use only double quotes in doc-strings.
923            Single quotes trip up emacs syntax highlighting if the text
924            contains apostrophes.
925    
926    2004-02-20  Bernhard Herzog  <[email protected]>
927    
928            * Extensions/svgexport/test/__init__.py,
929            Extensions/svgexport/test/test_svgmapwriter.py: New. Initial test
930            suite for svgexport
931    
932            * test/runtests.py (find_test_modules): New. Function with the
933            module finding code from main.
934            (main): Use find_test_modules to figure out the default test
935            modules and take modules from Extensions.svgexport.test too.
936    
937    2004-02-19  Bernhard Herzog  <[email protected]>
938    
939            * Thuban/UI/application.py (ThubanApplication.OnInit): Make sure
940            the mainwindow has a reference to the map of the initial session.
941            This fixes a bug introduced with the fix for RT#2245
942    
943    2004-02-19  Bernhard Herzog  <[email protected]>
944    
945            * Extensions/svgexport/svgsaver.py,
946            Extensions/svgexport/svgmapwriter.py,
947            Extensions/svgexport/maplegend.py: Added again.  This time in the
948            correct place.
949    
950    2004-02-17  Bernhard Herzog  <[email protected]>
951    
952            Fix for RT#2245
953    
954            * Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
955            instance variables before trying to create any windows.  Creating
956            windows can start an event loop if e.g. message boxes are popped
957            up for some reason, and event handlers, especially EVT_UPDATE_UI
958            may want to access things from the application.
959            (ThubanApplication.maps_changed): The mainwindow may not have been
960            created yet, so check whether it has been created before calling
961            its methods
962    
963            * Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
964            have a map
965    
966    2004-02-17  Bernhard Herzog  <[email protected]>
967    
968            * test/test_svgmapwriter.py, Extensions/svgsaver.py,
969            Extensions/svgmapwriter.py, Extensions/maplegend.py,
970            extensions/svgexport/svgsaver.py,
971            extensions/svgexport/svgmapwriter.py,
972            extensions/svgexport/maplegend.py: Removed.  These files were in
973            the wrong places or didn't work at all.
974    
975    2004-02-16  Bernhard Herzog  <[email protected]>
976    
977            * Thuban/UI/view.py (MapCanvas.Export): Remove accidentally added
978            line
979    
980    2004-02-16  Bernhard Herzog  <[email protected]>
981    
982            * Thuban/UI/view.py (MapCanvas.Export): Avoid UnboundLocalError.
983    
984    2004-02-15  Markus Rechtien  <[email protected]>
985            
986            * Extensions/svgexport/svgmapwriter.py: New. Adds the capability
987            to write a session to a file in SVG format.
988            * Extensions/svgexport/svgsaver.py: New. Uses svgmapwriter.py
989            to write a SVG map of a session.
990            * Extensions/svgexport/maplegend: New. Writes a basic maplegend
991            in SVG format for the current session.
992    
993    2004-02-13  Bernhard Herzog  <[email protected]>
994    
995            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): When the layer
996            can't be created, return immediately after displaying the error
997            message.
998    
999    2004-02-11  Bernhard Herzog  <[email protected]>
1000    
1001            Handle postgis tables with more than one geometry column.
1002    
1003            * Thuban/Model/postgisdb.py
1004            (PostGISTable._fetch_table_information): Delegate the creation of
1005            column objects to a different method so that we can extend that in
1006            derived classes
1007            (PostGISTable._create_col_from_description): New. Column object
1008            creation part of _fetch_table_information
1009            (PostGISShapeStore._create_col_from_description): New. Extend
1010            inherited method to handle geometry columns
1011            (PostGISShapeStore.__init__): New parameter geometry_column to
1012            specify which geometry column to use.  Optional but mandatory for
1013            tables with more than one geometry column
1014            (PostGISShapeStore._fetch_table_information): Also use the name of
1015            the geometry column when looking for the srid
1016            (PostGISShapeStore.ShapeType): Also use the name of the geometry
1017            column when looking for the shape type
1018    
1019            * test/test_save.py (SaveSessionTest.test_save_postgis): Adapt
1020            NonConnectionStore to changes in the PostGISShapeStore
1021    
1022            * test/test_postgis_db.py
1023            (TestPostGISSpecialCases.test_shapestore_two_geom_cols): Test
1024            PostGISShapeStore with tables having two geometry columns.
1025    
1026    2004-02-10  Bernhard Herzog  <[email protected]>
1027    
1028            Fix some postgis problems.  What remains to be done is real
1029            handling of SRIDs as they affect how reprojection is done
1030    
1031            * Thuban/Model/postgisdb.py (quote_identifier): Fix typo in
1032            doc-string
1033            (PostGISShapeStore._fetch_table_information): New. Extend
1034            inherited method to retrieve srid
1035            (PostGISShapeStore.BoundingBox): Handle tables without data.
1036            extent yields NULL for those
1037            (PostGISShapeStore.ShapesInRegion): Use the srid of the table.
1038    
1039            * test/test_postgis_db.py
1040            (TestPostGISSpecialCases.test_shapestore_empty_table): New test
1041            for the special case of a table without any data
1042            (TestPostGISShapestorePointSRID): New class with tests for a table
1043            that uses srids
1044            (PolygonTests): Fix a doc-string typo
1045    
1046            * test/postgissupport.py (PostGISDatabase.__init__): New parameter
1047            reference_systems with a specification of spacial reference
1048            systems to create in the new db.
1049            (PostgreSQLServer.new_postgis_db)
1050            (PostgreSQLServer.get_static_data_db): New parameter
1051            reference_systems to be passed through ultimately to
1052            PostGISDatabase.  In new_postgis_db also check whether an existing
1053            db already has the right srids
1054            (PostgreSQLServer.get_default_static_data_db): Add srids and a
1055            table that uses srids
1056            (PostGISDatabase.initdb): Create the entries for the reference
1057            systems
1058            (PostGISDatabase.has_data): Add reference_systems parameter to
1059            check for those too
1060            (upload_shapefile): New parameter srid to create tables with a
1061            specific srid
1062    
1063    2004-02-06  Frank Koormann  <[email protected]>
1064    
1065            * po/pt_BR.po: Fixed charset
1066    
1067    2004-02-05  Frank Koormann  <[email protected]>
1068    
1069            * po/pt_BR.po: Fixed format string for error message, missing %s
1070            added (Thuban/UI/application.py:273)
1071    
1072    2004-02-03  Frank Koormann  <[email protected]>
1073            
1074            First version of Portuguese (Brazilian) translation
1075    
1076            * po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
1077            Brazilian Portuguese by Eduardo Patto Kanegae.
1078    
1079            * Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
1080            translators.
1081    
1082    
1083    2004-01-22  Frank Koormann  <[email protected]>
1084    
1085            * Doc/manual/thuban-manual.xml: Added section on installation of
1086            Thuban under Win32 systems. Fixed image path references in the postgis
1087            section. Some minor source formattings.
1088    
1089    2004-01-21  Frank Koormann  <[email protected]>
1090    
1091            Make Thuban remember path selections (at least for one application run).
1092    
1093            * Thuban/UI/application.py (Application.OnInit): Initialize path as a
1094            attribute of application object. Path is a dictionary of
1095            strings, currently with the items "data" and "projection".  
1096            (Application.SetPath): New, stores path for the specified item.
1097            (Application.Path): New, return path for the specified item.
1098    
1099            * Thuban/UI/mainwindow.py
1100            (MainWindow.OpenSession, MainWindow.SaveSessionAs,
1101            MainWindow.AddLayer, MainWindow.AddRasterLayer,
1102            MainWindow.TableOpen): Access "data" path information of the
1103            application.
1104            
1105            * Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
1106            Access "projection" path information of the application.
1107    
1108    2004-01-05  Bernhard Herzog  <[email protected]>
1109    
1110            * po/ru.po: Updated translations from Alex Shevlakov
1111    
1112    2004-01-05  Bernhard Herzog  <[email protected]>
1113    
1114            * po/Makefile, po/README: Move the description of how to generate
1115            the translation statistics to the README.
1116    
1117    2003-12-23  Bernhard Herzog  <[email protected]>
1118    
1119            * NEWS: Update for 1.0.0
1120    
1121            * po/it.po: Another update from Maurizio Napolitano
1122    
1123    2003-12-23  Bernhard Herzog  <[email protected]>
1124    
1125            * po/it.po: Updated translation from Maurizio Napolitano
1126    
1127    2003-12-23  Bernhard Herzog  <[email protected]>
1128    
1129            * Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
1130            for translation
1131    
1132            * Thuban/UI/mainwindow.py (MainWindow.TableRename)
1133            (MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
1134            strings for translation
1135    
1136            * po/de.po: Update with the newly marked strings.
1137    
1138    2003-12-22  Bernhard Herzog  <[email protected]>
1139    
1140            * HOWTO-Release: Fix the places where version numbers have to be
1141            updated
1142    
1143    2003-12-22  Bernhard Herzog  <[email protected]>
1144    
1145            * setup.py (setup call): 1.0.0, yeah!
1146    
1147            * Thuban/version.py (longversion): 1.0.0, yeah!
1148    
1149            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
1150            1.0.0 namespace too
1151    
1152            * Thuban/Model/save.py (SessionSaver.write_session): Save with
1153            1.0.0 namespace
1154    
1155            * test/test_load.py (LoadSessionTest.dtd)
1156            (TestSingleLayer.file_contents)
1157            (TestNonAsciiColumnName.file_contents)
1158            (TestLayerVisibility.file_contents)
1159            (TestClassification.file_contents, TestLabels.file_contents)
1160            (TestLayerProjection.file_contents)
1161            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
1162            (TestLabelLayer.file_contents, TestPostGISLayer.file_contents)
1163            (TestPostGISLayerPassword.file_contents)
1164            (TestLoadError.file_contents, TestLoadError.test): Update for
1165            1.0.0 namespace
1166    
1167            * test/test_save.py (SaveSessionTest.dtd)
1168            (SaveSessionTest.testEmptySession)
1169            (SaveSessionTest.testSingleLayer)
1170            (SaveSessionTest.testLayerProjection)
1171            (SaveSessionTest.testRasterLayer)
1172            (SaveSessionTest.testClassifiedLayer)
1173            (SaveSessionTest.test_dbf_table)
1174            (SaveSessionTest.test_joined_table)
1175            (SaveSessionTest.test_save_postgis): Update for 1.0.0 namespace
1176    
1177    2003-12-22  Bernhard Herzog  <[email protected]>
1178    
1179            * Thuban/Model/load.py (SessionLoader.start_label): Make sure the
1180            alignment flags are byte strings not unicode and that they have
1181            valid values
1182    
1183            * test/test_load.py (TestLabelLayer): New. Test loading (and
1184            indirectly saving) of maps with labels.
1185    
1186    2003-12-22  Bernhard Herzog  <[email protected]>
1187    
1188            * Thuban/UI/tableview.py (TableGrid.OnDestroy)
1189            (TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
1190            unsubscribe all subscribers.
1191            (LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
1192            self.grid since it may already have been destroyed.
1193            Fixes RT #2256
1194    
1195    2003-12-19  Bernhard Herzog  <[email protected]>
1196    
1197            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
1198    
1199    2003-12-16  Bernhard Herzog  <[email protected]>
1200            
1201            * debian/bitmappath.patch, debian/setup.py.patch:
1202                    added to ensure compliance with FHS for debian
1203            * debian/rules, debian/changelog:
1204                added patches in rules to ensure compliance with FHS for debian
1205    
1206    2003-12-16  Bernhard Herzog  <[email protected]>
1207    
1208            * po/Makefile (mo): Make the output a bit nicer so that it prints
1209            statistics about the translations. Add a comment how produce even
1210            nicer statistics with sed.
1211    
1212    2003-12-09  Frank Koormann   <[email protected]>
1213    
1214            * Resources/Projections/defaults.proj:
1215            French projection sample with correct accents (UNICODE).
1216    
1217    2003-12-05  Bernhard Herzog  <[email protected]>
1218    
1219            * MANIFEST.in: Add the devtools directory
1220    
1221            * setup.py (setup call): Use license instead of licence. This
1222            silences a deprecation warning on Python 2.3
1223    
1224    2003-12-05  Frank Koormann   <[email protected]>
1225    
1226            Documentation synced with 1.0rc1
1227    
1228            * Doc/manual/thuban-manual.xml:
1229            Minor formatting changes and references to database layers .
1230            Introduction.Internationalization: New section on i18n.
1231            MapManagement.AddingandRemovingLayers: Added item on database layers.  
1232            MapManagement.TheLegend: Added section and screenshot on popup menu.
1233            ProjectionManagement: Updated screenshot and sentence on EPSG.
1234            Appendix.SupportedDataSources: Added PostGIS.
1235            Appendix.WorkingwithPostGIS: New section.
1236    
1237            * Doc/manual/images/6_projection.png: Updated screenshot including
1238            EPSG checkboxes.
1239    
1240            * Doc/manual/images/3_5_popup_menu.png: New, popup menu screenshot.
1241    
1242            * Doc/manual/images/app_postgis_add_layer.png,
1243            Doc/manual/images/app_postgis_db_add.png,
1244            Doc/manual/images/app_postgis_db_management.png:
1245            New screenshots focussing on database layers
1246    
1247  2003-12-05  Frank Koormann   <[email protected]>  2003-12-05  Frank Koormann   <[email protected]>
1248    
1249          * Thuban/UI/projdialog.py (load_user_proj): If user.proj is missing          * Thuban/UI/projdialog.py (load_user_proj): If user.proj is missing
# Line 3862  Line 5108 
5108          Fix problem of hidden properties dialog under windows after double          Fix problem of hidden properties dialog under windows after double
5109          click on layer tree:          click on layer tree:
5110          The tree control always gets an Expanded / Collapsed event after          The tree control always gets an Expanded / Collapsed event after
5111          the ItemActivated  on double click, which raises the main window again.         We add a second ItemActivated event to the queue, which simply          the ItemActivated  on double click, which raises the main window again.
5112            We add a second ItemActivated event to the queue, which simply
5113          raises the already displayed window.          raises the already displayed window.
5114    
5115          * Thuban/UI/legend.py (LegendTree.__init__): Instance variable          * Thuban/UI/legend.py (LegendTree.__init__): Instance variable

Legend:
Removed from v.2022  
changed lines
  Added in v.2289

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26