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

Legend:
Removed from v.2419  
changed lines
  Added in v.2729

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26