/[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 275 by bh, Thu Aug 22 16:26:05 2002 UTC revision 459 by jonathan, Wed Mar 5 18:16:06 2003 UTC
# Line 1  Line 1 
1    2003-03-05  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/classifier.py: Added class documentation.
4            Fixed RTbug #1713, #1714. Added Move[Up|Down] buttons.
5            Store just the groups in the table and generate the other
6            column information when it is requested. Add "None" field
7            to pull-down to select no classification.
8    
9            * Thuban/common.py: Moved FIELDTYPE constants from table.py
10            (Str2Num): Only catch ValueError exceptions.
11    
12            * Thuban/Model/classification.py: Class documentation. Renaming
13            of methods with Stroke to Line. Groups are stored in a single
14            list with the default as the first element. Groups are searched
15            in the order they appear in the list.
16    
17            * Thuban/Model/color.py: Documentation.
18    
19            * Thuban/Model/layer.py (Layer): Add GetFieldType to retreive
20            the kind of data represented by a field.
21    
22            * Thuban/Model/load.py (ProcessSession): Use proper string
23            conversion function; fixes RTbug #1713.
24    
25            * Thuban/Model/save.py (Saver): Store field type information.
26    
27            * Thuban/Model/table.py: Put FIELDTYPE constants in common.py.
28            (Table): Add field_info_by_name() to retrieve field information
29            by specifying the field name, not the number.
30    
31            * Thuban/UI/mainwindow.py: Function name changes.
32    
33            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Only
34            get the layer classification once. Don't try to classify
35            values when the field is None: just use the default properties.
36    
37            * Thuban/UI/view.py: Function name changes.
38    
39            * Doc/thuban.dtd: Add field_type attribute to a classification.
40    
41    2003-03-04  Bernhard Herzog  <[email protected]>
42    
43            * Doc/thuban.dtd: Use correct syntax for optional attributes. Make
44            the fill and stroke layer attributes optional with suitable
45            default values. Add the stroke_width layer attribute. Use correct
46            syntax for empty elements. Make the attribute list for labels
47            refer to the label element.
48    
49    2003-03-04  Bernhard Herzog  <[email protected]>
50    
51            * setup.py (thuban_build_py.build): Add a comment about distutils in
52            Python 2.3 containing some of the functionality we implement in
53            setup.py ourselves.
54    
55            * Thuban/UI/classifier.py (ClassGrid.__init__): Set the table
56            before the selection mode. Doing it the other way round triggers
57            an assertion in wxWindows.
58    
59            * Thuban/Model/save.py (escape): Fix typo in doc-string
60    
61            * Thuban/Model/classification.py: Remove unnecessary wxPython
62            import
63    
64    2003-03-04  Jonathan Coles   <[email protected]>
65    
66            * Thuban/Model/classification.py (ClassGroupRange.GetProperties):
67            Parameter 'value' should default to None.
68    
69            * Thuban/UI/mainwindow.py: Use Layer.GetClassification() since
70            the class attribute __classification is now private.
71    
72            * Thuban/UI/classifier.py (ClassGrid): Moved OnCellDClick() from
73            Classifier to ClassGrid. Added support for removing selected rows,
74            which including code for keeping track of when cells are selected,
75            and deselected.
76            (ClassTable): Support for added/removing rows. Fixed a problem
77            with __ParseInput whereby it would not allow strings (only numbers)
78            to be entered.
79            (Classifier): Added button and supporting code for removing
80            selected rows.
81    
82    2003-02-27  Jonathan Coles   <[email protected]>
83    
84            * Thuban/common.py: Moved color conversion functions into
85            Thuban/UI/common.py.
86            (Str2Num): Now converts the float (not the string) to a long/int
87            so that an exception isn't thrown.
88    
89            * Thuban/UI/common.py: Common functions used in several UI modules
90    
91            * Thuban/Model/classification.py: Changed the class hierarchy
92            so that a Classification consists of Groups which return
93            Properties when a value matches a Group.
94    
95            * Thuban/Model/layer.py: Fixed name resolution problem.
96    
97            * Thuban/Model/load.py: Use new Classification and Group functions.
98    
99            * Thuban/Model/save.py (Saver.write_attribs): Fixes a test case
100            failure.
101            (Saver.write_classification): Use new Classification and Group
102            functions.
103    
104            * Thuban/UI/classifier.py: Changes to use new Classification and Group
105            functions. Fix to create a tuple with a single value instead of
106            simply returning the value.
107    
108            * Thuban/UI/renderer.py: Use new Classification and Group functions.
109            Use common.py functions.
110    
111            * Thuban/UI/tree.py: Use common.py functions.
112            
113            * test/test_classification.py: Use new Classification and Group
114            classes.
115    
116    2003-02-24  Jonathan Coles   <[email protected]>
117    
118            * Thuban/common.py (Color2wxColour, wxColour2Color): Conversion
119            functions from Thuban color objects to wxWindow colour objects.
120    
121            * Thuban/Model/classification.py (Classification): Renamed
122            GetProperties() to GetClassData(). Used the new iterator
123            in TreeInfo().
124            (ClassIterator): Iterator implementation to iterate over the
125            ClassData objects in a classification object.
126    
127            * Thuban/Model/save.py (Saver.write_classificaton): Uses
128            the new iterator to save the classification information.
129    
130            * Thuban/UI/classifier.py (SelectPropertiesDialog): Support
131            for changing the stroke and fill colors and previewing the
132            changes.
133    
134            * Thuban/UI/mainwindow.py (MainWindow.OpenSession,
135            MainWindow.SaveSessionAs): Text string changes so the dialogs
136            have more meaningful titles.
137    
138            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Change
139            Classification method name from GetProperties to GetClassData.
140    
141            * Thuban/UI/view.py (MapCanvas.find_shape_at): Use method calls
142            instead of accessing now non-existent class variables.
143    
144    2003-02-24  Bernhard Herzog  <[email protected]>
145    
146            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Remove
147            unneeded Shape() call. Rendering is substantially faster without
148            it and it avoids some problems with broken shape files.
149    
150    2003-02-20  Frank Koormann   <[email protected]>
151    
152            Force minimal size of identify and label dialogs. The autosizing
153            looked too ugly.
154    
155            * Thuban/UI/controls.py (RecordListCtrl): Set minimal width for columns.
156            * Thuban/UI/labeldialog.py (LabelDialog.dialog_layout):
157            Set size of listctrl.
158            * Thuban/UI/identifyview.py (IdentifyView.__init__):
159            Set size of dialog.
160    
161    2003-02-19  Jonathan Coles   <[email protected]>
162    
163            * test/test_classification.py, test/test_layer.py,
164            test/test_load.py, test/test_map.py, test/test_session.py:
165            Updated the tests to use the new functions that are in the
166            respective classes.
167    
168            * Thuban/Model/classification.py (Classification):
169            Uses the new ClassData* classes. Modification messages are
170            passed up to the parent layer (if it exists).
171            (ClassData): New class to encapsulate the common data in each
172            classification property.
173            (ClassDataDefault): Represents the Default class. data.
174            (ClassDataPoint): Represents a single class. data point
175            (ClassDataRange): Represents a class. range
176            (ClassDataMap): Represents a class. map (unused).
177    
178            * Thuban/Model/color.py: Added Color.None to represent something
179            with no color. Color.Black represents the color black.
180            (NoColor): Helper class derived from Color to represent something
181            with no color.
182    
183            * Thuban/Model/layer.py (Layer): Removed references to fill, stroke,
184            stroke_width attributes. Made the 'classification' attribute private.
185            New methods for setting/getting the classification.
186    
187            * Thuban/Model/load.py (ProcessSession): Use new methods on Layer
188            to get the classifcation and use the new ClassData* classes to
189            hold the classification data. Use Str2Num to convert numbers
190            properly.
191    
192            * Thuban/Model/save.py (Saver): Use new Color and Classification
193            methods
194    
195            * Thuban/UI/classifier.py (ClassGrid): New class to represent a
196            custom grid.
197            (ClassTable): Support for editing Values and Labels and for
198            changing what type (point or range) of data is stored in each
199            property based on how the user enters the data.
200            (Classifier): Support for saving the new classifications and
201            launching the dialog to edit a property.
202            (SelectPropertiesDialog): New class for editing the visual
203            properties of a classification (stroke color, width, and fill color)
204            (ClassPreviewer): Took the Draw method from ClassRenderer and
205            made most of it into this new class. Intend to use this class in
206            the SelectPropertiesDialog for previewing changes.
207    
208            * Thuban/UI/renderer.py: Use new Color and Classification methods.
209    
210            * Thuban/UI/tree.py: Formatting changes.
211    
212            * Doc/thuban.dtd: Add 'label' element
213    
214            * Thuban/common.py: New. Contains common routines used throughout
215            the code.
216            (Str2Num): Takes a string and converts it to the "best" type of
217            number.
218    
219    2003-02-14  Bernhard Herzog  <[email protected]>
220    
221            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Make sure that the
222            dragging flag is always set to 0 even when the tool implementation
223            raises an exception
224    
225    2003-02-11  Bernhard Herzog  <[email protected]>
226    
227            * Thuban/UI/application.py (ThubanApplication.splash_screen): New
228            method to create a splash screen.
229            (ThubanApplication.ShowMainWindow): New. Show the main window.
230            Needed so the splash screen can display the mainwindow
231            (ThubanApplication.OnInit): Call the
232            new splash_screen method to determine whether the application
233            should display a splash screen. If it displays a splash screen do
234            not immediately show the main window.
235    
236    2003-02-11  Jonathan Coles  <[email protected]>
237    
238            * Thuban/Model/classification.py: Added import line to fix
239            feature conflicts between running on python2.2 and python2.1.
240    
241            * Thuban/UI/classifier.py (ClassTable): Didn't need to hang
242            onto the clinfo parameter, so removed the deepcopy().
243    
244    2003-02-10  Jonathan Coles  <[email protected]>
245    
246            * Thuban/Model/save.py (Saver.open_element, Saver.close_element):
247            Added element_open variable to track opening and closing of tags
248            so that tags that don't span more than one line are closed with
249            /> instead of </tag_name>. Use the GetDefault*() methods of
250            the Classification class.
251    
252            * Thuban/Model/classification.py (Classificaton): Added set and
253            get methods for the default data. The class also takes a layer
254            reference so that modification messages can be sent. Fixed the
255            methods to use the new ClassData class.
256            (ClassData): New class to encapsulate the classification data
257    
258            * Thuban/Model/layer.py (Layer): Remove the
259            Set[Fill|Stroke|StrokeWidth]() methods. Code should call the
260            SetDefault*() methods on the layer's classification object.
261            (Layer.__init__): Use the new SetDefault*() methods in the
262            Classification class.
263    
264            * Thuban/Model/load.py (ProcessSession): Use the new ClassData
265            object instead of a dictionary.
266    
267            * Thuban/UI/classifier.py (ClassRenderer): New class to
268            draw the classifications in the dialog box's table.
269            (Classifier): Modified to use the ClassRenderer class.
270    
271            * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
272            methods of the Classification class.
273    
274            * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
275            of the ClassData class.
276    
277            * test/test_classification.py, test/test_layer.py,
278            test/test_map.py, test/test_session.py: Fix the tests to work
279            with the above code changes.
280    
281    2003-02-03  Jonathan Coles  <[email protected]>
282    
283            * Thuban/Model/classification.py (Classification): Added getNull()
284            to return the NullData reference
285    
286            * Thuban/Model/layer.py (Layer.SetFill, Layer.SetStroke,
287            Layer.SetStrokeWidth): Modified these functions to change the
288            null data in the classification rather than keep these values
289            directly in the Layer class. Menu options to change these values
290            work again.
291    
292    2003-01-28  Jonathan Coles  <[email protected]>
293    
294            * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.
295            Fixed crashing problem on some systems. Dialog box shows
296            classification data.
297    
298            * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing
299            Colors in the tree view.
300    
301            * Thuban/Model/layer.py (Layer.TreeInfo): Added a call to build
302            the tree info for classifications. Commented out unnecessary lines.
303    
304            * Thuban/Model/classification.py (Classification.TreeInfo): New
305            function to add information about the classification into the
306            tree view.
307    
308    2003-01-27  Jan-Oliver Wagner <[email protected]>
309    
310            * Thuban/__init__.py (_): New.
311    
312            * Thuban/Model/classification.py, Thuban/Model/extension.py,
313            Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,
314            Thuban/Model/session.py, Thuban/UI/application.py,
315            Thuban/UI/classifier.py, Thuban/UI/context.py, Thuban/UI/controls.py,
316            Thuban/UI/identifyview.py, Thuban/UI/labeldialog.py,
317            Thuban/UI/mainwindow.py, Thuban/UI/menu.py, Thuban/UI/proj4dialog.py,
318            Thuban/UI/renderer.py, Thuban/UI/tree.py, Thuban/Lib/connector.py,
319            Thuban/Lib/fileutil.py: Replace user string by _() for i18n.
320    
321    2003-01-27  Jonathan Coles  <[email protected]>
322    
323            * Thuban/Model/layer.py: Classification initialization calls.
324    
325            * Thuban/Model/classification.py: Created class to encapsulate
326            a layer classification. Supports specific data points and
327            ranges.
328    
329            * Thuban/Model/load.py: Added support for loading classification
330            information.
331    
332            * Thuban/Model/save.py: Added support for saving classification
333            information.
334    
335            * Thuban/UI/classifier.py: Initial class for a dialog box for
336            specifying classification information.
337    
338            * Thuban/UI/mainwindows.py: Support for opening the classifier
339            dialog.
340    
341            * Thuban/UI/renderer.py: Support for drawing a layer with the
342            classification information.
343    
344            * Data/iceland_sample_class.thuban: iceland_sample with
345            classification data.
346    
347            * test/test_classification: Tests for the Classification class.
348    
349    2002-12-09  Bernhard Herzog  <[email protected]>
350    
351            * test/test_command.py: New. Tests for the command classes.
352    
353            * Thuban/UI/command.py (ToolCommand): New class for tool commands.
354            (Command.IsTool): New method to distinguish between command
355            switching tools and other commands.
356    
357            * Thuban/UI/view.py (MapCanvas.SelectTool): New method to select
358            the tool to avoid direct assignments to instance variables
359            (MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
360            (MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
361            change the tool
362    
363            * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): If an
364            active tool's command turns insensitive, disable the tool.
365            (_tool_command): Use the new ToolCommand class
366    
367            * Examples/simple_extensions/simple_tool.py (simple_tool): Use the
368            SelectTool method to change the tool
369            (iconfile): Use the ToolCommand class
370    
371    2002-12-03  Bernhard Herzog  <[email protected]>
372    
373            * Thuban/UI/tree.py (SessionTreeCtrl.normalize_selection): Handle
374            the case of selected items that are not children of Layers or Maps
375            properly. Previously this bug would trigger an assertion in
376            wxWindows.
377    
378    2002-11-06  Frank Koormann  <[email protected]>
379    
380            * Thuban/UI/mainwindow.py: Altered the order of tools in the
381            toolbar: First now are all navigation tools (Zoom In/Out, Pan,
382            Full Extent).
383    
384    2002-10-23  Bernhard Herzog  <[email protected]>
385    
386            * setup.py (setup call): version now 0.1.3
387    
388            * MANIFEST.in: Add the files in test/
389    
390            * test/README: Add note about tests requiring the iceland data
391    
392            * Thuban/UI/mainwindow.py (MainWindow.About): Add 2002 to
393            copyright notice.
394    
395    2002-10-18  Bernhard Herzog  <[email protected]>
396    
397            * test/test_map.py
398            (TestMapWithContents.test_projected_bounding_box): Use an explicit
399            epsilon.
400    
401            * test/support.py (FloatComparisonMixin.assertFloatEqual)
402            (FloatComparisonMixin.assertFloatSeqEqual): give a more useful
403            message if the assertion fails and don't return the return value
404            of self.assert_. In assertFloatSeqEqual the return meant that not
405            all items of the sequence were compared.
406    
407    2002-09-20  Bernhard Herzog  <[email protected]>
408    
409            * test/test_fileutil.py: New. Test cases for Thuban.Lib.fileutil
410    
411            * Thuban/Lib/fileutil.py: Fixup some whitespace and typos
412    
413            * test/test_map.py (TestMapWithContents.test_tree_info): Create
414            the string with the bounding box on the fly because of platform
415            differences in the way %g is handled.
416    
417            * test/test_layer.py (TestLayer.test_empty_layer): Create an empty
418            DBFfile too because Thuban layers can't yet cope missing DBF
419            files.
420    
421    2002-09-20  Bernhard Herzog  <[email protected]>
422    
423            * test/test_menu.py: Use initthuban instead of
424            add_thuban_dir_to_path to initialize Thuban.
425    
426            * test/support.py (FloatComparisonMixin.assertFloatEqual): New.
427            Mixin class for float comparisons
428            (SubscriberMixin): New. Mixin class to test messages sent through
429            the Connector class
430    
431            * test/README: Fix a typo and add the -v flag to the command for
432            individual tests
433    
434            * test/test_session.py: New. Test cases for Thuban.Model.session
435    
436            * test/test_proj.py: New. Test cases for Thuban.Model.proj
437    
438            * test/test_map.py: New. Test cases for Thuban.Model.map
439    
440            * test/test_layer.py: New. Test cases for Thuban.Model.layer
441    
442            * test/test_label.py: New. Test cases for Thuban.Model.label
443    
444            * test/test_connector.py: New. Test cases for Thuban.Lib.connector
445    
446            * test/test_color.py: New. Test cases for Thuban.Model.color
447    
448            * test/test_base.py: New. Test cases for Thuban.Model.base
449    
450    2002-09-13  Bernhard Herzog  <[email protected]>
451    
452            * Thuban/Model/session.py (Session.forwarded_channels): Forward
453            the CHANGED channel too.
454    
455            * Thuban/Model/map.py (Map.forwarded_channels): Forward the
456            CHANGED channel too.
457            (Map.__init__): Call the Modifiable constructor as well.
458    
459            * Thuban/Model/base.py (Modifiable.UnsetModified): Issue a CHANGED
460            event if the modified flag changes.
461            (Modifiable.changed): Tweak the doc-string.
462    
463            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed)
464            (MainWindow.set_position_text): Put the code that puts the text
465            with the mouse position into the status bar into the new method
466            set_position_text so that it can overwritten in derived classes.
467    
468    2002-09-12  Bernhard Herzog  <[email protected]>
469    
470            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Center the
471            message box on the main window.
472    
473    2002-09-11  Bernhard Herzog  <[email protected]>
474    
475            * Thuban/UI/mainwindow.py: Underline the 'x' in "Exit" instead of
476            the 'E' because it's less likely to interfere with other menu
477            entries.
478            (MainWindow.build_menu): remove an incorrect comment.
479    
480    2002-09-10  Bernhard Herzog  <[email protected]>
481    
482            * Thuban/UI/mainwindow.py (MainWindow.Map): New.
483            (_tool_command): Add sensitive parameter
484            (_has_visible_map): Sensitivity callback to tools and other
485            commands that require a visible map. Use it in map_zoom_in_tool,
486            map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
487            and map_full_extent
488    
489    2002-09-06  Bernhard Herzog  <[email protected]>
490    
491            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
492            VIEW_POSITION
493    
494    2002-09-04  Frank Koormann  <[email protected]>
495    
496            * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
497    
498    2002-09-02  Bernhard Herzog  <[email protected]>
499    
500            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
501            wxWindows already and our implementation doesn't work correctly
502            with wxGTK 2.3:
503            (MapCanvas.__init__): Remove the instance variable
504            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
505            be drawin
506            (MapCanvas.OnIdle): Removed.
507    
508            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
509            a parameter to determine the size of the rectangle.
510            (MapCanvas.find_shape_at): Create the box around the point on a
511            layer by layer basis and make the size depend on the shape type.
512            This solves a problem with the selection of point shapes at the
513            border of the layer's bounding box
514    
515    2002-08-30  Bernhard Herzog  <[email protected]>
516    
517            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
518            for the sensitivity  of remove layer.
519            (_can_remove_layer): New. Sensitivity callback for remove layer
520            (Command layer_remove): Use _can_remove_layer
521    
522            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
523            determine whether a given layer can be deleted.
524    
525            * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
526            (MapCanvas.do_redraw): Get rid of the unused update_region
527            instance variable
528    
529            * Thuban/UI/view.py: Add/update some doc-strings.
530    
531            * test/: new subdirectory with a bunch of unit tests.
532    
533            * test/README, test/test_table.py, test/test_save.py,
534            test/test_menu.py, test/test_load.py: Initial set of tests and
535            brief instructions on how to run them
536    
537    2002-08-29  Bernhard Herzog  <[email protected]>
538    
539            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Handle
540            arcs with multiple parts.
541    
542            * Thuban/UI/view.py (ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
543            Handle degenrate rectangles.
544    
545            * Thuban/Model/table.py: Make writing records work correctly:
546            (Table.__init__): Keep track of whether the DBF is open for
547            writing
548            (Table.write_record): Open the DBF file for writing when necessary
549    
550    2002-08-27  Bernhard Herzog  <[email protected]>
551    
552            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
553            dbf files only for reading by default. Use a new writable dbf
554            object for writing.
555    
556    2002-08-26  Bernhard Herzog  <[email protected]>
557    
558            * Thuban/UI/mainwindow.py: Refactor the context creation:
559            (MainWindow.Context): New method to return a context
560            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
561            new method
562    
563            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
564            layer table specific code from TableGrid into LayerTableGrid
565            (TableFrame, LayerTableFrame): Split the layer table specific code
566            from TableFrame into LayerTableFrame
567            (LayerTableGrid.select_shape): Remove a debug print
568    
569            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
570            LayerTableFrame
571    
572    2002-08-23  Bernhard Herzog  <[email protected]>
573    
574            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
575            absolute filename.
576    
577  2002-08-22  Bernhard Herzog  <[email protected]>  2002-08-22  Bernhard Herzog  <[email protected]>
578    
579          * Thuban/Model/table.py (Table.write_record): New method to write          * Thuban/Model/table.py (Table.write_record): New method to write
580          records.          records.
581          (Table.__init__): Open the DBF file for writing too.          (Table.__init__): Open the DBF file for writing too.
582    
583          * Thuban/UI/controls.py (RecordTable.SetValue): Write the value          * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
584          into the underlying table.          into the underlying table.
# Line 40  Line 616 
616          * setup.py (ThubanInstall.run): Don't repr install_lib_orig          * setup.py (ThubanInstall.run): Don't repr install_lib_orig
617          because thubaninit_contents will do it for us.          because thubaninit_contents will do it for us.
618    
619  2002-08-16      Jan-Oliver Wagner <[email protected]>  2002-08-16  Jan-Oliver Wagner <[email protected]>
620    
621          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
622          tree window already open          tree window already open
# Line 168  Line 744 
744          * 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
745          CHANGED channel to be informed of changes.          CHANGED channel to be informed of changes.
746          (SessionTreeCtrl.session_channels): Not needed any longer.          (SessionTreeCtrl.session_channels): Not needed any longer.
747          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
748          Only have to (un)subscribe CHANGED          Only have to (un)subscribe CHANGED
749    
750          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
# Line 229  Line 805 
805          * Thuban/Model/layer.py (Layer.TreeInfo),          * Thuban/Model/layer.py (Layer.TreeInfo),
806          Thuban/Model/extension.py (Extension.TreeInfo),          Thuban/Model/extension.py (Extension.TreeInfo),
807          Thuban/Model/map.py (Map.TreeInfo),          Thuban/Model/map.py (Map.TreeInfo),
808          Thuban/Model/session.py (Session.TreeInfo):          Thuban/Model/session.py (Session.TreeInfo):
809          Add TreeInfo methods to implement the new tree view update scheme          Add TreeInfo methods to implement the new tree view update scheme
810    
811  2002-07-16  Bernhard Herzog  <[email protected]>  2002-07-16  Bernhard Herzog  <[email protected]>
# Line 310  Line 886 
886          * setup.py: In the setup call, make sure that the library          * setup.py: In the setup call, make sure that the library
887          directories are under $prefix/lib not directly under $prefix.          directories are under $prefix/lib not directly under $prefix.
888    
889  2002-06-20      Jan-Oliver Wagner <[email protected]>  2002-06-20  Jan-Oliver Wagner <[email protected]>
890    
891          * Thuban/Model/extension.py: new module to handle extension objects.          * Thuban/Model/extension.py: new module to handle extension objects.
892          * Thuban/Model/messages.py: new messages for extensions.          * Thuban/Model/messages.py: new messages for extensions.
# Line 539  Line 1115 
1115          * Thuban/UI/messages.py (VIEW_POSITION): New message for the          * Thuban/UI/messages.py (VIEW_POSITION): New message for the
1116          position in the statusbar          position in the statusbar
1117    
1118  2002-04-26      Frank Koormann <[email protected]>  2002-04-26  Frank Koormann <[email protected]>
1119    
1120          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
1121    
1122  2002-04-24      Frank Koormann <[email protected]>  2002-04-24  Frank Koormann <[email protected]>
1123            
1124          * Resources/Bitmaps/identify.xpm: shadow added          * Resources/Bitmaps/identify.xpm: shadow added
1125    
1126          * Resources/Bitmaps/fullextent.xpm: new          * Resources/Bitmaps/fullextent.xpm: new
           
 2002-04-22      Jan-Oliver Wagner <[email protected]>  
1127    
1128          * Thuban/UI/tree.py (update_tree): added test for None on map bounding box  2002-04-22  Jan-Oliver Wagner <[email protected]>
1129    
1130            * Thuban/UI/tree.py (update_tree): added test for None on map bounding
1131            box
1132    
1133  2002-04-21      Jan-Oliver Wagner <[email protected]>  2002-04-21  Jan-Oliver Wagner <[email protected]>
1134    
1135          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
1136    
1137          * Thuban/UI/tree.py (update_tree): added added map extent          * Thuban/UI/tree.py (update_tree): added added map extent
1138    
1139          * Thuban/UI/mainwindow.py (_method_command): extended by parameter          * Thuban/UI/mainwindow.py (_method_command): extended by parameter
1140          icon; added map_full_extend as tool          icon; added map_full_extend as tool
1141    
1142  2002-04-19      Jan-Oliver Wagner <[email protected]>  2002-04-19  Jan-Oliver Wagner <[email protected]>
1143    
1144          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
1145          saving _new_ sessions          saving _new_ sessions
# Line 664  Line 1241 
1241    
1242          * setup.py: increase version number to 0.1          * setup.py: increase version number to 0.1
1243          (data_dist): New command class for data distribution          (data_dist): New command class for data distribution
           
1244    
1245  2001-09-14  Bernhard Herzog  <[email protected]>  2001-09-14  Bernhard Herzog  <[email protected]>
1246    
1247          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
1248          Handle the case of no layer (i.e. layer is None) properly.          Handle the case of no layer (i.e. layer is None) properly.
1249    
1250          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
1251          Set the initial selection of the combo boxes to reflect the          Set the initial selection of the combo boxes to reflect the
1252          projection we're starting with in a way that works on windows,          projection we're starting with in a way that works on windows,
1253          too.          too.
# Line 781  Line 1357 
1357          (MainWindow.identify_view_on_demand): Store the interactor in an          (MainWindow.identify_view_on_demand): Store the interactor in an
1358          instvar and use that reference instead of going through main.app          instvar and use that reference instead of going through main.app
1359    
1360          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
1361          * Thuban/UI/application.py (ThubanApplication.OnInit):          * Thuban/UI/application.py (ThubanApplication.OnInit):
1362          * Thuban/UI/main.py (main): Create the session tree view in main          * Thuban/UI/main.py (main): Create the session tree view in main
1363          with the new mainwindow method ShowSessionTree and not directly          with the new mainwindow method ShowSessionTree and not directly
1364          the application's OnInit method          the application's OnInit method
# Line 798  Line 1374 
1374          layer to the tableview dialog.          layer to the tableview dialog.
1375    
1376          * Thuban/UI/tableview.py: Add some doc-strings          * Thuban/UI/tableview.py: Add some doc-strings
1377          (TableGrid):          (TableGrid):
1378          (TableGrid.OnRangeSelect):          (TableGrid.OnRangeSelect):
1379          (TableGrid.OnSelectCell):          (TableGrid.OnSelectCell):
1380          (TableFrame.__init__):          (TableFrame.__init__):
# Line 865  Line 1441 
1441  2001-09-05  Bernhard Herzog  <[email protected]>  2001-09-05  Bernhard Herzog  <[email protected]>
1442    
1443          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
1444            
1445          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
1446          interactor to pass through to the MapCanvas          interactor to pass through to the MapCanvas
1447            
1448          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
1449          argument to the MainWindow constructor to get rid of the ugly hack          argument to the MainWindow constructor to get rid of the ugly hack
1450          that made main.app available early just so that the mapcanvas          that made main.app available early just so that the mapcanvas
# Line 915  Line 1491 
1491          (ThubanInstall.run): Remove the leading install root from the          (ThubanInstall.run): Remove the leading install root from the
1492          script filename if an install root was specified and use the new          script filename if an install root was specified and use the new
1493          link_file method          link_file method
1494            
1495          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
1496          the window when the first layer is added to the map.          the window when the first layer is added to the map.
1497    
# Line 952  Line 1528 
1528          (InnoIconItem): Helper class for bdist_inno          (InnoIconItem): Helper class for bdist_inno
1529          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
1530          this together with the appropriate parameters, to the setup call.          this together with the appropriate parameters, to the setup call.
1531            
1532          * setup.cfg (bdist_inno): added new section for the inno setup          * setup.cfg (bdist_inno): added new section for the inno setup
1533          installer          installer
1534    

Legend:
Removed from v.275  
changed lines
  Added in v.459

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26