/[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 819 by bh, Mon May 5 17:18:51 2003 UTC revision 865 by frank, Thu May 8 12:35:14 2003 UTC
# Line 1  Line 1 
1    2003-05-08  Frank Koormann <[email protected]>
2    
3            Reorganization of scalebar component (no wx in Thuban/Model)
4    
5            * Thuban/Model/scalebar.py: Rendering moved to Thuban/UI/scalebar.py
6            (deriveInterval):
7            Calculate scalebar interval and unit which fits in width for scale.
8            (roundInterval): Round float.
9    
10            * Thuban/UI/scalebar.py (ScaleBar): Scalebar rendering
11    
12            * test/test_scalebar.py: Test for Thuban/Model/scalebar.py methods.
13    
14            * Thuban/UI/legend.py: Import Thuban.UI.scalebar
15    
16    2003-05-08  Frank Koormann <[email protected]>
17    
18            * Thuban/UI/legend.py (ScalebarBitmap.SetCanvas):
19            Initialize ScaleBar with canvas.map
20    
21            * Thuban/Model/scalebar.py (ScaleBar.roundInterval()): New,
22            round intervals to display smarter lengths
23            (ScaleBar.DrawScalebar): Draw Scalebar only if the map contains a
24            layer. If the maps has no projection applied grey the scalebar.
25    
26    2003-05-07  Frank Koormann <[email protected]>
27            
28            Basic Scalebar features added.
29    
30            * Thuban/Model/scalebar.py (ScaleBar): New, scalebar rendering.
31    
32            * Thuban/UI/legend.py (LegendPanel): Added scalebar bitmap
33            (ScaleBarBitmap): New, links the scalebar bitmap with view messages
34            and the renderer.
35    
36            * Thuban/UI/view.py (MapCanvas.set_view_transform): Issue SCALE_CHANGED.
37    
38            * Thuban/UI/messages.py: SCALE_CHANGED added.
39    
40    2003-05-07  Bernhard Herzog  <[email protected]>
41    
42            * Thuban/Model/session.py (Session.__init__): New instance
43            variable shapestores to hold a list of all open shapestore objects
44            (Session.ShapeStores): New. Accessor method for the shapestores
45            list.
46            (Session._add_shapestore, Session._clean_weak_store_refs): New.
47            Internal methods to maintain the shapestores list.
48            (Session.Tables): New. Return all tables open in the session.
49            (Session.OpenShapefile): Insert the new ShapeStore into the
50            shapestores list.
51    
52            * test/test_session.py (TestSessionSimple.test_initial_state): Add
53            tests for ShapeStores and Tables
54            (TestSessionWithContent.test_shape_stores)
55            (TestSessionWithContent.test_tables): New. Test cases for
56            ShapeStores and Tables
57    
58    2003-05-07  Bernhard Herzog  <[email protected]>
59    
60            * Thuban/Model/transientdb.py (TransientTableBase.ReadRowAsDict):
61            Add comments about the optimizations used.
62            (AutoTransientTable.ReadValue, TransientTableBase.ReadValue): New.
63            Implement the ReadValue table interface method.
64    
65            * test/test_transientdb.py
66            (TestTransientTable.run_iceland_political_tests)
67            (TestTransientTable.test_transient_joined_table): Add tests for
68            ReadValue
69    
70    2003-05-07  Frank Koormann <[email protected]>
71    
72            * Resources/Bitmaps/fulllayerextent.xpm,
73            Resources/Bitmaps/fullselextent.xpm: Replaced the place holders with
74            new icons.
75    
76    2003-05-06  Bernhard Herzog  <[email protected]>
77    
78            * Thuban/Model/transientdb.py (AutoTransientTable.SimpleQuery):
79            New. Simply delegate to the transient table's version.
80    
81            * test/test_transientdb.py
82            (TestTransientTable.test_auto_transient_table_query): New. Test
83            case for AutoTransientTable's SimpleQuery
84    
85    2003-05-06  Bernhard Herzog  <[email protected]>
86    
87            * Thuban/Model/transientdb.py (TransientTableBase.SimpleQuery):
88            Implement a simple query method for the query dialog
89            (TransientTableBase.create): Add an INTEGER PRIMARY KEY that holds
90            the row index or shapeid.
91            (TransientTable.create): Insert the right value of the row index
92            (TransientJoinedTable.create): Copy the row index of the left
93            table to the joined result table
94    
95            * test/test_transientdb.py
96            (TestTransientTable.test_transient_table_read_twice): Fix
97            doc-string
98            (TestTransientTable.test_transient_table_query): New. Test for the
99            SimpleQuery method
100    
101    2003-05-06  Bernhard Herzog  <[email protected]>
102    
103            Convert all table users to use the new table interface. This only
104            covers Thuban itself, not GREAT-ER or other applications built on
105            Thuban yet, so the compatibility interface stays in place for the
106            time being but it now issues DeprecationWarnings.
107    
108            Finally, the new Table interface has a new method, HasColumn.
109    
110            * Thuban/Model/table.py (OldTableInterfaceMixin): All methods
111            issue deprecation warnings when they're. The warnings refer to the
112            caller of the method.
113            (OldTableInterfaceMixin.__deprecation_warning): New. Helper method
114            for the deprecation warnings
115    
116            * test/test_table.py: Ignore the deprecation warnings for the old
117            table in the tests in this module. The purpose of the tests is to
118            test the old interface, after all.
119    
120            * test/test_transientdb.py
121            (TestTransientTable.run_iceland_political_tests): Use the
122            constants for the types. Add a test for HasColumn
123            (TestTransientTable.test_transient_joined_table): Adapt to new
124            table interface. Add a test for HasColumn
125            (TestTransientTable.test_transient_table_read_twice): Adapt to new
126            table interface
127    
128            * Thuban/UI/tableview.py (DataTable.SetTable, DataTable.GetValue):
129            Adapt to new table interface
130    
131            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Adapt to
132            new table interface
133    
134            * Thuban/UI/controls.py (RecordListCtrl.fill_list)
135            (RecordTable.SetTable): Adapt to new table interface
136    
137            * Thuban/UI/classifier.py (Classifier.__init__)
138            (Classifier.__init__): Adapt to new table interface
139    
140            * Thuban/UI/classgen.py (ClassGenDialog.__init__)
141            (GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
142            to new table interface
143    
144            * Thuban/Model/transientdb.py (TransientTableBase.HasColumn)
145            (AutoTransientTable.HasColumn): Implement the new table interface
146            method
147            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ValueRange)
148            (AutoTransientTable.UniqueValues): Adapt to new table interface
149    
150            * Thuban/Model/layer.py (Layer.SetShapeStore, Layer.GetFieldType):
151            Adapt to new table interface
152    
153            * test/test_layer.py (TestLayer.open_shapefile): Helper method to
154            simplify opening shapefiles a bit easier.
155            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
156            (TestLayer.test_point_layer): Use the new helper method
157            (TestLayer.test_get_field_type): New. Test for the GetFieldType
158            method
159    
160            * test/test_dbf_table.py (TestDBFTable.test_has_column): Test for
161            the new table method
162    
163            * test/test_memory_table.py (TestMemoryTable.test_has_column):
164            Test for the new table method HasColumn
165    
166    2003-05-06  Jonathan Coles   <[email protected]>
167    
168            Addresses the "Selection Extent" wish of RTbug #1787.
169    
170            * Resources/Bitmaps/fulllayerextent.xpm,
171            Resources/Bitmaps/fullselextent.xpm: Bitmaps for layer and selection
172            extent. These are just place holders for the real bitmaps.
173    
174            * Thuban/Model/layer.py (Shape): Since a Shape is immutable only
175            calculate the bounding box once (the first time compute_bbox() is
176            called).
177            (Layer.ShapesBoundingBox): New. Given a list of shape ids, return
178            the bounding box for the shapes in lat/long coordinates.
179    
180            * Thuban/UI/mainwindow.py: Added new "Full selection extent" menu
181            option.
182            (MainWindow.has_selected_shapes): New. Returns true if there are
183            any selected shapes.
184            (MainWindow.FullSelectionExtent): New. Calls
185            MapCanvas.FitSelectedToWindow() when the user selects the menu option.
186            (_has_selected_shapes): New. Returns true if there are any
187            selected shapes.
188    
189            * Thuban/UI/selection.py (Selection.HasSelectedShapes): New. Returns
190            true if there are any selected shapes.
191    
192            * Thuban/UI/view.py (MapCanvas): Added delegated method
193            HasSelectedShapes.
194            (MapCanvas.FitSelectedToWindow): New. Centers and scales any selected
195            shapes on the canvas using the map projection (if any).
196    
197            * test/test_layer.py (TestLayer.test_arc_layer): Add some tests
198            for Layer.ShapesBoundingBox().
199    
200    2003-05-06  Bernhard Herzog  <[email protected]>
201    
202            * Resources/Projections/defaults.proj: Fix spelling of Mercator
203    
204    2003-05-05  Jonathan Coles   <[email protected]>
205    
206            Addresses the "Full Layer Extent" wish of RTbug #1787.
207    
208            * Resources/Projections/defaults.proj: Added UK National Grid.
209    
210            * Thuban/UI/mainwindow.py: Added new "Full layer extent" menu option.
211            (MainWindow.FullLayerExtent): New. Calls MapCanvas.FitLayerToWindow()
212            when the user selects the menu option.
213    
214            * Thuban/UI/view.py (MapCanvas.FitLayerToWindow): New. Centers and
215            scales the given layer on the canvas using the map projection.
216    
217  2003-05-05  Bernhard Herzog  <[email protected]>  2003-05-05  Bernhard Herzog  <[email protected]>
218    
219          Convert the table implementations to a new table interface. All          Convert the table implementations to a new table interface. All

Legend:
Removed from v.819  
changed lines
  Added in v.865

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26