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

Legend:
Removed from v.2472  
changed lines
  Added in v.2708

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26