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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26