/[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 2544 by bh, Mon Jan 24 11:19:53 2005 UTC revision 2573 by bh, Fri Feb 18 19:28:45 2005 UTC
# Line 1  Line 1 
1    2005-02-18  Bernhard Herzog  <[email protected]>
2    
3            * test/test_baserenderer.py (TestBaseRenderer.setUp): Fix
4            doc-string
5    
6    2005-02-18  Jonathan Coles <[email protected]>
7    
8            * setup.py: Remove wx_cs_params from gdal compile options.
9    
10    2005-02-18  Jonathan Coles <[email protected]>
11    
12            Refactored baserenderer.py and renderer.py to remove baserenderer.py's
13            dependencies on wxPython. Added a new method projected_raster_layer()
14            that returns a raster layer image in projected space. This must be
15            implemented in classes derived from BaseRenderer. This also eliminates
16            the dependency on gdal in baserenderer.py.
17    
18            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Call
19            new projected_raster_layer() to get projected raster image instead
20            of directly calling ProjectRasterFile().
21            (BaseRenderer.projected_raster_layer): New. This must be implemented
22            by derived classes. It takes almost the same arguments as ProjectRasterFile
23            did and returns a projected image with mask and alpha data (if requested).
24            (BaseRenderer.render_map_incrementally): Remove the check for gdal since
25            that check will be done in MapRenderer.projected_raster_layer(). This
26            also allows other implementations to use different projection code.
27    
28            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
29            Implementation of BaseRenderer.projected_raster_layer. Checks for
30            gdal support and wxPython version. Also handles exceptions from
31            ProjectRasterFile.
32    
33            * libraries/thuban/gdalwarp.cpp: Removed checks for wxPython versions
34            and added a variable which can be set through the options argument
35            of ProjectRasterFile.
36    
37            * test/test_baserenderer.py (SimpleRenderer.projected_raster_layer): New.
38            Calls ProjectRasterFile and returns the result.
39            (TestBaseRenderer.test_projected_raster_layer): New. Tests the results
40            of calling projected_raster_layer() with different options.
41            (TestBaseRenderer.test_raster_no_projection): Removed tests based on
42            wxPython version and all tests of masks and alpha channels. These are
43            now in test_projected_raster_layer().
44    
45    2005-02-17  Jan-Oliver Wagner <[email protected]>
46    
47            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
48            doc-strings to comply with coding_guidelines.
49    
50    2005-02-17  Jan-Oliver Wagner <[email protected]>
51    
52            Docstring improvements and minor fixes for labellayer.
53    
54            * Thuban/Model/map.py:
55            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
56            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
57            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
58            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
59            doc string.
60            (Map.BoundingBox): Removed superfluous test for label_layer
61            and improved doc string.
62            (Map.TreeInfo): Added label_layer and improved sdo string.
63    
64            * Thuban/Model/label.py: Added import of _.
65            (Label, Label.__init__): Improved/added doc string.
66            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
67            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
68            Improved/added doc string.
69            (LabelLayer.AddLabel): Use already defined names for
70            align strings and improved doc string.
71            (LabelLayer.TreeInfo): New. Return the object data for
72            the tree view.
73    
74    2005-02-16  Jonathan Coles <[email protected]>
75    
76            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
77            so that that wxproj doesn't crash. Added GUI support for selecting
78            alpha channel (opacity can't be selected yet).
79    
80            NOTE: If wxPython.h is including in future distribution packages
81            then it will not be necessary to have the files swigPtrConvertHack.h
82            and wxPython_int.h included with Thuban. This is hopefully
83            a temporary workaround.
84    
85            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
86            access to the macro wxCHECK_VERSION so that it will properly
87            generate a bit mask. There was a problem between wx2.4 and wx2.5
88            that this works around.
89    
90            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
91            of RasterLayer.MaskType.
92            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
93            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
94            specify none, a bitmap, or an alpha channel.
95            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
96    
97            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
98            Set the raster warping options for the mask based on the value
99            of RasterLayer.MaskType.
100    
101            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
102            deprecated calls to SetItemSelectedImage in favor of SetItemImage
103            with wxTreeItemIcon_Selected.
104    
105            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
106            an alpha channel for the mask.
107    
108            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
109            data if it is available and an alpha channel is supported under
110            the current version of wxPython.
111    
112            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
113            to select whether 1's or 0's select the desired portion of an image
114            in the bit mask. wx2.4 has a bug where the documentation is the opposite
115            from behavior.
116            (ProjectRasterFile): Only generate an alpha channel if the version
117            of wxPython is >= 2.5.3.
118    
119            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
120            When wxPython >= 2.5.3 use the special swig functions to decode an
121            object's address.
122    
123            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
124            based on the version of wxPython. If >= 2.5.3 use the special swig
125            functions from wxPython to decode wxPython objects, otherwise use
126            the old method of retrieving the address from the object __repr__ string.
127    
128            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
129            Unnecessary code was removed to make it smaller.
130    
131            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
132            Add tests for returning an alpha channel.
133    
134            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
135            tests that used removed functions UseMask and SetUseMask
136    
137    
138    2005-02-08  Bernhard Herzog  <[email protected]>
139    
140            More wxPython 2.5 changes.  This time taken from a patch from
141            Daniel Calvelo Aros.
142    
143            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
144            (QueryTableFrame.__init__): Pass the size of a spacer as a single
145            item.
146    
147            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
148            (ProjFrame.build_dialog): Pass the size of a spacer as a single
149            item.
150    
151            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
152            size of a spacer as a single item.
153    
154            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
155            size of a spacer as a single item.
156    
157    2005-02-08  Bernhard Herzog  <[email protected]>
158    
159            Compatibility with wxPython 2.5.  The changes should make it work
160            better with 2.5 while still keeping compatibility with 2.4.  There
161            are still problems with 2.5, though.
162    
163            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
164            of a spacer as a single item.
165    
166            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
167            from wxControl
168    
169            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
170            2.5, add an implementation of the GetFirstChild method that does
171            not require the second parameter.
172            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
173            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
174            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
175            pass the second parameter to GetFirstChild
176    
177    2005-02-08  Nina H�ffmeyer <[email protected]>
178    
179            * Extensions/ogr/ogrshapes.py: Removed some print commands.
180    
181            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
182            additional menu but appears as a possibility in the menu Map.
183    
184    2005-02-07  Jonathan Coles <[email protected]>
185            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
186            and PYTHON_ERRF since they were no longer necessary.
187    
188    2005-02-07  Bernhard Reiter <[email protected]>
189            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
190            Enable translation for message string.
191    
192    2005-02-06  Martin Schulze  <[email protected]>
193    
194            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
195            the arguments of the contstructor to fit the global scheme
196    
197    2005-01-31  Nina H�ffmeyer <[email protected]>
198    
199            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
200            some dialogs needed to start ogr.
201            
202            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
203            warnings.
204    
205            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
206            encoding warnings.
207    
208    2005-01-28  Jonathan Coles <[email protected]>
209    
210            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
211            mask is packed into a bit array. It's now slightly faster.
212    
213    2005-01-28  Jonathan Coles <[email protected]>
214    
215            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
216            default to true.
217    
218            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
219            code that loads the state of the layer's use_mask flag. Its
220            usefulness is still being debated.
221    
222            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
223            code that saves the state of the layer's use_mask flag. Its
224            usefulness is still being debated.
225    
226            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
227            options to ProjectRasterFile based on the state of layer.UseMask().
228            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
229            quit is there is a problem projecting.
230            (BaseRenderer.draw_raster_data): Change the documentation to
231            describe the new format (XBM) that the mask data will be in.
232    
233            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
234            data is in XBM format when format='RAW' which means it doesn't
235            need to be converted to a wxImage before being used as a mask
236            for a wxBitmap. Assume that if format != 'RAW' that the image
237            data and mask data are in the same format.
238    
239            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
240            and a mask is requested, convert the alpha band to a bit array in
241            XBM format. if an alpha channel is requested, simply return the
242            data in the alpha band. Provide better error handling by returning
243            python error messages (also fixes RT #2947).
244            (ProjectRasterFile): Support multiple mask options, rather than simply
245            a flag indicating that a mask should or should not be used. Provide
246            better error handling by returning python error messages.
247    
248            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
249            Add mask data to test.
250    
251            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
252            should use the mask by default.
253            (TestLayerModificaton.test_raster_layer): Test that a layer should use
254            the mask by default.
255    
256            * test/test_load.py (TestRasterLayer.test): Remove testing for
257            use_mask flag in file.
258    
259            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
260            for use_mask in file.
261    
262            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
263            
264    2005-01-26  Jonathan Coles <[email protected]>
265    
266            Add a new dialog box for raster layers. The dialog box allows
267            the user to toggle a mask that is generated by ProjectRasterFile
268            and is used to only draw the real parts of the projected image.
269    
270            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
271            Instruct the warping code to generate a mask if the raster layer
272            requests one.
273            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
274    
275            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
276            obsolete optional mask argument.
277    
278            * Thuban/UI/classifier.py (Classifier): Change the parent class
279            to LayerProperties and rework the code to support layout calls
280            from the parent.
281            (Classifier.dialog_layout): New. Layout the dialog box.
282            (Classifier.map_layers_removed): Removed. Moved to parent class.
283            (Classifier.map_replaced): Removed. Moved to parent class.
284            (Classifier._OnTry): Renamed to OnTry to support parent class.
285            (Classifier.OnClose): Removed. Supplied in parent class.
286            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
287            (Classifier._OnOK): Renamed to OnOK to support parent class.
288            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
289    
290            * Thuban/UI/layerproperties.py: New. Base class for layer properties
291            dialog boxes.
292    
293            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
294            raster layer properties.
295    
296            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
297            with the non-simple version supplied with gdal. This allows added
298            features such as creating an alpha band.
299            (GetImageData): Generate a mask array from the alpha band that is
300            generated by gdal if the user has selected it. Try to support images
301            that have more than three bands, such as images with RGB plus an
302            alpha band.
303            (ProjectRasterFile): Convert python argument for mask and tell
304            gdal to enable or disable an alpha band.
305    
306            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
307            describing what kind of layer the class is. Defaults to "Unknown",
308            but should be overridden by subclasses.
309            (Layer.Type): New. Override base class method.
310            (RasterLayer.__init__): Create a flag for using a mask. Record extra
311            data from gdal for display in the properties dialog.
312            (RasterLayer.Type): New. Override base class method.
313            (RasterLayer.UseMask): New. Returns True if the mask should be used.
314            (RasterLayer.SetUseMask): New. Set if the mask should be used.
315            (RasterLayer.ImageInfo): New. Return extra information about the image.
316    
317            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
318            the mask information.
319    
320            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
321    
322            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
323            Classifier classes as dialogs to use with the proper layer types.
324    
325            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
326            Fix test.
327    
328            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
329            (TestLayerModification.build_path): New. Support function.
330            (TestLayerModification.test_raster_layer): New. Test new methods.
331    
332            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
333    
334            * test/test_load.py (TestRasterLayer): Add tests for mask.
335    
336            * test/test_load_1_0_1.py: New. Copied from test_load.py.
337    
338            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
339            obsolete optional mask argument.
340    
341    2005-01-26  Nina H�ffmeyer <[email protected]>
342    
343            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
344            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
345            RowOrdinalToId() and ReadRowAsDict().
346    
347            * Extensions/ogr/ogrstart.py: Added menu item which opens database
348            layers for existing database connections.
349    
350            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
351    
352    
353    2005-01-26  Jan-Oliver Wagner <[email protected]>
354    
355            * Doc/manual/thuban-manual-de.xml: More translations.
356    
357  2005-01-24  Bernhard Herzog  <[email protected]>  2005-01-24  Bernhard Herzog  <[email protected]>
358    
359          Rework the status bar updates a bit to make sure the message about          Rework the status bar updates a bit to make sure the message about

Legend:
Removed from v.2544  
changed lines
  Added in v.2573

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26