/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26