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

Legend:
Removed from v.2531  
changed lines
  Added in v.2712

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26