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

Legend:
Removed from v.89  
changed lines
  Added in v.280

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26