/[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 2524 by frank, Tue Jan 18 10:19:25 2005 UTC revision 2570 by jan, Thu Feb 17 11:02:46 2005 UTC
# Line 1  Line 1 
1    2005-02-17  Jan-Oliver Wagner <[email protected]>
2    
3            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
4            doc-strings to comply with coding_guidelines.
5    
6    2005-02-17  Jan-Oliver Wagner <[email protected]>
7    
8            Docstring improvements and minor fixes for labellayer.
9    
10            * Thuban/Model/map.py:
11            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
12            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
13            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
14            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
15            doc string.
16            (Map.BoundingBox): Removed superfluous test for label_layer
17            and improved doc string.
18            (Map.TreeInfo): Added label_layer and improved sdo string.
19    
20            * Thuban/Model/label.py: Added import of _.
21            (Label, Label.__init__): Improved/added doc string.
22            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
23            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
24            Improved/added doc string.
25            (LabelLayer.AddLabel): Use already defined names for
26            align strings and improved doc string.
27            (LabelLayer.TreeInfo): New. Return the object data for
28            the tree view.
29    
30    2005-02-16  Jonathan Coles <[email protected]>
31    
32            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
33            so that that wxproj doesn't crash. Added GUI support for selecting
34            alpha channel (opacity can't be selected yet).
35    
36            NOTE: If wxPython.h is including in future distribution packages
37            then it will not be necessary to have the files swigPtrConvertHack.h
38            and wxPython_int.h included with Thuban. This is hopefully
39            a temporary workaround.
40    
41            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
42            access to the macro wxCHECK_VERSION so that it will properly
43            generate a bit mask. There was a problem between wx2.4 and wx2.5
44            that this works around.
45    
46            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
47            of RasterLayer.MaskType.
48            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
49            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
50            specify none, a bitmap, or an alpha channel.
51            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
52    
53            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
54            Set the raster warping options for the mask based on the value
55            of RasterLayer.MaskType.
56    
57            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
58            deprecated calls to SetItemSelectedImage in favor of SetItemImage
59            with wxTreeItemIcon_Selected.
60    
61            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
62            an alpha channel for the mask.
63    
64            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
65            data if it is available and an alpha channel is supported under
66            the current version of wxPython.
67    
68            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
69            to select whether 1's or 0's select the desired portion of an image
70            in the bit mask. wx2.4 has a bug where the documentation is the opposite
71            from behavior.
72            (ProjectRasterFile): Only generate an alpha channel if the version
73            of wxPython is >= 2.5.3.
74    
75            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
76            When wxPython >= 2.5.3 use the special swig functions to decode an
77            object's address.
78    
79            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
80            based on the version of wxPython. If >= 2.5.3 use the special swig
81            functions from wxPython to decode wxPython objects, otherwise use
82            the old method of retrieving the address from the object __repr__ string.
83    
84            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
85            Unnecessary code was removed to make it smaller.
86    
87            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
88            Add tests for returning an alpha channel.
89    
90            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
91            tests that used removed functions UseMask and SetUseMask
92    
93    
94    2005-02-08  Bernhard Herzog  <[email protected]>
95    
96            More wxPython 2.5 changes.  This time taken from a patch from
97            Daniel Calvelo Aros.
98    
99            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
100            (QueryTableFrame.__init__): Pass the size of a spacer as a single
101            item.
102    
103            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
104            (ProjFrame.build_dialog): Pass the size of a spacer as a single
105            item.
106    
107            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
108            size of a spacer as a single item.
109    
110            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
111            size of a spacer as a single item.
112    
113    2005-02-08  Bernhard Herzog  <[email protected]>
114    
115            Compatibility with wxPython 2.5.  The changes should make it work
116            better with 2.5 while still keeping compatibility with 2.4.  There
117            are still problems with 2.5, though.
118    
119            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
120            of a spacer as a single item.
121    
122            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
123            from wxControl
124    
125            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
126            2.5, add an implementation of the GetFirstChild method that does
127            not require the second parameter.
128            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
129            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
130            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
131            pass the second parameter to GetFirstChild
132    
133    2005-02-08  Nina H�ffmeyer <[email protected]>
134    
135            * Extensions/ogr/ogrshapes.py: Removed some print commands.
136    
137            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
138            additional menu but appears as a possibility in the menu Map.
139    
140    2005-02-07  Jonathan Coles <[email protected]>
141            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
142            and PYTHON_ERRF since they were no longer necessary.
143    
144    2005-02-07  Bernhard Reiter <[email protected]>
145            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
146            Enable translation for message string.
147    
148    2005-02-06  Martin Schulze  <[email protected]>
149    
150            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
151            the arguments of the contstructor to fit the global scheme
152    
153    2005-01-31  Nina H�ffmeyer <[email protected]>
154    
155            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
156            some dialogs needed to start ogr.
157            
158            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
159            warnings.
160    
161            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
162            encoding warnings.
163    
164    2005-01-28  Jonathan Coles <[email protected]>
165    
166            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
167            mask is packed into a bit array. It's now slightly faster.
168    
169    2005-01-28  Jonathan Coles <[email protected]>
170    
171            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
172            default to true.
173    
174            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
175            code that loads the state of the layer's use_mask flag. Its
176            usefulness is still being debated.
177    
178            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
179            code that saves the state of the layer's use_mask flag. Its
180            usefulness is still being debated.
181    
182            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
183            options to ProjectRasterFile based on the state of layer.UseMask().
184            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
185            quit is there is a problem projecting.
186            (BaseRenderer.draw_raster_data): Change the documentation to
187            describe the new format (XBM) that the mask data will be in.
188    
189            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
190            data is in XBM format when format='RAW' which means it doesn't
191            need to be converted to a wxImage before being used as a mask
192            for a wxBitmap. Assume that if format != 'RAW' that the image
193            data and mask data are in the same format.
194    
195            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
196            and a mask is requested, convert the alpha band to a bit array in
197            XBM format. if an alpha channel is requested, simply return the
198            data in the alpha band. Provide better error handling by returning
199            python error messages (also fixes RT #2947).
200            (ProjectRasterFile): Support multiple mask options, rather than simply
201            a flag indicating that a mask should or should not be used. Provide
202            better error handling by returning python error messages.
203    
204            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
205            Add mask data to test.
206    
207            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
208            should use the mask by default.
209            (TestLayerModificaton.test_raster_layer): Test that a layer should use
210            the mask by default.
211    
212            * test/test_load.py (TestRasterLayer.test): Remove testing for
213            use_mask flag in file.
214    
215            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
216            for use_mask in file.
217    
218            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
219            
220    2005-01-26  Jonathan Coles <[email protected]>
221    
222            Add a new dialog box for raster layers. The dialog box allows
223            the user to toggle a mask that is generated by ProjectRasterFile
224            and is used to only draw the real parts of the projected image.
225    
226            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
227            Instruct the warping code to generate a mask if the raster layer
228            requests one.
229            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
230    
231            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
232            obsolete optional mask argument.
233    
234            * Thuban/UI/classifier.py (Classifier): Change the parent class
235            to LayerProperties and rework the code to support layout calls
236            from the parent.
237            (Classifier.dialog_layout): New. Layout the dialog box.
238            (Classifier.map_layers_removed): Removed. Moved to parent class.
239            (Classifier.map_replaced): Removed. Moved to parent class.
240            (Classifier._OnTry): Renamed to OnTry to support parent class.
241            (Classifier.OnClose): Removed. Supplied in parent class.
242            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
243            (Classifier._OnOK): Renamed to OnOK to support parent class.
244            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
245    
246            * Thuban/UI/layerproperties.py: New. Base class for layer properties
247            dialog boxes.
248    
249            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
250            raster layer properties.
251    
252            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
253            with the non-simple version supplied with gdal. This allows added
254            features such as creating an alpha band.
255            (GetImageData): Generate a mask array from the alpha band that is
256            generated by gdal if the user has selected it. Try to support images
257            that have more than three bands, such as images with RGB plus an
258            alpha band.
259            (ProjectRasterFile): Convert python argument for mask and tell
260            gdal to enable or disable an alpha band.
261    
262            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
263            describing what kind of layer the class is. Defaults to "Unknown",
264            but should be overridden by subclasses.
265            (Layer.Type): New. Override base class method.
266            (RasterLayer.__init__): Create a flag for using a mask. Record extra
267            data from gdal for display in the properties dialog.
268            (RasterLayer.Type): New. Override base class method.
269            (RasterLayer.UseMask): New. Returns True if the mask should be used.
270            (RasterLayer.SetUseMask): New. Set if the mask should be used.
271            (RasterLayer.ImageInfo): New. Return extra information about the image.
272    
273            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
274            the mask information.
275    
276            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
277    
278            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
279            Classifier classes as dialogs to use with the proper layer types.
280    
281            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
282            Fix test.
283    
284            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
285            (TestLayerModification.build_path): New. Support function.
286            (TestLayerModification.test_raster_layer): New. Test new methods.
287    
288            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
289    
290            * test/test_load.py (TestRasterLayer): Add tests for mask.
291    
292            * test/test_load_1_0_1.py: New. Copied from test_load.py.
293    
294            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
295            obsolete optional mask argument.
296    
297    2005-01-26  Nina H�ffmeyer <[email protected]>
298    
299            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
300            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
301            RowOrdinalToId() and ReadRowAsDict().
302    
303            * Extensions/ogr/ogrstart.py: Added menu item which opens database
304            layers for existing database connections.
305    
306            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
307    
308    
309    2005-01-26  Jan-Oliver Wagner <[email protected]>
310    
311            * Doc/manual/thuban-manual-de.xml: More translations.
312    
313    2005-01-24  Bernhard Herzog  <[email protected]>
314    
315            Rework the status bar updates a bit to make sure the message about
316            the projections is produced at the right times.
317    
318            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
319            New class variable with messages that may require a status bar
320            update.
321            (MainWindow.view_position_changed)
322            (MainWindow.update_status_bar): Rename from view_position_changed
323            to update_status_bar.  It's meaning has changed now that it may
324            also generate messages about problems with projection settings.
325            (MainWindow.__init__): Use the new update_status_bar_messages
326            class variable to subscribe update_status_bar
327            (MainWindow.set_position_text): Update doc-string.  This method
328            has to be renamed at some point.  See doc-string and comments.
329            (MainWindow.OnClose): Unsubscribe update_status_bar from all
330            messages in update_status_bar_messages
331    
332            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
333            class attribute.  map messages to be forwarded by the viewport.
334            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
335            the messages in forwarded_map_messages
336    
337    2005-01-21  Bernhard Herzog  <[email protected]>
338    
339            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
340            doc-string
341            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
342            different name for the initialization SQL file.
343    
344    2005-01-21  Jonathan Coles <[email protected]>
345    
346            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
347            a projection and returns a formatted string representing the
348            parameters to feed to gdalwarp. This function eliminates
349            redundancy in draw_raster_layer().
350            (BaseRenderer.render_map_incrementally): Removed the optimization which
351            drew the top most raster layer first and then only those vector-
352            based layers that are above it. With the support for transparency
353            this optimization breaks correct behaviour.
354            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
355            future enhancements to raster layer bounding box. The old behaviour has
356            not changed. Also, change calling parameters to draw_raster_data()
357            to specify new RAW data format and mask.
358            (BaseRenderer.draw_raster_data): Change signature to include an optional
359            parameter for mask information. Change documentation to mention
360            support for new parameter and added option for RAW data format.
361            The data argument is now a list of [width, height, data].
362    
363            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
364            mask parameter. Add new condition for RAW format, which
365            significantly reduces rendering time. Add condition for
366            mask parameter.
367    
368            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
369            data array of RGB values from the projected image returned from
370            the gdal warping functions. In the case of palette based images, it
371            converts the NO_DATA index to the mask color.
372            (ProjectRasterFile): Removed all custom memory driver references
373            and replaced it with the standard in-memory dataset provided
374            by gdal. The return data is no longer a BMP file, but an array
375            of RGB values, one set triple per pixel.
376    
377            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
378            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
379            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
380    
381            * setup.py (thuban_build_ext.finalize_options): Removed mention
382            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
383            files. These are obsolete with the new version of gdalwarp.cpp
384    
385            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
386            Updated signature.
387            (TestBaseRenderer.test_raster_no_projection): Changed the test
388            data to be data in the uncompressed RAW format returned from
389            ProjectRasterFile.
390    
391    2005-01-21  Jan-Oliver Wagner <[email protected]>
392    
393            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
394            string available for i18n.
395    
396    2005-01-20  Russell Nelson  <[email protected]>
397    
398            * Resources/Projections/defaults.proj: Ruin the speling of the
399            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
400            It's the wrong thing to do in the long run, but it's necessary for
401            those users until that bug is fixed.  Otherwise the projection
402            dialog segfaults.  Better to annoy some Lambert-93 users with a
403            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
404    
405    2005-01-20  Bernhard Reiter <[email protected]>
406    
407            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
408            docstring and comment that the warning code here is a hack.
409    
410    2005-01-20  Russell Nelson  <[email protected]>
411    
412            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
413            user about misprojected layers when their lat/lon bounding
414            box exceeds rational lat/lon values.
415    
416    2005-01-20  Bernhard Reiter <[email protected]>
417    
418            * Thuban/UI/about.py (unicodeToLocale): Improved:
419            Use 'ascii' and then 'replace' for other characters
420            when getdefaultlocale returns None. Thanks to Bernhard H. .
421    
422    2005-01-20  Bernhard Reiter <[email protected]>
423    
424            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
425            that OnRangeText might be called twice and using None as argument.
426    
427    2005-01-20  Bernhard Reiter <[email protected]>
428    
429            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
430            OnRangeText(0) to work around a different in wx Behaviour noticed
431            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
432    
433    2005-01-20  Bernhard Reiter <[email protected]>
434    
435            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
436            None. (Fixes rt#2910.)
437            
438  2005-01-18  Frank Koormann <[email protected]>  2005-01-18  Frank Koormann <[email protected]>
439    
440          New Extension: mouseposition          New Extension: mouseposition

Legend:
Removed from v.2524  
changed lines
  Added in v.2570

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26