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

Legend:
Removed from v.2517  
changed lines
  Added in v.2727

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26