/[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 297 by bh, Fri Aug 30 16:10:57 2002 UTC revision 396 by jonathan, Mon Feb 10 15:28:17 2003 UTC
# Line 1  Line 1 
1    2003-02-10  Jonathan Coles  <[email protected]>
2    
3            * Thuban/Model/save.py (Saver.open_element, Saver.close_element):
4            Added element_open variable to track opening and closing of tags
5            so that tags that don't span more than one line are closed with
6            /> instead of </tag_name>. Use the GetDefault*() methods of
7            the Classification class.
8    
9            * Thuban/Model/classification.py (Classificaton): Added set and
10            get methods for the default data. The class also takes a layer
11            reference so that modification messages can be sent. Fixed the
12            methods to use the new ClassData class.
13            (ClassData): New class to encapsulate the classification data
14    
15            * Thuban/Model/layer.py (Layer): Remove the
16            Set[Fill|Stroke|StrokeWidth]() methods. Code should call the
17            SetDefault*() methods on the layer's classification object.
18            (Layer.__init__): Use the new SetDefault*() methods in the
19            Classification class.
20    
21            * Thuban/Model/load.py (ProcessSession): Use the new ClassData
22            object instead of a dictionary.
23    
24            * Thuban/UI/classifier.py (ClassRenderer): New class to
25            draw the classifications in the dialog box's table.
26            (Classifier): Modified to use the ClassRenderer class.
27    
28            * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
29            methods of the Classification class.    
30    
31            * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
32            of the ClassData class.
33    
34            * test/test_classification.py, test/test_layer.py,
35            test/test_map.py, test/test_session.py: Fix the tests to work
36            with the above code changes.
37    
38    2003-02-03  Jonathan Coles  <[email protected]>
39    
40            * Thuban/Model/classification.py (Classification): Added getNull()
41            to return the NullData reference
42    
43            * Thuban/Model/layer.py (Layer.SetFill, Layer.SetStroke,
44            Layer.SetStrokeWidth): Modified these functions to change the
45            null data in the classification rather than keep these values
46            directly in the Layer class. Menu options to change these values
47            work again.
48    
49    2003-01-28  Jonathan Coles  <[email protected]>
50    
51            * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.
52            Fixed crashing problem on some systems. Dialog box shows
53            classification data.
54    
55            * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing
56            Colors in the tree view.
57    
58            * Thuban/Model/layer.py (Layer.TreeInfo): Added a call to build
59            the tree info for classifications. Commented out unnecessary lines.
60    
61            * Thuban/Model/classification.py (Classification.TreeInfo): New
62            function to add information about the classification into the
63            tree view.
64    
65    2003-01-27      Jan-Oliver Wagner <[email protected]>
66    
67            * Thuban/__init__.py (_): New.
68    
69            * Thuban/Model/classification.py, Thuban/Model/extension.py,
70            Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,
71            Thuban/Model/session.py, Thuban/UI/application.py, Thuban/UI/classifier.py,
72            Thuban/UI/context.py, Thuban/UI/controls.py, Thuban/UI/identifyview.py,
73            Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py, Thuban/UI/menu.py,
74            Thuban/UI/proj4dialog.py, Thuban/UI/renderer.py, Thuban/UI/tree.py,
75            Thuban/Lib/connector.py, Thuban/Lib/fileutil.py:
76            Replace user string by _() for i18n.
77    
78    2003-01-27  Jonathan Coles  <[email protected]>
79    
80      * Thuban/Model/layer.py: Classification initialization calls.
81    
82      * Thuban/Model/classification.py: Created class to encapsulate
83      a layer classification. Supports specific data points and
84      ranges.
85    
86      * Thuban/Model/load.py: Added support for loading classification
87      information.
88    
89      * Thuban/Model/save.py: Added support for saving classification
90      information.
91    
92      * Thuban/UI/classifier.py: Initial class for a dialog box for
93      specifying classification information.
94    
95      * Thuban/UI/mainwindows.py: Support for opening the classifier
96      dialog.
97    
98      * Thuban/UI/renderer.py: Support for drawing a layer with the
99      classification information.
100    
101      * Data/iceland_sample_class.thuban: iceland_sample with
102      classification data.
103    
104      * test/test_classification: Tests for the Classification class.
105    
106    2002-12-09  Bernhard Herzog  <[email protected]>
107    
108            * test/test_command.py: New. Tests for the command classes.
109    
110            * Thuban/UI/command.py (ToolCommand): New class for tool commands.
111            (Command.IsTool): New method to distinguish between command
112            switching tools and other commands.
113    
114            * Thuban/UI/view.py (MapCanvas.SelectTool): New method to select
115            the tool to avoid direct assignments to instance variables
116            (MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
117            (MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
118            change the tool
119    
120            * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): If an
121            active tool's command turns insensitive, disable the tool.
122            (_tool_command): Use the new ToolCommand class
123    
124            * Examples/simple_extensions/simple_tool.py (simple_tool): Use the
125            SelectTool method to change the tool
126            (iconfile): Use the ToolCommand class
127    
128    2002-12-03  Bernhard Herzog  <[email protected]>
129    
130            * Thuban/UI/tree.py (SessionTreeCtrl.normalize_selection): Handle
131            the case of selected items that are not children of Layers or Maps
132            properly. Previously this bug would trigger an assertion in
133            wxWindows.
134    
135    2002-11-06  Frank Koormann  <[email protected]>
136    
137            * Thuban/UI/mainwindow.py: Altered the order of tools in the
138            toolbar: First now are all navigation tools (Zoom In/Out, Pan,
139            Full Extent).
140        
141    2002-10-23  Bernhard Herzog  <[email protected]>
142    
143            * setup.py (setup call): version now 0.1.3
144    
145            * MANIFEST.in: Add the files in test/
146    
147            * test/README: Add note about tests requiring the iceland data
148    
149            * Thuban/UI/mainwindow.py (MainWindow.About): Add 2002 to
150            copyright notice.
151    
152    2002-10-18  Bernhard Herzog  <[email protected]>
153    
154            * test/test_map.py
155            (TestMapWithContents.test_projected_bounding_box): Use an explicit
156            epsilon.
157    
158            * test/support.py (FloatComparisonMixin.assertFloatEqual)
159            (FloatComparisonMixin.assertFloatSeqEqual): give a more useful
160            message if the assertion fails and don't return the return value
161            of self.assert_. In assertFloatSeqEqual the return meant that not
162            all items of the sequence were compared.
163    
164    2002-09-20  Bernhard Herzog  <[email protected]>
165    
166            * test/test_fileutil.py: New. Test cases for Thuban.Lib.fileutil
167    
168            * Thuban/Lib/fileutil.py: Fixup some whitespace and typos
169    
170            * test/test_map.py (TestMapWithContents.test_tree_info): Create
171            the string with the bounding box on the fly because of platform
172            differences in the way %g is handled.
173    
174            * test/test_layer.py (TestLayer.test_empty_layer): Create an empty
175            DBFfile too because Thuban layers can't yet cope missing DBF
176            files.
177    
178    2002-09-20  Bernhard Herzog  <[email protected]>
179    
180            * test/test_menu.py: Use initthuban instead of
181            add_thuban_dir_to_path to initialize Thuban.
182    
183            * test/support.py (FloatComparisonMixin.assertFloatEqual): New.
184            Mixin class for float comparisons
185            (SubscriberMixin): New. Mixin class to test messages sent through
186            the Connector class
187    
188            * test/README: Fix a typo and add the -v flag to the command for
189            individual tests
190    
191            * test/test_session.py: New. Test cases for Thuban.Model.session
192    
193            * test/test_proj.py: New. Test cases for Thuban.Model.proj
194    
195            * test/test_map.py: New. Test cases for Thuban.Model.map
196    
197            * test/test_layer.py: New. Test cases for Thuban.Model.layer
198    
199            * test/test_label.py: New. Test cases for Thuban.Model.label
200    
201            * test/test_connector.py: New. Test cases for Thuban.Lib.connector
202    
203            * test/test_color.py: New. Test cases for Thuban.Model.color
204    
205            * test/test_base.py: New. Test cases for Thuban.Model.base
206    
207    2002-09-13  Bernhard Herzog  <[email protected]>
208    
209            * Thuban/Model/session.py (Session.forwarded_channels): Forward
210            the CHANGED channel too.
211    
212            * Thuban/Model/map.py (Map.forwarded_channels): Forward the
213            CHANGED channel too.
214            (Map.__init__): Call the Modifiable constructor as well.
215    
216            * Thuban/Model/base.py (Modifiable.UnsetModified): Issue a CHANGED
217            event if the modified flag changes.
218            (Modifiable.changed): Tweak the doc-string.
219    
220            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed)
221            (MainWindow.set_position_text): Put the code that puts the text
222            with the mouse position into the status bar into the new method
223            set_position_text so that it can overwritten in derived classes.
224    
225    2002-09-12  Bernhard Herzog  <[email protected]>
226    
227            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Center the
228            message box on the main window.
229    
230    2002-09-11  Bernhard Herzog  <[email protected]>
231    
232            * Thuban/UI/mainwindow.py: Underline the 'x' in "Exit" instead of
233            the 'E' because it's less likely to interfere with other menu
234            entries.
235            (MainWindow.build_menu): remove an incorrect comment.
236    
237    2002-09-10  Bernhard Herzog  <[email protected]>
238    
239            * Thuban/UI/mainwindow.py (MainWindow.Map): New.
240            (_tool_command): Add sensitive parameter
241            (_has_visible_map): Sensitivity callback to tools and other
242            commands that require a visible map. Use it in map_zoom_in_tool,
243            map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
244            and map_full_extent
245    
246    2002-09-06  Bernhard Herzog  <[email protected]>
247    
248            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
249            VIEW_POSITION
250    
251    2002-09-04  Frank Koormann   <[email protected]>
252    
253            * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
254    
255    2002-09-02  Bernhard Herzog  <[email protected]>
256    
257            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
258            wxWindows already and our implementation doesn't work correctly
259            with wxGTK 2.3:
260            (MapCanvas.__init__): Remove the instance variable
261            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
262            be drawin
263            (MapCanvas.OnIdle): Removed.
264    
265            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
266            a parameter to determine the size of the rectangle.
267            (MapCanvas.find_shape_at): Create the box around the point on a
268            layer by layer basis and make the size depend on the shape type.
269            This solves a problem with the selection of point shapes at the
270            border of the layer's bounding box
271    
272  2002-08-30  Bernhard Herzog  <[email protected]>  2002-08-30  Bernhard Herzog  <[email protected]>
273    
274            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
275            for the sensitivity  of remove layer.
276            (_can_remove_layer): New. Sensitivity callback for remove layer
277            (Command layer_remove): Use _can_remove_layer
278    
279            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
280            determine whether a given layer can be deleted.
281    
282          * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)          * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
283          (MapCanvas.do_redraw): Get rid of the unused update_region          (MapCanvas.do_redraw): Get rid of the unused update_region
284          instance variable          instance variable

Legend:
Removed from v.297  
changed lines
  Added in v.396

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26