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

Legend:
Removed from v.81  
changed lines
  Added in v.202

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26