/[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 72 by bh, Fri Feb 1 17:21:18 2002 UTC revision 180 by bh, Wed May 15 14:03:02 2002 UTC
# Line 1  Line 1 
1    2002-05-15  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/layer.py (Layer.open_shapefile): Set bbox to None
4            when the shapefile is empty.
5            (Layer.BoundingBox, Layer.LatLongBoundingBox): Both methods may
6            now return None for empty shapefiles. Update doc-strings.
7    
8            * Thuban/Model/map.py (Map.BoundingBox): Add doc-string. Deal with
9            the layer's bbox being None.
10    
11            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
12            layer's bbox being None.
13    
14            * Thuban/UI/view.py (MapCanvas.shape_selected): Only redraw when
15            necessary.
16            (MapCanvas.__init__): New instance variables, last_selected_layer
17            and last_selected_shape to determine how the selection has
18            changed.
19    
20            * Thuban/UI/tableview.py (TableGrid.__init__): Do not call
21            AutoSizeColumns because it will cause a traversal of the entire
22            table which for large .dbf files will take a very long time.
23    
24    2002-05-14  Bernhard Herzog  <[email protected]>
25    
26            * Thuban/Model/layer.py (Layer.open_shapefile): Choose a better
27            maximum depth for the tree than shapelib does by default.
28    
29    2002-05-10  Bernhard Herzog  <[email protected]>
30    
31            * setup.py (py_modules): The shptree modules doesn't have a
32            wrapper, so don't include it in the py_modules
33    
34    2002-05-08  Bernhard Herzog  <[email protected]>
35    
36            * extensions/shapelib/shptree.c (compare_ints): Make arguments
37            const void * as in the qsort prototype
38            (SHPTreeFindLikelyShapes): Remove some unused variables.
39    
40            * Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
41            maintains to redraw the window during a drag.
42            (MapCanvas.unprojected_rect_around_point): New method to determine
43            a small region around a point for hit-testing.
44            (MapCanvas.find_shape_at): Only test the shapes in a small region
45            around the point.
46    
47            * setup.py: Increment the version to 0.1.2
48    
49            * Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
50            debug print and set session to None after unsubscribing
51    
52    2002-05-07  Bernhard Herzog  <[email protected]>
53    
54            * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
55            the file to have a .thuban extension.
56    
57            * Thuban/UI/tree.py (session_channels): New class constant with
58            all the session channels to subscribe to to update the tree
59            (SessionTreeCtrl.session_changed): Remember the session so that we
60            can unsubscribe properly. Use the new class constant to
61            unsubscribe from the old session and subscribe to the new one.
62            (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
63            subscriptions of the SessionTreeCtrl.
64            (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
65    
66            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
67            Session Tree" command to the file menu.
68    
69            * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
70            as update_region to the renderer.
71    
72            * Thuban/UI/renderer.py
73            (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
74            update box is now directly a tuple, not a wxRect anymore.
75    
76            * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
77            prints.
78    
79    2002-05-07  Bernhard Herzog  <[email protected]>
80    
81            * setup.py: Add the shptree extension module. See
82            extensions/pyshapelib/ChangeLog for more details.
83    
84            * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
85            extensions/shapelib/dbfopen.c: Really update to the versions of
86            shapelib 1.2.9. For some reason it wasn't really done on
87            2002-04-11.
88    
89            * extensions/shapelib/shptree.c: Modified version of shptree.c of
90            shapelib 1.2.9. The only real difference is the use of qsort
91            instead of a bubble sort implementation
92    
93            * Thuban/Model/layer.py (Layer.__init__): New instance variable
94            shapetree to hold the shapelib quadtree for the shapefile
95            (Layer.open_shapefile): Create the quad tree.
96            (Layer.ShapesInRegion): New method to return the ids of shapes in
97            a given region using the quad tree.
98    
99            * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
100            comment
101            (draw_polygon_shape): Accept both arcs and polygons.
102            (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
103            the api.
104    
105            * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
106            return the shape ids to be rendered in a given layer.
107            (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
108            ids. Use draw_polygon_shape to draw arc shapes as well.
109            (ScreenRenderer.RenderMap): New parameter for the rectangle that
110            has to be updated
111            (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
112            calling it's ShapesInRegion method.
113    
114            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
115            update_region for the update region.
116            (MapCanvas.OnPaint): Maintain the update region
117            (MapCanvas.do_redraw): Pass the bounding box of the update_region
118            to the renderer when drawing the bitmap. Reset the update_region.
119    
120    2002-05-03  Bernhard Herzog  <[email protected]>
121    
122            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
123            MainWindow.OpenSession): Change the file extension of the session
124            files to .thuban
125    
126            * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
127            Move the map channels to be forwarded by the session into the
128            class constant with forwarded_channels. Also add
129            LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
130            forwarded_channels
131    
132            * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
133            typo and some rewording).
134    
135    2002-05-02  Bernhard Herzog  <[email protected]>
136    
137            * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
138            around to speed up most redraws:
139            (MapCanvas.__init__): New instance variable bitmap which holds the
140            bitmap
141            (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
142            self.bitmap to draw.
143            (MapCanvas.full_redraw): New method to force a full redraw
144            including the bitmap
145            (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
146            make sure the bitmap is redrawn.
147            (MapCanvas.projection_changed, MapCanvas.set_view_transform,
148            MapCanvas.shape_selected): Call full_redraw instead of readraw to
149            make sure the bitmap is redrawn.
150            (MapCanvas.OnSize): New method to handle size events so that the
151            bitmap can be redrawn.
152    
153    2002-04-29  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
156            canvas' VIEW_POSITION event
157            (MainWindow.view_position_changed): Handler for VIEW_POSITION.
158            Update the text in the status-bar accordingly.
159    
160            * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
161            (MapCanvas.__del__): Implement because Publisher.__del__ has to be
162            called.
163            (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
164            current_position
165            (MapCanvas.set_current_position): New method to set
166            current_position. Issue a VIEW_POSITION event
167            (MapCanvas.CurrentPosition): New public method to return the value
168            of current_position. Should be called when the VIEW_POSITION event
169            is processed.
170            (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
171            Update the position.
172            (MapCanvas.OnLeaveWindow): Set the position to None.
173    
174            * Thuban/UI/messages.py (VIEW_POSITION): New message for the
175            position in the statusbar
176    
177    2002-04-26      Frank Koormann <[email protected]>
178    
179            * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
180    
181    2002-04-24      Frank Koormann <[email protected]>
182            
183            * Resources/Bitmaps/identify.xpm: shadow added
184    
185            * Resources/Bitmaps/fullextent.xpm: new
186            
187    2002-04-22      Jan-Oliver Wagner <[email protected]>
188    
189            * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
190    
191    2002-04-21      Jan-Oliver Wagner <[email protected]>
192    
193            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
194    
195            * Thuban/UI/tree.py (update_tree): added added map extent
196    
197            * Thuban/UI/mainwindow.py (_method_command): extended by parameter
198            icon; added map_full_extend as tool
199    
200    2002-04-19      Jan-Oliver Wagner <[email protected]>
201    
202            * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
203            saving _new_ sessions
204    
205            * Thuban/Model/session.py (create_empty_session): new session
206            don't have a filename (set to None)
207    
208            * Thuban/UI/tree.py (update_tree): added filename and modified flag
209    
210            * Thuban/Model/load.py (ProcessSession): convert projection
211            parameters from unicode to regular string
212    
213            * Data/iceland_sample.session: Added UTM Zone 26 projection.
214    
215    2002-04-11  Bernhard Herzog  <[email protected]>
216    
217            * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
218            extensions/shapelib/dbfopen.c: Update to the versions of shapelib
219            1.2.9
220    
221            * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
222            the pyshapelib directoy into the list of include dirs, so that
223            pyshapelib_api.h can be found.
224    
225            * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
226            holds the pyshapelib C-API
227            (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
228            pyshapelib_api to access the shapelib functions.
229            (initwxproj): Import the c_api from the shapelib module and
230            initialize pyshapelib_api.
231    
232    2002-04-04  Bernhard Herzog  <[email protected]>
233    
234            * setup.py (thuban_bdist_rpm.initialize_options): Use
235            initialize_options to create the scripts for the rpm.
236    
237            * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
238    
239    2002-04-03  Bernhard Herzog  <[email protected]>
240    
241            * setup.py: Increment version to 0.1.1
242    
243            * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
244            Layer" and "Remove Layer" commands from the layer menu to the map
245            menu
246    
247    2002-02-15  Bernhard Herzog  <[email protected]>
248    
249            * Thuban/Model/layer.py (Layer.Shape): list append only takes one
250            argument (python <= 1.5.2 erroneously accepted multiuple
251            arguments)
252    
253    2002-02-04  Bernhard Herzog  <[email protected]>
254    
255            * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
256            RecordGrid in the identifyview.
257            (IdentifyView.__init__): Use IdentifyGridCtrl instead of
258            IdentifyListCtrl. The grid allows editing of the values.
259    
260            * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
261            implementing a grid for a single row of a thuban table.
262    
263            * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
264            layers by default. Easier to use than the previous default of only
265            searching through the select layer which meant that if no layer
266            was selected, you couldn't select a shape.
267    
268            * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
269    
270            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
271            stroke_width attribute
272    
273            * Thuban/Model/save.py (save_session): Write the new stroke_width
274            attribute
275    
276            * Thuban/Model/load.py (ProcessSession.startElement): Read the
277            stroke_width attribute
278    
279            * Thuban/Model/layer.py (Layer.__init__): New parameter and
280            instance variable stroke_width
281            (Layer.SetStrokeWidth): Set the stroke_width.
282    
283  2002-02-01  Bernhard Herzog  <[email protected]>  2002-02-01  Bernhard Herzog  <[email protected]>
284    
285          * extensions/thuban/wxproj.cpp (project_points): Fix two          * extensions/thuban/wxproj.cpp (project_points): Fix two

Legend:
Removed from v.72  
changed lines
  Added in v.180

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26