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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26