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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26