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

Legend:
Removed from v.64  
changed lines
  Added in v.256

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26