/[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 2414 by bernhard, Mon Nov 22 11:17:47 2004 UTC revision 2726 by bernhard, Tue Feb 20 10:37:57 2007 UTC
# Line 1  Line 1 
1    2007-02-20 Bernhard Reiter <[email protected]>
2    
3            * Extensions/svgexport/: Get ready for release. Bump version
4            number to 1.0.1. Adjusted numbers in TODO.
5    
6            * Thuban/UI/about.py: Reworked the about text. It shows now
7            when somebody was active on Thuban. Added a list of maintainers.
8            Bernhard Reiter is the current maintainer, following up on Bernhard
9            Herzog.
10    
11            * Extensions/export_shapefile/export_shapefile.py: untabify.
12    
13            * test/README: Added example how to set the PATH for postgis on
14            Debian Etch.
15    
16    2007-01-13 Didrik Pinte <[email protected]>
17    
18            bboxdump, gns2shp, importAPR, mouseposition, ogr, profiling, svgexport
19            extensions migrated to wxPython 2.6
20    
21            * Extensions/bboxdump/bboxdump.py:
22            updated wx statements
23    
24            * Extensions/gns2shp/gns2shp.py:
25            updated wx statements
26    
27            * Extensions/importAPR/importAPR.py:
28            updated wx statements
29    
30            * Extensions/mouseposition/mouseposition.py:
31            updated wx statements
32    
33            * Extensions/ogr/
34            ogrdialog.py, ogrstart.py:
35            updated wx statements
36    
37            * Extensions/profiling/profiling.py:
38            updated wx statements
39    
40            * Extensions/svgexport/
41            maplegend.py, svgsaver.py:
42            updated wx statements
43    
44    
45    2007-01-08 Didrik Pinte <[email protected]>
46            
47            export_shapefile extension migrated to wxPython 2.6
48    
49            * Extensions/export_shapefile/export_shapefile.py:
50            updated wx statements, changed the FileDialog to wx.SAVE (was wx.OPEN)
51    
52    2007-01-08 Didrik Pinte <[email protected]>
53            
54            umn_mapserver extension migrated to wxPython 2.6
55    
56            * Extensions/umn_maserver/
57            mf_handle.py, mf_import.py, mf_export.py:
58            update wx imports to 2.6 policy
59    
60    2007-01-06 Didrik Pinte <[email protected]>
61    
62            UTF-8 locales support reading non utf-8 files.
63            This is a workaround and not a real bugfix. See
64            http://wald.intevation.org/tracker/index.php?func=detail&aid=118
65            for more details
66    
67            * Thuban/UI/tableview.py, controls.py, baserenderer.py, view.py:
68            decode text from iso-8859-1 encoding.
69    
70    2007-01-01 Bernhard Reiter <[email protected]>
71    
72            * test/postgissupport.py, test/test_postgis_db.py: adding an
73            explicit WITH OIDS to the create table commands. This fixes tests
74            that rely on an oid column to be present for postgresql >=8.0.
75            Thanks for Frank Koormann for the hint.
76    
77    2006-11-06 Didrik Pinte <[email protected]>
78    
79            * libraries/thuban/wxproj.cpp: bugfix - allow compilation with
80            msvc++ toolkit 2003
81    
82    2006-11-06 Bernhard Reiter <[email protected]>
83    
84            Made it easier to run PostGIS test on Debian Etch. Improving
85            https://wald.intevation.org/tracker/index.php?func=detail&aid=173 .
86    
87            * test/postgissupport.py: Taking pg_ctl and initdb commands
88            from internal variables now. Adding deactivated example values
89            for Debian Etch.  
90            find_postgis_sql(): Added special line for Debian Etch postgresql-8.1.
91            Added copyright year 2006.
92    
93    2006-10-25 Bernhard Reiter <[email protected]>
94            
95            Moved ogr Extension to Extension menu.
96    
97            * Extensions/ogr/
98            __init__.py, ogrstart.py, ogrshapes.py, ogrdialog.py
99            test/test_OGRShapestore.py, test/__init__.py:
100            adding encoding information and made sure Autor's names
101            with an umlaut are actually written with an umlaut.
102    
103            * Extensions/ogr/ogrstrat.py: now registering in menu "Extensions",
104            having a "(testing)" string before the submenu to prepare for 1.2.0
105            release.  Bumped copyright year to 2006.
106    
107    2006-10-15 Bernhard Reiter <[email protected]>
108    
109            * Thuban/UI/renderer.py: Added module variable verbose and
110            added verbose output before doing a raster projection.
111            Minor: Added (c) year 2006.
112    
113            * test/test_baserenderer.py: Added new function
114            test_projected_raster_decimalcommalocale()
115            Added new author Bernhard Reiter and new copyright year 2006.
116    
117            * libraries/thuban/gdalwarp.cpp(ProjectRasterFile): Adding
118            switching to LC_NUMERIC "C" and back before calling GDAL functions -
119            only #if python >=2.4 .
120    
121    2006-10-10 Didrik Pinte <[email protected]>
122    
123            Win32 build updates
124    
125            * setup.py :
126                - update to the latest libs for win32 setup tasks
127                    - added gdal and Lib content to the inno setup build task
128                    - added stable and experimental extensions to setup packages
129    
130            * thuban.py :
131                    - gdal support for win32 inno installation
132    
133    2006-10-10 Didrik Pinte <[email protected]>
134    
135            * Thuban/Model/layer.py (Layer.GetLabelPosFromShape): new method
136            extracted from Thuban/UI/viewport.py
137            * Thuban/UI/viewport.py (Viewport.LabelShapeAt): uses new method
138    
139    2006-09-28 Didrik Pinte <[email protected]>
140    
141            * Thuban/UI/classgen.py: bugfix due to wx2.6 update
142    
143            * Thuban/UI/view.py: removed non needed declaration
144    
145            * Thuban/UI/selection.py : typo correction
146    
147    2006-09-24 Bernhard Reiter <[email protected]>
148    
149            * Thuban/Model/proj.py(_do_we_have_to_work_around_broken_proj):
150            Making the test more robust for observed python 2.3 problems
151            with setlocale().
152    
153            * test/runtests.py: Added new option ---setdecimalcommalocale
154            to run all tests with an LC_NUMERIC that uses comma as decimal_point.
155            Minor: Added (c) year 2006. Fixed typo in a docstring.
156    
157            * test/test_transientdb.py: Minor: Added (c) year 2006. Fixed typo in
158            a docstring.
159    
160    2006-09-23 Bernhard Reiter <[email protected]>
161    
162            * Extensions/ogr/test/test_OGRShapestore.py: fixed skip_if_no_ogr()
163            and added it to TestOGRTable.setUp() so that all tests get skipped
164            if ogr cannot be imported. Added (c) year 2006.
165    
166    2006-09-18 Didrik Pinte <[email protected]>
167            
168            * wxPython 2.6 update : wx 2.4 syntax has been updated to 2.6
169            
170    2006-09-18 Bernhard Reiter <[email protected]>
171    
172            Fixed proj behaviour with python >=2.4 when decimal_point != '.'.
173    
174            * Thuban/UI/application.py: Fixed warning dialog when gdal is missing.
175    
176            * test/test_proj.py: new test_lc_numeric_robustness(). Added author
177            Bernhard Reiter and new copyright year 2006.
178    
179            * Thuban/Model/proj.py: New _do_we_have_to_work_around_broken_proj()
180            and Projection.assuregoodlocale(), Projection.assureinitlocale().
181            Added author Bernhard Reiter and (c) 2006.
182    
183    2006-09-15 Bernhard Reiter <[email protected]>
184    
185            * README: added RXP and pyRXP as optional for tests.
186    
187            * test/localessupport.py: New. Contains a helper function
188            to find a locale with comma used as decimal_point.
189    
190    2006-08-31 Bernhard Reiter <[email protected]>
191    
192            * README: fixed URLs to sqlite and pysqlite.
193    
194            * Thuban/UI/about.py: Added Didrik Pinte as contributor. Extended
195              copyright range to include 2006.
196    
197    2006-06-29 Didrik Pinte <[email protected]>
198    
199            * Thuban/UI/main.py: circular import fix.
200    
201    2006-06-27 Frank Koormann <[email protected]>
202    
203            New Classification "Pattern": Classify text attributes by regexp.
204    
205            * Thuban/Model/classification.py (class ClassGroupPattern):
206            New, group is associated with a regular expression.
207            (Classification._compile_classification): Store compiled regexp and
208            original group for pattern.
209            (Classification.FindGroup): Added pattern.
210    
211            * Thuban/UI/classifier.py
212            (ClassGrid._OnLabelRightClicked, ClassGrid.labelPopup):
213            New, add popup to select singleton/pattern.
214            (ClassTable.GetRowLabelValue, ClassTable.GetValueAsCustom,
215            ClassTable.SetValueAsCustom): Added pattern.
216            (ClassTable.__ParseInput): Autodetect singleton/pattern.
217    
218            * Thuban/Model/save.py (SessionSaver.write_classification):
219            Added pattern.
220    
221            * Thuban/Model/load.py (SessionLoader.start_clpattern,
222            SessionLoader.end_clpattern): New, process pattern elements.
223    
224            * test/test_classification.py (class TestClassGroupPattern): New.
225            (TestClassification.test_add_pattern,
226            TestClassification.test_multiple_groups_textual,
227            TestClassification.test_deepcopy_textual): New.
228            (TestClassification.test_multiple_groups_numerical):
229            Renamed test_multiple_groups.
230            (TestClassification.test_deepcopy_numerical): Renamed test_deepcopy.
231    
232            * test/test_save.py (SaveSessionTest.testClassifiedLayer):
233            Added pattern.
234    
235            * test/test_load.py (ClassificationTest.TestLayers, TestClassification):
236            Added pattern.
237    
238            * test/test_layer.py
239            (TestLayerModification.test_set_classification_textual): New
240            (TestLayerModification.test_set_classification_numerical):
241            Renamed test_set_classification.
242    
243            * Doc/manual/thuban-manual.xml: Added pattern to layer classification
244            description.
245    
246            * Resources/XML/thuban-1.1.dtd: Added clpattern element and attribs.
247    
248    2006-06-29 Didrik Pinte <[email protected]>
249    
250            * Thuban/version.py: Bugfix determination of SQLite, the wright one !
251              
252    2006-06-28 Didrik Pinte <[email protected]>
253    
254            * packaging/windows/thubanstart.py: sample file loading all the stable
255            extensions
256            
257    2006-06-28 Didrik Pinte <[email protected]>
258    
259            * Thuban/version.py: Bugfix determination of SQLite on old and recent
260            systems (support pysqlite1 and pysqlite2)
261    
262    2006-06-27 Frank Koormann <[email protected]>
263    
264            * Thuban/version.py: Bugfix determination of SQLite on old systems.
265    
266    2006-05-17 Didrik Pinte <[email protected]>
267            * Extensions/ogr/__init__.py : updated test for win32 and correct
268            imports
269    
270    2006-05-15 Didrik Pinte <[email protected]>
271            Ashamed ... still some tabs in the files
272    
273            * Thuban/version.py : tabs removed      
274            * Thuban/Model/transientdb.py : tabs removed
275    
276    2006-05-15 Didrik Pinte <[email protected]>
277    
278            * Thuban/version.py : coding style correction  
279            * Thuban/Model/transientdb.py : coding style correction
280    
281    2006-05-15 Didrik Pinte <[email protected]>
282    
283            * Thuban/version.py : Updated imports to support pysqlite2
284    
285            * Thuban/Model/transientdb.py : Updated imports to support pysqlite2
286            Patched the querying system to support the param style of pysqlite2
287    
288    2006-04-24 Didrik Pinte <[email protected]>
289    
290            * Extensions/svgexport/__init__.py: The extension now works on win32
291            architecture. Bug #87 corrected.
292    
293    2006-04-20 Bernhard Reiter <[email protected]>
294    
295            * Doc/technotes/coding_guidelines.txt: Changed text from CVS to SVN.
296            Removed emacs specific hint and replaced it with a general hint
297            that editors might support writing changelogs.
298    
299    2006-04-12 Bernhard Reiter <[email protected]>
300    
301            * Thuban/version.py: Changed thuban_release mechanism to use "svn"
302            instead of "cvs".
303    
304    2006-03-31  Bernhard Reiter <[email protected]>
305    
306            * libraries/thuban/wxproj.cpp: including proj_api.h instead of
307            projects.h now. According the Frank Warmerdam and man pj_init
308            this is the public interface to proj. Thus I have changed PJ to projPJ.
309            And I could remove the hack to avoid clashes with typedef PVALUE
310            and #define LP in projects.h clashing with symbols when trying to
311            build on windows. The file is cleaner and nicer now.
312    
313    2006-03-29  Bernhard Reiter <[email protected]>
314    
315            * libraries/thuban/wxproj.cpp: undef LP to avoid clash when
316            trying to build with mingw.
317    
318    2005-10-18  Bernhard Reiter <[email protected]>
319    
320            * Thuban/UI/about.py: remove unused import of getdefaultlocale.
321            Added display of internal encoding to the about dialog text.
322    
323            * Extensions/svgexport/__init__.py: changed version to "1.0.0+cvs".
324    
325    2005-10-18  Bernhard Reiter <[email protected]>
326    
327            Startup improved: We fail right away if the internal encoding could
328            not be determined.
329    
330            * Thuban/__init__.py (get_internal_encoding): new.
331    
332            * test/test_stringrepresentation.py (class TestInternalEncoding):
333            Preserve the internal encoding for the tests in this class.
334    
335    2005-10-17  Bernhard Reiter <[email protected]>
336    
337            * test/test_stringrepresentation.py: New file, for now testing
338            that set_internal_coding() is throwing an exception for bad exceptions.
339    
340            * Thuban/__init__.py (set_internal_encoding): added a forwards
341            and backward translation, so that we fail early if the
342            internal_encoding is bad.
343    
344    2005-10-17  Bernhard Reiter <[email protected]>
345    
346            svgexport 1.0.0cvs: Fixed ARC layer writing: No filling is done.
347            You could actually get polylines with filling in between,
348            when the classification for the lines had a fill color.
349            E.g. this happens when you generate a classification from a ramp.
350    
351            * Extensions/svgexport/test/test_svgmapwriter.py:
352            New test_export_arc_no_fill(). Extend copyright notice to 2005.
353    
354            * Extensions/svgexport/svgmapwriter.py
355            (SVGRenderer.draw_shape_layer_incrementally()):
356            Setting TRANSPARENT_BRUSH for shaptype ARC.
357            Extend copyright notice to 2005.
358    
359            * Extensions/svgexport/__init__.py: Extend copyright notice to 2005.
360    
361    2005-09-08  Frank Koormann <[email protected]>
362    
363            * Doc/manual/thuban-manual.xml (Map Management): Fixed typo reported
364            by Erik (sigra.at.home.se)
365    
366    2005-08-18  Jan-Oliver Wagner <[email protected]>
367    
368            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
369            Call the right method for the default size.
370    
371    2005-08-11  Jan-Oliver Wagner <[email protected]>
372    
373            * Extensions/export_shapefile: New.
374    
375            * Extensions/export_shapefile/__init__.py: New. Initialize
376            the export_shapefile extension.
377    
378            * Extensions/export_shapefile/export_shapefile.py: New.
379            Exports a layer as a Shapefile.
380    
381    2005-08-08  Jan-Oliver Wagner <[email protected]>
382    
383            * po/de.po: String fixes. This fixes Debian bug #313843.
384    
385    2005-07-27  Jan-Oliver Wagner <[email protected]>
386    
387            Remove the attributes from the layer element in
388            .thuban files for the save routine.
389            This also solves RT bug #3149,
390            https://intevation.de/rt/webrt?serial_num=3149
391    
392            * test/test_load.py: (TestSingleLayer, TestNonAsciiColumnName,
393            TestLayerVisibility, TestSymbolSize, TestClassification, TestLabels,
394            TestLayerProjection, TestJoinedTable, TestLabelLayer): Removed
395            attributes from layer element to classification clnull element.
396    
397            * test/test_save.py (SaveSessionTest.testSingleLayer,
398            SaveSessionTest.testLayerProjection,
399            SaveSessionTest.testClassifiedLayer,
400            SaveSessionTest.test_joined_table, SaveSessionTest.test_save_postgis):
401            Removed attributes from layer element to classification clnull element.
402            (test_save_postgis.NonConnectionStore._fetch_table_information):
403            added pretending to have a shape_type.
404    
405            * Resources/XML/thuban-1.1.dtd: Make the attributes field
406            and field_type of classification optional.
407    
408            * Thuban/Model/classification.py (Classification.TreeItem.build_info):
409            Added output of size.
410    
411            * Thuban/Model/load.py (SessionLoader.start_classification):
412            Change attribute 'field' and 'field_type' from obligatory to
413            optional to allow empty classes (ie.  only with a default=clnull).
414    
415            * Thuban/Model/save.py (SessionSaver.write_layer): Don't write
416            any attributes anymore for the layer element.
417            (SessionSaver.write_classification): Even if there is no
418            classification field, still write the classification because
419            the clnull (default) symbol will not be defined anymore as
420            part of the layer element.
421    
422    2005-07-05  Bernhard Herzog  <[email protected]>
423    
424            * setup.py (setup call): Version 1.1.0
425    
426            * NEWS: Update for 1.1.0
427    
428            * MANIFEST.in: Add *.txt to files taken from Doc.  Otherwise the
429            technores won't be included
430    
431            * Thuban/UI/about.py (About.__init__): Extend copyright notice to
432            2005
433    
434            * po/de.po: Updated.
435    
436    2005-07-05  Bernhard Herzog  <[email protected]>
437    
438            * README: gdal 1.1.8 is too old.  1.2.5 works.
439    
440    2005-07-05  Bernhard Herzog  <[email protected]>
441    
442            * Resources/XML/thuban-1.1.dtd (rasterlayer): Add the opacity and
443            masktype attributes.
444    
445    2005-07-05  Bernhard Herzog  <[email protected]>
446    
447            * Thuban/Model/layer.py (Layer.__mangle_bounding_box)
448            (Layer.ClipBoundingBox): Rename ClipBoundingBox to
449            __mangle_bounding_box.  See the comments in the code and RT #2845
450    
451            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
452            Remove the explicit test of ClipBoundingBox.  The method isn't
453            public anymore and the direct call in the test wasn't necessary in
454            the first place.  If ClipBoundingBox (now __mangle_bounding_box)
455            isn't called, the return value of ShapesInRegion will be
456            different.
457    
458    2005-07-05  Bernhard Herzog  <[email protected]>
459    
460            * Thuban/UI/viewport.py (ViewPort.set_view_transform): Handle
461            ZeroDivisionError exceptions.  I don't know when they happen
462            exactly.  It probably happens when the projections aren't set
463            properly.
464    
465    2005-07-01  Bernhard Herzog  <[email protected]>
466    
467            First step towards unicode.  With this roughly we're at step 1
468            string_representation.txt
469    
470            * Doc/technotes/string_representation.txt: New.  Document how
471            strings are represented in Thuban and how to get to a Unicode
472            Thuban.
473    
474            * Thuban/__init__.py (set_internal_encoding)
475            (unicode_from_internal, internal_from_unicode): New. The first few
476            functions for the internal string representation
477    
478            * Thuban/UI/about.py (unicodeToLocale): Removed.  Use
479            internal_from_unicode instead.
480    
481            * Thuban/UI/__init__.py (install_wx_translation): Determine the
482            encoding to use for the internal string representation.  Also,
483            change the translation function to return strings in internal
484            representation even on unicode builds of wxPython
485    
486            * Thuban/Model/load.py (SessionLoader.check_attrs): Decode
487            filenames too.
488            (SessionLoader.start_clrange): Use check_attrs to decode and check
489            the attributes.
490    
491            * Thuban/Model/xmlreader.py (XMLReader.encode): Use
492            internal_from_unicode to convert unicode strings.
493    
494            * Thuban/Model/xmlwriter.py (XMLWriter.encode): Use
495            unicode_from_internal when applicable
496    
497            * test/runtests.py (main): New command line option:
498            internal-encoding to specify the internal string encoding to use
499            in the tests.
500    
501            * test/support.py (initthuban): Set the internal encoding to
502            latin-1
503    
504            * test/test_load.py (TestSingleLayer.test, TestClassification.test)
505            (TestLabelLayer.test): Use the internal string representation when
506            dealing with non-ascii characters
507    
508            * test/test_load_1_0.py (TestSingleLayer.test)
509            (TestClassification.test, TestLabelLayer.test): Use the internal
510            string representation when dealing with non-ascii characters
511    
512            * test/test_load_0_9.py (TestSingleLayer.test)
513            (TestClassification.test): Use the internal string representation
514            when dealing with non-ascii characters
515    
516            * test/test_load_0_8.py (TestUnicodeStrings.test): Use the
517            internal string representation when dealing with non-ascii
518            characters
519    
520            * test/test_save.py (XMLWriterTest.testEncode)
521            (SaveSessionTest.testClassifiedLayer): Use the internal string
522            representation when dealing with non-ascii characters where
523            applicable
524    
525    2005-06-30  Bernhard Herzog  <[email protected]>
526    
527            * test/runtests.py: Untabify.
528    
529    2005-06-30  Bernhard Herzog  <[email protected]>
530    
531            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
532            untabify.
533    
534    2005-06-30  Bernhard Herzog  <[email protected]>
535    
536            * Extensions/ogr/test/__init__.py: Add missing coding directive
537    
538    2005-06-28  Jan-Oliver Wagner <[email protected]>
539    
540            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
541            Use the default size for rendering selected items of default type.
542            Fixes part 2 of https://intevation.de/rt/webrt?serial_num=3149
543    
544    2005-06-28  Jan-Oliver Wagner <[email protected]>
545    
546            * Extensions/importAPR/apr.py (APR_BShSym): Extend by 'Stripple'.
547            (APR_TClr.GetThubanColor): Fix bug in color interpretation.
548            Thanks to Frank Koormann who identified this problem.
549    
550            * Extensions/importAPR/importAPR.py (APR_VShSym): New. Just
551            another symbol identified.
552    
553    2005-06-27  Jan-Oliver Wagner <[email protected]>
554    
555            * Doc/manual/thuban-manual-de.xml: More translations.
556    
557    2005-05-12  Jonathan Coles <[email protected]>
558            
559            * Thuban/UI/projdialog.py: Add missing import, which led to an
560            exception when opening a layer's projection.
561    
562    2005-05-09  Bernhard Herzog  <[email protected]>
563    
564            * test/support.py (FileLoadTestCase.filename): Fix doc-string.
565    
566    2005-05-09  Bernhard Herzog  <[email protected]>
567    
568            * Thuban/Model/postgisdb.py (PostGISConnection.connect): Set the
569            connection to autoconnect.  Fixes RT#3148.
570    
571            * test/test_postgis_db.py
572            (TestPostGISSpecialCases.test_simple_error_handling): New test
573            that attempts to reproduce RT#3148.
574    
575    2005-05-06  Jonathan Coles <[email protected]>
576    
577            Add support for saving and loading the opacity and mask type
578            properties of RasterLayers. Also add support for proper use
579            of alpha information while drawing images not in 'RAW' format.
580            If transparency in an image format (e.g, PNG) is supported by
581            wxWidgets then the image would previously have been draw with
582            transparent regions, but the opaque regions would have been
583            unaffected by a change in the layer's opacity. This patch
584            corrects the problem.
585    
586            * Thuban/Model/layer.py (RasterLayer): Added opacity and
587            masktype parameters to the constructor, and set the
588            appropriate variables to those values.
589    
590            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Added
591            code to read the opacity and mask type of the layer and construct
592            a new layer with the additional parameters.
593    
594            * Thuban/Model/save.py (SessionSaver.write_layer): Added code
595            to save the opacity and mask type of a layer.
596    
597            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
598            the opacity of the layer to draw_raster_data rather than the layer.
599            (BaseRenderer.draw_raster_data): Remove the layer parameter because
600            the function doesn't need to know about the layer. Add the optional
601            opacity parameter whose default is 1.0. Add 'PNG' as a supported
602            graphics format.
603    
604            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Fixed
605            signature to match that in BaseRenderer. Use the new opacity argument
606            in place of calling layer.Opacity(). In the case where the
607            format is not 'RAW', alpha_data is None and the loaded image has
608            alpha information, use the file's alpha information. This is
609            still subject to the layer's opacity setting.
610    
611            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
612            Fixed signature to match that in BaseRenderer.
613    
614            * test/test_load.py (TestRasterLayer): Change file_contents to
615            include opacity and masktype variables.
616            (TestRasterLayer.test): Include tests for opacity and masktype
617            changes.
618    
619            * test/test_save.py (SaveSessionTest.testRasterLayer): Restructure
620            test to cover a variety of combinations of masktype and opacity
621            settings.
622    
623    2005-05-02  Jan-Oliver Wagner <[email protected]>
624    
625            * debian/rules: add --use-wx-python-swig-hack
626            to the build command.
627            Thanks to Moritz Lennert for pointing this out.
628    
629    2005-04-28  Jan-Oliver Wagner <[email protected]>
630    
631            Introduce OGRFileShapeStore in ogr extension.
632            This allows at least that loaded shapefile shape stores
633            can be saved correctly in the thuban session file
634            and reloaded again (reload is via core shapefile
635            routine, not OGR). For other types, .thuban files
636            can not be reloaded for the time being.
637    
638            * Extensions/ogr/ogrshapes.py (OGRFileShapeStore): New. This
639            class ist to be used for any file-based shape stores
640            accessed through OGR.
641    
642            * Extensions/ogr/ogrstart.py (open_with_ogr): Added
643            forgotten _ for i18n. Adapted call OpenFileShapestore
644            regarding new parameter.
645            (OpenFileShapestore): Use OGRFileShapeStore instead of
646            OGRShapeStore. Fix return value (None instead of null).
647            Add new parameter "mainwindow" to avoid accessing global
648            context.
649    
650    2005-04-27  Jan-Oliver Wagner <[email protected]>
651    
652            Introduce FileShapeStore as generalization for
653            file-based shape stores. In a first instance
654            this allows additional modules to handle shapefile
655            format as well, namely the OGR extension.
656    
657            * Thuban/Model/data.py: Various small fixes in doc-strings.
658            (FileShapeStore): New class.
659            (ShapefileStore): Derive from FileShapeStore.
660            (ShapefileStore.__init__): Call __init__ of FileShapeStore,
661            rename self.table to self._table, initialize self._bbox
662            (ShapefileStore._open_shapefile): Use self._bbox instead of self.bbox
663            and self.FileName() instead of self.filename.
664            (ShapefileStore.Table): Use self._table instead of self.table.
665            (ShapefileStore.FileName): Removed (moved to FileShapeStore).
666            (ShapefileStore.BoundingBox):  Use self._bbox instead of self.bbox.
667    
668            * Thuban/Model/save.py: Replace ShapefileStore by FileShapeStore.
669            (SessionSaver.write_data_containers): Only use methods of the
670            base class FileShapeStore.
671    
672    2005-04-26  Martin Schulze  <[email protected]>
673    
674            * Extensions/wms/wms.py (render_wms_layer): Adjusted the render
675            function to the modified render engine
676    
677    2005-04-25  Martin Schulze  <[email protected]>
678    
679            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
680            Added a description according to the CVS log message
681    
682    2005-04-23  Martin Schulze  <[email protected]>
683    
684            * Thuban/UI/renderer.py: Added a missing import
685    
686    2005-04-23  Russell Nelson  <[email protected]>
687    
688            * Thuban/UI/view.py (MapCanvas.OnMiddle{Up,Down}): Changed the
689            way the previous tool is remembered, so that middle-button
690            panning works even if you haven't selected a tool.
691    
692    2005-04-11  Bernhard Herzog  <[email protected]>
693    
694            * libraries/thuban/wxproj.cpp: Move the compatibility code that
695            deals with the wxPython 2.4 version of wxPython.h into the #ifdef
696            branch that includes wxPython.h because it's only needed when
697            wxPython.h is used.  Also, it won't compile when
698            USE_WX_PYTHON_SWIG_HACK is set otherwise.
699    
700    2005-04-07  Bernhard Herzog  <[email protected]>
701    
702            * Thuban/UI/classifier.py (ClassGrid.__init__): Use -1 as the ID.
703            (ID_CLASS_TABLE): Removed. It wasn't used anywhere except in
704            ClassGrid.__init__ and it's value is outside of the valid
705            range (must be < 32768).  wxPython 2.5 complains about it with an
706            exception.
707    
708    2005-04-05  Jan-Oliver Wagner <[email protected]>
709    
710            * Doc/manual/thuban-manual-de.xml: More translations.
711    
712    2005-04-05  Bernhard Herzog  <[email protected]>
713    
714            * libraries/thuban/wxproj.cpp: Make it work with a wxPython.h from
715            wxPython 2.4 as well.  Also, remove a now obsolete comment.
716    
717    2005-04-05  Bernhard Herzog  <[email protected]>
718    
719            Use wxPython.h by default but provide a workaround when it isn't
720            available.
721    
722            * setup.py (wxproj_extension): New variable.  Assign the Extension
723            instance for Lib.wxproj to this variable instead of putting it
724            directly into the listso that it can be accessed by other code
725            later.
726            (thuban_build_ext.user_options): Added boolean option
727            --use-wx-python-swig-hack.
728            (thuban_build_ext.initialize_options): Initialize the new option
729            to False.
730            (thuban_build_ext.finalize_options): If the new option was given,
731            define the preprocesser macro USE_WX_PYTHON_SWIG_HACK.
732            (thuban_build_ext): Update the doc-string
733    
734            * libraries/thuban/wxproj.cpp: Normally we use
735            wx/wxPython/wxPython.h now.  Only if USE_WX_PYTHON_SWIG_HACK is
736            defined, use swigPtrConvertHack.h instead.
737    
738            * libraries/thuban/swigPtrConvertHack.h: Remove the code that was
739            copied over from wxPython.h.
740            (decode_pointer_new): New.  Equivalent of decode_pointer for
741            wxPython 2.5.
742            (wxPyConvertSwigPtr): Modified to cope with wxPython 2.5 as well.
743    
744            * README: Add section on potential build problems which explains
745            how the work-around for a missing wxPython.h is activated.
746    
747    2005-03-29  Bernhard Herzog  <[email protected]>
748    
749            * test/postgissupport.py (find_postgis_sql): Added yet another
750            potential location for (lw)postgis.sql because the file has moved
751            again in postgis 1.0.0 rc4.
752    
753    2005-03-29  Bernhard Herzog  <[email protected]>
754    
755            * Thuban/UI/legend.py (BMP_SIZE_W, BMP_SIZE_H): Set both to 16 to
756            match the site of the legend_icon_layer icon.  Otherwise wxpython
757            2.5 complains when the legend is created with the error:
758    
759            PyAssertionError: C++ assertion "(bitmap.GetWidth() == m_width &&
760            bitmap.GetHeight() == m_height) || (m_width == 0 && m_height ==
761            0)" failed in ./src/generic/imaglist.cpp(81): invalid bitmap size
762            in wxImageList: this might work on this platform but definitely
763            won't under Windows.
764    
765    2005-03-23  Jonathan Coles <[email protected]>
766    
767            These changes add support for adjusting the opacity of a raster layer.
768    
769            * Thuban/Model/layer.py (RasterLayer.Opacity): Replaces AlphaOpacity.
770            (RasterLayer.SetOpacity): Replaces SetAlphaOpacity. Also triggers
771            a LAYER_CHANGED event if the opacity actually changes.
772    
773            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_data): Added
774            layer parameter needed in the implementation of this method in
775            renderer.py.
776    
777            * Thuban/UI/layerproperties.py (LayerProperties.dialog_layout): Fixed
778            typo 00 -> 0.
779    
780            * Thuban/UI/rasterlayerproperties.py (RasterLayerProperties): Added
781            control to adjust opacity.
782    
783            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Scale the
784            alpha data based on the opacity level of the layer.
785    
786            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Now
787            accepts a layer parameter.
788    
789            * test/test_layer.py (TestLayerModification.test_raster_layer):
790            Rename opacity method calls and add test for LAYER_CHANGED.
791    
792    2005-03-16  Bernhard Herzog  <[email protected]>
793    
794            * test/test_connector.py (DeletionTestMixin.check_deletions)
795            (DeletionTestMixin.check_deletetions): renamed to check_deletions.
796            update the callers.
797    
798    2005-03-14  Jan-Oliver Wagner <[email protected]>
799    
800            * Doc/manual/thuban-manual-de.xml: More translations.
801    
802    2005-03-10  Jan-Oliver Wagner <[email protected]>
803    
804            Introducing initialization callbacks for extensions.
805    
806            * Thuban/UI/extensionregistry.py (ExtensionDesc.__init__): Added
807            optional parameter init_callback.
808            (ExtensionDesc.init_ext): New. Executes the callback and sets
809            a status.
810    
811            * Thuban/UI/application.py (ThubanApplication.OnInit): Add the
812            initialization of the extensions.
813            (ThubanApplication.init_extensions): Init all extensions.
814    
815            * Thuban/UI/about.py (About.__init__): Added status of the extensions
816            to the about text.
817    
818            * Extensions/gns2shp/__init__.py: Added init method for Extension
819            description.
820            (init): New. Contains the initialization of the module.
821    
822    2005-03-04  Nina H�ffmeyer <[email protected]>
823    
824            * Extensions/ogr/ogrdialog.py: Added a dialog, which asks for
825            OGRConnection to open a datasource. Removed dialog to display all
826            available drivers. Added some doc strings.
827    
828            * Extensions/ogr/ogrstart.py: Added menu entry for opening an
829            OGRDatasource with a string. Added two opening methods which return an
830            OGRDatasource (either data from file or from DB).
831    
832            * Extensions/ogr/ogrshapes.py: Added class OGRGeometry, which
833            represents a geometry reference of an OGRFeature. OGRShape now has a
834            list of referenced geometry objects (important for geometry
835            collections).
836            For OGRShapeStores loaded from a DB an ID column can be specified now.
837    
838    2005-02-22  Jan-Oliver Wagner <[email protected]>
839    
840            * test/test_map.py (TestMapWithContents.test_tree_info):
841            Added label layer for comparison.
842    
843    2005-02-18  Jonathan Coles <[email protected]>
844    
845            * libraries/thuban/gdalwarp.cpp (GetImageData): Optimize the loop
846            which builds a mask. Handle the majority of an image in a loop,
847            creating 8 bits at a time. Later, handle the edge case where less
848            than 8 bits are packed.
849    
850    2005-02-18  Bernhard Herzog  <[email protected]>
851    
852            * test/test_baserenderer.py (TestBaseRenderer.setUp): Fix
853            doc-string
854    
855    2005-02-18  Jonathan Coles <[email protected]>
856    
857            * setup.py: Remove wx_cs_params from gdal compile options.
858    
859    2005-02-18  Jonathan Coles <[email protected]>
860    
861            Refactored baserenderer.py and renderer.py to remove baserenderer.py's
862            dependencies on wxPython. Added a new method projected_raster_layer()
863            that returns a raster layer image in projected space. This must be
864            implemented in classes derived from BaseRenderer. This also eliminates
865            the dependency on gdal in baserenderer.py.
866    
867            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Call
868            new projected_raster_layer() to get projected raster image instead
869            of directly calling ProjectRasterFile().
870            (BaseRenderer.projected_raster_layer): New. This must be implemented
871            by derived classes. It takes almost the same arguments as ProjectRasterFile
872            did and returns a projected image with mask and alpha data (if requested).
873            (BaseRenderer.render_map_incrementally): Remove the check for gdal since
874            that check will be done in MapRenderer.projected_raster_layer(). This
875            also allows other implementations to use different projection code.
876    
877            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
878            Implementation of BaseRenderer.projected_raster_layer. Checks for
879            gdal support and wxPython version. Also handles exceptions from
880            ProjectRasterFile.
881    
882            * libraries/thuban/gdalwarp.cpp: Removed checks for wxPython versions
883            and added a variable which can be set through the options argument
884            of ProjectRasterFile.
885    
886            * test/test_baserenderer.py (SimpleRenderer.projected_raster_layer): New.
887            Calls ProjectRasterFile and returns the result.
888            (TestBaseRenderer.test_projected_raster_layer): New. Tests the results
889            of calling projected_raster_layer() with different options.
890            (TestBaseRenderer.test_raster_no_projection): Removed tests based on
891            wxPython version and all tests of masks and alpha channels. These are
892            now in test_projected_raster_layer().
893    
894    2005-02-17  Jan-Oliver Wagner <[email protected]>
895    
896            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
897            doc-strings to comply with coding_guidelines.
898    
899    2005-02-17  Jan-Oliver Wagner <[email protected]>
900    
901            Docstring improvements and minor fixes for labellayer.
902    
903            * Thuban/Model/map.py:
904            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
905            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
906            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
907            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
908            doc string.
909            (Map.BoundingBox): Removed superfluous test for label_layer
910            and improved doc string.
911            (Map.TreeInfo): Added label_layer and improved sdo string.
912    
913            * Thuban/Model/label.py: Added import of _.
914            (Label, Label.__init__): Improved/added doc string.
915            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
916            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
917            Improved/added doc string.
918            (LabelLayer.AddLabel): Use already defined names for
919            align strings and improved doc string.
920            (LabelLayer.TreeInfo): New. Return the object data for
921            the tree view.
922    
923    2005-02-16  Jonathan Coles <[email protected]>
924    
925            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
926            so that that wxproj doesn't crash. Added GUI support for selecting
927            alpha channel (opacity can't be selected yet).
928    
929            NOTE: If wxPython.h is including in future distribution packages
930            then it will not be necessary to have the files swigPtrConvertHack.h
931            and wxPython_int.h included with Thuban. This is hopefully
932            a temporary workaround.
933    
934            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
935            access to the macro wxCHECK_VERSION so that it will properly
936            generate a bit mask. There was a problem between wx2.4 and wx2.5
937            that this works around.
938    
939            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
940            of RasterLayer.MaskType.
941            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
942            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
943            specify none, a bitmap, or an alpha channel.
944            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
945    
946            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
947            Set the raster warping options for the mask based on the value
948            of RasterLayer.MaskType.
949    
950            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
951            deprecated calls to SetItemSelectedImage in favor of SetItemImage
952            with wxTreeItemIcon_Selected.
953    
954            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
955            an alpha channel for the mask.
956    
957            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
958            data if it is available and an alpha channel is supported under
959            the current version of wxPython.
960    
961            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
962            to select whether 1's or 0's select the desired portion of an image
963            in the bit mask. wx2.4 has a bug where the documentation is the opposite
964            from behavior.
965            (ProjectRasterFile): Only generate an alpha channel if the version
966            of wxPython is >= 2.5.3.
967    
968            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
969            When wxPython >= 2.5.3 use the special swig functions to decode an
970            object's address.
971    
972            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
973            based on the version of wxPython. If >= 2.5.3 use the special swig
974            functions from wxPython to decode wxPython objects, otherwise use
975            the old method of retrieving the address from the object __repr__ string.
976    
977            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
978            Unnecessary code was removed to make it smaller.
979    
980            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
981            Add tests for returning an alpha channel.
982    
983            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
984            tests that used removed functions UseMask and SetUseMask
985    
986    
987    2005-02-08  Bernhard Herzog  <[email protected]>
988    
989            More wxPython 2.5 changes.  This time taken from a patch from
990            Daniel Calvelo Aros.
991    
992            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
993            (QueryTableFrame.__init__): Pass the size of a spacer as a single
994            item.
995    
996            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
997            (ProjFrame.build_dialog): Pass the size of a spacer as a single
998            item.
999    
1000            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
1001            size of a spacer as a single item.
1002    
1003            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
1004            size of a spacer as a single item.
1005    
1006    2005-02-08  Bernhard Herzog  <[email protected]>
1007    
1008            Compatibility with wxPython 2.5.  The changes should make it work
1009            better with 2.5 while still keeping compatibility with 2.4.  There
1010            are still problems with 2.5, though.
1011    
1012            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
1013            of a spacer as a single item.
1014    
1015            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
1016            from wxControl
1017    
1018            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
1019            2.5, add an implementation of the GetFirstChild method that does
1020            not require the second parameter.
1021            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
1022            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
1023            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
1024            pass the second parameter to GetFirstChild
1025    
1026    2005-02-08  Nina H�ffmeyer <[email protected]>
1027    
1028            * Extensions/ogr/ogrshapes.py: Removed some print commands.
1029    
1030            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
1031            additional menu but appears as a possibility in the menu Map.
1032    
1033    2005-02-07  Jonathan Coles <[email protected]>
1034            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
1035            and PYTHON_ERRF since they were no longer necessary.
1036    
1037    2005-02-07  Bernhard Reiter <[email protected]>
1038            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
1039            Enable translation for message string.
1040    
1041    2005-02-06  Martin Schulze  <[email protected]>
1042    
1043            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
1044            the arguments of the contstructor to fit the global scheme
1045    
1046    2005-01-31  Nina H�ffmeyer <[email protected]>
1047    
1048            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
1049            some dialogs needed to start ogr.
1050            
1051            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
1052            warnings.
1053    
1054            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
1055            encoding warnings.
1056    
1057    2005-01-28  Jonathan Coles <[email protected]>
1058    
1059            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
1060            mask is packed into a bit array. It's now slightly faster.
1061    
1062    2005-01-28  Jonathan Coles <[email protected]>
1063    
1064            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
1065            default to true.
1066    
1067            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
1068            code that loads the state of the layer's use_mask flag. Its
1069            usefulness is still being debated.
1070    
1071            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
1072            code that saves the state of the layer's use_mask flag. Its
1073            usefulness is still being debated.
1074    
1075            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
1076            options to ProjectRasterFile based on the state of layer.UseMask().
1077            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
1078            quit is there is a problem projecting.
1079            (BaseRenderer.draw_raster_data): Change the documentation to
1080            describe the new format (XBM) that the mask data will be in.
1081    
1082            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
1083            data is in XBM format when format='RAW' which means it doesn't
1084            need to be converted to a wxImage before being used as a mask
1085            for a wxBitmap. Assume that if format != 'RAW' that the image
1086            data and mask data are in the same format.
1087    
1088            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
1089            and a mask is requested, convert the alpha band to a bit array in
1090            XBM format. if an alpha channel is requested, simply return the
1091            data in the alpha band. Provide better error handling by returning
1092            python error messages (also fixes RT #2947).
1093            (ProjectRasterFile): Support multiple mask options, rather than simply
1094            a flag indicating that a mask should or should not be used. Provide
1095            better error handling by returning python error messages.
1096    
1097            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
1098            Add mask data to test.
1099    
1100            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
1101            should use the mask by default.
1102            (TestLayerModificaton.test_raster_layer): Test that a layer should use
1103            the mask by default.
1104    
1105            * test/test_load.py (TestRasterLayer.test): Remove testing for
1106            use_mask flag in file.
1107    
1108            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
1109            for use_mask in file.
1110    
1111            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
1112            
1113    2005-01-26  Jonathan Coles <[email protected]>
1114    
1115            Add a new dialog box for raster layers. The dialog box allows
1116            the user to toggle a mask that is generated by ProjectRasterFile
1117            and is used to only draw the real parts of the projected image.
1118    
1119            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
1120            Instruct the warping code to generate a mask if the raster layer
1121            requests one.
1122            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
1123    
1124            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
1125            obsolete optional mask argument.
1126    
1127            * Thuban/UI/classifier.py (Classifier): Change the parent class
1128            to LayerProperties and rework the code to support layout calls
1129            from the parent.
1130            (Classifier.dialog_layout): New. Layout the dialog box.
1131            (Classifier.map_layers_removed): Removed. Moved to parent class.
1132            (Classifier.map_replaced): Removed. Moved to parent class.
1133            (Classifier._OnTry): Renamed to OnTry to support parent class.
1134            (Classifier.OnClose): Removed. Supplied in parent class.
1135            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
1136            (Classifier._OnOK): Renamed to OnOK to support parent class.
1137            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
1138    
1139            * Thuban/UI/layerproperties.py: New. Base class for layer properties
1140            dialog boxes.
1141    
1142            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
1143            raster layer properties.
1144    
1145            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
1146            with the non-simple version supplied with gdal. This allows added
1147            features such as creating an alpha band.
1148            (GetImageData): Generate a mask array from the alpha band that is
1149            generated by gdal if the user has selected it. Try to support images
1150            that have more than three bands, such as images with RGB plus an
1151            alpha band.
1152            (ProjectRasterFile): Convert python argument for mask and tell
1153            gdal to enable or disable an alpha band.
1154    
1155            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
1156            describing what kind of layer the class is. Defaults to "Unknown",
1157            but should be overridden by subclasses.
1158            (Layer.Type): New. Override base class method.
1159            (RasterLayer.__init__): Create a flag for using a mask. Record extra
1160            data from gdal for display in the properties dialog.
1161            (RasterLayer.Type): New. Override base class method.
1162            (RasterLayer.UseMask): New. Returns True if the mask should be used.
1163            (RasterLayer.SetUseMask): New. Set if the mask should be used.
1164            (RasterLayer.ImageInfo): New. Return extra information about the image.
1165    
1166            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
1167            the mask information.
1168    
1169            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
1170    
1171            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
1172            Classifier classes as dialogs to use with the proper layer types.
1173    
1174            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
1175            Fix test.
1176    
1177            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
1178            (TestLayerModification.build_path): New. Support function.
1179            (TestLayerModification.test_raster_layer): New. Test new methods.
1180    
1181            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
1182    
1183            * test/test_load.py (TestRasterLayer): Add tests for mask.
1184    
1185            * test/test_load_1_0_1.py: New. Copied from test_load.py.
1186    
1187            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
1188            obsolete optional mask argument.
1189    
1190    2005-01-26  Nina H�ffmeyer <[email protected]>
1191    
1192            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
1193            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
1194            RowOrdinalToId() and ReadRowAsDict().
1195    
1196            * Extensions/ogr/ogrstart.py: Added menu item which opens database
1197            layers for existing database connections.
1198    
1199            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
1200    
1201    
1202    2005-01-26  Jan-Oliver Wagner <[email protected]>
1203    
1204            * Doc/manual/thuban-manual-de.xml: More translations.
1205    
1206    2005-01-24  Bernhard Herzog  <[email protected]>
1207    
1208            Rework the status bar updates a bit to make sure the message about
1209            the projections is produced at the right times.
1210    
1211            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
1212            New class variable with messages that may require a status bar
1213            update.
1214            (MainWindow.view_position_changed)
1215            (MainWindow.update_status_bar): Rename from view_position_changed
1216            to update_status_bar.  It's meaning has changed now that it may
1217            also generate messages about problems with projection settings.
1218            (MainWindow.__init__): Use the new update_status_bar_messages
1219            class variable to subscribe update_status_bar
1220            (MainWindow.set_position_text): Update doc-string.  This method
1221            has to be renamed at some point.  See doc-string and comments.
1222            (MainWindow.OnClose): Unsubscribe update_status_bar from all
1223            messages in update_status_bar_messages
1224    
1225            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
1226            class attribute.  map messages to be forwarded by the viewport.
1227            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
1228            the messages in forwarded_map_messages
1229    
1230    2005-01-21  Bernhard Herzog  <[email protected]>
1231    
1232            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
1233            doc-string
1234            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
1235            different name for the initialization SQL file.
1236    
1237    2005-01-21  Jonathan Coles <[email protected]>
1238    
1239            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
1240            a projection and returns a formatted string representing the
1241            parameters to feed to gdalwarp. This function eliminates
1242            redundancy in draw_raster_layer().
1243            (BaseRenderer.render_map_incrementally): Removed the optimization which
1244            drew the top most raster layer first and then only those vector-
1245            based layers that are above it. With the support for transparency
1246            this optimization breaks correct behaviour.
1247            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
1248            future enhancements to raster layer bounding box. The old behaviour has
1249            not changed. Also, change calling parameters to draw_raster_data()
1250            to specify new RAW data format and mask.
1251            (BaseRenderer.draw_raster_data): Change signature to include an optional
1252            parameter for mask information. Change documentation to mention
1253            support for new parameter and added option for RAW data format.
1254            The data argument is now a list of [width, height, data].
1255    
1256            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
1257            mask parameter. Add new condition for RAW format, which
1258            significantly reduces rendering time. Add condition for
1259            mask parameter.
1260    
1261            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
1262            data array of RGB values from the projected image returned from
1263            the gdal warping functions. In the case of palette based images, it
1264            converts the NO_DATA index to the mask color.
1265            (ProjectRasterFile): Removed all custom memory driver references
1266            and replaced it with the standard in-memory dataset provided
1267            by gdal. The return data is no longer a BMP file, but an array
1268            of RGB values, one set triple per pixel.
1269    
1270            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
1271            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
1272            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
1273    
1274            * setup.py (thuban_build_ext.finalize_options): Removed mention
1275            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
1276            files. These are obsolete with the new version of gdalwarp.cpp
1277    
1278            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
1279            Updated signature.
1280            (TestBaseRenderer.test_raster_no_projection): Changed the test
1281            data to be data in the uncompressed RAW format returned from
1282            ProjectRasterFile.
1283    
1284    2005-01-21  Jan-Oliver Wagner <[email protected]>
1285    
1286            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
1287            string available for i18n.
1288    
1289    2005-01-20  Russell Nelson  <[email protected]>
1290    
1291            * Resources/Projections/defaults.proj: Ruin the speling of the
1292            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
1293            It's the wrong thing to do in the long run, but it's necessary for
1294            those users until that bug is fixed.  Otherwise the projection
1295            dialog segfaults.  Better to annoy some Lambert-93 users with a
1296            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
1297    
1298    2005-01-20  Bernhard Reiter <[email protected]>
1299    
1300            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
1301            docstring and comment that the warning code here is a hack.
1302    
1303    2005-01-20  Russell Nelson  <[email protected]>
1304    
1305            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
1306            user about misprojected layers when their lat/lon bounding
1307            box exceeds rational lat/lon values.
1308    
1309    2005-01-20  Bernhard Reiter <[email protected]>
1310    
1311            * Thuban/UI/about.py (unicodeToLocale): Improved:
1312            Use 'ascii' and then 'replace' for other characters
1313            when getdefaultlocale returns None. Thanks to Bernhard H. .
1314    
1315    2005-01-20  Bernhard Reiter <[email protected]>
1316    
1317            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
1318            that OnRangeText might be called twice and using None as argument.
1319    
1320    2005-01-20  Bernhard Reiter <[email protected]>
1321    
1322            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
1323            OnRangeText(0) to work around a different in wx Behaviour noticed
1324            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
1325    
1326    2005-01-20  Bernhard Reiter <[email protected]>
1327    
1328            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
1329            None. (Fixes rt#2910.)
1330            
1331    2005-01-18  Frank Koormann <[email protected]>
1332    
1333            New Extension: mouseposition
1334            Tool to collect mouse click positions (map coordinates) in a dialog.
1335    
1336            * Extensions/mouseposition/__init__.py: New, extension registration
1337    
1338            * Extensions/mouseposition/mouseposition.py: New, implements the
1339            dialog and adds a tool to Thuban mainwindow.
1340    
1341            * Extensions/mouseposition/position.xpm: New, icon for tool.
1342    
1343    2005-01-14  Jan-Oliver Wagner <[email protected]>
1344    
1345            * Doc/manual/thuban-manual-de.xml: More translations.
1346    
1347    2005-01-11  Frank Koormann <[email protected]>
1348    
1349            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
1350            Fix indention bug.
1351    
1352    2005-01-09  Frank Koormann <[email protected]>
1353    
1354            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
1355            BugFix 2901: Explicitly copy layers ClassificationColumn since it
1356            is not part of the layers Classification.
1357    
1358    2005-01-03  Frank Koormann <[email protected]>
1359    
1360            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
1361            BugFix 2883: Former implementation only worked on classified point
1362            layers: KeyError was raised, now use the default size if field is None.
1363    
1364    2004-12-27  Bernhard Reiter <[email protected]>
1365    
1366            svgexport 1.0.0cvs: Fixed label export.
1367    
1368            * Extensions/svgexport/test/test_svgmapwriter.py:
1369            class TestSVGRenderer(): New class; new test test_label_font().
1370    
1371            * Extensions/svgexport/svgmapwriter.py
1372            (SVGRenderer.label_font()): initialised Font size with self.factor now,
1373            makes test_label_font happy.
1374    
1375            * Extensions/svgexport/TODO: crossed out fixed label export item.
1376            Added item for options.
1377    
1378            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
1379    
1380    2004-12-27  Russell Nelson  <[email protected]>
1381    
1382            Middle mouse button pans.
1383    
1384            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
1385            OnMiddleDown and OnMiddleUp events.
1386            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
1387            previously used tool.
1388            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
1389            pressing the middle mouse button.
1390    
1391    2004-12-27  Jan-Oliver Wagner <[email protected]>
1392    
1393            * Doc/manual/thuban-manual-de.xml: More translations.
1394    
1395    2004-12-23  Jan-Oliver Wagner <[email protected]>
1396    
1397            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
1398            \n to stderr after the warnings. Thanks to Russell Nelson.
1399    
1400    2004-12-20  Nina Hueffmeyer <[email protected]>
1401    
1402            * Extensions/ogr/ogrshapes.py: Fixed some issues from
1403            Bernhard (coding guidelines etc.). Additionally it is now possible to
1404            display shapefiles containing feature collections (e.g.polygons
1405            with holes). Works with gdal 1.2.1 now.
1406    
1407            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
1408            from Bernhard (coding guidelines etc.). If ogr can't be imported,
1409            tests are skipped now.
1410    
1411            * Extensions/ogr/ogrstart.py: Fixed some typings.
1412    
1413    2004-12-20  Bernhard Reiter <[email protected]>
1414    
1415            * Extensions/svgexport/TODO: updated to add support for
1416            raster layers and labels for 1.0.1.
1417    
1418            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
1419            Issue a warning now.
1420    
1421    2004-12-19  Bernhard Reiter <[email protected]>
1422    
1423            * Extensions/svgexport/TODO: Added idea to support triggering
1424            the application down the pipe.
1425    
1426    2004-12-19  Bernhard Reiter <[email protected]>
1427    
1428            svgexport: Improved code quality, mainly by better naming.
1429    
1430            * Extensions/svgexport/svgmapwriter.py:
1431            DrawPath() renamed to DrawPolygonPath(),
1432            added documentation, improved comments and variable names.
1433            
1434            * Extensions/svgexport/svgmapwriter.py,
1435              Extensions/svgexport/test/test_svgmapwriter.py:
1436            All using DrawPolygonPath() now, the default parameter closed=True
1437            omitted.
1438    
1439            * Extensions/svgexport/test/test_svgmapwriter.py:
1440            renamed test_polygon_opened() to test_polyline()
1441            renamed test_transparent_polygon() to test_transparent_polyline()
1442    
1443    2004-12-18  Jan-Oliver Wagner <[email protected]>
1444    
1445            Some fixes of gns2shp extension.
1446    
1447            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
1448            package.
1449    
1450            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
1451            dynamically.
1452    
1453            * Extensions/gns2shp/test/README: Simplified description how to test.
1454    
1455            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
1456            fixed some dimensions of fields according to the GNS documentation
1457            which seems to change undocumented.
1458            Now killing trailing \n and/or \r from MODIFY_DATE.
1459            This fixes RT#2453.
1460    
1461    2004-12-18  Bernhard Reiter <[email protected]>
1462    
1463            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
1464    
1465            * Extensions/svgexport/test/test_svgmapwriter.py:
1466            Added new tests: test_export_polygon_with_hole()
1467            and test_polygon_with_hole().
1468    
1469            * Extensions/svgexport/svgmapwriter.py
1470            (draw_polygon_shape()): Uses DrawPath correctly now.
1471    
1472            * Doc/manual/thuban-manual.xml: Added documentation for stable
1473            extention svgexport.    
1474            * Doc/manual/thuban-manual-de.xml: Copied English section about
1475            svexport over.
1476    
1477            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
1478    
1479            * Extensions/svgexport/svgsaver.py,maplegend.py:
1480            Moved from experimental to stable extension menu.
1481    
1482            * Extensions/svgexport/TODO: updated.
1483    
1484    
1485    2004-12-18  Bernhard Reiter <[email protected]>
1486    
1487            Added Extensions/svgexport/TODO
1488    
1489    2004-12-18  Bernhard Reiter <[email protected]>
1490    
1491            Refactored in svgexport:
1492            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
1493    
1494            * Extensions/svgexport/svgmapwriter.py
1495            Added verbosity level 3 to print out polygon points.
1496            (class Point): added __repr__
1497            (class Brush, __str__()): Added space after ,.
1498            (DrawPolygon): Renamed to DrawPath()
1499            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
1500            (DrawLines): Using DrawPath now.
1501    
1502            * Extensions/svgexport/test/test_svgmapwriter.py:
1503            Replaced DrawPolygon() calls with DrawPath() and put the first argument
1504            inside another list. Adapted test data with a newline before "M".
1505    
1506    2004-12-18  Bernhard Reiter <[email protected]>
1507            
1508            Refactored svgexport tests: 9 double tests runs eliminated;
1509            code size reduced by 8 lines.
1510    
1511            * Extensions/svgexport/test/test_svgmapwriter.py:
1512            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
1513            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
1514            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
1515            this fixed the double running of the nine tests of TestVirtualDC.
1516            (class TestVirtualDC): Using self.dc and self.file from setUp().
1517    
1518    2004-12-17  Bernhard Herzog  <[email protected]>
1519    
1520            Two windows specific fixes ported from thuban-1�0-branch:
1521    
1522            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
1523            instead of getlocale because getlocale doesn't return a usable
1524            encoding name on a german windows 2000
1525    
1526            * setup.py: windows build: Removed the absolute path names and
1527            made all prfixes relative to the directory containing setup.py.
1528            Makes it a little easier to adapt to a different system.
1529    
1530    2004-12-16  Bernhard Herzog  <[email protected]>
1531    
1532            Add support for PostGIS tables with LINESTRING geometries.
1533            Fixes RT#2299
1534    
1535            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
1536    
1537            * test/postgissupport.py
1538            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
1539            table to "roads-multi" because it now uses MULTILINESTRING
1540            geometries and introduce a new "roads" table that uses LINESTRING
1541            (coords_to_multilinestring): Make the doc string more precise
1542            (coords_to_linestring): New.  Create a LINESTRING WKT
1543            representatin
1544            (wkt_converter): Add coords_to_linestring
1545            (upload_shapefile): Rephrase the doc-string a bit.
1546    
1547            * test/test_postgis_db.py (TestPostGISShapestoreArc)
1548            (LineStringTests)
1549            (TestPostGISShapestoreLineString)
1550            (TestPostGISShapestoreMultiLineString): Split
1551            TestPostGISShapestoreArc into a base class LineStringTests and two
1552            derived classes TestPostGISShapestoreLineString for LINESTRING
1553            geometries and TestPostGISShapestoreMultiLineString for
1554            MULTILINESTRING geometries.  Most test methods are in the base
1555            class with the exception of tests that explicitly check the raw
1556            format.
1557    
1558    2004-12-16  Bernhard Herzog  <[email protected]>
1559    
1560            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
1561    
1562            * test/postgissupport.py (find_postgis_sql): Different postgis
1563            versions put the postgis.sql file into slightly different places
1564            so we have to look in both.  The updated doc string describes this
1565            is more detail.
1566    
1567            * test/test_postgis_db.py
1568            (TestPostGISSpecialCases.test_column_name_quoting): The return
1569            value of UniqueValues is unsorted, so it has to be sorted for
1570            comparison.
1571    
1572    2004-12-16  Bernhard Herzog  <[email protected]>
1573    
1574            Fix for RT#2237
1575    
1576            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
1577            panel to be shown is the UnknownProjPanel disable the OK and Try
1578            buttons.  Otherwise enable them.
1579            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
1580            the parameters.  In that case __GetProjection also returns None
1581            now.
1582    
1583    2004-12-15  Bernhard Herzog  <[email protected]>
1584    
1585            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
1586            minimum number of classes to 2.  The calculate_quantiles needs at
1587            least two and raises an exception otherwise.  
1588            Fixes RT#2549
1589    
1590    2004-12-15  Bernhard Herzog  <[email protected]>
1591    
1592            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
1593            so that it returns a result for select statements.
1594            (PostgreSQLServer.server_version): New.  Return the version of the
1595            server software.
1596            (PostgreSQLServer.require_authentication): The format of
1597            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
1598            server version and generate the file in the correct format
1599    
1600    2004-12-15  Bernhard Herzog  <[email protected]>
1601    
1602            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
1603            in the doc string and rephrase it a little.
1604    
1605    2004-12-15  Frank Koormann <[email protected]>
1606    
1607            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
1608            session has been loaded successfully. The check is called by the relevant
1609            tests after executing load_session().
1610    
1611    2004-12-13  Bernhard Herzog  <[email protected]>
1612    
1613            Make sure the region used to determine which shapes are visible
1614            actually matches the region on the printed page.  If this isn't
1615            done properly some shapes might not be printed.  
1616            Fixes RT #2692
1617    
1618            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
1619            renderer has to be at the same position as the mapregion
1620    
1621            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
1622            has to be moved by (self.shiftx, self.shifty) too.
1623    
1624    2004-12-13  Bernhard Herzog  <[email protected]>
1625    
1626            * libraries/pyprojection/Projection.i: Work around a bug in the
1627            generated python code which leads to exception in the __del__
1628            method when the constructor fails.  See the comments in the code
1629            for more details.
1630    
1631            * libraries/pyprojection/Projection.py: Updated from Projection.i
1632            with SWIG.
1633    
1634    2004-12-13  Bernhard Herzog  <[email protected]>
1635    
1636            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
1637            (TestAltPath.test_02_path_error_fix_from_list)
1638            (TestAltPath.test_05_path_error_fix_from_list_changed)
1639            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
1640            is destroyed in tearDown, so there's no need to do it in a test
1641            case.
1642    
1643            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
1644            debug print
1645    
1646    2004-12-13  Bernhard Herzog  <[email protected]>
1647    
1648            * Extensions/svgexport/test/test_svgmapwriter.py
1649            (TestDrawSplines.setUp): Do not use super with the unittest
1650            classes because in Python 2.2 they're still old-style classes.
1651    
1652    2004-12-13  Frank Koormann <[email protected]>
1653    
1654        Alternative Path feature: When loading a (moved) session where
1655            shapefiles cannot be found, ask the user. Use the specified path
1656            if further shapefiles are missing. However, ask the usr for confirmation
1657            in such cases.
1658    
1659            * test/test_load.py (TestAltPath): New, tests for alternative path feature
1660            in load_session()
1661            (Shapefile_CallBack): Helper, implements controllable callback.
1662    
1663            * Thuban/UI/application.py (ThubanApplication.OnInit):
1664            Added "alt_path" to self.path
1665            (ThubanApplication.OpenSession): Added shapefile_callback as second
1666            callback similar to db_connection_callback.
1667            (ThubanApplication.run_alt_path_dialog): New, implementaion of
1668            shapefile_callback. In addition to raising the dialog the control of
1669            self.path('alt_path') is implemented here.
1670    
1671            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
1672            (SessionLoader.open_shapefile): Open shapefile, eventually with
1673            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
1674            formerly used in start_fileshapesource()/start_layer().
1675            (SessionLoader.start_fileshapesource): Call open_shapefile().
1676            (SessionLoader.start_layer): Call open_shapefile().
1677            (load_session): Added shapefile_callback.
1678    
1679            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
1680            feature (search / check).
1681            
1682            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
1683    
1684    2004-12-11  Bernhard Reiter <[email protected]>
1685    
1686             svgexport 0.9.2: Point size supports for maps.
1687    
1688            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
1689            (def draw_point_shape): new parameter size defaults to 2 as before.
1690            (draw_shape_layer_incrementally): Moved draw_func log line higher.
1691            Added draw_func call with size when dealing with a point layer.
1692    
1693            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
1694            
1695    2004-12-11  Bernhard Reiter <[email protected]>
1696    
1697            Made sure that newlines are inserted in the svg path d attributes
1698            to raise the chance that the line length will be below 255 characters,
1699            as recommended by REC SVG 1.1 in section 8.3.1.
1700    
1701            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
1702            Adding \n before L's and changed whitespace handling.
1703    
1704            * Extensions/svgexport/test/test_svgmapwriter.py:
1705            Adapted tests to new whitespace handling of DrawPolygon.
1706    
1707    2004-12-11  Bernhard Reiter <[email protected]>
1708    
1709            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
1710    
1711            * Extensions/svgexport/test/test_svgmapwriter.py:
1712            Removed test_drawbezier in favour of new test_drawspline3 and
1713            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
1714            All only to test DrawSpline.
1715    
1716            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
1717            New implementation now really using the strange algorithm of
1718            xfig 3.1's approximated splines and its conversion to postscript
1719            with one twist: SVG can do quadratic beziers, so skipped translation
1720            to cubic beziers.
1721            (TestWithDC): Typo in comment fixed.
1722    
1723    2004-12-09  Martin Schulze  <[email protected]>
1724    
1725            * Thuban/Model/classgen.py: Added missing character encoding
1726    
1727            * Extensions/wms/properties.py (OpenWMSProperties): removed
1728    
1729            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
1730            support for get_srs_discrepancies() since there are no
1731            discrepancies anymore (was a thinko)
1732    
1733            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
1734            format priority now that more formats are supported globally by
1735            the render engine.
1736    
1737    2004-12-08  Silke Reimer <[email protected]>
1738            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
1739            because it is not available in all versions of ogr
1740    
1741    2004-12-08  Bernhard Reiter <[email protected]>
1742            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
1743            global tests until a real one is commited.
1744    
1745    2004-12-07 Nina H�ffmeyer <[email protected]>
1746    
1747            * /Extensions/ogr/: Adding a new extension to read shapefiles with
1748            ogr. It is planned to add other vector formats.
1749    
1750            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
1751    
1752    2004-12-07  Jan-Oliver Wagner <[email protected]>
1753    
1754            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
1755            part of a (non-)fix to renable that the tests are always
1756            executed.
1757    
1758    2004-12-07  Bernhard Reiter <[email protected]>
1759    
1760            * Extensions/svgexport/test/test_svgmapwriter.py:
1761            Added test_drawbezier() to test DrawSpline().
1762    
1763            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
1764            Really implemented bezier drawing.
1765    
1766            * Extensions/svgexport/__init__.py: Bumped version of svgexport
1767            to 0.9.1 because now the legend examples lines styles
1768            will be drawing with beziers.
1769    
1770    2004-12-05  Martin Schulze  <[email protected]>
1771    
1772            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
1773            GIF as supported bitmap image formats (helpful for the WMS extension)
1774    
1775    2004-11-30  Martin Schulze  <[email protected]>
1776    
1777            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
1778            Improved the test for the internal compare method
1779    
1780    2004-11-27  Jan-Oliver Wagner <[email protected]>
1781    
1782            * Thuban/UI/about.py (About.__init__): Added
1783            Norbert Solymosi for hungarian translation and Ole Rahn
1784            as contributor. Moved Bernhard Reiter from Contributor
1785            to Developer.
1786    
1787    2004-11-27  Bernhard Reiter <[email protected]>
1788    
1789            * Extensions/svgexport/test/test_svgmapwriter.py:
1790            Removed Jan from author list as he did not change enough significant
1791            lines yet.
1792    
1793            * Extensions/svgexport/__init__.py: Added Bernhard as author
1794            of the Extension.
1795    
1796    2004-11-27  Jan-Oliver Wagner <[email protected]>
1797    
1798            * po/hu.po: New. Hungarian translation. Contributed
1799            by Norbert Solymosi.
1800    
1801    2004-11-26  Bernhard Herzog  <[email protected]>
1802    
1803            * Extensions/svgexport/test/test_svgmapwriter.py
1804            (Testobjectexport.test_transparent_polygon): Commented out some
1805            debug prints
1806    
1807    2004-11-24  Jan-Oliver Wagner <[email protected]>
1808    
1809            Fix broken tests for svg extension and added svg legend
1810            to Experimental menu.
1811    
1812            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
1813            the test run correctly even if the extension is a package.
1814            Also removed the "import Thuban" which makes no sense.
1815    
1816            * Extensions/svgexport/__init__.py: Fix to have the extensions'
1817            test module also be executed from the global test routine.
1818            This is done by looking for the absense of the DISPLAY variable.
1819    
1820            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
1821            to Experimental menu since this module has yet not reached a stable
1822            status (ie. 1.0).
1823    
1824  2004-11-22  Bernhard Reiter <[email protected]>  2004-11-22  Bernhard Reiter <[email protected]>
1825    
1826          * Extensions/svgexport/svgmapwriter.py:          * Extensions/svgexport/svgmapwriter.py:

Legend:
Removed from v.2414  
changed lines
  Added in v.2726

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26