/[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 833 by jonathan, Tue May 6 12:07:44 2003 UTC revision 924 by frank, Mon May 19 09:12:42 2003 UTC
# Line 1  Line 1 
1    2003-05-19  Frank Koormann  <[email protected]>
2    
3            Extended version information for Thuban
4    
5            * Thuban/version.py: New, version information for Thuban: Last
6            modification date and last ChangeLog entry date.
7    
8            * Thuban/UI/mainwindow.py (MainWindow.About()): Extended version
9            information: Display Thuban, wxPython and Python version.
10    
11    2003-05-16  Bernhard Herzog  <[email protected]>
12    
13            * Thuban/Model/save.py: Remove some unused imports including the
14            __future__ import for nested_scopes as Thuban relies on Python 2.2
15            now.
16            (XMLWriter.encode): Remove the special case for a None argument.
17            In the saver encode is always called with a string argument.
18    
19    2003-05-16  Bernhard Herzog  <[email protected]>
20    
21            * Thuban/UI/__init__.py: Remove the work-around for the locale bug
22            in wxPython (at least when usinvg wxGTK) prior to 2.4. The symptom
23            of the bug was that e.g. float("1.2") would fail. Thuban now
24            requires 2.4.x.
25            
26    2003-05-16  Frank Koormann   <[email protected]>
27    
28            Printing enhancement and WMF export (under Win32)
29    
30            * Thuban/UI/renderer.py (ExportRenderer): New, derived from
31            ScreenRenderer. Renders Map, Legend and Scalebar for export.
32            (PrinterRenderer): New, derived from ExportRenderer. Replaces the old
33            PrintRender.
34    
35            * Thuban/UI/view.py (MapPrintout.__init__): Enhanced parameter set
36            to fullfil information needed for PrinterRenderer.
37            (MapCanvas.Export): New. Export Map (currently only to WMF on Win32).
38            (MapCanvas.Print): Adapted to new MapPrintout.
39            (OutputTransform): General calculations to transform from canvas
40            coordinates to export/printing devices.
41    
42            * Thuban/UI/mainwindow.py (MainWindow.ExportMap()): New. Added also
43            new method_command to call ExportMap, with platform dependency (only
44            __WXMSW__)
45      
46            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Position and Size
47            of scalebar drawing area as new parameters.
48            
49            * Thuban/Model/scalebar.py (roundInterval): round long instead of int
50    
51            * Thuban/UI/legend.py (ScalebarBitmap.__SetScale):
52            Update to extended scalebar.DrawScalebar header.
53    
54            * test/test_export.py: New, test Thuban.UI.view.OutputTransform()
55    
56            * test/test_scalebar.py: Made test executable as standalone.
57    
58    2003-05-16  Bernhard Herzog  <[email protected]>
59    
60            * Thuban/Model/table.py (Table): Remove this compatibility alias
61            for DBFTable.
62    
63            * test/test_table.py: Import DBFTable as Table because that alias
64            doesn't exist anymore.
65    
66            * Thuban/UI/classgen.py: Remove some unused imports
67    
68    2003-05-14  Jonathan Coles   <[email protected]>
69    
70            * Thuban/Model/classgen.py (ClassGenerator.GenSingletonsFromList):
71            Fix docstring.
72            (ClassGenerator.GenUniformDistribution): Fix spelling of method name.
73            (ClassGenerator.GenQuantiles): Use the left/right brackets and min/max
74            values of the supplied range to determine the beginning and end
75            bounds of the generated classes.
76    
77            * Thuban/Model/range.py (Range.number_re): Now accepts floats that
78            do not have a leading 0 (.5 is now accepted as well as 0.5).
79    
80            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Fix name of method
81            call to ClassGenerator.GenUniformDistribution.
82    
83            * Thuban/UI/projdialog.py (ProjFrame.__do_layout): Fix Windows
84            layout bug with the 'Projection' label.
85    
86            * test/support.py (FloatTestCase): New. Needed for the Range tests.
87    
88            * test/test_range.py: New. Imported from SciParam.
89    
90    2003-05-12  Jonathan Coles   <[email protected]>
91    
92            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): Replace call
93            to table.UniqueValues() with calls that retrieve all the values
94            from the table. This will need to be replaced by a method on table
95            which can simply return the list (perhaps more efficiently).
96    
97    2003-05-12  Jonathan Coles   <[email protected]>
98    
99            The return value of ClassGenerator.CalculateQuantiles has changed.
100            Refer to the documentation for details.
101    
102            * test/test_classgen.py: Modified Quantile tests to use the
103            new return values.
104    
105            * Thuban/Model/classgen.py
106            (ClassGenerator.GenQuantiles): Add comments describing the parameters,
107            use new return values from CalculateQuantiles to produce the correct
108            range bounds in the Classification.
109            (ClassGenerator.CalculateQuantiles): Add more comments describing
110            the return values and parameters. Make minor adjustments to improve
111            the legibility of the code. Fix problem with adjusted not being set
112            in most cases.
113    
114    2003-05-12  Frank Koormann <[email protected]>
115            
116            * Thuban/Model/save.py (XMLWriter.encode()): Explicite call to unicode
117            and latin1. Fixes #1851 finally.
118    
119    2003-05-09  Jonathan Coles   <[email protected]>
120    
121            * test/test_classgen.py: New. Tests the Quantile algorithm.
122    
123            * Thuban/Model/classgen.py (ClassGenerator.CalculateQuantiles):
124            Clean up debugging statement, add comments, fix a small bug in the
125            returned adjusted percentiles.
126            
127    2003-05-09  Jonathan Coles   <[email protected]>
128    
129            Introduces Range class from SciParam into the ClassGroupRange class,
130            and such ranges can now be saved and loaded from disk.
131    
132            Quantiles are now available in the Classification Generator.
133    
134            Initial support for building Queries on a table. Doesn't do anything
135            but run some tests.
136    
137            * Thuban/Model/classification.py: Explicit imports.
138            (ClassGroupRange): Use the Range class to store the underlying
139            range information. The interface remains the same, except for
140            GetRange(), and you can also supply a Range object as the min
141            parameter to SetRange or __init__.
142    
143            * Thuban/Model/load.py (XMLReader.encode): New. Encodes the given
144            string appropriately for use in Thuban. Fixes RTbug #1851.
145            (SessionLoader.end_projection): Handle the context of the
146            projection tag a bit better by looking at what objects are not
147            None. There was an assumption that a projection tag for a map
148            could occur before any layers.
149            (SessionLoader.start_clrange): Provide backward compatibility for
150            reading min/max values as well as the new range parameter.
151    
152            * Thuban/Model/map.py: Explicit imports.
153    
154            * Thuban/Model/resource.py: Import _.
155            (ProjFileSaver.write): write header using projfile.dtd.
156    
157            * Thuban/Model/save.py: Explicit imports.
158            (XMLWriter.encode): New. Encode the given string from a format
159            used by Thuban into UTF-8. Fixes RTbug #1851.
160    
161            * Thuban/UI/classgen.py: Explicit imports.
162            (ClassGenDialog.__init__): Clean up the code and add support
163            for Quantiles.
164            (ClassGenDialog.OnOK): Add support for Quantiles.
165            (GenQuantilesPanel): New. Input panel for Quantiles.
166            (ClassGenerator, CustomRamp, MonochromaticRamp, GreyRamp, RedRamp,
167            GreenRamp, BlueRamp, HotToColdRamp): Move to Thuban/Model/classgen.py
168    
169            * Thuban/Model/classgen.py: New. Contains all the classes named above.
170    
171            * Thuban/UI/classifier.py: Explicit imports.
172            (ClassTable.GetValueAsCust, ClassTable.__ParseInput,
173            ClassTable.SetValueAsCustom): Reworked to use new Range class.
174    
175            * Thuban/UI/legend.py: Explicit imports.
176    
177            * Thuban/UI/mainwindow.py: Add support for the Join Dialog. Added
178            a Table menu and associated method calls.
179            (MainWindow.choose_color): Removed. No longer needed.
180    
181            * Thuban/UI/projdialog.py (ProjFrame.__VerifyButtons): Save button
182            should be disabled if no projection is selected in the available
183            list.
184    
185            * Thuban/UI/renderer.py: Explicit imports.
186    
187            * Thuban/UI/tableview.py (TableGrid.OnRangeSelect): Fix some issues
188            with correctly selecting the rows and issuing the right events.
189            Be sure to call Skip() to allow the grid to do some of its own
190            handling which allows the rows to actually be selected.
191            (LayerTableGrid.select_shapes): Rename from select_shape. Supports
192            selecting multiple shapes.
193            (LayerTableFrame): Support for building Queries.
194            (LayerTableFrame.select_shapes): Allow multiple shapes to be selected.
195    
196            * Thuban/UI/tree.py: Explicit imports.
197    
198            * Thuban/UI/view.py (MapCanvas): Delegate "SelectedShapes" so the
199            table view can call it.
200    
201            * test/test_classification.py: Explicit imports.
202            (TestClassification.test_ClassGroupRange): Fix test for new
203            Range class.
204    
205            * Doc/thuban.dtd: Add range parameter for clrange.
206    
207            * Thuban/Model/range.py: Taken from SciParam. Used as the underlying
208            object in ClassGroupRange, and also uesd for inputting ranges in
209            the classifer table and elsewhere.
210    
211            * Thuban/UI/join.py: New. Initial Join dialog. No real functionality
212            yet.
213    
214    2003-05-09  Frank Koormann <[email protected]>
215    
216            * Thuban/UI/scalebar.py (DrawScaleBar): Draw only if interval > 0.0.
217    
218    2003-05-08  Frank Koormann <[email protected]>
219    
220            Coding style updates
221    
222            * test/test_scalebar.py: Replaced tab indentation by spaces.
223    
224            * Thuban/UI/scalebar.py: Explicit imports.
225    
226    2003-05-08  Frank Koormann <[email protected]>
227    
228            * Thuban/UI/scalebar.py
229            (ScaleBar.DrawScalebar): Format string bug fixed.
230    
231    2003-05-08  Frank Koormann <[email protected]>
232    
233            Reorganization of scalebar component (no wx in Thuban/Model)
234    
235            * Thuban/Model/scalebar.py: Rendering moved to Thuban/UI/scalebar.py
236            (deriveInterval):
237            Calculate scalebar interval and unit which fits in width for scale.
238            (roundInterval): Round float.
239    
240            * Thuban/UI/scalebar.py (ScaleBar): Scalebar rendering
241    
242            * test/test_scalebar.py: Test for Thuban/Model/scalebar.py methods.
243    
244            * Thuban/UI/legend.py: Import Thuban.UI.scalebar
245    
246    2003-05-08  Frank Koormann <[email protected]>
247    
248            * Thuban/UI/legend.py (ScalebarBitmap.SetCanvas):
249            Initialize ScaleBar with canvas.map
250    
251            * Thuban/Model/scalebar.py (ScaleBar.roundInterval()): New,
252            round intervals to display smarter lengths
253            (ScaleBar.DrawScalebar): Draw Scalebar only if the map contains a
254            layer. If the maps has no projection applied grey the scalebar.
255    
256    2003-05-07  Frank Koormann <[email protected]>
257            
258            Basic Scalebar features added.
259    
260            * Thuban/Model/scalebar.py (ScaleBar): New, scalebar rendering.
261    
262            * Thuban/UI/legend.py (LegendPanel): Added scalebar bitmap
263            (ScaleBarBitmap): New, links the scalebar bitmap with view messages
264            and the renderer.
265    
266            * Thuban/UI/view.py (MapCanvas.set_view_transform): Issue SCALE_CHANGED.
267    
268            * Thuban/UI/messages.py: SCALE_CHANGED added.
269    
270    2003-05-07  Bernhard Herzog  <[email protected]>
271    
272            * Thuban/Model/session.py (Session.__init__): New instance
273            variable shapestores to hold a list of all open shapestore objects
274            (Session.ShapeStores): New. Accessor method for the shapestores
275            list.
276            (Session._add_shapestore, Session._clean_weak_store_refs): New.
277            Internal methods to maintain the shapestores list.
278            (Session.Tables): New. Return all tables open in the session.
279            (Session.OpenShapefile): Insert the new ShapeStore into the
280            shapestores list.
281    
282            * test/test_session.py (TestSessionSimple.test_initial_state): Add
283            tests for ShapeStores and Tables
284            (TestSessionWithContent.test_shape_stores)
285            (TestSessionWithContent.test_tables): New. Test cases for
286            ShapeStores and Tables
287    
288    2003-05-07  Bernhard Herzog  <[email protected]>
289    
290            * Thuban/Model/transientdb.py (TransientTableBase.ReadRowAsDict):
291            Add comments about the optimizations used.
292            (AutoTransientTable.ReadValue, TransientTableBase.ReadValue): New.
293            Implement the ReadValue table interface method.
294    
295            * test/test_transientdb.py
296            (TestTransientTable.run_iceland_political_tests)
297            (TestTransientTable.test_transient_joined_table): Add tests for
298            ReadValue
299    
300    2003-05-07  Frank Koormann <[email protected]>
301    
302            * Resources/Bitmaps/fulllayerextent.xpm,
303            Resources/Bitmaps/fullselextent.xpm: Replaced the place holders with
304            new icons.
305    
306    2003-05-06  Bernhard Herzog  <[email protected]>
307    
308            * Thuban/Model/transientdb.py (AutoTransientTable.SimpleQuery):
309            New. Simply delegate to the transient table's version.
310    
311            * test/test_transientdb.py
312            (TestTransientTable.test_auto_transient_table_query): New. Test
313            case for AutoTransientTable's SimpleQuery
314    
315    2003-05-06  Bernhard Herzog  <[email protected]>
316    
317            * Thuban/Model/transientdb.py (TransientTableBase.SimpleQuery):
318            Implement a simple query method for the query dialog
319            (TransientTableBase.create): Add an INTEGER PRIMARY KEY that holds
320            the row index or shapeid.
321            (TransientTable.create): Insert the right value of the row index
322            (TransientJoinedTable.create): Copy the row index of the left
323            table to the joined result table
324    
325            * test/test_transientdb.py
326            (TestTransientTable.test_transient_table_read_twice): Fix
327            doc-string
328            (TestTransientTable.test_transient_table_query): New. Test for the
329            SimpleQuery method
330    
331    2003-05-06  Bernhard Herzog  <[email protected]>
332    
333            Convert all table users to use the new table interface. This only
334            covers Thuban itself, not GREAT-ER or other applications built on
335            Thuban yet, so the compatibility interface stays in place for the
336            time being but it now issues DeprecationWarnings.
337    
338            Finally, the new Table interface has a new method, HasColumn.
339    
340            * Thuban/Model/table.py (OldTableInterfaceMixin): All methods
341            issue deprecation warnings when they're. The warnings refer to the
342            caller of the method.
343            (OldTableInterfaceMixin.__deprecation_warning): New. Helper method
344            for the deprecation warnings
345    
346            * test/test_table.py: Ignore the deprecation warnings for the old
347            table in the tests in this module. The purpose of the tests is to
348            test the old interface, after all.
349    
350            * test/test_transientdb.py
351            (TestTransientTable.run_iceland_political_tests): Use the
352            constants for the types. Add a test for HasColumn
353            (TestTransientTable.test_transient_joined_table): Adapt to new
354            table interface. Add a test for HasColumn
355            (TestTransientTable.test_transient_table_read_twice): Adapt to new
356            table interface
357    
358            * Thuban/UI/tableview.py (DataTable.SetTable, DataTable.GetValue):
359            Adapt to new table interface
360    
361            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Adapt to
362            new table interface
363    
364            * Thuban/UI/controls.py (RecordListCtrl.fill_list)
365            (RecordTable.SetTable): Adapt to new table interface
366    
367            * Thuban/UI/classifier.py (Classifier.__init__)
368            (Classifier.__init__): Adapt to new table interface
369    
370            * Thuban/UI/classgen.py (ClassGenDialog.__init__)
371            (GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
372            to new table interface
373    
374            * Thuban/Model/transientdb.py (TransientTableBase.HasColumn)
375            (AutoTransientTable.HasColumn): Implement the new table interface
376            method
377            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ValueRange)
378            (AutoTransientTable.UniqueValues): Adapt to new table interface
379    
380            * Thuban/Model/layer.py (Layer.SetShapeStore, Layer.GetFieldType):
381            Adapt to new table interface
382    
383            * test/test_layer.py (TestLayer.open_shapefile): Helper method to
384            simplify opening shapefiles a bit easier.
385            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
386            (TestLayer.test_point_layer): Use the new helper method
387            (TestLayer.test_get_field_type): New. Test for the GetFieldType
388            method
389    
390            * test/test_dbf_table.py (TestDBFTable.test_has_column): Test for
391            the new table method
392    
393            * test/test_memory_table.py (TestMemoryTable.test_has_column):
394            Test for the new table method HasColumn
395    
396  2003-05-06  Jonathan Coles   <[email protected]>  2003-05-06  Jonathan Coles   <[email protected]>
397    
398          Addresses the "Selection Extent" wish of RTbug #1787.          Addresses the "Selection Extent" wish of RTbug #1787.

Legend:
Removed from v.833  
changed lines
  Added in v.924

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26