/[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 235 by bh, Tue Jul 23 10:56:29 2002 UTC revision 408 by jonathan, Wed Feb 19 16:49:49 2003 UTC
# Line 1  Line 1 
1    2003-02-19  Jonathan Coles   <[email protected]>
2    
3            * test/test_classification.py, test/test_layer.py,
4            test/test_load.py, test/test_map.py, test/test_session.py:
5            Updated the tests to use the new functions that are in the
6            respective classes.
7    
8            * Thuban/Model/classification.py (Classification):
9            Uses the new ClassData* classes. Modification messages are
10            passed up to the parent layer (if it exists).
11            (ClassData): New class to encapsulate the common data in each
12            classification property.
13            (ClassDataDefault): Represents the Default class. data.
14            (ClassDataPoint): Represents a single class. data point
15            (ClassDataRange): Represents a class. range
16            (ClassDataMap): Represents a class. map (unused).
17    
18            * Thuban/Model/color.py: Added Color.None to represent something
19            with no color. Color.Black represents the color black.
20            (NoColor): Helper class derived from Color to represent something
21            with no color.
22    
23            * Thuban/Model/layer.py (Layer): Removed references to fill, stroke,
24            stroke_width attributes. Made the 'classification' attribute private.
25            New methods for setting/getting the classification.
26    
27            * Thuban/Model/load.py (ProcessSession): Use new methods on Layer
28            to get the classifcation and use the new ClassData* classes to
29            hold the classification data. Use Str2Num to convert numbers
30            properly.
31    
32            * Thuban/Model/save.py (Saver): Use new Color and Classification
33            methods
34    
35            * Thuban/UI/classifier.py (ClassGrid): New class to represent a
36            custom grid.
37            (ClassTable): Support for editing Values and Labels and for
38            changing what type (point or range) of data is stored in each
39            property based on how the user enters the data.
40            (Classifier): Support for saving the new classifications and
41            launching the dialog to edit a property.
42            (SelectPropertiesDialog): New class for editing the visual
43            properties of a classification (stroke color, width, and fill color)
44            (ClassPreviewer): Took the Draw method from ClassRenderer and
45            made most of it into this new class. Intend to use this class in
46            the SelectPropertiesDialog for previewing changes.
47    
48            * Thuban/UI/renderer.py: Use new Color and Classification methods.
49    
50            * Thuban/UI/tree.py: Formatting changes.
51    
52            * Doc/thuban.dtd: Add 'label' element
53    
54            * Thuban/common.py: New. Contains common routines used throughout
55            the code.
56            (Str2Num): Takes a string and converts it to the "best" type of
57            number.
58    
59    2003-02-14  Bernhard Herzog  <[email protected]>
60    
61            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Make sure that the
62            dragging flag is always set to 0 even when the tool implementation
63            raises an exception
64    
65    2003-02-11  Bernhard Herzog  <[email protected]>
66    
67            * Thuban/UI/application.py (ThubanApplication.splash_screen): New
68            method to create a splash screen.
69            (ThubanApplication.ShowMainWindow): New. Show the main window.
70            Needed so the splash screen can display the mainwindow
71            (ThubanApplication.OnInit): Call the
72            new splash_screen method to determine whether the application
73            should display a splash screen. If it displays a splash screen do
74            not immediately show the main window.
75    
76    2003-02-11  Jonathan Coles  <[email protected]>
77    
78            * Thuban/Model/classification.py: Added import line to fix
79            feature conflicts between running on python2.2 and python2.1.
80    
81            * Thuban/UI/classifier.py (ClassTable): Didn't need to hang
82            onto the clinfo parameter, so removed the deepcopy().
83    
84    2003-02-10  Jonathan Coles  <[email protected]>
85    
86            * Thuban/Model/save.py (Saver.open_element, Saver.close_element):
87            Added element_open variable to track opening and closing of tags
88            so that tags that don't span more than one line are closed with
89            /> instead of </tag_name>. Use the GetDefault*() methods of
90            the Classification class.
91    
92            * Thuban/Model/classification.py (Classificaton): Added set and
93            get methods for the default data. The class also takes a layer
94            reference so that modification messages can be sent. Fixed the
95            methods to use the new ClassData class.
96            (ClassData): New class to encapsulate the classification data
97    
98            * Thuban/Model/layer.py (Layer): Remove the
99            Set[Fill|Stroke|StrokeWidth]() methods. Code should call the
100            SetDefault*() methods on the layer's classification object.
101            (Layer.__init__): Use the new SetDefault*() methods in the
102            Classification class.
103    
104            * Thuban/Model/load.py (ProcessSession): Use the new ClassData
105            object instead of a dictionary.
106    
107            * Thuban/UI/classifier.py (ClassRenderer): New class to
108            draw the classifications in the dialog box's table.
109            (Classifier): Modified to use the ClassRenderer class.
110    
111            * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
112            methods of the Classification class.
113    
114            * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
115            of the ClassData class.
116    
117            * test/test_classification.py, test/test_layer.py,
118            test/test_map.py, test/test_session.py: Fix the tests to work
119            with the above code changes.
120    
121    2003-02-03  Jonathan Coles  <[email protected]>
122    
123            * Thuban/Model/classification.py (Classification): Added getNull()
124            to return the NullData reference
125    
126            * Thuban/Model/layer.py (Layer.SetFill, Layer.SetStroke,
127            Layer.SetStrokeWidth): Modified these functions to change the
128            null data in the classification rather than keep these values
129            directly in the Layer class. Menu options to change these values
130            work again.
131    
132    2003-01-28  Jonathan Coles  <[email protected]>
133    
134            * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.
135            Fixed crashing problem on some systems. Dialog box shows
136            classification data.
137    
138            * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing
139            Colors in the tree view.
140    
141            * Thuban/Model/layer.py (Layer.TreeInfo): Added a call to build
142            the tree info for classifications. Commented out unnecessary lines.
143    
144            * Thuban/Model/classification.py (Classification.TreeInfo): New
145            function to add information about the classification into the
146            tree view.
147    
148    2003-01-27  Jan-Oliver Wagner <[email protected]>
149    
150            * Thuban/__init__.py (_): New.
151    
152            * Thuban/Model/classification.py, Thuban/Model/extension.py,
153            Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,
154            Thuban/Model/session.py, Thuban/UI/application.py,
155            Thuban/UI/classifier.py, Thuban/UI/context.py, Thuban/UI/controls.py,
156            Thuban/UI/identifyview.py, Thuban/UI/labeldialog.py,
157            Thuban/UI/mainwindow.py, Thuban/UI/menu.py, Thuban/UI/proj4dialog.py,
158            Thuban/UI/renderer.py, Thuban/UI/tree.py, Thuban/Lib/connector.py,
159            Thuban/Lib/fileutil.py: Replace user string by _() for i18n.
160    
161    2003-01-27  Jonathan Coles  <[email protected]>
162    
163            * Thuban/Model/layer.py: Classification initialization calls.
164    
165            * Thuban/Model/classification.py: Created class to encapsulate
166            a layer classification. Supports specific data points and
167            ranges.
168    
169            * Thuban/Model/load.py: Added support for loading classification
170            information.
171    
172            * Thuban/Model/save.py: Added support for saving classification
173            information.
174    
175            * Thuban/UI/classifier.py: Initial class for a dialog box for
176            specifying classification information.
177    
178            * Thuban/UI/mainwindows.py: Support for opening the classifier
179            dialog.
180    
181            * Thuban/UI/renderer.py: Support for drawing a layer with the
182            classification information.
183    
184            * Data/iceland_sample_class.thuban: iceland_sample with
185            classification data.
186    
187            * test/test_classification: Tests for the Classification class.
188    
189    2002-12-09  Bernhard Herzog  <[email protected]>
190    
191            * test/test_command.py: New. Tests for the command classes.
192    
193            * Thuban/UI/command.py (ToolCommand): New class for tool commands.
194            (Command.IsTool): New method to distinguish between command
195            switching tools and other commands.
196    
197            * Thuban/UI/view.py (MapCanvas.SelectTool): New method to select
198            the tool to avoid direct assignments to instance variables
199            (MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
200            (MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
201            change the tool
202    
203            * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): If an
204            active tool's command turns insensitive, disable the tool.
205            (_tool_command): Use the new ToolCommand class
206    
207            * Examples/simple_extensions/simple_tool.py (simple_tool): Use the
208            SelectTool method to change the tool
209            (iconfile): Use the ToolCommand class
210    
211    2002-12-03  Bernhard Herzog  <[email protected]>
212    
213            * Thuban/UI/tree.py (SessionTreeCtrl.normalize_selection): Handle
214            the case of selected items that are not children of Layers or Maps
215            properly. Previously this bug would trigger an assertion in
216            wxWindows.
217    
218    2002-11-06  Frank Koormann  <[email protected]>
219    
220            * Thuban/UI/mainwindow.py: Altered the order of tools in the
221            toolbar: First now are all navigation tools (Zoom In/Out, Pan,
222            Full Extent).
223    
224    2002-10-23  Bernhard Herzog  <[email protected]>
225    
226            * setup.py (setup call): version now 0.1.3
227    
228            * MANIFEST.in: Add the files in test/
229    
230            * test/README: Add note about tests requiring the iceland data
231    
232            * Thuban/UI/mainwindow.py (MainWindow.About): Add 2002 to
233            copyright notice.
234    
235    2002-10-18  Bernhard Herzog  <[email protected]>
236    
237            * test/test_map.py
238            (TestMapWithContents.test_projected_bounding_box): Use an explicit
239            epsilon.
240    
241            * test/support.py (FloatComparisonMixin.assertFloatEqual)
242            (FloatComparisonMixin.assertFloatSeqEqual): give a more useful
243            message if the assertion fails and don't return the return value
244            of self.assert_. In assertFloatSeqEqual the return meant that not
245            all items of the sequence were compared.
246    
247    2002-09-20  Bernhard Herzog  <[email protected]>
248    
249            * test/test_fileutil.py: New. Test cases for Thuban.Lib.fileutil
250    
251            * Thuban/Lib/fileutil.py: Fixup some whitespace and typos
252    
253            * test/test_map.py (TestMapWithContents.test_tree_info): Create
254            the string with the bounding box on the fly because of platform
255            differences in the way %g is handled.
256    
257            * test/test_layer.py (TestLayer.test_empty_layer): Create an empty
258            DBFfile too because Thuban layers can't yet cope missing DBF
259            files.
260    
261    2002-09-20  Bernhard Herzog  <[email protected]>
262    
263            * test/test_menu.py: Use initthuban instead of
264            add_thuban_dir_to_path to initialize Thuban.
265    
266            * test/support.py (FloatComparisonMixin.assertFloatEqual): New.
267            Mixin class for float comparisons
268            (SubscriberMixin): New. Mixin class to test messages sent through
269            the Connector class
270    
271            * test/README: Fix a typo and add the -v flag to the command for
272            individual tests
273    
274            * test/test_session.py: New. Test cases for Thuban.Model.session
275    
276            * test/test_proj.py: New. Test cases for Thuban.Model.proj
277    
278            * test/test_map.py: New. Test cases for Thuban.Model.map
279    
280            * test/test_layer.py: New. Test cases for Thuban.Model.layer
281    
282            * test/test_label.py: New. Test cases for Thuban.Model.label
283    
284            * test/test_connector.py: New. Test cases for Thuban.Lib.connector
285    
286            * test/test_color.py: New. Test cases for Thuban.Model.color
287    
288            * test/test_base.py: New. Test cases for Thuban.Model.base
289    
290    2002-09-13  Bernhard Herzog  <[email protected]>
291    
292            * Thuban/Model/session.py (Session.forwarded_channels): Forward
293            the CHANGED channel too.
294    
295            * Thuban/Model/map.py (Map.forwarded_channels): Forward the
296            CHANGED channel too.
297            (Map.__init__): Call the Modifiable constructor as well.
298    
299            * Thuban/Model/base.py (Modifiable.UnsetModified): Issue a CHANGED
300            event if the modified flag changes.
301            (Modifiable.changed): Tweak the doc-string.
302    
303            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed)
304            (MainWindow.set_position_text): Put the code that puts the text
305            with the mouse position into the status bar into the new method
306            set_position_text so that it can overwritten in derived classes.
307    
308    2002-09-12  Bernhard Herzog  <[email protected]>
309    
310            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Center the
311            message box on the main window.
312    
313    2002-09-11  Bernhard Herzog  <[email protected]>
314    
315            * Thuban/UI/mainwindow.py: Underline the 'x' in "Exit" instead of
316            the 'E' because it's less likely to interfere with other menu
317            entries.
318            (MainWindow.build_menu): remove an incorrect comment.
319    
320    2002-09-10  Bernhard Herzog  <[email protected]>
321    
322            * Thuban/UI/mainwindow.py (MainWindow.Map): New.
323            (_tool_command): Add sensitive parameter
324            (_has_visible_map): Sensitivity callback to tools and other
325            commands that require a visible map. Use it in map_zoom_in_tool,
326            map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
327            and map_full_extent
328    
329    2002-09-06  Bernhard Herzog  <[email protected]>
330    
331            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
332            VIEW_POSITION
333    
334    2002-09-04  Frank Koormann  <[email protected]>
335    
336            * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
337    
338    2002-09-02  Bernhard Herzog  <[email protected]>
339    
340            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
341            wxWindows already and our implementation doesn't work correctly
342            with wxGTK 2.3:
343            (MapCanvas.__init__): Remove the instance variable
344            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
345            be drawin
346            (MapCanvas.OnIdle): Removed.
347    
348            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
349            a parameter to determine the size of the rectangle.
350            (MapCanvas.find_shape_at): Create the box around the point on a
351            layer by layer basis and make the size depend on the shape type.
352            This solves a problem with the selection of point shapes at the
353            border of the layer's bounding box
354    
355    2002-08-30  Bernhard Herzog  <[email protected]>
356    
357            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
358            for the sensitivity  of remove layer.
359            (_can_remove_layer): New. Sensitivity callback for remove layer
360            (Command layer_remove): Use _can_remove_layer
361    
362            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
363            determine whether a given layer can be deleted.
364    
365            * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
366            (MapCanvas.do_redraw): Get rid of the unused update_region
367            instance variable
368    
369            * Thuban/UI/view.py: Add/update some doc-strings.
370    
371            * test/: new subdirectory with a bunch of unit tests.
372    
373            * test/README, test/test_table.py, test/test_save.py,
374            test/test_menu.py, test/test_load.py: Initial set of tests and
375            brief instructions on how to run them
376    
377    2002-08-29  Bernhard Herzog  <[email protected]>
378    
379            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Handle
380            arcs with multiple parts.
381    
382            * Thuban/UI/view.py (ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
383            Handle degenrate rectangles.
384    
385            * Thuban/Model/table.py: Make writing records work correctly:
386            (Table.__init__): Keep track of whether the DBF is open for
387            writing
388            (Table.write_record): Open the DBF file for writing when necessary
389    
390    2002-08-27  Bernhard Herzog  <[email protected]>
391    
392            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
393            dbf files only for reading by default. Use a new writable dbf
394            object for writing.
395    
396    2002-08-26  Bernhard Herzog  <[email protected]>
397    
398            * Thuban/UI/mainwindow.py: Refactor the context creation:
399            (MainWindow.Context): New method to return a context
400            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
401            new method
402    
403            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
404            layer table specific code from TableGrid into LayerTableGrid
405            (TableFrame, LayerTableFrame): Split the layer table specific code
406            from TableFrame into LayerTableFrame
407            (LayerTableGrid.select_shape): Remove a debug print
408    
409            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
410            LayerTableFrame
411    
412    2002-08-23  Bernhard Herzog  <[email protected]>
413    
414            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
415            absolute filename.
416    
417    2002-08-22  Bernhard Herzog  <[email protected]>
418    
419            * Thuban/Model/table.py (Table.write_record): New method to write
420            records.
421            (Table.__init__): Open the DBF file for writing too.
422    
423            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
424            into the underlying table.
425    
426            * extensions/shapelib/shapefil.h (DBFCommit),
427            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
428            commit any changes made to the DBF file.
429    
430            * Thuban/UI/mainwindow.py (make_check_current_tool)
431            (_tool_command): Put the code that generates the "checked"
432            callback into a separate function so that we can reuse it
433            elsewhere
434    
435            * Thuban/Model/save.py (Saver): New class to handle serializing a
436            session into an XML file. The main reason to introduce a class is
437            that applications built on Thuban can derive from it so that they
438            can save additional information in a session file.
439            (save_session): Delegate almost all the work to the Saver class.
440            Rename the filename argument to file because it may be a file like
441            object now.
442    
443            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
444            code. Remove the little test code which would be executed when the
445            module is run as a script which didn't work anymore since it can't
446            import the other Thuban modules.
447            (ProcessSession, load_session): Refactor the ProcessSession to
448            have one method for each element start and end tag so that derived
449            classes can easily override the processing of individual tags.
450            Also, always parse with namespaces enabled because applications
451            built on top of Thuban will likely use namespaces if they extend
452            the session file format.
453    
454    2002-08-21  Bernhard Herzog  <[email protected]>
455    
456            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
457            because thubaninit_contents will do it for us.
458    
459    2002-08-16  Jan-Oliver Wagner <[email protected]>
460    
461            * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
462            tree window already open
463    
464    2002-08-15  Bernhard Herzog  <[email protected]>
465    
466            * Thuban/Model/layer.py (Layer.Destroy): Call the unboundd method
467            with self.
468    
469            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Only release the mouse
470            when we have actually captured it.
471    
472            * Thuban/Model/layer.py (Layer.Destroy): New. Explicitly close the
473            shapefile and destroy the table.
474    
475            * Thuban/Model/table.py (Table.Destroy): New. Close the DBF file.
476    
477    2002-08-14  Bernhard Herzog  <[email protected]>
478    
479            * Thuban/UI/controls.py (RecordTable.__init__): Remove the unused
480            instance variable columns
481            (RecordTable.GetTypeName): row and col may be negative in some
482            cases.
483    
484            * setup.py (InstallLocal.initialize_options)
485            (InstallLocal.finalize_options, InstallLocal.user_options): New
486            option create-init-file to build a thubaninit.py when running
487            install_local
488            (InstallLocal.run): Create the thubaninit.py module when requested
489            (thubaninit_contents): Split the template into several parts and
490            create a new function thubaninit_contents that creates the
491            contents of a thubaninit module.
492            (ThubanInstall.run): Use the new function to create the thubaninit
493            module.
494    
495    2002-07-30  Bernhard Herzog  <[email protected]>
496    
497            * Thuban/UI/application.py (ThubanApplication.OnExit): Do some
498            cleanup.
499            (ThubanApplication.MainLoop): Extend to automatically call OnExit.
500    
501            * Thuban/Model/session.py (Session.Destroy): Don't bypass the
502            direct base class' Destroy method.
503    
504            * Thuban/Model/map.py (Map.ClearLayers): New method to delete all
505            layers.
506            (Map.Destroy): Destroy the label_layer as well and call the
507            inherited Desatroymethod first so that no more messages are
508            issued.
509            (Map.RaiseLayer, Map.LowerLayer): Only issue LAYERS_CHANGED
510            message if the stacking order actually has changed. Add
511            doc-strings.
512            (Map.BoundingBox): Correct the doc-string.
513            (Map.AddLayer, Map.RemoveLayer, Map.Layers, Map.HasLayers)
514            (Map.ProjectedBoundingBox, Map.SetProjection): Add doc-strings.
515    
516            * Thuban/Model/label.py (LabelLayer.ClearLabels): New to delete
517            all labels.
518    
519    2002-07-29  Bernhard Herzog  <[email protected]>
520    
521            * Thuban/Model/map.py (Map.subscribe_layer_channels)
522            (Map.unsubscribe_layer_channels): Put the code that (un)subscribes
523            to a layer's channels into separate methods.
524            (Map.RemoveLayer, Map.AddLayer): Call the new methods
525            (Map.Destroy): Unsubscribe from a layer's channels before
526            destroying it.
527    
528            * Thuban/UI/view.py (MapCanvas.find_shape_at): Change the
529            selected_layer parameter to searched_layer which is the layer to
530            search in.
531            (MapCanvas.SelectShapeAt): New parameter layer to restrict the
532            search to that layer. Return the selected layer and shape.
533    
534            * Examples/simple_extensions/simple_tool.py (simple_tool): Fix a
535            typo
536    
537    2002-07-24  Bernhard Herzog  <[email protected]>
538    
539            * Thuban/UI/application.py (ThubanApplication.create_session):
540            Extend the doc string.
541            (ThubanApplication.subscribe_session)
542            (ThubanApplication.unsubscribe_session): New methods to
543            subscribe/unsubscribe to/from session channels.
544            (ThubanApplication.SetSession): Call the new methods here.
545            (ThubanApplication.maps_changed, ThubanApplication.set_map):
546            Renamed set_map to maps_changed. Its now a subscriber for
547            MAPS_CHANGED.
548    
549            * Thuban/UI/view.py (ZoomOutTool.MouseUp): Use the correct
550            x-coordinate in case of simple clicks
551    
552            * Thuban/Model/base.py (Modifiable.changed): Apply the args tuple,
553            don't pass it as a parameter
554    
555            * Thuban/Model/session.py (Session.RemoveMap): New
556    
557            * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial
558            window size into a parameter.
559    
560  2002-07-23  Bernhard Herzog  <[email protected]>  2002-07-23  Bernhard Herzog  <[email protected]>
561    
562            * Thuban/UI/menu.py (Menu.item_index): Also search for menus not
563            just commands.
564    
565          * Thuban/UI/mainwindow.py (MainWindow.__init__): Change the          * Thuban/UI/mainwindow.py (MainWindow.__init__): Change the
566          parameter list a bit to allow setting the window title and the          parameter list a bit to allow setting the window title and the
567          initial message in the status bar. Update the callers.          initial message in the status bar. Update the callers.
# Line 22  Line 584 
584          * Thuban/UI/tree.py: We can now simply subscribe to the session's          * Thuban/UI/tree.py: We can now simply subscribe to the session's
585          CHANGED channel to be informed of changes.          CHANGED channel to be informed of changes.
586          (SessionTreeCtrl.session_channels): Not needed any longer.          (SessionTreeCtrl.session_channels): Not needed any longer.
587          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
588          Only have to (un)subscribe CHANGED          Only have to (un)subscribe CHANGED
589    
590          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
# Line 83  Line 645 
645          * Thuban/Model/layer.py (Layer.TreeInfo),          * Thuban/Model/layer.py (Layer.TreeInfo),
646          Thuban/Model/extension.py (Extension.TreeInfo),          Thuban/Model/extension.py (Extension.TreeInfo),
647          Thuban/Model/map.py (Map.TreeInfo),          Thuban/Model/map.py (Map.TreeInfo),
648          Thuban/Model/session.py (Session.TreeInfo):          Thuban/Model/session.py (Session.TreeInfo):
649          Add TreeInfo methods to implement the new tree view update scheme          Add TreeInfo methods to implement the new tree view update scheme
650    
651  2002-07-16  Bernhard Herzog  <[email protected]>  2002-07-16  Bernhard Herzog  <[email protected]>
# Line 164  Line 726 
726          * setup.py: In the setup call, make sure that the library          * setup.py: In the setup call, make sure that the library
727          directories are under $prefix/lib not directly under $prefix.          directories are under $prefix/lib not directly under $prefix.
728    
729  2002-06-20      Jan-Oliver Wagner <[email protected]>  2002-06-20  Jan-Oliver Wagner <[email protected]>
730    
731          * Thuban/Model/extension.py: new module to handle extension objects.          * Thuban/Model/extension.py: new module to handle extension objects.
732          * Thuban/Model/messages.py: new messages for extensions.          * Thuban/Model/messages.py: new messages for extensions.
# Line 393  Line 955 
955          * Thuban/UI/messages.py (VIEW_POSITION): New message for the          * Thuban/UI/messages.py (VIEW_POSITION): New message for the
956          position in the statusbar          position in the statusbar
957    
958  2002-04-26      Frank Koormann <[email protected]>  2002-04-26  Frank Koormann <[email protected]>
959    
960          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
961    
962  2002-04-24      Frank Koormann <[email protected]>  2002-04-24  Frank Koormann <[email protected]>
963            
964          * Resources/Bitmaps/identify.xpm: shadow added          * Resources/Bitmaps/identify.xpm: shadow added
965    
966          * Resources/Bitmaps/fullextent.xpm: new          * Resources/Bitmaps/fullextent.xpm: new
           
 2002-04-22      Jan-Oliver Wagner <[email protected]>  
967    
968          * Thuban/UI/tree.py (update_tree): added test for None on map bounding box  2002-04-22  Jan-Oliver Wagner <[email protected]>
969    
970            * Thuban/UI/tree.py (update_tree): added test for None on map bounding
971            box
972    
973  2002-04-21      Jan-Oliver Wagner <[email protected]>  2002-04-21  Jan-Oliver Wagner <[email protected]>
974    
975          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
976    
977          * Thuban/UI/tree.py (update_tree): added added map extent          * Thuban/UI/tree.py (update_tree): added added map extent
978    
979          * Thuban/UI/mainwindow.py (_method_command): extended by parameter          * Thuban/UI/mainwindow.py (_method_command): extended by parameter
980          icon; added map_full_extend as tool          icon; added map_full_extend as tool
981    
982  2002-04-19      Jan-Oliver Wagner <[email protected]>  2002-04-19  Jan-Oliver Wagner <[email protected]>
983    
984          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
985          saving _new_ sessions          saving _new_ sessions
# Line 518  Line 1081 
1081    
1082          * setup.py: increase version number to 0.1          * setup.py: increase version number to 0.1
1083          (data_dist): New command class for data distribution          (data_dist): New command class for data distribution
           
1084    
1085  2001-09-14  Bernhard Herzog  <[email protected]>  2001-09-14  Bernhard Herzog  <[email protected]>
1086    
1087          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
1088          Handle the case of no layer (i.e. layer is None) properly.          Handle the case of no layer (i.e. layer is None) properly.
1089    
1090          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
1091          Set the initial selection of the combo boxes to reflect the          Set the initial selection of the combo boxes to reflect the
1092          projection we're starting with in a way that works on windows,          projection we're starting with in a way that works on windows,
1093          too.          too.
# Line 635  Line 1197 
1197          (MainWindow.identify_view_on_demand): Store the interactor in an          (MainWindow.identify_view_on_demand): Store the interactor in an
1198          instvar and use that reference instead of going through main.app          instvar and use that reference instead of going through main.app
1199    
1200          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
1201          * Thuban/UI/application.py (ThubanApplication.OnInit):          * Thuban/UI/application.py (ThubanApplication.OnInit):
1202          * Thuban/UI/main.py (main): Create the session tree view in main          * Thuban/UI/main.py (main): Create the session tree view in main
1203          with the new mainwindow method ShowSessionTree and not directly          with the new mainwindow method ShowSessionTree and not directly
1204          the application's OnInit method          the application's OnInit method
# Line 652  Line 1214 
1214          layer to the tableview dialog.          layer to the tableview dialog.
1215    
1216          * Thuban/UI/tableview.py: Add some doc-strings          * Thuban/UI/tableview.py: Add some doc-strings
1217          (TableGrid):          (TableGrid):
1218          (TableGrid.OnRangeSelect):          (TableGrid.OnRangeSelect):
1219          (TableGrid.OnSelectCell):          (TableGrid.OnSelectCell):
1220          (TableFrame.__init__):          (TableFrame.__init__):
# Line 719  Line 1281 
1281  2001-09-05  Bernhard Herzog  <[email protected]>  2001-09-05  Bernhard Herzog  <[email protected]>
1282    
1283          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
1284            
1285          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
1286          interactor to pass through to the MapCanvas          interactor to pass through to the MapCanvas
1287            
1288          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
1289          argument to the MainWindow constructor to get rid of the ugly hack          argument to the MainWindow constructor to get rid of the ugly hack
1290          that made main.app available early just so that the mapcanvas          that made main.app available early just so that the mapcanvas
# Line 769  Line 1331 
1331          (ThubanInstall.run): Remove the leading install root from the          (ThubanInstall.run): Remove the leading install root from the
1332          script filename if an install root was specified and use the new          script filename if an install root was specified and use the new
1333          link_file method          link_file method
1334            
1335          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
1336          the window when the first layer is added to the map.          the window when the first layer is added to the map.
1337    
# Line 806  Line 1368 
1368          (InnoIconItem): Helper class for bdist_inno          (InnoIconItem): Helper class for bdist_inno
1369          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
1370          this together with the appropriate parameters, to the setup call.          this together with the appropriate parameters, to the setup call.
1371            
1372          * setup.cfg (bdist_inno): added new section for the inno setup          * setup.cfg (bdist_inno): added new section for the inno setup
1373          installer          installer
1374    

Legend:
Removed from v.235  
changed lines
  Added in v.408

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26