/[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 793 by jonathan, Wed Apr 30 17:00:36 2003 UTC revision 833 by jonathan, Tue May 6 12:07:44 2003 UTC
# Line 1  Line 1 
1    2003-05-06  Jonathan Coles   <[email protected]>
2    
3            Addresses the "Selection Extent" wish of RTbug #1787.
4    
5            * Resources/Bitmaps/fulllayerextent.xpm,
6            Resources/Bitmaps/fullselextent.xpm: Bitmaps for layer and selection
7            extent. These are just place holders for the real bitmaps.
8    
9            * Thuban/Model/layer.py (Shape): Since a Shape is immutable only
10            calculate the bounding box once (the first time compute_bbox() is
11            called).
12            (Layer.ShapesBoundingBox): New. Given a list of shape ids, return
13            the bounding box for the shapes in lat/long coordinates.
14    
15            * Thuban/UI/mainwindow.py: Added new "Full selection extent" menu
16            option.
17            (MainWindow.has_selected_shapes): New. Returns true if there are
18            any selected shapes.
19            (MainWindow.FullSelectionExtent): New. Calls
20            MapCanvas.FitSelectedToWindow() when the user selects the menu option.
21            (_has_selected_shapes): New. Returns true if there are any
22            selected shapes.
23    
24            * Thuban/UI/selection.py (Selection.HasSelectedShapes): New. Returns
25            true if there are any selected shapes.
26    
27            * Thuban/UI/view.py (MapCanvas): Added delegated method
28            HasSelectedShapes.
29            (MapCanvas.FitSelectedToWindow): New. Centers and scales any selected
30            shapes on the canvas using the map projection (if any).
31    
32            * test/test_layer.py (TestLayer.test_arc_layer): Add some tests
33            for Layer.ShapesBoundingBox().
34    
35    2003-05-06  Bernhard Herzog  <[email protected]>
36    
37            * Resources/Projections/defaults.proj: Fix spelling of Mercator
38    
39    2003-05-05  Jonathan Coles   <[email protected]>
40    
41            Addresses the "Full Layer Extent" wish of RTbug #1787.
42    
43            * Resources/Projections/defaults.proj: Added UK National Grid.
44    
45            * Thuban/UI/mainwindow.py: Added new "Full layer extent" menu option.
46            (MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
47            when the user selects the menu option.
48    
49            * Thuban/UI/view.py (MapCanvas.FitLayerToWindow): New. Centers and
50            scales the given layer on the canvas using the map projection.
51    
52    2003-05-05  Bernhard Herzog  <[email protected]>
53    
54            Convert the table implementations to a new table interface. All
55            tables use a common mixin class to provide backwards compatibility
56            until all table users have been updated.
57    
58            * Thuban/Model/table.py (OldTableInterfaceMixin): Mixin class to
59            provide backwards compatibility for table classes implementing the
60            new interface
61            (DBFTable, MemoryTable): Implement the new table interface. Use
62            OldTableInterfaceMixin as base for compatibility
63            (DBFColumn, MemoryColumn): New. Column description for DBFTable
64            and MemoryTable resp.
65    
66            * test/test_dbf_table.py: New. Test cases for the DBFTable with
67            the new table interface.
68    
69            * test/test_memory_table.py: New. Test cases for the MemoryTable
70            with the new table interface.
71    
72            * test/test_table.py: Document the all tests in this file as only
73            for backwards compatibility. The equivalent tests for the new
74            interface are in test_memory_table.py and test_dbf_table.py
75            (MemoryTableTest.test_read): field_info should be returning tuples
76            with four items
77            (MemoryTableTest.test_write): Make doc-string a more precise.
78    
79            * Thuban/Model/transientdb.py (TransientTableBase): Convert to new
80            table interface. Derive from from OldTableInterfaceMixin for
81            compatibility.
82            (TransientTableBase.create): New intance variable column_map to
83            map from names and indices to column objects
84            (TransientTable.create): Use the new table interface of the input
85            table
86            (AutoTransientTable): Convert to new table interface. Derive from
87            from OldTableInterfaceMixin for compatibility.
88            (AutoTransientTable.write_record): Removed. It's not implemented
89            yet and we still have to decide how to handle writing with the new
90            table and data framework.
91    
92            * test/test_transientdb.py
93            (TestTransientTable.run_iceland_political_tests)
94            (TestTransientTable.test_transient_joined_table): Use the new
95            table interface
96    
97    2003-05-05  Jonathan Coles   <[email protected]>
98    
99            This is namely a collection of UI updates to improve user interactivity.
100            Tabbing between controls now exists and you can use ESC to close dialog
101            boxes; ENTER will active the default button.
102    
103            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Rearrange the
104            order that the controls are created so that tabbing works correctly.
105            (ClassGenDialog.OnOK): Renamed from _OnGenerate() so that the
106            wxDialog can handle the default button correctly.
107            (ClassGenDialog.OnCancel): Renamed from _OnCloseBtn() for the
108            same reasons as for OnOK.
109            (GenUniformPanel._OnRetrieve): Call wxBeginBusyCursor/wxEndBusyCursor
110            when we ask the table for the maximum/minimum values of a field
111            which could take a very long time.
112    
113            * Thuban/UI/classifier.py (Classifier.__init__): Rearrange the
114            order that the controls are created so that tabbing works correctly.
115            (SelectPropertiesDialog.__init__): Rearrange the order that the
116            controls are created so that tabbing works correctly.
117    
118            * Thuban/UI/dialogs.py: Copied NonModalDialog box and changed it
119            to derive from a wxDialog but behave like the original implementation
120            which was derived from a wxFrame. wxDialog provides useful key
121            handling functionality like ESC calling OnCancel and ENTER calling
122            OnOK which is lost with wxFrame.
123    
124            * Thuban/UI/mainwindow.py: Add "..." to menu items that will open
125            new dialogs.
126    
127            * Thuban/UI/projdialog.py (ProjFrame.__init__): Rearrange the
128            order that the controls are created so that tabbing works correctly.
129            (ProjFrame.OnApply): Renamed from _OnTry() to use wxDialog behaviour.
130            (ProjFrame.OnOK): Renamed from _OnOK() to use wxDialog behaviour.
131            (ProjFrame.OnCancel): Renamed from _OnClose() to use wxDialog behaviour.
132            (ProjPanel.__init__): Add "Airy" to the list of ellipsoids so we
133            can provide the "UK National Grid" as a default projection.
134            (UTMPanel.__init__): Rearrange the order that the controls are
135            created so that tabbing works correctly.
136    
137    2003-05-05  Bernhard Herzog  <[email protected]>
138    
139            * extensions/thuban/wxproj.cpp: Fix some of the comments.
140            (project_point): If a map projection but no layer projection is
141            given, convert degrees to radians before applying the map
142            projection.
143    
144            * Thuban/UI/tableview.py (TableGrid.disallow_messages)
145            (TableGrid.allow_messages): New methods to make it possible to
146            inhibit message sending.
147            (TableGrid.issue): Only send the message if not inhibited.
148            (LayerTableGrid.select_shape): Use the new methods to make sure
149            that no ROW_SELECTED message is sent while we're updating the
150            selected rows to match the selected shapes.
151    
152    2003-05-02  Jan-Oliver Wagner <[email protected]>
153    
154            Implementation of MemoryTable.
155    
156            * Thuban/Model/table.py (MemoryTable): New. Quite simple table
157            implementation that operates on a list of tuples. All of the data
158            are kept in the memory.
159    
160            * test/test_table.py (MemoryTableTest): New.
161    
162            * test/test_transientdb.py (SimpleTable): Removed.
163            (TestTransientTable.test_transient_joined_table,
164            (TestTransientTable.test_transient_table_read_twice): Replaced
165            SimpleTable by MemoryTable.
166    
167    2003-04-30  Jonathan Coles   <[email protected]>
168    
169            * Data/iceland_sample.thuban: Now contains correct projections
170            for each of the layers.
171    
172            * Resources/Projections/defaults.proj: Geographic projection
173            contains unit conversion parameter.
174    
175  2003-04-30  Jonathan Coles   <[email protected]>  2003-04-30  Jonathan Coles   <[email protected]>
176    
177          The most important part of this putback is the projection changes.          The most important part of this putback is the projection changes.

Legend:
Removed from v.793  
changed lines
  Added in v.833

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26