/[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 792 by jan, Wed Apr 30 12:26:57 2003 UTC revision 823 by jonathan, Mon May 5 18:20:39 2003 UTC
# Line 1  Line 1 
1    2003-05-05  Jonathan Coles   <[email protected]>
2    
3            Addresses the "Full Layer Extent" wish of RTbug #1787.
4    
5            * Resources/Projections/defaults.proj: Added UK National Grid.
6    
7            * Thuban/UI/mainwindow.py: Added new "Full layer extent" menu option.
8            (MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
9            when the user selects the menu option.
10    
11            * Thuban/UI/view.py (MapCanvas.FitLayerToWindow): New. Centers and
12            scales the given layer on the canvas using the map projection.
13    
14    2003-05-05  Bernhard Herzog  <[email protected]>
15    
16            Convert the table implementations to a new table interface. All
17            tables use a common mixin class to provide backwards compatibility
18            until all table users have been updated.
19    
20            * Thuban/Model/table.py (OldTableInterfaceMixin): Mixin class to
21            provide backwards compatibility for table classes implementing the
22            new interface
23            (DBFTable, MemoryTable): Implement the new table interface. Use
24            OldTableInterfaceMixin as base for compatibility
25            (DBFColumn, MemoryColumn): New. Column description for DBFTable
26            and MemoryTable resp.
27    
28            * test/test_dbf_table.py: New. Test cases for the DBFTable with
29            the new table interface.
30    
31            * test/test_memory_table.py: New. Test cases for the MemoryTable
32            with the new table interface.
33    
34            * test/test_table.py: Document the all tests in this file as only
35            for backwards compatibility. The equivalent tests for the new
36            interface are in test_memory_table.py and test_dbf_table.py
37            (MemoryTableTest.test_read): field_info should be returning tuples
38            with four items
39            (MemoryTableTest.test_write): Make doc-string a more precise.
40    
41            * Thuban/Model/transientdb.py (TransientTableBase): Convert to new
42            table interface. Derive from from OldTableInterfaceMixin for
43            compatibility.
44            (TransientTableBase.create): New intance variable column_map to
45            map from names and indices to column objects
46            (TransientTable.create): Use the new table interface of the input
47            table
48            (AutoTransientTable): Convert to new table interface. Derive from
49            from OldTableInterfaceMixin for compatibility.
50            (AutoTransientTable.write_record): Removed. It's not implemented
51            yet and we still have to decide how to handle writing with the new
52            table and data framework.
53    
54            * test/test_transientdb.py
55            (TestTransientTable.run_iceland_political_tests)
56            (TestTransientTable.test_transient_joined_table): Use the new
57            table interface
58    
59    2003-05-05  Jonathan Coles   <[email protected]>
60    
61            This is namely a collection of UI updates to improve user interactivity.
62            Tabbing between controls now exists and you can use ESC to close dialog
63            boxes; ENTER will active the default button.
64    
65            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Rearrange the
66            order that the controls are created so that tabbing works correctly.
67            (ClassGenDialog.OnOK): Renamed from _OnGenerate() so that the
68            wxDialog can handle the default button correctly.
69            (ClassGenDialog.OnCancel): Renamed from _OnCloseBtn() for the
70            same reasons as for OnOK.
71            (GenUniformPanel._OnRetrieve): Call wxBeginBusyCursor/wxEndBusyCursor
72            when we ask the table for the maximum/minimum values of a field
73            which could take a very long time.
74    
75            * Thuban/UI/classifier.py (Classifier.__init__): Rearrange the
76            order that the controls are created so that tabbing works correctly.
77            (SelectPropertiesDialog.__init__): Rearrange the order that the
78            controls are created so that tabbing works correctly.
79    
80            * Thuban/UI/dialogs.py: Copied NonModalDialog box and changed it
81            to derive from a wxDialog but behave like the original implementation
82            which was derived from a wxFrame. wxDialog provides useful key
83            handling functionality like ESC calling OnCancel and ENTER calling
84            OnOK which is lost with wxFrame.
85    
86            * Thuban/UI/mainwindow.py: Add "..." to menu items that will open
87            new dialogs.
88    
89            * Thuban/UI/projdialog.py (ProjFrame.__init__): Rearrange the
90            order that the controls are created so that tabbing works correctly.
91            (ProjFrame.OnApply): Renamed from _OnTry() to use wxDialog behaviour.
92            (ProjFrame.OnOK): Renamed from _OnOK() to use wxDialog behaviour.
93            (ProjFrame.OnCancel): Renamed from _OnClose() to use wxDialog behaviour.
94            (ProjPanel.__init__): Add "Airy" to the list of ellipsoids so we
95            can provide the "UK National Grid" as a default projection.
96            (UTMPanel.__init__): Rearrange the order that the controls are
97            created so that tabbing works correctly.
98    
99    2003-05-05  Bernhard Herzog  <[email protected]>
100    
101            * extensions/thuban/wxproj.cpp: Fix some of the comments.
102            (project_point): If a map projection but no layer projection is
103            given, convert degrees to radians before applying the map
104            projection.
105    
106            * Thuban/UI/tableview.py (TableGrid.disallow_messages)
107            (TableGrid.allow_messages): New methods to make it possible to
108            inhibit message sending.
109            (TableGrid.issue): Only send the message if not inhibited.
110            (LayerTableGrid.select_shape): Use the new methods to make sure
111            that no ROW_SELECTED message is sent while we're updating the
112            selected rows to match the selected shapes.
113    
114    2003-05-02  Jan-Oliver Wagner <[email protected]>
115    
116            Implementation of MemoryTable.
117    
118            * Thuban/Model/table.py (MemoryTable): New. Quite simple table
119            implementation that operates on a list of tuples. All of the data
120            are kept in the memory.
121    
122            * test/test_table.py (MemoryTableTest): New.
123    
124            * test/test_transientdb.py (SimpleTable): Removed.
125            (TestTransientTable.test_transient_joined_table,
126            (TestTransientTable.test_transient_table_read_twice): Replaced
127            SimpleTable by MemoryTable.
128    
129    2003-04-30  Jonathan Coles   <[email protected]>
130    
131            * Data/iceland_sample.thuban: Now contains correct projections
132            for each of the layers.
133    
134            * Resources/Projections/defaults.proj: Geographic projection
135            contains unit conversion parameter.
136    
137    2003-04-30  Jonathan Coles   <[email protected]>
138    
139            The most important part of this putback is the projection changes.
140            It should now be possible to specify the projection that a layer
141            is in and then specify a different projection for the map. The
142            projection dialog has an extra parameter for a geographic projection
143            which lets the user select if the input is in degrees or radians.
144    
145            * Thuban/Model/layer.py (Layer.ShapesInRegion): Fix docstring
146            to say that the parameter is a tuple of unprojected
147            points (which is what the callers to this method were assuming).
148            Also, since the points are unprojected we need to projected them.
149    
150            * Thuban/UI/legend.py (LegendTree.MoveCurrentItemUp,
151            LegendTree.MoveCurrentItemDown): If the layer or any of the layer's
152            groups are selected, move the layer up/down. Fixes RTbug #1833.
153    
154            * Thuban/UI/mainwindow.py: Move menu item map_rename up.
155    
156            * Thuban/UI/projdialog.py (ProjFrame._OnSave): Add missing
157            parameter in call to SetClientData.
158            (GeoPanel): Add support for selecting the units that the
159            source data is in (Radians or Degrees).
160    
161            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Optimize
162            the rendering loop by reducing the number of if's, removing the
163            unnecessary try/except block, and checking if the old group
164            is the same as the new one (which happens a lot if there is
165            no classification, or lots of shapes are in the same group).
166    
167            * Thuban/UI/view.py (MapCanvas.OnPaint): Add a try/except block
168            around the redraw routine to try to catch problems that the user
169            may create by selecting invalid projections for the data set and
170            map. Clears the display if there are any problems and prints the
171            error.
172            (MapCanvas.do_redraw): Use DC.Clear() instead of drawing a filled
173            rectangle.
174    
175            * extensions/thuban/wxproj.cpp (project_point): First invert the
176            supplied point (which should be in projected coordinates) using
177            the layer's projection and then project the point using the
178            map's projection.
179            (project_points): Use project_point() to project each point.
180    
181  2003-04-30  Jan-Oliver Wagner <[email protected]>  2003-04-30  Jan-Oliver Wagner <[email protected]>
182    
183          * Thuban/Model/layer.py (Layer.SetShapeStore): Fixed a bug:          * Thuban/Model/layer.py (Layer.SetShapeStore): Fixed a bug:
# Line 25  Line 205 
205          (TestTransientTable.test_transient_table_read_twice): New test          (TestTransientTable.test_transient_table_read_twice): New test
206          case for the above bug-fix.          case for the above bug-fix.
207    
208    2003-04-29  Jonathan Coles   <[email protected]>
209    
210            * Thuban/common.py: Removed. No longer needed Str2Num. RTbug #1832.
211    
212            * Thuban/UI/classgen.py: Remove all uses of Str2Num.
213    
214            * Thuban/UI/classifier.py: Remove all uses of Str2Num.
215            (ClassTable.SetValueAsCustom): Rename keyword argument in
216            ClassGroup* constructors to match argument name.
217    
218  2003-04-29  Bernhard Herzog  <[email protected]>  2003-04-29  Bernhard Herzog  <[email protected]>
219    
220          * Thuban/Model/session.py (Session.Destroy): Explicitly close the          * Thuban/Model/session.py (Session.Destroy): Explicitly close the

Legend:
Removed from v.792  
changed lines
  Added in v.823

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26