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

Legend:
Removed from v.44  
changed lines
  Added in v.247

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26