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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26