/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 809 by bh, Mon May 5 10:33:58 2003 UTC revision 840 by bh, Tue May 6 15:54:35 2003 UTC
# Line 1  Line 1 
1    2003-05-06  Bernhard Herzog  <[email protected]>
2    
3            Convert all table users to use the new table interface. This only
4            covers Thuban itself, not GREAT-ER or other applications built on
5            Thuban yet, so the compatibility interface stays in place for the
6            time being but it now issues DeprecationWarnings.
7    
8            Finally, the new Table interface has a new method, HasColumn.
9    
10            * Thuban/Model/table.py (OldTableInterfaceMixin): All methods
11            issue deprecation warnings when they're. The warnings refer to the
12            caller of the method.
13            (OldTableInterfaceMixin.__deprecation_warning): New. Helper method
14            for the deprecation warnings
15    
16            * test/test_table.py: Ignore the deprecation warnings for the old
17            table in the tests in this module. The purpose of the tests is to
18            test the old interface, after all.
19    
20            * test/test_transientdb.py
21            (TestTransientTable.run_iceland_political_tests): Use the
22            constants for the types. Add a test for HasColumn
23            (TestTransientTable.test_transient_joined_table): Adapt to new
24            table interface. Add a test for HasColumn
25            (TestTransientTable.test_transient_table_read_twice): Adapt to new
26            table interface
27    
28            * Thuban/UI/tableview.py (DataTable.SetTable, DataTable.GetValue):
29            Adapt to new table interface
30    
31            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Adapt to
32            new table interface
33    
34            * Thuban/UI/controls.py (RecordListCtrl.fill_list)
35            (RecordTable.SetTable): Adapt to new table interface
36    
37            * Thuban/UI/classifier.py (Classifier.__init__)
38            (Classifier.__init__): Adapt to new table interface
39    
40            * Thuban/UI/classgen.py (ClassGenDialog.__init__)
41            (GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
42            to new table interface
43    
44            * Thuban/Model/transientdb.py (TransientTableBase.HasColumn)
45            (AutoTransientTable.HasColumn): Implement the new table interface
46            method
47            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ValueRange)
48            (AutoTransientTable.UniqueValues): Adapt to new table interface
49    
50            * Thuban/Model/layer.py (Layer.SetShapeStore, Layer.GetFieldType):
51            Adapt to new table interface
52    
53            * test/test_layer.py (TestLayer.open_shapefile): Helper method to
54            simplify opening shapefiles a bit easier.
55            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
56            (TestLayer.test_point_layer): Use the new helper method
57            (TestLayer.test_get_field_type): New. Test for the GetFieldType
58            method
59    
60            * test/test_dbf_table.py (TestDBFTable.test_has_column): Test for
61            the new table method
62    
63            * test/test_memory_table.py (TestMemoryTable.test_has_column):
64            Test for the new table method HasColumn
65    
66    2003-05-06  Jonathan Coles   <[email protected]>
67    
68            Addresses the "Selection Extent" wish of RTbug #1787.
69    
70            * Resources/Bitmaps/fulllayerextent.xpm,
71            Resources/Bitmaps/fullselextent.xpm: Bitmaps for layer and selection
72            extent. These are just place holders for the real bitmaps.
73    
74            * Thuban/Model/layer.py (Shape): Since a Shape is immutable only
75            calculate the bounding box once (the first time compute_bbox() is
76            called).
77            (Layer.ShapesBoundingBox): New. Given a list of shape ids, return
78            the bounding box for the shapes in lat/long coordinates.
79    
80            * Thuban/UI/mainwindow.py: Added new "Full selection extent" menu
81            option.
82            (MainWindow.has_selected_shapes): New. Returns true if there are
83            any selected shapes.
84            (MainWindow.FullSelectionExtent): New. Calls
85            MapCanvas.FitSelectedToWindow() when the user selects the menu option.
86            (_has_selected_shapes): New. Returns true if there are any
87            selected shapes.
88    
89            * Thuban/UI/selection.py (Selection.HasSelectedShapes): New. Returns
90            true if there are any selected shapes.
91    
92            * Thuban/UI/view.py (MapCanvas): Added delegated method
93            HasSelectedShapes.
94            (MapCanvas.FitSelectedToWindow): New. Centers and scales any selected
95            shapes on the canvas using the map projection (if any).
96    
97            * test/test_layer.py (TestLayer.test_arc_layer): Add some tests
98            for Layer.ShapesBoundingBox().
99    
100    2003-05-06  Bernhard Herzog  <[email protected]>
101    
102            * Resources/Projections/defaults.proj: Fix spelling of Mercator
103    
104    2003-05-05  Jonathan Coles   <[email protected]>
105    
106            Addresses the "Full Layer Extent" wish of RTbug #1787.
107    
108            * Resources/Projections/defaults.proj: Added UK National Grid.
109    
110            * Thuban/UI/mainwindow.py: Added new "Full layer extent" menu option.
111            (MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
112            when the user selects the menu option.
113    
114            * Thuban/UI/view.py (MapCanvas.FitLayerToWindow): New. Centers and
115            scales the given layer on the canvas using the map projection.
116    
117    2003-05-05  Bernhard Herzog  <[email protected]>
118    
119            Convert the table implementations to a new table interface. All
120            tables use a common mixin class to provide backwards compatibility
121            until all table users have been updated.
122    
123            * Thuban/Model/table.py (OldTableInterfaceMixin): Mixin class to
124            provide backwards compatibility for table classes implementing the
125            new interface
126            (DBFTable, MemoryTable): Implement the new table interface. Use
127            OldTableInterfaceMixin as base for compatibility
128            (DBFColumn, MemoryColumn): New. Column description for DBFTable
129            and MemoryTable resp.
130    
131            * test/test_dbf_table.py: New. Test cases for the DBFTable with
132            the new table interface.
133    
134            * test/test_memory_table.py: New. Test cases for the MemoryTable
135            with the new table interface.
136    
137            * test/test_table.py: Document the all tests in this file as only
138            for backwards compatibility. The equivalent tests for the new
139            interface are in test_memory_table.py and test_dbf_table.py
140            (MemoryTableTest.test_read): field_info should be returning tuples
141            with four items
142            (MemoryTableTest.test_write): Make doc-string a more precise.
143    
144            * Thuban/Model/transientdb.py (TransientTableBase): Convert to new
145            table interface. Derive from from OldTableInterfaceMixin for
146            compatibility.
147            (TransientTableBase.create): New intance variable column_map to
148            map from names and indices to column objects
149            (TransientTable.create): Use the new table interface of the input
150            table
151            (AutoTransientTable): Convert to new table interface. Derive from
152            from OldTableInterfaceMixin for compatibility.
153            (AutoTransientTable.write_record): Removed. It's not implemented
154            yet and we still have to decide how to handle writing with the new
155            table and data framework.
156    
157            * test/test_transientdb.py
158            (TestTransientTable.run_iceland_political_tests)
159            (TestTransientTable.test_transient_joined_table): Use the new
160            table interface
161    
162    2003-05-05  Jonathan Coles   <[email protected]>
163    
164            This is namely a collection of UI updates to improve user interactivity.
165            Tabbing between controls now exists and you can use ESC to close dialog
166            boxes; ENTER will active the default button.
167    
168            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Rearrange the
169            order that the controls are created so that tabbing works correctly.
170            (ClassGenDialog.OnOK): Renamed from _OnGenerate() so that the
171            wxDialog can handle the default button correctly.
172            (ClassGenDialog.OnCancel): Renamed from _OnCloseBtn() for the
173            same reasons as for OnOK.
174            (GenUniformPanel._OnRetrieve): Call wxBeginBusyCursor/wxEndBusyCursor
175            when we ask the table for the maximum/minimum values of a field
176            which could take a very long time.
177    
178            * Thuban/UI/classifier.py (Classifier.__init__): Rearrange the
179            order that the controls are created so that tabbing works correctly.
180            (SelectPropertiesDialog.__init__): Rearrange the order that the
181            controls are created so that tabbing works correctly.
182    
183            * Thuban/UI/dialogs.py: Copied NonModalDialog box and changed it
184            to derive from a wxDialog but behave like the original implementation
185            which was derived from a wxFrame. wxDialog provides useful key
186            handling functionality like ESC calling OnCancel and ENTER calling
187            OnOK which is lost with wxFrame.
188    
189            * Thuban/UI/mainwindow.py: Add "..." to menu items that will open
190            new dialogs.
191    
192            * Thuban/UI/projdialog.py (ProjFrame.__init__): Rearrange the
193            order that the controls are created so that tabbing works correctly.
194            (ProjFrame.OnApply): Renamed from _OnTry() to use wxDialog behaviour.
195            (ProjFrame.OnOK): Renamed from _OnOK() to use wxDialog behaviour.
196            (ProjFrame.OnCancel): Renamed from _OnClose() to use wxDialog behaviour.
197            (ProjPanel.__init__): Add "Airy" to the list of ellipsoids so we
198            can provide the "UK National Grid" as a default projection.
199            (UTMPanel.__init__): Rearrange the order that the controls are
200            created so that tabbing works correctly.
201    
202  2003-05-05  Bernhard Herzog  <[email protected]>  2003-05-05  Bernhard Herzog  <[email protected]>
203    
204            * extensions/thuban/wxproj.cpp: Fix some of the comments.
205            (project_point): If a map projection but no layer projection is
206            given, convert degrees to radians before applying the map
207            projection.
208    
209          * Thuban/UI/tableview.py (TableGrid.disallow_messages)          * Thuban/UI/tableview.py (TableGrid.disallow_messages)
210          (TableGrid.allow_messages): New methods to make it possible to          (TableGrid.allow_messages): New methods to make it possible to
211          inhibit message sending.          inhibit message sending.

Legend:
Removed from v.809  
changed lines
  Added in v.840

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26