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

Legend:
Removed from v.2412  
changed lines
  Added in v.2713

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26