/[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 811 by bh, Mon May 5 13:09:26 2003 UTC revision 870 by frank, Thu May 8 14:06:32 2003 UTC
# Line 1  Line 1 
1    2003-05-08  Frank Koormann <[email protected]>
2    
3            Coding style updates
4    
5            * test/test_scalebar.py: Replaced tab indentation by spaces.
6    
7            * Thuban/UI/scalebar.py: Explicit imports.
8    
9    2003-05-08  Frank Koormann <[email protected]>
10    
11            * Thuban/UI/scalebar.py
12            (ScaleBar.DrawScalebar): Format string bug fixed.
13    
14    2003-05-08  Frank Koormann <[email protected]>
15    
16            Reorganization of scalebar component (no wx in Thuban/Model)
17    
18            * Thuban/Model/scalebar.py: Rendering moved to Thuban/UI/scalebar.py
19            (deriveInterval):
20            Calculate scalebar interval and unit which fits in width for scale.
21            (roundInterval): Round float.
22    
23            * Thuban/UI/scalebar.py (ScaleBar): Scalebar rendering
24    
25            * test/test_scalebar.py: Test for Thuban/Model/scalebar.py methods.
26    
27            * Thuban/UI/legend.py: Import Thuban.UI.scalebar
28    
29    2003-05-08  Frank Koormann <[email protected]>
30    
31            * Thuban/UI/legend.py (ScalebarBitmap.SetCanvas):
32            Initialize ScaleBar with canvas.map
33    
34            * Thuban/Model/scalebar.py (ScaleBar.roundInterval()): New,
35            round intervals to display smarter lengths
36            (ScaleBar.DrawScalebar): Draw Scalebar only if the map contains a
37            layer. If the maps has no projection applied grey the scalebar.
38    
39    2003-05-07  Frank Koormann <[email protected]>
40            
41            Basic Scalebar features added.
42    
43            * Thuban/Model/scalebar.py (ScaleBar): New, scalebar rendering.
44    
45            * Thuban/UI/legend.py (LegendPanel): Added scalebar bitmap
46            (ScaleBarBitmap): New, links the scalebar bitmap with view messages
47            and the renderer.
48    
49            * Thuban/UI/view.py (MapCanvas.set_view_transform): Issue SCALE_CHANGED.
50    
51            * Thuban/UI/messages.py: SCALE_CHANGED added.
52    
53    2003-05-07  Bernhard Herzog  <[email protected]>
54    
55            * Thuban/Model/session.py (Session.__init__): New instance
56            variable shapestores to hold a list of all open shapestore objects
57            (Session.ShapeStores): New. Accessor method for the shapestores
58            list.
59            (Session._add_shapestore, Session._clean_weak_store_refs): New.
60            Internal methods to maintain the shapestores list.
61            (Session.Tables): New. Return all tables open in the session.
62            (Session.OpenShapefile): Insert the new ShapeStore into the
63            shapestores list.
64    
65            * test/test_session.py (TestSessionSimple.test_initial_state): Add
66            tests for ShapeStores and Tables
67            (TestSessionWithContent.test_shape_stores)
68            (TestSessionWithContent.test_tables): New. Test cases for
69            ShapeStores and Tables
70    
71    2003-05-07  Bernhard Herzog  <[email protected]>
72    
73            * Thuban/Model/transientdb.py (TransientTableBase.ReadRowAsDict):
74            Add comments about the optimizations used.
75            (AutoTransientTable.ReadValue, TransientTableBase.ReadValue): New.
76            Implement the ReadValue table interface method.
77    
78            * test/test_transientdb.py
79            (TestTransientTable.run_iceland_political_tests)
80            (TestTransientTable.test_transient_joined_table): Add tests for
81            ReadValue
82    
83    2003-05-07  Frank Koormann <[email protected]>
84    
85            * Resources/Bitmaps/fulllayerextent.xpm,
86            Resources/Bitmaps/fullselextent.xpm: Replaced the place holders with
87            new icons.
88    
89    2003-05-06  Bernhard Herzog  <[email protected]>
90    
91            * Thuban/Model/transientdb.py (AutoTransientTable.SimpleQuery):
92            New. Simply delegate to the transient table's version.
93    
94            * test/test_transientdb.py
95            (TestTransientTable.test_auto_transient_table_query): New. Test
96            case for AutoTransientTable's SimpleQuery
97    
98    2003-05-06  Bernhard Herzog  <[email protected]>
99    
100            * Thuban/Model/transientdb.py (TransientTableBase.SimpleQuery):
101            Implement a simple query method for the query dialog
102            (TransientTableBase.create): Add an INTEGER PRIMARY KEY that holds
103            the row index or shapeid.
104            (TransientTable.create): Insert the right value of the row index
105            (TransientJoinedTable.create): Copy the row index of the left
106            table to the joined result table
107    
108            * test/test_transientdb.py
109            (TestTransientTable.test_transient_table_read_twice): Fix
110            doc-string
111            (TestTransientTable.test_transient_table_query): New. Test for the
112            SimpleQuery method
113    
114    2003-05-06  Bernhard Herzog  <[email protected]>
115    
116            Convert all table users to use the new table interface. This only
117            covers Thuban itself, not GREAT-ER or other applications built on
118            Thuban yet, so the compatibility interface stays in place for the
119            time being but it now issues DeprecationWarnings.
120    
121            Finally, the new Table interface has a new method, HasColumn.
122    
123            * Thuban/Model/table.py (OldTableInterfaceMixin): All methods
124            issue deprecation warnings when they're. The warnings refer to the
125            caller of the method.
126            (OldTableInterfaceMixin.__deprecation_warning): New. Helper method
127            for the deprecation warnings
128    
129            * test/test_table.py: Ignore the deprecation warnings for the old
130            table in the tests in this module. The purpose of the tests is to
131            test the old interface, after all.
132    
133            * test/test_transientdb.py
134            (TestTransientTable.run_iceland_political_tests): Use the
135            constants for the types. Add a test for HasColumn
136            (TestTransientTable.test_transient_joined_table): Adapt to new
137            table interface. Add a test for HasColumn
138            (TestTransientTable.test_transient_table_read_twice): Adapt to new
139            table interface
140    
141            * Thuban/UI/tableview.py (DataTable.SetTable, DataTable.GetValue):
142            Adapt to new table interface
143    
144            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Adapt to
145            new table interface
146    
147            * Thuban/UI/controls.py (RecordListCtrl.fill_list)
148            (RecordTable.SetTable): Adapt to new table interface
149    
150            * Thuban/UI/classifier.py (Classifier.__init__)
151            (Classifier.__init__): Adapt to new table interface
152    
153            * Thuban/UI/classgen.py (ClassGenDialog.__init__)
154            (GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
155            to new table interface
156    
157            * Thuban/Model/transientdb.py (TransientTableBase.HasColumn)
158            (AutoTransientTable.HasColumn): Implement the new table interface
159            method
160            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ValueRange)
161            (AutoTransientTable.UniqueValues): Adapt to new table interface
162    
163            * Thuban/Model/layer.py (Layer.SetShapeStore, Layer.GetFieldType):
164            Adapt to new table interface
165    
166            * test/test_layer.py (TestLayer.open_shapefile): Helper method to
167            simplify opening shapefiles a bit easier.
168            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
169            (TestLayer.test_point_layer): Use the new helper method
170            (TestLayer.test_get_field_type): New. Test for the GetFieldType
171            method
172    
173            * test/test_dbf_table.py (TestDBFTable.test_has_column): Test for
174            the new table method
175    
176            * test/test_memory_table.py (TestMemoryTable.test_has_column):
177            Test for the new table method HasColumn
178    
179    2003-05-06  Jonathan Coles   <[email protected]>
180    
181            Addresses the "Selection Extent" wish of RTbug #1787.
182    
183            * Resources/Bitmaps/fulllayerextent.xpm,
184            Resources/Bitmaps/fullselextent.xpm: Bitmaps for layer and selection
185            extent. These are just place holders for the real bitmaps.
186    
187            * Thuban/Model/layer.py (Shape): Since a Shape is immutable only
188            calculate the bounding box once (the first time compute_bbox() is
189            called).
190            (Layer.ShapesBoundingBox): New. Given a list of shape ids, return
191            the bounding box for the shapes in lat/long coordinates.
192    
193            * Thuban/UI/mainwindow.py: Added new "Full selection extent" menu
194            option.
195            (MainWindow.has_selected_shapes): New. Returns true if there are
196            any selected shapes.
197            (MainWindow.FullSelectionExtent): New. Calls
198            MapCanvas.FitSelectedToWindow() when the user selects the menu option.
199            (_has_selected_shapes): New. Returns true if there are any
200            selected shapes.
201    
202            * Thuban/UI/selection.py (Selection.HasSelectedShapes): New. Returns
203            true if there are any selected shapes.
204    
205            * Thuban/UI/view.py (MapCanvas): Added delegated method
206            HasSelectedShapes.
207            (MapCanvas.FitSelectedToWindow): New. Centers and scales any selected
208            shapes on the canvas using the map projection (if any).
209    
210            * test/test_layer.py (TestLayer.test_arc_layer): Add some tests
211            for Layer.ShapesBoundingBox().
212    
213    2003-05-06  Bernhard Herzog  <[email protected]>
214    
215            * Resources/Projections/defaults.proj: Fix spelling of Mercator
216    
217    2003-05-05  Jonathan Coles   <[email protected]>
218    
219            Addresses the "Full Layer Extent" wish of RTbug #1787.
220    
221            * Resources/Projections/defaults.proj: Added UK National Grid.
222    
223            * Thuban/UI/mainwindow.py: Added new "Full layer extent" menu option.
224            (MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
225            when the user selects the menu option.
226    
227            * Thuban/UI/view.py (MapCanvas.FitLayerToWindow): New. Centers and
228            scales the given layer on the canvas using the map projection.
229    
230    2003-05-05  Bernhard Herzog  <[email protected]>
231    
232            Convert the table implementations to a new table interface. All
233            tables use a common mixin class to provide backwards compatibility
234            until all table users have been updated.
235    
236            * Thuban/Model/table.py (OldTableInterfaceMixin): Mixin class to
237            provide backwards compatibility for table classes implementing the
238            new interface
239            (DBFTable, MemoryTable): Implement the new table interface. Use
240            OldTableInterfaceMixin as base for compatibility
241            (DBFColumn, MemoryColumn): New. Column description for DBFTable
242            and MemoryTable resp.
243    
244            * test/test_dbf_table.py: New. Test cases for the DBFTable with
245            the new table interface.
246    
247            * test/test_memory_table.py: New. Test cases for the MemoryTable
248            with the new table interface.
249    
250            * test/test_table.py: Document the all tests in this file as only
251            for backwards compatibility. The equivalent tests for the new
252            interface are in test_memory_table.py and test_dbf_table.py
253            (MemoryTableTest.test_read): field_info should be returning tuples
254            with four items
255            (MemoryTableTest.test_write): Make doc-string a more precise.
256    
257            * Thuban/Model/transientdb.py (TransientTableBase): Convert to new
258            table interface. Derive from from OldTableInterfaceMixin for
259            compatibility.
260            (TransientTableBase.create): New intance variable column_map to
261            map from names and indices to column objects
262            (TransientTable.create): Use the new table interface of the input
263            table
264            (AutoTransientTable): Convert to new table interface. Derive from
265            from OldTableInterfaceMixin for compatibility.
266            (AutoTransientTable.write_record): Removed. It's not implemented
267            yet and we still have to decide how to handle writing with the new
268            table and data framework.
269    
270            * test/test_transientdb.py
271            (TestTransientTable.run_iceland_political_tests)
272            (TestTransientTable.test_transient_joined_table): Use the new
273            table interface
274    
275    2003-05-05  Jonathan Coles   <[email protected]>
276    
277            This is namely a collection of UI updates to improve user interactivity.
278            Tabbing between controls now exists and you can use ESC to close dialog
279            boxes; ENTER will active the default button.
280    
281            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Rearrange the
282            order that the controls are created so that tabbing works correctly.
283            (ClassGenDialog.OnOK): Renamed from _OnGenerate() so that the
284            wxDialog can handle the default button correctly.
285            (ClassGenDialog.OnCancel): Renamed from _OnCloseBtn() for the
286            same reasons as for OnOK.
287            (GenUniformPanel._OnRetrieve): Call wxBeginBusyCursor/wxEndBusyCursor
288            when we ask the table for the maximum/minimum values of a field
289            which could take a very long time.
290    
291            * Thuban/UI/classifier.py (Classifier.__init__): Rearrange the
292            order that the controls are created so that tabbing works correctly.
293            (SelectPropertiesDialog.__init__): Rearrange the order that the
294            controls are created so that tabbing works correctly.
295    
296            * Thuban/UI/dialogs.py: Copied NonModalDialog box and changed it
297            to derive from a wxDialog but behave like the original implementation
298            which was derived from a wxFrame. wxDialog provides useful key
299            handling functionality like ESC calling OnCancel and ENTER calling
300            OnOK which is lost with wxFrame.
301    
302            * Thuban/UI/mainwindow.py: Add "..." to menu items that will open
303            new dialogs.
304    
305            * Thuban/UI/projdialog.py (ProjFrame.__init__): Rearrange the
306            order that the controls are created so that tabbing works correctly.
307            (ProjFrame.OnApply): Renamed from _OnTry() to use wxDialog behaviour.
308            (ProjFrame.OnOK): Renamed from _OnOK() to use wxDialog behaviour.
309            (ProjFrame.OnCancel): Renamed from _OnClose() to use wxDialog behaviour.
310            (ProjPanel.__init__): Add "Airy" to the list of ellipsoids so we
311            can provide the "UK National Grid" as a default projection.
312            (UTMPanel.__init__): Rearrange the order that the controls are
313            created so that tabbing works correctly.
314    
315  2003-05-05  Bernhard Herzog  <[email protected]>  2003-05-05  Bernhard Herzog  <[email protected]>
316    
317          * extensions/thuban/wxproj.cpp: Fix some of the comments.          * extensions/thuban/wxproj.cpp: Fix some of the comments.

Legend:
Removed from v.811  
changed lines
  Added in v.870

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26