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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26