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

Legend:
Removed from v.2493  
changed lines
  Added in v.2722

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26