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

Legend:
Removed from v.2489  
changed lines
  Added in v.2731

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26