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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26