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

Legend:
Removed from v.807  
changed lines
  Added in v.848

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26