/[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 91 by bh, Thu Apr 4 14:55:35 2002 UTC revision 285 by bh, Tue Aug 27 14:08:43 2002 UTC
# Line 1  Line 1 
1    2002-08-27  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
4            dbf files only for reading by default. Use a new writable dbf
5            object for writing.
6    
7    2002-08-26  Bernhard Herzog  <[email protected]>
8    
9            * Thuban/UI/mainwindow.py: Refactor the context creation:
10            (MainWindow.Context): New method to return a context
11            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
12            new method
13    
14            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
15            layer table specific code from TableGrid into LayerTableGrid
16            (TableFrame, LayerTableFrame): Split the layer table specific code
17            from TableFrame into LayerTableFrame
18            (LayerTableGrid.select_shape): Remove a debug print
19    
20            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
21            LayerTableFrame
22    
23    2002-08-23  Bernhard Herzog  <[email protected]>
24    
25            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
26            absolute filename.
27    
28    2002-08-22  Bernhard Herzog  <[email protected]>
29    
30            * Thuban/Model/table.py (Table.write_record): New method to write
31            records.
32            (Table.__init__): Open the DBF file for writing too.
33    
34            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
35            into the underlying table.
36    
37            * extensions/shapelib/shapefil.h (DBFCommit),
38            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
39            commit any changes made to the DBF file.
40    
41            * Thuban/UI/mainwindow.py (make_check_current_tool)
42            (_tool_command): Put the code that generates the "checked"
43            callback into a separate function so that we can reuse it
44            elsewhere
45    
46            * Thuban/Model/save.py (Saver): New class to handle serializing a
47            session into an XML file. The main reason to introduce a class is
48            that applications built on Thuban can derive from it so that they
49            can save additional information in a session file.
50            (save_session): Delegate almost all the work to the Saver class.
51            Rename the filename argument to file because it may be a file like
52            object now.
53    
54            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
55            code. Remove the little test code which would be executed when the
56            module is run as a script which didn't work anymore since it can't
57            import the other Thuban modules.
58            (ProcessSession, load_session): Refactor the ProcessSession to
59            have one method for each element start and end tag so that derived
60            classes can easily override the processing of individual tags.
61            Also, always parse with namespaces enabled because applications
62            built on top of Thuban will likely use namespaces if they extend
63            the session file format.
64    
65    2002-08-21  Bernhard Herzog  <[email protected]>
66    
67            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
68            because thubaninit_contents will do it for us.
69    
70    2002-08-16      Jan-Oliver Wagner <[email protected]>
71    
72            * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
73            tree window already open
74    
75    2002-08-15  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/layer.py (Layer.Destroy): Call the unboundd method
78            with self.
79    
80            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Only release the mouse
81            when we have actually captured it.
82    
83            * Thuban/Model/layer.py (Layer.Destroy): New. Explicitly close the
84            shapefile and destroy the table.
85    
86            * Thuban/Model/table.py (Table.Destroy): New. Close the DBF file.
87    
88    2002-08-14  Bernhard Herzog  <[email protected]>
89    
90            * Thuban/UI/controls.py (RecordTable.__init__): Remove the unused
91            instance variable columns
92            (RecordTable.GetTypeName): row and col may be negative in some
93            cases.
94    
95            * setup.py (InstallLocal.initialize_options)
96            (InstallLocal.finalize_options, InstallLocal.user_options): New
97            option create-init-file to build a thubaninit.py when running
98            install_local
99            (InstallLocal.run): Create the thubaninit.py module when requested
100            (thubaninit_contents): Split the template into several parts and
101            create a new function thubaninit_contents that creates the
102            contents of a thubaninit module.
103            (ThubanInstall.run): Use the new function to create the thubaninit
104            module.
105    
106    2002-07-30  Bernhard Herzog  <[email protected]>
107    
108            * Thuban/UI/application.py (ThubanApplication.OnExit): Do some
109            cleanup.
110            (ThubanApplication.MainLoop): Extend to automatically call OnExit.
111    
112            * Thuban/Model/session.py (Session.Destroy): Don't bypass the
113            direct base class' Destroy method.
114    
115            * Thuban/Model/map.py (Map.ClearLayers): New method to delete all
116            layers.
117            (Map.Destroy): Destroy the label_layer as well and call the
118            inherited Desatroymethod first so that no more messages are
119            issued.
120            (Map.RaiseLayer, Map.LowerLayer): Only issue LAYERS_CHANGED
121            message if the stacking order actually has changed. Add
122            doc-strings.
123            (Map.BoundingBox): Correct the doc-string.
124            (Map.AddLayer, Map.RemoveLayer, Map.Layers, Map.HasLayers)
125            (Map.ProjectedBoundingBox, Map.SetProjection): Add doc-strings.
126    
127            * Thuban/Model/label.py (LabelLayer.ClearLabels): New to delete
128            all labels.
129    
130    2002-07-29  Bernhard Herzog  <[email protected]>
131    
132            * Thuban/Model/map.py (Map.subscribe_layer_channels)
133            (Map.unsubscribe_layer_channels): Put the code that (un)subscribes
134            to a layer's channels into separate methods.
135            (Map.RemoveLayer, Map.AddLayer): Call the new methods
136            (Map.Destroy): Unsubscribe from a layer's channels before
137            destroying it.
138    
139            * Thuban/UI/view.py (MapCanvas.find_shape_at): Change the
140            selected_layer parameter to searched_layer which is the layer to
141            search in.
142            (MapCanvas.SelectShapeAt): New parameter layer to restrict the
143            search to that layer. Return the selected layer and shape.
144    
145            * Examples/simple_extensions/simple_tool.py (simple_tool): Fix a
146            typo
147    
148    2002-07-24  Bernhard Herzog  <[email protected]>
149    
150            * Thuban/UI/application.py (ThubanApplication.create_session):
151            Extend the doc string.
152            (ThubanApplication.subscribe_session)
153            (ThubanApplication.unsubscribe_session): New methods to
154            subscribe/unsubscribe to/from session channels.
155            (ThubanApplication.SetSession): Call the new methods here.
156            (ThubanApplication.maps_changed, ThubanApplication.set_map):
157            Renamed set_map to maps_changed. Its now a subscriber for
158            MAPS_CHANGED.
159    
160            * Thuban/UI/view.py (ZoomOutTool.MouseUp): Use the correct
161            x-coordinate in case of simple clicks
162    
163            * Thuban/Model/base.py (Modifiable.changed): Apply the args tuple,
164            don't pass it as a parameter
165    
166            * Thuban/Model/session.py (Session.RemoveMap): New
167    
168            * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial
169            window size into a parameter.
170    
171    2002-07-23  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/UI/menu.py (Menu.item_index): Also search for menus not
174            just commands.
175    
176            * Thuban/UI/mainwindow.py (MainWindow.__init__): Change the
177            parameter list a bit to allow setting the window title and the
178            initial message in the status bar. Update the callers.
179    
180            * Thuban/UI/application.py (ThubanApplication.OnInit)
181            (ThubanApplication.CreateMainWindow): Put the mainwindow
182            instantiation into a separate method so that it can be overridden
183            by a subclass.
184    
185    2002-07-19  Bernhard Herzog  <[email protected]>
186    
187            * Thuban/Model/session.py: Issue a CHANGED message every time
188            another changed message is issued to make it easier to get
189            notified of changes.
190            (Session): Update the doc string
191            (Session.forward): Issue changed-events as CHANGED as well.
192            (Session.changed): Overwrite the inherited version to issue
193            CHANGED events as well.
194    
195            * Thuban/UI/tree.py: We can now simply subscribe to the session's
196            CHANGED channel to be informed of changes.
197            (SessionTreeCtrl.session_channels): Not needed any longer.
198            (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
199            Only have to (un)subscribe CHANGED
200    
201            * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
202    
203            * Thuban/UI/main.py, Thuban/UI/__init__.py: Move the work-around
204            for the wxPython locale bug to __init__.py so that it's
205            automatically executed by anybody using UI code from Thuban.
206    
207    2002-07-18  Bernhard Herzog  <[email protected]>
208    
209            * Thuban/UI/main.py (main): app no longer needs to be global
210    
211            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add application
212            as parameter and store it in an instance variable
213            (MainWindow.invoke_command, MainWindow.update_command_ui)
214            (MainWindow.save_modified_session, MainWindow.NewSession)
215            (MainWindow.OpenSession, MainWindow.SaveSession)
216            (MainWindow.SaveSessionAs, MainWindow.ShowSessionTree): Use self's
217            application object.
218    
219            * Thuban/UI/application.py (ThubanApplication.OnInit): Instantiate
220            the main window with self.
221    
222            * Thuban/UI/context.py: New module with the context class
223    
224            * Thuban/UI/command.py (Command): Update doc string.
225    
226            * Thuban/UI/mainwindow.py (MainWindow.invoke_command,
227            MainWindow.update_command_ui): Pass an instance of the context
228            class to the command's methods
229            (check_current_tool, call_method): Handle the new context
230            implementation
231    
232            * Examples/simple_extensions/simple_tool.py (simple_tool,
233            check_simple_tool): Handle the new context implementation
234    
235            * Examples/simple_extensions/simple_command.py (simple_command):
236            Handle the new context implementation. Update the comments about
237            the context.
238    
239            * Thuban/UI/application.py (ThubanApplication.SetSession): Add
240            doc-string
241            (ThubanApplication.Session): New method to return the session
242            object
243    
244            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): The
245            interactor's selected_layer may not be a layer of the current
246            session when the tree is updated while a new session is being set.
247    
248    2002-07-17  Bernhard Herzog  <[email protected]>
249    
250            * Thuban/UI/tree.py (color_string): Removed. No longer used.
251            (SessionTreeCtrl.update_tree, SessionTreeCtrl.add_items): Split
252            update_tree into update_tree and add_items. The tree now uses a
253            more generic way to display the contents of the tree.
254            (SessionTreeCtrl): Add a doc string explaining the TreeInfo method
255    
256            * Thuban/Model/layer.py (Layer.TreeInfo),
257            Thuban/Model/extension.py (Extension.TreeInfo),
258            Thuban/Model/map.py (Map.TreeInfo),
259            Thuban/Model/session.py (Session.TreeInfo):
260            Add TreeInfo methods to implement the new tree view update scheme
261    
262    2002-07-16  Bernhard Herzog  <[email protected]>
263    
264            * Thuban/UI/application.py: Don't use "import from" for the
265            MainWindow. It can't always be resolved.
266            (ThubanApplication.OnInit): change reference to MainWindow
267            accordingly.
268    
269            * Thuban/UI/menu.py (Menu.SetItems): New method to replace a menu
270            completely
271    
272    2002-07-10  Bernhard Herzog  <[email protected]>
273    
274            * setup.py (create_init_module): New configurable variable whose
275            default depends on the platform we're running on.
276            (ThubanInstall.initialize_options): Initialize
277            self.create_init_module from the global create_init_module
278            (ThubanInstall.user_options): indictate that the options
279            create-init-module and init-module-dir have arguments.
280    
281            * setup.py: In the setup call change the version number to include
282            cvs.
283    
284            * MANIFEST.in: Add the files in Examples
285    
286    2002-07-09  Bernhard Herzog  <[email protected]>
287    
288            * setup.py: In the setup call, use the thuban homepage as the
289            value of the url parameter.
290    
291            * Examples: New subdirectory for examples.
292    
293            * Examples/simple_extensions/simple_tool.xpm,
294            Examples/simple_extensions/simple_tool.py,
295            Examples/simple_extensions/simple_command.py,
296            Examples/simple_extensions/README: Simple examples showing how to
297            add new commands and tools.
298    
299            * setup.cfg (bdist_rpm): Add the default value for prefix and tell
300            bdist_rpm that we also have an install script.
301            (bdist_inno): Add 2002 to the copyright notice.
302    
303            * setup.py: Create a file in python's site-packages directory to
304            make installation of Thuban as a library easier.
305            (ThubanInstall.user_options): Add two new options,
306            create-init-module and init-module-dir
307            (ThubanInstall.expand_with_pure_python_dirs): New method to expand
308            filenames for installation in the default directories.
309            (ThubanInstall.select_scheme, ThubanInstall.convert_paths): Extend
310            the inherited methods to capture some filenames before they're
311            transformed too much by distutils.
312            (ThubanInstall.run): Create the init module if requested.
313            (ThubanInstall.thuban_init_filename): New method to return the
314            full name of the init module.
315            (ThubanInstall.get_outputs): Append the filename of the init
316            module.
317    
318    2002-07-08  Bernhard Herzog  <[email protected]>
319    
320            * setup.py (thuban_bdist_rpm): Extend this version of bdist_rpm to
321            handle the prefix properly which means that the default for the
322            installation prefix should be /usr for RPMs and /usr/local when
323            doing a normal source install.
324            (bdist_rpm_install_script): Script to override the default install
325            commands in the specfile generated by the bdist_rpm command.
326            (thuban_bdist_rpm.user_options): Add a prefix option
327            (thuban_bdist_rpm.initialize_options): Init the prefix option.
328            Create the script files for the spec files as empty files here
329            (thuban_bdist_rpm._make_spec_file): Override the inherited method
330            to fill the script files with content.
331    
332            * Thuban/Model/save.py (relative_filename): Wrapper around
333            Thuban.Lib.fileutil.relative_filename that accepts an empty dir
334            argument. save_session now automatically uses this version,
335            solving a problem when saving to a relative filename.
336    
337            * setup.py: In the setup call, make sure that the library
338            directories are under $prefix/lib not directly under $prefix.
339    
340    2002-06-20      Jan-Oliver Wagner <[email protected]>
341    
342            * Thuban/Model/extension.py: new module to handle extension objects.
343            * Thuban/Model/messages.py: new messages for extensions.
344            * Thuban/Model/session.py (Session.Extensions, Session.HasExtensions,
345            Session.AddExtension): new for handling extensions.
346            Also some other minor changes to round up extension handling.
347            * Thuban/UI/tree.py (SessionTreeCrtl:update_tree): Added visualization
348            of Extension titles and title and names of its objects.
349    
350    2002-05-29  Bernhard Herzog  <[email protected]>
351    
352            * Thuban/UI/mainwindow.py (MainWindow.bind_command_events): Bind
353            the events for a command.
354            (MainWindow.add_toolbar_command, MainWindow.add_menu_command):
355            Call bind_command_events to bind the events. add_toolbar_command
356            can now bind events too so that it's possible to have commands
357            that are only available through the toolbar.
358            (MainWindow.init_ids): New instance variable events_bound to keep
359            track of for which commands events have been bound.
360    
361    2002-05-28  Bernhard Herzog  <[email protected]>
362    
363            * Thuban/UI/menu.py: New module to build and manage menus.
364    
365            * Thuban/UI/mainwindow.py: Remove some unused imports.
366            (MainWindow.__init__, main_menu): move the definition of the main
367            menu from __init__ to the Menu instance main_menu.
368            (MainWindow.build_menu_bar, MainWindow.build_menu): New methods to
369            build the menu bar and sub-menus from a menu description.
370    
371            * Thuban/UI/application.py (ThubanApplication.OnInit): Read the
372            startup file
373            (ThubanApplication.read_startup_files): New method to run
374            ~/.thuban/thubanstart.py
375    
376            * Thuban/UI/mainwindow.py (MainWindow.__init__, main_toolbar):
377            Move the toolbar definition to the Menu instance main_toolbar.
378            (MainWindow.build_toolbar): New method to build the toolbar
379            similar to the build_menu methods
380    
381    2002-05-23  Bernhard Herzog  <[email protected]>
382    
383            * Thuban/UI/mainwindow.py (MainWindow.__init__): Fix spelling of
384            layer_outline_color. Fix it in the definition of the command too.
385    
386            * Thuban/UI/command.py (Command): Fix typo in doc string
387    
388    2002-05-22  Bernhard Herzog  <[email protected]>
389    
390            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Fix a typo
391            in the docstring
392    
393    2002-05-15  Bernhard Herzog  <[email protected]>
394    
395            * Thuban/Model/layer.py (Layer.open_shapefile): Set bbox to None
396            when the shapefile is empty.
397            (Layer.BoundingBox, Layer.LatLongBoundingBox): Both methods may
398            now return None for empty shapefiles. Update doc-strings.
399    
400            * Thuban/Model/map.py (Map.BoundingBox): Add doc-string. Deal with
401            the layer's bbox being None.
402    
403            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
404            layer's bbox being None.
405    
406            * Thuban/UI/view.py (MapCanvas.shape_selected): Only redraw when
407            necessary.
408            (MapCanvas.__init__): New instance variables, last_selected_layer
409            and last_selected_shape to determine how the selection has
410            changed.
411    
412            * Thuban/UI/tableview.py (TableGrid.__init__): Do not call
413            AutoSizeColumns because it will cause a traversal of the entire
414            table which for large .dbf files will take a very long time.
415    
416    2002-05-14  Bernhard Herzog  <[email protected]>
417    
418            * Thuban/Model/layer.py (Layer.open_shapefile): Choose a better
419            maximum depth for the tree than shapelib does by default.
420    
421    2002-05-10  Bernhard Herzog  <[email protected]>
422    
423            * setup.py (py_modules): The shptree modules doesn't have a
424            wrapper, so don't include it in the py_modules
425    
426    2002-05-08  Bernhard Herzog  <[email protected]>
427    
428            * extensions/shapelib/shptree.c (compare_ints): Make arguments
429            const void * as in the qsort prototype
430            (SHPTreeFindLikelyShapes): Remove some unused variables.
431    
432            * Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
433            maintains to redraw the window during a drag.
434            (MapCanvas.unprojected_rect_around_point): New method to determine
435            a small region around a point for hit-testing.
436            (MapCanvas.find_shape_at): Only test the shapes in a small region
437            around the point.
438    
439            * setup.py: Increment the version to 0.1.2
440    
441            * Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
442            debug print and set session to None after unsubscribing
443    
444    2002-05-07  Bernhard Herzog  <[email protected]>
445    
446            * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
447            the file to have a .thuban extension.
448    
449            * Thuban/UI/tree.py (session_channels): New class constant with
450            all the session channels to subscribe to to update the tree
451            (SessionTreeCtrl.session_changed): Remember the session so that we
452            can unsubscribe properly. Use the new class constant to
453            unsubscribe from the old session and subscribe to the new one.
454            (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
455            subscriptions of the SessionTreeCtrl.
456            (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
457    
458            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
459            Session Tree" command to the file menu.
460    
461            * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
462            as update_region to the renderer.
463    
464            * Thuban/UI/renderer.py
465            (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
466            update box is now directly a tuple, not a wxRect anymore.
467    
468            * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
469            prints.
470    
471    2002-05-07  Bernhard Herzog  <[email protected]>
472    
473            * setup.py: Add the shptree extension module. See
474            extensions/pyshapelib/ChangeLog for more details.
475    
476            * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
477            extensions/shapelib/dbfopen.c: Really update to the versions of
478            shapelib 1.2.9. For some reason it wasn't really done on
479            2002-04-11.
480    
481            * extensions/shapelib/shptree.c: Modified version of shptree.c of
482            shapelib 1.2.9. The only real difference is the use of qsort
483            instead of a bubble sort implementation
484    
485            * Thuban/Model/layer.py (Layer.__init__): New instance variable
486            shapetree to hold the shapelib quadtree for the shapefile
487            (Layer.open_shapefile): Create the quad tree.
488            (Layer.ShapesInRegion): New method to return the ids of shapes in
489            a given region using the quad tree.
490    
491            * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
492            comment
493            (draw_polygon_shape): Accept both arcs and polygons.
494            (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
495            the api.
496    
497            * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
498            return the shape ids to be rendered in a given layer.
499            (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
500            ids. Use draw_polygon_shape to draw arc shapes as well.
501            (ScreenRenderer.RenderMap): New parameter for the rectangle that
502            has to be updated
503            (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
504            calling it's ShapesInRegion method.
505    
506            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
507            update_region for the update region.
508            (MapCanvas.OnPaint): Maintain the update region
509            (MapCanvas.do_redraw): Pass the bounding box of the update_region
510            to the renderer when drawing the bitmap. Reset the update_region.
511    
512    2002-05-03  Bernhard Herzog  <[email protected]>
513    
514            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
515            MainWindow.OpenSession): Change the file extension of the session
516            files to .thuban
517    
518            * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
519            Move the map channels to be forwarded by the session into the
520            class constant with forwarded_channels. Also add
521            LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
522            forwarded_channels
523    
524            * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
525            typo and some rewording).
526    
527    2002-05-02  Bernhard Herzog  <[email protected]>
528    
529            * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
530            around to speed up most redraws:
531            (MapCanvas.__init__): New instance variable bitmap which holds the
532            bitmap
533            (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
534            self.bitmap to draw.
535            (MapCanvas.full_redraw): New method to force a full redraw
536            including the bitmap
537            (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
538            make sure the bitmap is redrawn.
539            (MapCanvas.projection_changed, MapCanvas.set_view_transform,
540            MapCanvas.shape_selected): Call full_redraw instead of readraw to
541            make sure the bitmap is redrawn.
542            (MapCanvas.OnSize): New method to handle size events so that the
543            bitmap can be redrawn.
544    
545    2002-04-29  Bernhard Herzog  <[email protected]>
546    
547            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
548            canvas' VIEW_POSITION event
549            (MainWindow.view_position_changed): Handler for VIEW_POSITION.
550            Update the text in the status-bar accordingly.
551    
552            * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
553            (MapCanvas.__del__): Implement because Publisher.__del__ has to be
554            called.
555            (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
556            current_position
557            (MapCanvas.set_current_position): New method to set
558            current_position. Issue a VIEW_POSITION event
559            (MapCanvas.CurrentPosition): New public method to return the value
560            of current_position. Should be called when the VIEW_POSITION event
561            is processed.
562            (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
563            Update the position.
564            (MapCanvas.OnLeaveWindow): Set the position to None.
565    
566            * Thuban/UI/messages.py (VIEW_POSITION): New message for the
567            position in the statusbar
568    
569    2002-04-26      Frank Koormann <[email protected]>
570    
571            * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
572    
573    2002-04-24      Frank Koormann <[email protected]>
574            
575            * Resources/Bitmaps/identify.xpm: shadow added
576    
577            * Resources/Bitmaps/fullextent.xpm: new
578            
579    2002-04-22      Jan-Oliver Wagner <[email protected]>
580    
581            * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
582    
583    2002-04-21      Jan-Oliver Wagner <[email protected]>
584    
585            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
586    
587            * Thuban/UI/tree.py (update_tree): added added map extent
588    
589            * Thuban/UI/mainwindow.py (_method_command): extended by parameter
590            icon; added map_full_extend as tool
591    
592    2002-04-19      Jan-Oliver Wagner <[email protected]>
593    
594            * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
595            saving _new_ sessions
596    
597            * Thuban/Model/session.py (create_empty_session): new session
598            don't have a filename (set to None)
599    
600            * Thuban/UI/tree.py (update_tree): added filename and modified flag
601    
602            * Thuban/Model/load.py (ProcessSession): convert projection
603            parameters from unicode to regular string
604    
605            * Data/iceland_sample.session: Added UTM Zone 26 projection.
606    
607    2002-04-11  Bernhard Herzog  <[email protected]>
608    
609            * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
610            extensions/shapelib/dbfopen.c: Update to the versions of shapelib
611            1.2.9
612    
613            * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
614            the pyshapelib directoy into the list of include dirs, so that
615            pyshapelib_api.h can be found.
616    
617            * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
618            holds the pyshapelib C-API
619            (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
620            pyshapelib_api to access the shapelib functions.
621            (initwxproj): Import the c_api from the shapelib module and
622            initialize pyshapelib_api.
623    
624  2002-04-04  Bernhard Herzog  <[email protected]>  2002-04-04  Bernhard Herzog  <[email protected]>
625    
626          * setup.py (thuban_bdist_rpm.initialize_options): Use          * setup.py (thuban_bdist_rpm.initialize_options): Use

Legend:
Removed from v.91  
changed lines
  Added in v.285

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26