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

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

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

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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26