/[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 208 by bh, Tue Jul 9 14:57:03 2002 UTC revision 402 by bh, Tue Feb 11 15:19:47 2003 UTC
# Line 1  Line 1 
1    2003-02-11  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/application.py (ThubanApplication.splash_screen): New
4            method to create a splash screen.
5            (ThubanApplication.ShowMainWindow): New. Show the main window.
6            Needed so the splash screen can display the mainwindow
7            (ThubanApplication.OnInit): Call the
8            new splash_screen method to determine whether the application
9            should display a splash screen. If it displays a splash screen do
10            not immediately show the main window.
11    
12    2003-02-11  Jonathan Coles  <[email protected]>
13    
14            * Thuban/Model/classification.py: Added import line to fix
15            feature conflicts between running on python2.2 and python2.1.
16    
17            * Thuban/UI/classifier.py (ClassTable): Didn't need to hang
18            onto the clinfo parameter, so removed the deepcopy().
19    
20    2003-02-10  Jonathan Coles  <[email protected]>
21    
22            * Thuban/Model/save.py (Saver.open_element, Saver.close_element):
23            Added element_open variable to track opening and closing of tags
24            so that tags that don't span more than one line are closed with
25            /> instead of </tag_name>. Use the GetDefault*() methods of
26            the Classification class.
27    
28            * Thuban/Model/classification.py (Classificaton): Added set and
29            get methods for the default data. The class also takes a layer
30            reference so that modification messages can be sent. Fixed the
31            methods to use the new ClassData class.
32            (ClassData): New class to encapsulate the classification data
33    
34            * Thuban/Model/layer.py (Layer): Remove the
35            Set[Fill|Stroke|StrokeWidth]() methods. Code should call the
36            SetDefault*() methods on the layer's classification object.
37            (Layer.__init__): Use the new SetDefault*() methods in the
38            Classification class.
39    
40            * Thuban/Model/load.py (ProcessSession): Use the new ClassData
41            object instead of a dictionary.
42    
43            * Thuban/UI/classifier.py (ClassRenderer): New class to
44            draw the classifications in the dialog box's table.
45            (Classifier): Modified to use the ClassRenderer class.
46    
47            * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
48            methods of the Classification class.    
49    
50            * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
51            of the ClassData class.
52    
53            * test/test_classification.py, test/test_layer.py,
54            test/test_map.py, test/test_session.py: Fix the tests to work
55            with the above code changes.
56    
57    2003-02-03  Jonathan Coles  <[email protected]>
58    
59            * Thuban/Model/classification.py (Classification): Added getNull()
60            to return the NullData reference
61    
62            * Thuban/Model/layer.py (Layer.SetFill, Layer.SetStroke,
63            Layer.SetStrokeWidth): Modified these functions to change the
64            null data in the classification rather than keep these values
65            directly in the Layer class. Menu options to change these values
66            work again.
67    
68    2003-01-28  Jonathan Coles  <[email protected]>
69    
70            * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.
71            Fixed crashing problem on some systems. Dialog box shows
72            classification data.
73    
74            * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing
75            Colors in the tree view.
76    
77            * Thuban/Model/layer.py (Layer.TreeInfo): Added a call to build
78            the tree info for classifications. Commented out unnecessary lines.
79    
80            * Thuban/Model/classification.py (Classification.TreeInfo): New
81            function to add information about the classification into the
82            tree view.
83    
84    2003-01-27      Jan-Oliver Wagner <[email protected]>
85    
86            * Thuban/__init__.py (_): New.
87    
88            * Thuban/Model/classification.py, Thuban/Model/extension.py,
89            Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,
90            Thuban/Model/session.py, Thuban/UI/application.py, Thuban/UI/classifier.py,
91            Thuban/UI/context.py, Thuban/UI/controls.py, Thuban/UI/identifyview.py,
92            Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py, Thuban/UI/menu.py,
93            Thuban/UI/proj4dialog.py, Thuban/UI/renderer.py, Thuban/UI/tree.py,
94            Thuban/Lib/connector.py, Thuban/Lib/fileutil.py:
95            Replace user string by _() for i18n.
96    
97    2003-01-27  Jonathan Coles  <[email protected]>
98    
99      * Thuban/Model/layer.py: Classification initialization calls.
100    
101      * Thuban/Model/classification.py: Created class to encapsulate
102      a layer classification. Supports specific data points and
103      ranges.
104    
105      * Thuban/Model/load.py: Added support for loading classification
106      information.
107    
108      * Thuban/Model/save.py: Added support for saving classification
109      information.
110    
111      * Thuban/UI/classifier.py: Initial class for a dialog box for
112      specifying classification information.
113    
114      * Thuban/UI/mainwindows.py: Support for opening the classifier
115      dialog.
116    
117      * Thuban/UI/renderer.py: Support for drawing a layer with the
118      classification information.
119    
120      * Data/iceland_sample_class.thuban: iceland_sample with
121      classification data.
122    
123      * test/test_classification: Tests for the Classification class.
124    
125    2002-12-09  Bernhard Herzog  <[email protected]>
126    
127            * test/test_command.py: New. Tests for the command classes.
128    
129            * Thuban/UI/command.py (ToolCommand): New class for tool commands.
130            (Command.IsTool): New method to distinguish between command
131            switching tools and other commands.
132    
133            * Thuban/UI/view.py (MapCanvas.SelectTool): New method to select
134            the tool to avoid direct assignments to instance variables
135            (MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
136            (MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
137            change the tool
138    
139            * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): If an
140            active tool's command turns insensitive, disable the tool.
141            (_tool_command): Use the new ToolCommand class
142    
143            * Examples/simple_extensions/simple_tool.py (simple_tool): Use the
144            SelectTool method to change the tool
145            (iconfile): Use the ToolCommand class
146    
147    2002-12-03  Bernhard Herzog  <[email protected]>
148    
149            * Thuban/UI/tree.py (SessionTreeCtrl.normalize_selection): Handle
150            the case of selected items that are not children of Layers or Maps
151            properly. Previously this bug would trigger an assertion in
152            wxWindows.
153    
154    2002-11-06  Frank Koormann  <[email protected]>
155    
156            * Thuban/UI/mainwindow.py: Altered the order of tools in the
157            toolbar: First now are all navigation tools (Zoom In/Out, Pan,
158            Full Extent).
159        
160    2002-10-23  Bernhard Herzog  <[email protected]>
161    
162            * setup.py (setup call): version now 0.1.3
163    
164            * MANIFEST.in: Add the files in test/
165    
166            * test/README: Add note about tests requiring the iceland data
167    
168            * Thuban/UI/mainwindow.py (MainWindow.About): Add 2002 to
169            copyright notice.
170    
171    2002-10-18  Bernhard Herzog  <[email protected]>
172    
173            * test/test_map.py
174            (TestMapWithContents.test_projected_bounding_box): Use an explicit
175            epsilon.
176    
177            * test/support.py (FloatComparisonMixin.assertFloatEqual)
178            (FloatComparisonMixin.assertFloatSeqEqual): give a more useful
179            message if the assertion fails and don't return the return value
180            of self.assert_. In assertFloatSeqEqual the return meant that not
181            all items of the sequence were compared.
182    
183    2002-09-20  Bernhard Herzog  <[email protected]>
184    
185            * test/test_fileutil.py: New. Test cases for Thuban.Lib.fileutil
186    
187            * Thuban/Lib/fileutil.py: Fixup some whitespace and typos
188    
189            * test/test_map.py (TestMapWithContents.test_tree_info): Create
190            the string with the bounding box on the fly because of platform
191            differences in the way %g is handled.
192    
193            * test/test_layer.py (TestLayer.test_empty_layer): Create an empty
194            DBFfile too because Thuban layers can't yet cope missing DBF
195            files.
196    
197    2002-09-20  Bernhard Herzog  <[email protected]>
198    
199            * test/test_menu.py: Use initthuban instead of
200            add_thuban_dir_to_path to initialize Thuban.
201    
202            * test/support.py (FloatComparisonMixin.assertFloatEqual): New.
203            Mixin class for float comparisons
204            (SubscriberMixin): New. Mixin class to test messages sent through
205            the Connector class
206    
207            * test/README: Fix a typo and add the -v flag to the command for
208            individual tests
209    
210            * test/test_session.py: New. Test cases for Thuban.Model.session
211    
212            * test/test_proj.py: New. Test cases for Thuban.Model.proj
213    
214            * test/test_map.py: New. Test cases for Thuban.Model.map
215    
216            * test/test_layer.py: New. Test cases for Thuban.Model.layer
217    
218            * test/test_label.py: New. Test cases for Thuban.Model.label
219    
220            * test/test_connector.py: New. Test cases for Thuban.Lib.connector
221    
222            * test/test_color.py: New. Test cases for Thuban.Model.color
223    
224            * test/test_base.py: New. Test cases for Thuban.Model.base
225    
226    2002-09-13  Bernhard Herzog  <[email protected]>
227    
228            * Thuban/Model/session.py (Session.forwarded_channels): Forward
229            the CHANGED channel too.
230    
231            * Thuban/Model/map.py (Map.forwarded_channels): Forward the
232            CHANGED channel too.
233            (Map.__init__): Call the Modifiable constructor as well.
234    
235            * Thuban/Model/base.py (Modifiable.UnsetModified): Issue a CHANGED
236            event if the modified flag changes.
237            (Modifiable.changed): Tweak the doc-string.
238    
239            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed)
240            (MainWindow.set_position_text): Put the code that puts the text
241            with the mouse position into the status bar into the new method
242            set_position_text so that it can overwritten in derived classes.
243    
244    2002-09-12  Bernhard Herzog  <[email protected]>
245    
246            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Center the
247            message box on the main window.
248    
249    2002-09-11  Bernhard Herzog  <[email protected]>
250    
251            * Thuban/UI/mainwindow.py: Underline the 'x' in "Exit" instead of
252            the 'E' because it's less likely to interfere with other menu
253            entries.
254            (MainWindow.build_menu): remove an incorrect comment.
255    
256    2002-09-10  Bernhard Herzog  <[email protected]>
257    
258            * Thuban/UI/mainwindow.py (MainWindow.Map): New.
259            (_tool_command): Add sensitive parameter
260            (_has_visible_map): Sensitivity callback to tools and other
261            commands that require a visible map. Use it in map_zoom_in_tool,
262            map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
263            and map_full_extent
264    
265    2002-09-06  Bernhard Herzog  <[email protected]>
266    
267            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
268            VIEW_POSITION
269    
270    2002-09-04  Frank Koormann   <[email protected]>
271    
272            * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
273    
274    2002-09-02  Bernhard Herzog  <[email protected]>
275    
276            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
277            wxWindows already and our implementation doesn't work correctly
278            with wxGTK 2.3:
279            (MapCanvas.__init__): Remove the instance variable
280            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
281            be drawin
282            (MapCanvas.OnIdle): Removed.
283    
284            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
285            a parameter to determine the size of the rectangle.
286            (MapCanvas.find_shape_at): Create the box around the point on a
287            layer by layer basis and make the size depend on the shape type.
288            This solves a problem with the selection of point shapes at the
289            border of the layer's bounding box
290    
291    2002-08-30  Bernhard Herzog  <[email protected]>
292    
293            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
294            for the sensitivity  of remove layer.
295            (_can_remove_layer): New. Sensitivity callback for remove layer
296            (Command layer_remove): Use _can_remove_layer
297    
298            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
299            determine whether a given layer can be deleted.
300    
301            * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
302            (MapCanvas.do_redraw): Get rid of the unused update_region
303            instance variable
304    
305            * Thuban/UI/view.py: Add/update some doc-strings.
306    
307            * test/: new subdirectory with a bunch of unit tests.
308    
309            * test/README, test/test_table.py, test/test_save.py,
310            test/test_menu.py, test/test_load.py: Initial set of tests and
311            brief instructions on how to run them
312    
313    2002-08-29  Bernhard Herzog  <[email protected]>
314    
315            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Handle
316            arcs with multiple parts.
317    
318            * Thuban/UI/view.py (ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
319            Handle degenrate rectangles.
320    
321            * Thuban/Model/table.py: Make writing records work correctly:
322            (Table.__init__): Keep track of whether the DBF is open for
323            writing
324            (Table.write_record): Open the DBF file for writing when necessary
325    
326    2002-08-27  Bernhard Herzog  <[email protected]>
327    
328            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
329            dbf files only for reading by default. Use a new writable dbf
330            object for writing.
331    
332    2002-08-26  Bernhard Herzog  <[email protected]>
333    
334            * Thuban/UI/mainwindow.py: Refactor the context creation:
335            (MainWindow.Context): New method to return a context
336            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
337            new method
338    
339            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
340            layer table specific code from TableGrid into LayerTableGrid
341            (TableFrame, LayerTableFrame): Split the layer table specific code
342            from TableFrame into LayerTableFrame
343            (LayerTableGrid.select_shape): Remove a debug print
344    
345            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
346            LayerTableFrame
347    
348    2002-08-23  Bernhard Herzog  <[email protected]>
349    
350            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
351            absolute filename.
352    
353    2002-08-22  Bernhard Herzog  <[email protected]>
354    
355            * Thuban/Model/table.py (Table.write_record): New method to write
356            records.
357            (Table.__init__): Open the DBF file for writing too.
358    
359            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
360            into the underlying table.
361    
362            * extensions/shapelib/shapefil.h (DBFCommit),
363            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
364            commit any changes made to the DBF file.
365    
366            * Thuban/UI/mainwindow.py (make_check_current_tool)
367            (_tool_command): Put the code that generates the "checked"
368            callback into a separate function so that we can reuse it
369            elsewhere
370    
371            * Thuban/Model/save.py (Saver): New class to handle serializing a
372            session into an XML file. The main reason to introduce a class is
373            that applications built on Thuban can derive from it so that they
374            can save additional information in a session file.
375            (save_session): Delegate almost all the work to the Saver class.
376            Rename the filename argument to file because it may be a file like
377            object now.
378    
379            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
380            code. Remove the little test code which would be executed when the
381            module is run as a script which didn't work anymore since it can't
382            import the other Thuban modules.
383            (ProcessSession, load_session): Refactor the ProcessSession to
384            have one method for each element start and end tag so that derived
385            classes can easily override the processing of individual tags.
386            Also, always parse with namespaces enabled because applications
387            built on top of Thuban will likely use namespaces if they extend
388            the session file format.
389    
390    2002-08-21  Bernhard Herzog  <[email protected]>
391    
392            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
393            because thubaninit_contents will do it for us.
394    
395    2002-08-16      Jan-Oliver Wagner <[email protected]>
396    
397            * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
398            tree window already open
399    
400    2002-08-15  Bernhard Herzog  <[email protected]>
401    
402            * Thuban/Model/layer.py (Layer.Destroy): Call the unboundd method
403            with self.
404    
405            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Only release the mouse
406            when we have actually captured it.
407    
408            * Thuban/Model/layer.py (Layer.Destroy): New. Explicitly close the
409            shapefile and destroy the table.
410    
411            * Thuban/Model/table.py (Table.Destroy): New. Close the DBF file.
412    
413    2002-08-14  Bernhard Herzog  <[email protected]>
414    
415            * Thuban/UI/controls.py (RecordTable.__init__): Remove the unused
416            instance variable columns
417            (RecordTable.GetTypeName): row and col may be negative in some
418            cases.
419    
420            * setup.py (InstallLocal.initialize_options)
421            (InstallLocal.finalize_options, InstallLocal.user_options): New
422            option create-init-file to build a thubaninit.py when running
423            install_local
424            (InstallLocal.run): Create the thubaninit.py module when requested
425            (thubaninit_contents): Split the template into several parts and
426            create a new function thubaninit_contents that creates the
427            contents of a thubaninit module.
428            (ThubanInstall.run): Use the new function to create the thubaninit
429            module.
430    
431    2002-07-30  Bernhard Herzog  <[email protected]>
432    
433            * Thuban/UI/application.py (ThubanApplication.OnExit): Do some
434            cleanup.
435            (ThubanApplication.MainLoop): Extend to automatically call OnExit.
436    
437            * Thuban/Model/session.py (Session.Destroy): Don't bypass the
438            direct base class' Destroy method.
439    
440            * Thuban/Model/map.py (Map.ClearLayers): New method to delete all
441            layers.
442            (Map.Destroy): Destroy the label_layer as well and call the
443            inherited Desatroymethod first so that no more messages are
444            issued.
445            (Map.RaiseLayer, Map.LowerLayer): Only issue LAYERS_CHANGED
446            message if the stacking order actually has changed. Add
447            doc-strings.
448            (Map.BoundingBox): Correct the doc-string.
449            (Map.AddLayer, Map.RemoveLayer, Map.Layers, Map.HasLayers)
450            (Map.ProjectedBoundingBox, Map.SetProjection): Add doc-strings.
451    
452            * Thuban/Model/label.py (LabelLayer.ClearLabels): New to delete
453            all labels.
454    
455    2002-07-29  Bernhard Herzog  <[email protected]>
456    
457            * Thuban/Model/map.py (Map.subscribe_layer_channels)
458            (Map.unsubscribe_layer_channels): Put the code that (un)subscribes
459            to a layer's channels into separate methods.
460            (Map.RemoveLayer, Map.AddLayer): Call the new methods
461            (Map.Destroy): Unsubscribe from a layer's channels before
462            destroying it.
463    
464            * Thuban/UI/view.py (MapCanvas.find_shape_at): Change the
465            selected_layer parameter to searched_layer which is the layer to
466            search in.
467            (MapCanvas.SelectShapeAt): New parameter layer to restrict the
468            search to that layer. Return the selected layer and shape.
469    
470            * Examples/simple_extensions/simple_tool.py (simple_tool): Fix a
471            typo
472    
473    2002-07-24  Bernhard Herzog  <[email protected]>
474    
475            * Thuban/UI/application.py (ThubanApplication.create_session):
476            Extend the doc string.
477            (ThubanApplication.subscribe_session)
478            (ThubanApplication.unsubscribe_session): New methods to
479            subscribe/unsubscribe to/from session channels.
480            (ThubanApplication.SetSession): Call the new methods here.
481            (ThubanApplication.maps_changed, ThubanApplication.set_map):
482            Renamed set_map to maps_changed. Its now a subscriber for
483            MAPS_CHANGED.
484    
485            * Thuban/UI/view.py (ZoomOutTool.MouseUp): Use the correct
486            x-coordinate in case of simple clicks
487    
488            * Thuban/Model/base.py (Modifiable.changed): Apply the args tuple,
489            don't pass it as a parameter
490    
491            * Thuban/Model/session.py (Session.RemoveMap): New
492    
493            * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial
494            window size into a parameter.
495    
496    2002-07-23  Bernhard Herzog  <[email protected]>
497    
498            * Thuban/UI/menu.py (Menu.item_index): Also search for menus not
499            just commands.
500    
501            * Thuban/UI/mainwindow.py (MainWindow.__init__): Change the
502            parameter list a bit to allow setting the window title and the
503            initial message in the status bar. Update the callers.
504    
505            * Thuban/UI/application.py (ThubanApplication.OnInit)
506            (ThubanApplication.CreateMainWindow): Put the mainwindow
507            instantiation into a separate method so that it can be overridden
508            by a subclass.
509    
510    2002-07-19  Bernhard Herzog  <[email protected]>
511    
512            * Thuban/Model/session.py: Issue a CHANGED message every time
513            another changed message is issued to make it easier to get
514            notified of changes.
515            (Session): Update the doc string
516            (Session.forward): Issue changed-events as CHANGED as well.
517            (Session.changed): Overwrite the inherited version to issue
518            CHANGED events as well.
519    
520            * Thuban/UI/tree.py: We can now simply subscribe to the session's
521            CHANGED channel to be informed of changes.
522            (SessionTreeCtrl.session_channels): Not needed any longer.
523            (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
524            Only have to (un)subscribe CHANGED
525    
526            * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
527    
528            * Thuban/UI/main.py, Thuban/UI/__init__.py: Move the work-around
529            for the wxPython locale bug to __init__.py so that it's
530            automatically executed by anybody using UI code from Thuban.
531    
532    2002-07-18  Bernhard Herzog  <[email protected]>
533    
534            * Thuban/UI/main.py (main): app no longer needs to be global
535    
536            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add application
537            as parameter and store it in an instance variable
538            (MainWindow.invoke_command, MainWindow.update_command_ui)
539            (MainWindow.save_modified_session, MainWindow.NewSession)
540            (MainWindow.OpenSession, MainWindow.SaveSession)
541            (MainWindow.SaveSessionAs, MainWindow.ShowSessionTree): Use self's
542            application object.
543    
544            * Thuban/UI/application.py (ThubanApplication.OnInit): Instantiate
545            the main window with self.
546    
547            * Thuban/UI/context.py: New module with the context class
548    
549            * Thuban/UI/command.py (Command): Update doc string.
550    
551            * Thuban/UI/mainwindow.py (MainWindow.invoke_command,
552            MainWindow.update_command_ui): Pass an instance of the context
553            class to the command's methods
554            (check_current_tool, call_method): Handle the new context
555            implementation
556    
557            * Examples/simple_extensions/simple_tool.py (simple_tool,
558            check_simple_tool): Handle the new context implementation
559    
560            * Examples/simple_extensions/simple_command.py (simple_command):
561            Handle the new context implementation. Update the comments about
562            the context.
563    
564            * Thuban/UI/application.py (ThubanApplication.SetSession): Add
565            doc-string
566            (ThubanApplication.Session): New method to return the session
567            object
568    
569            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): The
570            interactor's selected_layer may not be a layer of the current
571            session when the tree is updated while a new session is being set.
572    
573    2002-07-17  Bernhard Herzog  <[email protected]>
574    
575            * Thuban/UI/tree.py (color_string): Removed. No longer used.
576            (SessionTreeCtrl.update_tree, SessionTreeCtrl.add_items): Split
577            update_tree into update_tree and add_items. The tree now uses a
578            more generic way to display the contents of the tree.
579            (SessionTreeCtrl): Add a doc string explaining the TreeInfo method
580    
581            * Thuban/Model/layer.py (Layer.TreeInfo),
582            Thuban/Model/extension.py (Extension.TreeInfo),
583            Thuban/Model/map.py (Map.TreeInfo),
584            Thuban/Model/session.py (Session.TreeInfo):
585            Add TreeInfo methods to implement the new tree view update scheme
586    
587    2002-07-16  Bernhard Herzog  <[email protected]>
588    
589            * Thuban/UI/application.py: Don't use "import from" for the
590            MainWindow. It can't always be resolved.
591            (ThubanApplication.OnInit): change reference to MainWindow
592            accordingly.
593    
594            * Thuban/UI/menu.py (Menu.SetItems): New method to replace a menu
595            completely
596    
597    2002-07-10  Bernhard Herzog  <[email protected]>
598    
599            * setup.py (create_init_module): New configurable variable whose
600            default depends on the platform we're running on.
601            (ThubanInstall.initialize_options): Initialize
602            self.create_init_module from the global create_init_module
603            (ThubanInstall.user_options): indictate that the options
604            create-init-module and init-module-dir have arguments.
605    
606            * setup.py: In the setup call change the version number to include
607            cvs.
608    
609            * MANIFEST.in: Add the files in Examples
610    
611  2002-07-09  Bernhard Herzog  <[email protected]>  2002-07-09  Bernhard Herzog  <[email protected]>
612    
613            * setup.py: In the setup call, use the thuban homepage as the
614            value of the url parameter.
615    
616          * Examples: New subdirectory for examples.          * Examples: New subdirectory for examples.
617    
618          * Examples/simple_extensions/simple_tool.xpm,          * Examples/simple_extensions/simple_tool.xpm,

Legend:
Removed from v.208  
changed lines
  Added in v.402

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26