/[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 2561 by bh, Tue Feb 8 20:34:29 2005 UTC revision 2643 by bh, Tue Jul 5 16:00:48 2005 UTC
# Line 1  Line 1 
1    2005-07-05  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/viewport.py (ViewPort.set_view_transform): Handle
4            ZeroDivisionError exceptions.  I don't know when they happen
5            exactly.  It probably happens when the projections aren't set
6            properly.
7    
8    2005-07-01  Bernhard Herzog  <[email protected]>
9    
10            First step towards unicode.  With this roughly we're at step 1
11            string_representation.txt
12    
13            * Doc/technotes/string_representation.txt: New.  Document how
14            strings are represented in Thuban and how to get to a Unicode
15            Thuban.
16    
17            * Thuban/__init__.py (set_internal_encoding)
18            (unicode_from_internal, internal_from_unicode): New. The first few
19            functions for the internal string representation
20    
21            * Thuban/UI/about.py (unicodeToLocale): Removed.  Use
22            internal_from_unicode instead.
23    
24            * Thuban/UI/__init__.py (install_wx_translation): Determine the
25            encoding to use for the internal string representation.  Also,
26            change the translation function to return strings in internal
27            representation even on unicode builds of wxPython
28    
29            * Thuban/Model/load.py (SessionLoader.check_attrs): Decode
30            filenames too.
31            (SessionLoader.start_clrange): Use check_attrs to decode and check
32            the attributes.
33    
34            * Thuban/Model/xmlreader.py (XMLReader.encode): Use
35            internal_from_unicode to convert unicode strings.
36    
37            * Thuban/Model/xmlwriter.py (XMLWriter.encode): Use
38            unicode_from_internal when applicable
39    
40            * test/runtests.py (main): New command line option:
41            internal-encoding to specify the internal string encoding to use
42            in the tests.
43    
44            * test/support.py (initthuban): Set the internal encoding to
45            latin-1
46    
47            * test/test_load.py (TestSingleLayer.test, TestClassification.test)
48            (TestLabelLayer.test): Use the internal string representation when
49            dealing with non-ascii characters
50    
51            * test/test_load_1_0.py (TestSingleLayer.test)
52            (TestClassification.test, TestLabelLayer.test): Use the internal
53            string representation when dealing with non-ascii characters
54    
55            * test/test_load_0_9.py (TestSingleLayer.test)
56            (TestClassification.test): Use the internal string representation
57            when dealing with non-ascii characters
58    
59            * test/test_load_0_8.py (TestUnicodeStrings.test): Use the
60            internal string representation when dealing with non-ascii
61            characters
62    
63            * test/test_save.py (XMLWriterTest.testEncode)
64            (SaveSessionTest.testClassifiedLayer): Use the internal string
65            representation when dealing with non-ascii characters where
66            applicable
67    
68    2005-06-30  Bernhard Herzog  <[email protected]>
69    
70            * test/runtests.py: Untabify.
71    
72    2005-06-30  Bernhard Herzog  <[email protected]>
73    
74            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
75            untabify.
76    
77    2005-06-30  Bernhard Herzog  <[email protected]>
78    
79            * Extensions/ogr/test/__init__.py: Add missing coding directive
80    
81    2005-06-28  Jan-Oliver Wagner <[email protected]>
82    
83            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
84            Use the default size for rendering selected items of default type.
85            Fixes part 2 of https://intevation.de/rt/webrt?serial_num=3149
86    
87    2005-06-28  Jan-Oliver Wagner <[email protected]>
88    
89            * Extensions/importAPR/apr.py (APR_BShSym): Extend by 'Stripple'.
90            (APR_TClr.GetThubanColor): Fix bug in color interpretation.
91            Thanks to Frank Koormann who identified this problem.
92    
93            * Extensions/importAPR/importAPR.py (APR_VShSym): New. Just
94            another symbol identified.
95    
96    2005-06-27  Jan-Oliver Wagner <[email protected]>
97    
98            * Doc/manual/thuban-manual-de.xml: More translations.
99    
100    2005-05-12  Jonathan Coles <[email protected]>
101            
102            * Thuban/UI/projdialog.py: Add missing import, which led to an
103            exception when opening a layer's projection.
104    
105    2005-05-09  Bernhard Herzog  <[email protected]>
106    
107            * test/support.py (FileLoadTestCase.filename): Fix doc-string.
108    
109    2005-05-09  Bernhard Herzog  <[email protected]>
110    
111            * Thuban/Model/postgisdb.py (PostGISConnection.connect): Set the
112            connection to autoconnect.  Fixes RT#3148.
113    
114            * test/test_postgis_db.py
115            (TestPostGISSpecialCases.test_simple_error_handling): New test
116            that attempts to reproduce RT#3148.
117    
118    2005-05-06  Jonathan Coles <[email protected]>
119    
120            Add support for saving and loading the opacity and mask type
121            properties of RasterLayers. Also add support for proper use
122            of alpha information while drawing images not in 'RAW' format.
123            If transparency in an image format (e.g, PNG) is supported by
124            wxWidgets then the image would previously have been draw with
125            transparent regions, but the opaque regions would have been
126            unaffected by a change in the layer's opacity. This patch
127            corrects the problem.
128    
129            * Thuban/Model/layer.py (RasterLayer): Added opacity and
130            masktype parameters to the constructor, and set the
131            appropriate variables to those values.
132    
133            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Added
134            code to read the opacity and mask type of the layer and construct
135            a new layer with the additional parameters.
136    
137            * Thuban/Model/save.py (SessionSaver.write_layer): Added code
138            to save the opacity and mask type of a layer.
139    
140            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
141            the opacity of the layer to draw_raster_data rather than the layer.
142            (BaseRenderer.draw_raster_data): Remove the layer parameter because
143            the function doesn't need to know about the layer. Add the optional
144            opacity parameter whose default is 1.0. Add 'PNG' as a supported
145            graphics format.
146    
147            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Fixed
148            signature to match that in BaseRenderer. Use the new opacity argument
149            in place of calling layer.Opacity(). In the case where the
150            format is not 'RAW', alpha_data is None and the loaded image has
151            alpha information, use the file's alpha information. This is
152            still subject to the layer's opacity setting.
153    
154            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
155            Fixed signature to match that in BaseRenderer.
156    
157            * test/test_load.py (TestRasterLayer): Change file_contents to
158            include opacity and masktype variables.
159            (TestRasterLayer.test): Include tests for opacity and masktype
160            changes.
161    
162            * test/test_save.py (SaveSessionTest.testRasterLayer): Restructure
163            test to cover a variety of combinations of masktype and opacity
164            settings.
165    
166    2005-05-02  Jan-Oliver Wagner <[email protected]>
167    
168            * debian/rules: add --use-wx-python-swig-hack
169            to the build command.
170            Thanks to Moritz Lennert for pointing this out.
171    
172    2005-04-28  Jan-Oliver Wagner <[email protected]>
173    
174            Introduce OGRFileShapeStore in ogr extension.
175            This allows at least that loaded shapefile shape stores
176            can be saved correctly in the thuban session file
177            and reloaded again (reload is via core shapefile
178            routine, not OGR). For other types, .thuban files
179            can not be reloaded for the time being.
180    
181            * Extensions/ogr/ogrshapes.py (OGRFileShapeStore): New. This
182            class ist to be used for any file-based shape stores
183            accessed through OGR.
184    
185            * Extensions/ogr/ogrstart.py (open_with_ogr): Added
186            forgotten _ for i18n. Adapted call OpenFileShapestore
187            regarding new parameter.
188            (OpenFileShapestore): Use OGRFileShapeStore instead of
189            OGRShapeStore. Fix return value (None instead of null).
190            Add new parameter "mainwindow" to avoid accessing global
191            context.
192    
193    2005-04-27  Jan-Oliver Wagner <[email protected]>
194    
195            Introduce FileShapeStore as generalization for
196            file-based shape stores. In a first instance
197            this allows additional modules to handle shapefile
198            format as well, namely the OGR extension.
199    
200            * Thuban/Model/data.py: Various small fixes in doc-strings.
201            (FileShapeStore): New class.
202            (ShapefileStore): Derive from FileShapeStore.
203            (ShapefileStore.__init__): Call __init__ of FileShapeStore,
204            rename self.table to self._table, initialize self._bbox
205            (ShapefileStore._open_shapefile): Use self._bbox instead of self.bbox
206            and self.FileName() instead of self.filename.
207            (ShapefileStore.Table): Use self._table instead of self.table.
208            (ShapefileStore.FileName): Removed (moved to FileShapeStore).
209            (ShapefileStore.BoundingBox):  Use self._bbox instead of self.bbox.
210    
211            * Thuban/Model/save.py: Replace ShapefileStore by FileShapeStore.
212            (SessionSaver.write_data_containers): Only use methods of the
213            base class FileShapeStore.
214    
215    2005-04-26  Martin Schulze  <[email protected]>
216    
217            * Extensions/wms/wms.py (render_wms_layer): Adjusted the render
218            function to the modified render engine
219    
220    2005-04-25  Martin Schulze  <[email protected]>
221    
222            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
223            Added a description according to the CVS log message
224    
225    2005-04-23  Martin Schulze  <[email protected]>
226    
227            * Thuban/UI/renderer.py: Added a missing import
228    
229    2005-04-23  Russell Nelson  <[email protected]>
230    
231            * Thuban/UI/view.py (MapCanvas.OnMiddle{Up,Down}): Changed the
232            way the previous tool is remembered, so that middle-button
233            panning works even if you haven't selected a tool.
234    
235    2005-04-11  Bernhard Herzog  <[email protected]>
236    
237            * libraries/thuban/wxproj.cpp: Move the compatibility code that
238            deals with the wxPython 2.4 version of wxPython.h into the #ifdef
239            branch that includes wxPython.h because it's only needed when
240            wxPython.h is used.  Also, it won't compile when
241            USE_WX_PYTHON_SWIG_HACK is set otherwise.
242    
243    2005-04-07  Bernhard Herzog  <[email protected]>
244    
245            * Thuban/UI/classifier.py (ClassGrid.__init__): Use -1 as the ID.
246            (ID_CLASS_TABLE): Removed. It wasn't used anywhere except in
247            ClassGrid.__init__ and it's value is outside of the valid
248            range (must be < 32768).  wxPython 2.5 complains about it with an
249            exception.
250    
251    2005-04-05  Jan-Oliver Wagner <[email protected]>
252    
253            * Doc/manual/thuban-manual-de.xml: More translations.
254    
255    2005-04-05  Bernhard Herzog  <[email protected]>
256    
257            * libraries/thuban/wxproj.cpp: Make it work with a wxPython.h from
258            wxPython 2.4 as well.  Also, remove a now obsolete comment.
259    
260    2005-04-05  Bernhard Herzog  <[email protected]>
261    
262            Use wxPython.h by default but provide a workaround when it isn't
263            available.
264    
265            * setup.py (wxproj_extension): New variable.  Assign the Extension
266            instance for Lib.wxproj to this variable instead of putting it
267            directly into the listso that it can be accessed by other code
268            later.
269            (thuban_build_ext.user_options): Added boolean option
270            --use-wx-python-swig-hack.
271            (thuban_build_ext.initialize_options): Initialize the new option
272            to False.
273            (thuban_build_ext.finalize_options): If the new option was given,
274            define the preprocesser macro USE_WX_PYTHON_SWIG_HACK.
275            (thuban_build_ext): Update the doc-string
276    
277            * libraries/thuban/wxproj.cpp: Normally we use
278            wx/wxPython/wxPython.h now.  Only if USE_WX_PYTHON_SWIG_HACK is
279            defined, use swigPtrConvertHack.h instead.
280    
281            * libraries/thuban/swigPtrConvertHack.h: Remove the code that was
282            copied over from wxPython.h.
283            (decode_pointer_new): New.  Equivalent of decode_pointer for
284            wxPython 2.5.
285            (wxPyConvertSwigPtr): Modified to cope with wxPython 2.5 as well.
286    
287            * README: Add section on potential build problems which explains
288            how the work-around for a missing wxPython.h is activated.
289    
290    2005-03-29  Bernhard Herzog  <[email protected]>
291    
292            * test/postgissupport.py (find_postgis_sql): Added yet another
293            potential location for (lw)postgis.sql because the file has moved
294            again in postgis 1.0.0 rc4.
295    
296    2005-03-29  Bernhard Herzog  <[email protected]>
297    
298            * Thuban/UI/legend.py (BMP_SIZE_W, BMP_SIZE_H): Set both to 16 to
299            match the site of the legend_icon_layer icon.  Otherwise wxpython
300            2.5 complains when the legend is created with the error:
301    
302            PyAssertionError: C++ assertion "(bitmap.GetWidth() == m_width &&
303            bitmap.GetHeight() == m_height) || (m_width == 0 && m_height ==
304            0)" failed in ./src/generic/imaglist.cpp(81): invalid bitmap size
305            in wxImageList: this might work on this platform but definitely
306            won't under Windows.
307    
308    2005-03-23  Jonathan Coles <[email protected]>
309    
310            These changes add support for adjusting the opacity of a raster layer.
311    
312            * Thuban/Model/layer.py (RasterLayer.Opacity): Replaces AlphaOpacity.
313            (RasterLayer.SetOpacity): Replaces SetAlphaOpacity. Also triggers
314            a LAYER_CHANGED event if the opacity actually changes.
315    
316            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_data): Added
317            layer parameter needed in the implementation of this method in
318            renderer.py.
319    
320            * Thuban/UI/layerproperties.py (LayerProperties.dialog_layout): Fixed
321            typo 00 -> 0.
322    
323            * Thuban/UI/rasterlayerproperties.py (RasterLayerProperties): Added
324            control to adjust opacity.
325    
326            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Scale the
327            alpha data based on the opacity level of the layer.
328    
329            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Now
330            accepts a layer parameter.
331    
332            * test/test_layer.py (TestLayerModification.test_raster_layer):
333            Rename opacity method calls and add test for LAYER_CHANGED.
334    
335    2005-03-16  Bernhard Herzog  <[email protected]>
336    
337            * test/test_connector.py (DeletionTestMixin.check_deletions)
338            (DeletionTestMixin.check_deletetions): renamed to check_deletions.
339            update the callers.
340    
341    2005-03-14  Jan-Oliver Wagner <[email protected]>
342    
343            * Doc/manual/thuban-manual-de.xml: More translations.
344    
345    2005-03-10  Jan-Oliver Wagner <[email protected]>
346    
347            Introducing initialization callbacks for extensions.
348    
349            * Thuban/UI/extensionregistry.py (ExtensionDesc.__init__): Added
350            optional parameter init_callback.
351            (ExtensionDesc.init_ext): New. Executes the callback and sets
352            a status.
353    
354            * Thuban/UI/application.py (ThubanApplication.OnInit): Add the
355            initialization of the extensions.
356            (ThubanApplication.init_extensions): Init all extensions.
357    
358            * Thuban/UI/about.py (About.__init__): Added status of the extensions
359            to the about text.
360    
361            * Extensions/gns2shp/__init__.py: Added init method for Extension
362            description.
363            (init): New. Contains the initialization of the module.
364    
365    2005-03-04  Nina H�ffmeyer <[email protected]>
366    
367            * Extensions/ogr/ogrdialog.py: Added a dialog, which asks for
368            OGRConnection to open a datasource. Removed dialog to display all
369            available drivers. Added some doc strings.
370    
371            * Extensions/ogr/ogrstart.py: Added menu entry for opening an
372            OGRDatasource with a string. Added two opening methods which return an
373            OGRDatasource (either data from file or from DB).
374    
375            * Extensions/ogr/ogrshapes.py: Added class OGRGeometry, which
376            represents a geometry reference of an OGRFeature. OGRShape now has a
377            list of referenced geometry objects (important for geometry
378            collections).
379            For OGRShapeStores loaded from a DB an ID column can be specified now.
380    
381    2005-02-22  Jan-Oliver Wagner <[email protected]>
382    
383            * test/test_map.py (TestMapWithContents.test_tree_info):
384            Added label layer for comparison.
385    
386    2005-02-18  Jonathan Coles <[email protected]>
387    
388            * libraries/thuban/gdalwarp.cpp (GetImageData): Optimize the loop
389            which builds a mask. Handle the majority of an image in a loop,
390            creating 8 bits at a time. Later, handle the edge case where less
391            than 8 bits are packed.
392    
393    2005-02-18  Bernhard Herzog  <[email protected]>
394    
395            * test/test_baserenderer.py (TestBaseRenderer.setUp): Fix
396            doc-string
397    
398    2005-02-18  Jonathan Coles <[email protected]>
399    
400            * setup.py: Remove wx_cs_params from gdal compile options.
401    
402    2005-02-18  Jonathan Coles <[email protected]>
403    
404            Refactored baserenderer.py and renderer.py to remove baserenderer.py's
405            dependencies on wxPython. Added a new method projected_raster_layer()
406            that returns a raster layer image in projected space. This must be
407            implemented in classes derived from BaseRenderer. This also eliminates
408            the dependency on gdal in baserenderer.py.
409    
410            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Call
411            new projected_raster_layer() to get projected raster image instead
412            of directly calling ProjectRasterFile().
413            (BaseRenderer.projected_raster_layer): New. This must be implemented
414            by derived classes. It takes almost the same arguments as ProjectRasterFile
415            did and returns a projected image with mask and alpha data (if requested).
416            (BaseRenderer.render_map_incrementally): Remove the check for gdal since
417            that check will be done in MapRenderer.projected_raster_layer(). This
418            also allows other implementations to use different projection code.
419    
420            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
421            Implementation of BaseRenderer.projected_raster_layer. Checks for
422            gdal support and wxPython version. Also handles exceptions from
423            ProjectRasterFile.
424    
425            * libraries/thuban/gdalwarp.cpp: Removed checks for wxPython versions
426            and added a variable which can be set through the options argument
427            of ProjectRasterFile.
428    
429            * test/test_baserenderer.py (SimpleRenderer.projected_raster_layer): New.
430            Calls ProjectRasterFile and returns the result.
431            (TestBaseRenderer.test_projected_raster_layer): New. Tests the results
432            of calling projected_raster_layer() with different options.
433            (TestBaseRenderer.test_raster_no_projection): Removed tests based on
434            wxPython version and all tests of masks and alpha channels. These are
435            now in test_projected_raster_layer().
436    
437    2005-02-17  Jan-Oliver Wagner <[email protected]>
438    
439            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
440            doc-strings to comply with coding_guidelines.
441    
442    2005-02-17  Jan-Oliver Wagner <[email protected]>
443    
444            Docstring improvements and minor fixes for labellayer.
445    
446            * Thuban/Model/map.py:
447            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
448            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
449            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
450            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
451            doc string.
452            (Map.BoundingBox): Removed superfluous test for label_layer
453            and improved doc string.
454            (Map.TreeInfo): Added label_layer and improved sdo string.
455    
456            * Thuban/Model/label.py: Added import of _.
457            (Label, Label.__init__): Improved/added doc string.
458            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
459            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
460            Improved/added doc string.
461            (LabelLayer.AddLabel): Use already defined names for
462            align strings and improved doc string.
463            (LabelLayer.TreeInfo): New. Return the object data for
464            the tree view.
465    
466    2005-02-16  Jonathan Coles <[email protected]>
467    
468            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
469            so that that wxproj doesn't crash. Added GUI support for selecting
470            alpha channel (opacity can't be selected yet).
471    
472            NOTE: If wxPython.h is including in future distribution packages
473            then it will not be necessary to have the files swigPtrConvertHack.h
474            and wxPython_int.h included with Thuban. This is hopefully
475            a temporary workaround.
476    
477            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
478            access to the macro wxCHECK_VERSION so that it will properly
479            generate a bit mask. There was a problem between wx2.4 and wx2.5
480            that this works around.
481    
482            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
483            of RasterLayer.MaskType.
484            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
485            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
486            specify none, a bitmap, or an alpha channel.
487            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
488    
489            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
490            Set the raster warping options for the mask based on the value
491            of RasterLayer.MaskType.
492    
493            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
494            deprecated calls to SetItemSelectedImage in favor of SetItemImage
495            with wxTreeItemIcon_Selected.
496    
497            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
498            an alpha channel for the mask.
499    
500            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
501            data if it is available and an alpha channel is supported under
502            the current version of wxPython.
503    
504            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
505            to select whether 1's or 0's select the desired portion of an image
506            in the bit mask. wx2.4 has a bug where the documentation is the opposite
507            from behavior.
508            (ProjectRasterFile): Only generate an alpha channel if the version
509            of wxPython is >= 2.5.3.
510    
511            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
512            When wxPython >= 2.5.3 use the special swig functions to decode an
513            object's address.
514    
515            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
516            based on the version of wxPython. If >= 2.5.3 use the special swig
517            functions from wxPython to decode wxPython objects, otherwise use
518            the old method of retrieving the address from the object __repr__ string.
519    
520            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
521            Unnecessary code was removed to make it smaller.
522    
523            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
524            Add tests for returning an alpha channel.
525    
526            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
527            tests that used removed functions UseMask and SetUseMask
528    
529    
530  2005-02-08  Bernhard Herzog  <[email protected]>  2005-02-08  Bernhard Herzog  <[email protected]>
531    
532          More wxPython 2.5 changes.  This time taken from a patch from          More wxPython 2.5 changes.  This time taken from a patch from

Legend:
Removed from v.2561  
changed lines
  Added in v.2643

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26