/[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 2549 by nhueffme, Wed Jan 26 09:17:01 2005 UTC revision 2641 by bh, Fri Jul 1 17:42:04 2005 UTC
# Line 1  Line 1 
1    2005-06-30  Bernhard Herzog  <[email protected]>
2    
3            * test/runtests.py: Untabify.
4    
5    2005-06-30  Bernhard Herzog  <[email protected]>
6    
7            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
8            untabify.
9    
10    2005-06-30  Bernhard Herzog  <[email protected]>
11    
12            * Extensions/ogr/test/__init__.py: Add missing coding directive
13    
14    2005-06-28  Jan-Oliver Wagner <[email protected]>
15    
16            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
17            Use the default size for rendering selected items of default type.
18            Fixes part 2 of https://intevation.de/rt/webrt?serial_num=3149
19    
20    2005-06-28  Jan-Oliver Wagner <[email protected]>
21    
22            * Extensions/importAPR/apr.py (APR_BShSym): Extend by 'Stripple'.
23            (APR_TClr.GetThubanColor): Fix bug in color interpretation.
24            Thanks to Frank Koormann who identified this problem.
25    
26            * Extensions/importAPR/importAPR.py (APR_VShSym): New. Just
27            another symbol identified.
28    
29    2005-06-27  Jan-Oliver Wagner <[email protected]>
30    
31            * Doc/manual/thuban-manual-de.xml: More translations.
32    
33    2005-05-12  Jonathan Coles <[email protected]>
34            
35            * Thuban/UI/projdialog.py: Add missing import, which led to an
36            exception when opening a layer's projection.
37    
38    2005-05-09  Bernhard Herzog  <[email protected]>
39    
40            * test/support.py (FileLoadTestCase.filename): Fix doc-string.
41    
42    2005-05-09  Bernhard Herzog  <[email protected]>
43    
44            * Thuban/Model/postgisdb.py (PostGISConnection.connect): Set the
45            connection to autoconnect.  Fixes RT#3148.
46    
47            * test/test_postgis_db.py
48            (TestPostGISSpecialCases.test_simple_error_handling): New test
49            that attempts to reproduce RT#3148.
50    
51    2005-05-06  Jonathan Coles <[email protected]>
52    
53            Add support for saving and loading the opacity and mask type
54            properties of RasterLayers. Also add support for proper use
55            of alpha information while drawing images not in 'RAW' format.
56            If transparency in an image format (e.g, PNG) is supported by
57            wxWidgets then the image would previously have been draw with
58            transparent regions, but the opaque regions would have been
59            unaffected by a change in the layer's opacity. This patch
60            corrects the problem.
61    
62            * Thuban/Model/layer.py (RasterLayer): Added opacity and
63            masktype parameters to the constructor, and set the
64            appropriate variables to those values.
65    
66            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Added
67            code to read the opacity and mask type of the layer and construct
68            a new layer with the additional parameters.
69    
70            * Thuban/Model/save.py (SessionSaver.write_layer): Added code
71            to save the opacity and mask type of a layer.
72    
73            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
74            the opacity of the layer to draw_raster_data rather than the layer.
75            (BaseRenderer.draw_raster_data): Remove the layer parameter because
76            the function doesn't need to know about the layer. Add the optional
77            opacity parameter whose default is 1.0. Add 'PNG' as a supported
78            graphics format.
79    
80            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Fixed
81            signature to match that in BaseRenderer. Use the new opacity argument
82            in place of calling layer.Opacity(). In the case where the
83            format is not 'RAW', alpha_data is None and the loaded image has
84            alpha information, use the file's alpha information. This is
85            still subject to the layer's opacity setting.
86    
87            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
88            Fixed signature to match that in BaseRenderer.
89    
90            * test/test_load.py (TestRasterLayer): Change file_contents to
91            include opacity and masktype variables.
92            (TestRasterLayer.test): Include tests for opacity and masktype
93            changes.
94    
95            * test/test_save.py (SaveSessionTest.testRasterLayer): Restructure
96            test to cover a variety of combinations of masktype and opacity
97            settings.
98    
99    2005-05-02  Jan-Oliver Wagner <[email protected]>
100    
101            * debian/rules: add --use-wx-python-swig-hack
102            to the build command.
103            Thanks to Moritz Lennert for pointing this out.
104    
105    2005-04-28  Jan-Oliver Wagner <[email protected]>
106    
107            Introduce OGRFileShapeStore in ogr extension.
108            This allows at least that loaded shapefile shape stores
109            can be saved correctly in the thuban session file
110            and reloaded again (reload is via core shapefile
111            routine, not OGR). For other types, .thuban files
112            can not be reloaded for the time being.
113    
114            * Extensions/ogr/ogrshapes.py (OGRFileShapeStore): New. This
115            class ist to be used for any file-based shape stores
116            accessed through OGR.
117    
118            * Extensions/ogr/ogrstart.py (open_with_ogr): Added
119            forgotten _ for i18n. Adapted call OpenFileShapestore
120            regarding new parameter.
121            (OpenFileShapestore): Use OGRFileShapeStore instead of
122            OGRShapeStore. Fix return value (None instead of null).
123            Add new parameter "mainwindow" to avoid accessing global
124            context.
125    
126    2005-04-27  Jan-Oliver Wagner <[email protected]>
127    
128            Introduce FileShapeStore as generalization for
129            file-based shape stores. In a first instance
130            this allows additional modules to handle shapefile
131            format as well, namely the OGR extension.
132    
133            * Thuban/Model/data.py: Various small fixes in doc-strings.
134            (FileShapeStore): New class.
135            (ShapefileStore): Derive from FileShapeStore.
136            (ShapefileStore.__init__): Call __init__ of FileShapeStore,
137            rename self.table to self._table, initialize self._bbox
138            (ShapefileStore._open_shapefile): Use self._bbox instead of self.bbox
139            and self.FileName() instead of self.filename.
140            (ShapefileStore.Table): Use self._table instead of self.table.
141            (ShapefileStore.FileName): Removed (moved to FileShapeStore).
142            (ShapefileStore.BoundingBox):  Use self._bbox instead of self.bbox.
143    
144            * Thuban/Model/save.py: Replace ShapefileStore by FileShapeStore.
145            (SessionSaver.write_data_containers): Only use methods of the
146            base class FileShapeStore.
147    
148    2005-04-26  Martin Schulze  <[email protected]>
149    
150            * Extensions/wms/wms.py (render_wms_layer): Adjusted the render
151            function to the modified render engine
152    
153    2005-04-25  Martin Schulze  <[email protected]>
154    
155            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
156            Added a description according to the CVS log message
157    
158    2005-04-23  Martin Schulze  <[email protected]>
159    
160            * Thuban/UI/renderer.py: Added a missing import
161    
162    2005-04-23  Russell Nelson  <[email protected]>
163    
164            * Thuban/UI/view.py (MapCanvas.OnMiddle{Up,Down}): Changed the
165            way the previous tool is remembered, so that middle-button
166            panning works even if you haven't selected a tool.
167    
168    2005-04-11  Bernhard Herzog  <[email protected]>
169    
170            * libraries/thuban/wxproj.cpp: Move the compatibility code that
171            deals with the wxPython 2.4 version of wxPython.h into the #ifdef
172            branch that includes wxPython.h because it's only needed when
173            wxPython.h is used.  Also, it won't compile when
174            USE_WX_PYTHON_SWIG_HACK is set otherwise.
175    
176    2005-04-07  Bernhard Herzog  <[email protected]>
177    
178            * Thuban/UI/classifier.py (ClassGrid.__init__): Use -1 as the ID.
179            (ID_CLASS_TABLE): Removed. It wasn't used anywhere except in
180            ClassGrid.__init__ and it's value is outside of the valid
181            range (must be < 32768).  wxPython 2.5 complains about it with an
182            exception.
183    
184    2005-04-05  Jan-Oliver Wagner <[email protected]>
185    
186            * Doc/manual/thuban-manual-de.xml: More translations.
187    
188    2005-04-05  Bernhard Herzog  <[email protected]>
189    
190            * libraries/thuban/wxproj.cpp: Make it work with a wxPython.h from
191            wxPython 2.4 as well.  Also, remove a now obsolete comment.
192    
193    2005-04-05  Bernhard Herzog  <[email protected]>
194    
195            Use wxPython.h by default but provide a workaround when it isn't
196            available.
197    
198            * setup.py (wxproj_extension): New variable.  Assign the Extension
199            instance for Lib.wxproj to this variable instead of putting it
200            directly into the listso that it can be accessed by other code
201            later.
202            (thuban_build_ext.user_options): Added boolean option
203            --use-wx-python-swig-hack.
204            (thuban_build_ext.initialize_options): Initialize the new option
205            to False.
206            (thuban_build_ext.finalize_options): If the new option was given,
207            define the preprocesser macro USE_WX_PYTHON_SWIG_HACK.
208            (thuban_build_ext): Update the doc-string
209    
210            * libraries/thuban/wxproj.cpp: Normally we use
211            wx/wxPython/wxPython.h now.  Only if USE_WX_PYTHON_SWIG_HACK is
212            defined, use swigPtrConvertHack.h instead.
213    
214            * libraries/thuban/swigPtrConvertHack.h: Remove the code that was
215            copied over from wxPython.h.
216            (decode_pointer_new): New.  Equivalent of decode_pointer for
217            wxPython 2.5.
218            (wxPyConvertSwigPtr): Modified to cope with wxPython 2.5 as well.
219    
220            * README: Add section on potential build problems which explains
221            how the work-around for a missing wxPython.h is activated.
222    
223    2005-03-29  Bernhard Herzog  <[email protected]>
224    
225            * test/postgissupport.py (find_postgis_sql): Added yet another
226            potential location for (lw)postgis.sql because the file has moved
227            again in postgis 1.0.0 rc4.
228    
229    2005-03-29  Bernhard Herzog  <[email protected]>
230    
231            * Thuban/UI/legend.py (BMP_SIZE_W, BMP_SIZE_H): Set both to 16 to
232            match the site of the legend_icon_layer icon.  Otherwise wxpython
233            2.5 complains when the legend is created with the error:
234    
235            PyAssertionError: C++ assertion "(bitmap.GetWidth() == m_width &&
236            bitmap.GetHeight() == m_height) || (m_width == 0 && m_height ==
237            0)" failed in ./src/generic/imaglist.cpp(81): invalid bitmap size
238            in wxImageList: this might work on this platform but definitely
239            won't under Windows.
240    
241    2005-03-23  Jonathan Coles <[email protected]>
242    
243            These changes add support for adjusting the opacity of a raster layer.
244    
245            * Thuban/Model/layer.py (RasterLayer.Opacity): Replaces AlphaOpacity.
246            (RasterLayer.SetOpacity): Replaces SetAlphaOpacity. Also triggers
247            a LAYER_CHANGED event if the opacity actually changes.
248    
249            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_data): Added
250            layer parameter needed in the implementation of this method in
251            renderer.py.
252    
253            * Thuban/UI/layerproperties.py (LayerProperties.dialog_layout): Fixed
254            typo 00 -> 0.
255    
256            * Thuban/UI/rasterlayerproperties.py (RasterLayerProperties): Added
257            control to adjust opacity.
258    
259            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Scale the
260            alpha data based on the opacity level of the layer.
261    
262            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Now
263            accepts a layer parameter.
264    
265            * test/test_layer.py (TestLayerModification.test_raster_layer):
266            Rename opacity method calls and add test for LAYER_CHANGED.
267    
268    2005-03-16  Bernhard Herzog  <[email protected]>
269    
270            * test/test_connector.py (DeletionTestMixin.check_deletions)
271            (DeletionTestMixin.check_deletetions): renamed to check_deletions.
272            update the callers.
273    
274    2005-03-14  Jan-Oliver Wagner <[email protected]>
275    
276            * Doc/manual/thuban-manual-de.xml: More translations.
277    
278    2005-03-10  Jan-Oliver Wagner <[email protected]>
279    
280            Introducing initialization callbacks for extensions.
281    
282            * Thuban/UI/extensionregistry.py (ExtensionDesc.__init__): Added
283            optional parameter init_callback.
284            (ExtensionDesc.init_ext): New. Executes the callback and sets
285            a status.
286    
287            * Thuban/UI/application.py (ThubanApplication.OnInit): Add the
288            initialization of the extensions.
289            (ThubanApplication.init_extensions): Init all extensions.
290    
291            * Thuban/UI/about.py (About.__init__): Added status of the extensions
292            to the about text.
293    
294            * Extensions/gns2shp/__init__.py: Added init method for Extension
295            description.
296            (init): New. Contains the initialization of the module.
297    
298    2005-03-04  Nina H�ffmeyer <[email protected]>
299    
300            * Extensions/ogr/ogrdialog.py: Added a dialog, which asks for
301            OGRConnection to open a datasource. Removed dialog to display all
302            available drivers. Added some doc strings.
303    
304            * Extensions/ogr/ogrstart.py: Added menu entry for opening an
305            OGRDatasource with a string. Added two opening methods which return an
306            OGRDatasource (either data from file or from DB).
307    
308            * Extensions/ogr/ogrshapes.py: Added class OGRGeometry, which
309            represents a geometry reference of an OGRFeature. OGRShape now has a
310            list of referenced geometry objects (important for geometry
311            collections).
312            For OGRShapeStores loaded from a DB an ID column can be specified now.
313    
314    2005-02-22  Jan-Oliver Wagner <[email protected]>
315    
316            * test/test_map.py (TestMapWithContents.test_tree_info):
317            Added label layer for comparison.
318    
319    2005-02-18  Jonathan Coles <[email protected]>
320    
321            * libraries/thuban/gdalwarp.cpp (GetImageData): Optimize the loop
322            which builds a mask. Handle the majority of an image in a loop,
323            creating 8 bits at a time. Later, handle the edge case where less
324            than 8 bits are packed.
325    
326    2005-02-18  Bernhard Herzog  <[email protected]>
327    
328            * test/test_baserenderer.py (TestBaseRenderer.setUp): Fix
329            doc-string
330    
331    2005-02-18  Jonathan Coles <[email protected]>
332    
333            * setup.py: Remove wx_cs_params from gdal compile options.
334    
335    2005-02-18  Jonathan Coles <[email protected]>
336    
337            Refactored baserenderer.py and renderer.py to remove baserenderer.py's
338            dependencies on wxPython. Added a new method projected_raster_layer()
339            that returns a raster layer image in projected space. This must be
340            implemented in classes derived from BaseRenderer. This also eliminates
341            the dependency on gdal in baserenderer.py.
342    
343            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Call
344            new projected_raster_layer() to get projected raster image instead
345            of directly calling ProjectRasterFile().
346            (BaseRenderer.projected_raster_layer): New. This must be implemented
347            by derived classes. It takes almost the same arguments as ProjectRasterFile
348            did and returns a projected image with mask and alpha data (if requested).
349            (BaseRenderer.render_map_incrementally): Remove the check for gdal since
350            that check will be done in MapRenderer.projected_raster_layer(). This
351            also allows other implementations to use different projection code.
352    
353            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
354            Implementation of BaseRenderer.projected_raster_layer. Checks for
355            gdal support and wxPython version. Also handles exceptions from
356            ProjectRasterFile.
357    
358            * libraries/thuban/gdalwarp.cpp: Removed checks for wxPython versions
359            and added a variable which can be set through the options argument
360            of ProjectRasterFile.
361    
362            * test/test_baserenderer.py (SimpleRenderer.projected_raster_layer): New.
363            Calls ProjectRasterFile and returns the result.
364            (TestBaseRenderer.test_projected_raster_layer): New. Tests the results
365            of calling projected_raster_layer() with different options.
366            (TestBaseRenderer.test_raster_no_projection): Removed tests based on
367            wxPython version and all tests of masks and alpha channels. These are
368            now in test_projected_raster_layer().
369    
370    2005-02-17  Jan-Oliver Wagner <[email protected]>
371    
372            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
373            doc-strings to comply with coding_guidelines.
374    
375    2005-02-17  Jan-Oliver Wagner <[email protected]>
376    
377            Docstring improvements and minor fixes for labellayer.
378    
379            * Thuban/Model/map.py:
380            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
381            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
382            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
383            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
384            doc string.
385            (Map.BoundingBox): Removed superfluous test for label_layer
386            and improved doc string.
387            (Map.TreeInfo): Added label_layer and improved sdo string.
388    
389            * Thuban/Model/label.py: Added import of _.
390            (Label, Label.__init__): Improved/added doc string.
391            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
392            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
393            Improved/added doc string.
394            (LabelLayer.AddLabel): Use already defined names for
395            align strings and improved doc string.
396            (LabelLayer.TreeInfo): New. Return the object data for
397            the tree view.
398    
399    2005-02-16  Jonathan Coles <[email protected]>
400    
401            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
402            so that that wxproj doesn't crash. Added GUI support for selecting
403            alpha channel (opacity can't be selected yet).
404    
405            NOTE: If wxPython.h is including in future distribution packages
406            then it will not be necessary to have the files swigPtrConvertHack.h
407            and wxPython_int.h included with Thuban. This is hopefully
408            a temporary workaround.
409    
410            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
411            access to the macro wxCHECK_VERSION so that it will properly
412            generate a bit mask. There was a problem between wx2.4 and wx2.5
413            that this works around.
414    
415            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
416            of RasterLayer.MaskType.
417            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
418            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
419            specify none, a bitmap, or an alpha channel.
420            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
421    
422            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
423            Set the raster warping options for the mask based on the value
424            of RasterLayer.MaskType.
425    
426            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
427            deprecated calls to SetItemSelectedImage in favor of SetItemImage
428            with wxTreeItemIcon_Selected.
429    
430            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
431            an alpha channel for the mask.
432    
433            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
434            data if it is available and an alpha channel is supported under
435            the current version of wxPython.
436    
437            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
438            to select whether 1's or 0's select the desired portion of an image
439            in the bit mask. wx2.4 has a bug where the documentation is the opposite
440            from behavior.
441            (ProjectRasterFile): Only generate an alpha channel if the version
442            of wxPython is >= 2.5.3.
443    
444            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
445            When wxPython >= 2.5.3 use the special swig functions to decode an
446            object's address.
447    
448            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
449            based on the version of wxPython. If >= 2.5.3 use the special swig
450            functions from wxPython to decode wxPython objects, otherwise use
451            the old method of retrieving the address from the object __repr__ string.
452    
453            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
454            Unnecessary code was removed to make it smaller.
455    
456            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
457            Add tests for returning an alpha channel.
458    
459            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
460            tests that used removed functions UseMask and SetUseMask
461    
462    
463    2005-02-08  Bernhard Herzog  <[email protected]>
464    
465            More wxPython 2.5 changes.  This time taken from a patch from
466            Daniel Calvelo Aros.
467    
468            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
469            (QueryTableFrame.__init__): Pass the size of a spacer as a single
470            item.
471    
472            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
473            (ProjFrame.build_dialog): Pass the size of a spacer as a single
474            item.
475    
476            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
477            size of a spacer as a single item.
478    
479            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
480            size of a spacer as a single item.
481    
482    2005-02-08  Bernhard Herzog  <[email protected]>
483    
484            Compatibility with wxPython 2.5.  The changes should make it work
485            better with 2.5 while still keeping compatibility with 2.4.  There
486            are still problems with 2.5, though.
487    
488            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
489            of a spacer as a single item.
490    
491            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
492            from wxControl
493    
494            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
495            2.5, add an implementation of the GetFirstChild method that does
496            not require the second parameter.
497            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
498            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
499            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
500            pass the second parameter to GetFirstChild
501    
502    2005-02-08  Nina H�ffmeyer <[email protected]>
503    
504            * Extensions/ogr/ogrshapes.py: Removed some print commands.
505    
506            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
507            additional menu but appears as a possibility in the menu Map.
508    
509    2005-02-07  Jonathan Coles <[email protected]>
510            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
511            and PYTHON_ERRF since they were no longer necessary.
512    
513    2005-02-07  Bernhard Reiter <[email protected]>
514            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
515            Enable translation for message string.
516    
517    2005-02-06  Martin Schulze  <[email protected]>
518    
519            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
520            the arguments of the contstructor to fit the global scheme
521    
522    2005-01-31  Nina H�ffmeyer <[email protected]>
523    
524            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
525            some dialogs needed to start ogr.
526            
527            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
528            warnings.
529    
530            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
531            encoding warnings.
532    
533    2005-01-28  Jonathan Coles <[email protected]>
534    
535            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
536            mask is packed into a bit array. It's now slightly faster.
537    
538    2005-01-28  Jonathan Coles <[email protected]>
539    
540            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
541            default to true.
542    
543            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
544            code that loads the state of the layer's use_mask flag. Its
545            usefulness is still being debated.
546    
547            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
548            code that saves the state of the layer's use_mask flag. Its
549            usefulness is still being debated.
550    
551            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
552            options to ProjectRasterFile based on the state of layer.UseMask().
553            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
554            quit is there is a problem projecting.
555            (BaseRenderer.draw_raster_data): Change the documentation to
556            describe the new format (XBM) that the mask data will be in.
557    
558            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
559            data is in XBM format when format='RAW' which means it doesn't
560            need to be converted to a wxImage before being used as a mask
561            for a wxBitmap. Assume that if format != 'RAW' that the image
562            data and mask data are in the same format.
563    
564            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
565            and a mask is requested, convert the alpha band to a bit array in
566            XBM format. if an alpha channel is requested, simply return the
567            data in the alpha band. Provide better error handling by returning
568            python error messages (also fixes RT #2947).
569            (ProjectRasterFile): Support multiple mask options, rather than simply
570            a flag indicating that a mask should or should not be used. Provide
571            better error handling by returning python error messages.
572    
573            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
574            Add mask data to test.
575    
576            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
577            should use the mask by default.
578            (TestLayerModificaton.test_raster_layer): Test that a layer should use
579            the mask by default.
580    
581            * test/test_load.py (TestRasterLayer.test): Remove testing for
582            use_mask flag in file.
583    
584            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
585            for use_mask in file.
586    
587            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
588            
589    2005-01-26  Jonathan Coles <[email protected]>
590    
591            Add a new dialog box for raster layers. The dialog box allows
592            the user to toggle a mask that is generated by ProjectRasterFile
593            and is used to only draw the real parts of the projected image.
594    
595            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
596            Instruct the warping code to generate a mask if the raster layer
597            requests one.
598            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
599    
600            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
601            obsolete optional mask argument.
602    
603            * Thuban/UI/classifier.py (Classifier): Change the parent class
604            to LayerProperties and rework the code to support layout calls
605            from the parent.
606            (Classifier.dialog_layout): New. Layout the dialog box.
607            (Classifier.map_layers_removed): Removed. Moved to parent class.
608            (Classifier.map_replaced): Removed. Moved to parent class.
609            (Classifier._OnTry): Renamed to OnTry to support parent class.
610            (Classifier.OnClose): Removed. Supplied in parent class.
611            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
612            (Classifier._OnOK): Renamed to OnOK to support parent class.
613            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
614    
615            * Thuban/UI/layerproperties.py: New. Base class for layer properties
616            dialog boxes.
617    
618            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
619            raster layer properties.
620    
621            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
622            with the non-simple version supplied with gdal. This allows added
623            features such as creating an alpha band.
624            (GetImageData): Generate a mask array from the alpha band that is
625            generated by gdal if the user has selected it. Try to support images
626            that have more than three bands, such as images with RGB plus an
627            alpha band.
628            (ProjectRasterFile): Convert python argument for mask and tell
629            gdal to enable or disable an alpha band.
630    
631            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
632            describing what kind of layer the class is. Defaults to "Unknown",
633            but should be overridden by subclasses.
634            (Layer.Type): New. Override base class method.
635            (RasterLayer.__init__): Create a flag for using a mask. Record extra
636            data from gdal for display in the properties dialog.
637            (RasterLayer.Type): New. Override base class method.
638            (RasterLayer.UseMask): New. Returns True if the mask should be used.
639            (RasterLayer.SetUseMask): New. Set if the mask should be used.
640            (RasterLayer.ImageInfo): New. Return extra information about the image.
641    
642            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
643            the mask information.
644    
645            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
646    
647            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
648            Classifier classes as dialogs to use with the proper layer types.
649    
650            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
651            Fix test.
652    
653            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
654            (TestLayerModification.build_path): New. Support function.
655            (TestLayerModification.test_raster_layer): New. Test new methods.
656    
657            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
658    
659            * test/test_load.py (TestRasterLayer): Add tests for mask.
660    
661            * test/test_load_1_0_1.py: New. Copied from test_load.py.
662    
663            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
664            obsolete optional mask argument.
665    
666  2005-01-26  Nina H�ffmeyer <[email protected]>  2005-01-26  Nina H�ffmeyer <[email protected]>
667    
668          * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore          * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore

Legend:
Removed from v.2549  
changed lines
  Added in v.2641

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26