/[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 265 by jan, Fri Aug 16 17:07:36 2002 UTC revision 370 by jonathan, Mon Jan 27 12:21:23 2003 UTC
# Line 1  Line 1 
1    2003-01-27  Jonathan Coles  <[email protected]>
2    
3      * Thuban/Model/layer.py: Classification initialization calls.
4    
5      * Thuban/Model/classification.py: Created class to encapsulate
6      a layer classification. Supports specific data points and
7      ranges.
8    
9      * Thuban/Model/load.py: Added support for loading classification
10      information.
11    
12      * Thuban/Model/save.py: Added support for saving classification
13      information.
14    
15      * Thuban/UI/classifier.py: Initial class for a dialog box for
16      specifying classification information.
17    
18      * Thuban/UI/mainwindows.py: Support for opening the classifier
19      dialog.
20    
21      * Thuban/UI/renderer.py: Support for drawing a layer with the
22      classification information.
23    
24      * Data/iceland_sample_class.thuban: iceland_sample with
25      classification data.
26    
27      * test/test_classification: Tests for the Classification class.
28    
29    2002-12-09  Bernhard Herzog  <[email protected]>
30    
31            * test/test_command.py: New. Tests for the command classes.
32    
33            * Thuban/UI/command.py (ToolCommand): New class for tool commands.
34            (Command.IsTool): New method to distinguish between command
35            switching tools and other commands.
36    
37            * Thuban/UI/view.py (MapCanvas.SelectTool): New method to select
38            the tool to avoid direct assignments to instance variables
39            (MapCanvas.ZoomInTool, MapCanvas.ZoomOutTool, MapCanvas.PanTool)
40            (MapCanvas.IdentifyTool, MapCanvas.LabelTool): Use SelectTool to
41            change the tool
42    
43            * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): If an
44            active tool's command turns insensitive, disable the tool.
45            (_tool_command): Use the new ToolCommand class
46    
47            * Examples/simple_extensions/simple_tool.py (simple_tool): Use the
48            SelectTool method to change the tool
49            (iconfile): Use the ToolCommand class
50    
51    2002-12-03  Bernhard Herzog  <[email protected]>
52    
53            * Thuban/UI/tree.py (SessionTreeCtrl.normalize_selection): Handle
54            the case of selected items that are not children of Layers or Maps
55            properly. Previously this bug would trigger an assertion in
56            wxWindows.
57    
58    2002-11-06  Frank Koormann  <[email protected]>
59    
60            * Thuban/UI/mainwindow.py: Altered the order of tools in the
61            toolbar: First now are all navigation tools (Zoom In/Out, Pan,
62            Full Extent).
63        
64    2002-10-23  Bernhard Herzog  <[email protected]>
65    
66            * setup.py (setup call): version now 0.1.3
67    
68            * MANIFEST.in: Add the files in test/
69    
70            * test/README: Add note about tests requiring the iceland data
71    
72            * Thuban/UI/mainwindow.py (MainWindow.About): Add 2002 to
73            copyright notice.
74    
75    2002-10-18  Bernhard Herzog  <[email protected]>
76    
77            * test/test_map.py
78            (TestMapWithContents.test_projected_bounding_box): Use an explicit
79            epsilon.
80    
81            * test/support.py (FloatComparisonMixin.assertFloatEqual)
82            (FloatComparisonMixin.assertFloatSeqEqual): give a more useful
83            message if the assertion fails and don't return the return value
84            of self.assert_. In assertFloatSeqEqual the return meant that not
85            all items of the sequence were compared.
86    
87    2002-09-20  Bernhard Herzog  <[email protected]>
88    
89            * test/test_fileutil.py: New. Test cases for Thuban.Lib.fileutil
90    
91            * Thuban/Lib/fileutil.py: Fixup some whitespace and typos
92    
93            * test/test_map.py (TestMapWithContents.test_tree_info): Create
94            the string with the bounding box on the fly because of platform
95            differences in the way %g is handled.
96    
97            * test/test_layer.py (TestLayer.test_empty_layer): Create an empty
98            DBFfile too because Thuban layers can't yet cope missing DBF
99            files.
100    
101    2002-09-20  Bernhard Herzog  <[email protected]>
102    
103            * test/test_menu.py: Use initthuban instead of
104            add_thuban_dir_to_path to initialize Thuban.
105    
106            * test/support.py (FloatComparisonMixin.assertFloatEqual): New.
107            Mixin class for float comparisons
108            (SubscriberMixin): New. Mixin class to test messages sent through
109            the Connector class
110    
111            * test/README: Fix a typo and add the -v flag to the command for
112            individual tests
113    
114            * test/test_session.py: New. Test cases for Thuban.Model.session
115    
116            * test/test_proj.py: New. Test cases for Thuban.Model.proj
117    
118            * test/test_map.py: New. Test cases for Thuban.Model.map
119    
120            * test/test_layer.py: New. Test cases for Thuban.Model.layer
121    
122            * test/test_label.py: New. Test cases for Thuban.Model.label
123    
124            * test/test_connector.py: New. Test cases for Thuban.Lib.connector
125    
126            * test/test_color.py: New. Test cases for Thuban.Model.color
127    
128            * test/test_base.py: New. Test cases for Thuban.Model.base
129    
130    2002-09-13  Bernhard Herzog  <[email protected]>
131    
132            * Thuban/Model/session.py (Session.forwarded_channels): Forward
133            the CHANGED channel too.
134    
135            * Thuban/Model/map.py (Map.forwarded_channels): Forward the
136            CHANGED channel too.
137            (Map.__init__): Call the Modifiable constructor as well.
138    
139            * Thuban/Model/base.py (Modifiable.UnsetModified): Issue a CHANGED
140            event if the modified flag changes.
141            (Modifiable.changed): Tweak the doc-string.
142    
143            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed)
144            (MainWindow.set_position_text): Put the code that puts the text
145            with the mouse position into the status bar into the new method
146            set_position_text so that it can overwritten in derived classes.
147    
148    2002-09-12  Bernhard Herzog  <[email protected]>
149    
150            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Center the
151            message box on the main window.
152    
153    2002-09-11  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/mainwindow.py: Underline the 'x' in "Exit" instead of
156            the 'E' because it's less likely to interfere with other menu
157            entries.
158            (MainWindow.build_menu): remove an incorrect comment.
159    
160    2002-09-10  Bernhard Herzog  <[email protected]>
161    
162            * Thuban/UI/mainwindow.py (MainWindow.Map): New.
163            (_tool_command): Add sensitive parameter
164            (_has_visible_map): Sensitivity callback to tools and other
165            commands that require a visible map. Use it in map_zoom_in_tool,
166            map_zoom_out_tool, map_pan_tool, map_identify_tool, map_label_tool
167            and map_full_extent
168    
169    2002-09-06  Bernhard Herzog  <[email protected]>
170    
171            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
172            VIEW_POSITION
173    
174    2002-09-04  Frank Koormann   <[email protected]>
175    
176            * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
177    
178    2002-09-02  Bernhard Herzog  <[email protected]>
179    
180            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
181            wxWindows already and our implementation doesn't work correctly
182            with wxGTK 2.3:
183            (MapCanvas.__init__): Remove the instance variable
184            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
185            be drawin
186            (MapCanvas.OnIdle): Removed.
187    
188            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
189            a parameter to determine the size of the rectangle.
190            (MapCanvas.find_shape_at): Create the box around the point on a
191            layer by layer basis and make the size depend on the shape type.
192            This solves a problem with the selection of point shapes at the
193            border of the layer's bounding box
194    
195    2002-08-30  Bernhard Herzog  <[email protected]>
196    
197            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
198            for the sensitivity  of remove layer.
199            (_can_remove_layer): New. Sensitivity callback for remove layer
200            (Command layer_remove): Use _can_remove_layer
201    
202            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
203            determine whether a given layer can be deleted.
204    
205            * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
206            (MapCanvas.do_redraw): Get rid of the unused update_region
207            instance variable
208    
209            * Thuban/UI/view.py: Add/update some doc-strings.
210    
211            * test/: new subdirectory with a bunch of unit tests.
212    
213            * test/README, test/test_table.py, test/test_save.py,
214            test/test_menu.py, test/test_load.py: Initial set of tests and
215            brief instructions on how to run them
216    
217    2002-08-29  Bernhard Herzog  <[email protected]>
218    
219            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Handle
220            arcs with multiple parts.
221    
222            * Thuban/UI/view.py (ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
223            Handle degenrate rectangles.
224    
225            * Thuban/Model/table.py: Make writing records work correctly:
226            (Table.__init__): Keep track of whether the DBF is open for
227            writing
228            (Table.write_record): Open the DBF file for writing when necessary
229    
230    2002-08-27  Bernhard Herzog  <[email protected]>
231    
232            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
233            dbf files only for reading by default. Use a new writable dbf
234            object for writing.
235    
236    2002-08-26  Bernhard Herzog  <[email protected]>
237    
238            * Thuban/UI/mainwindow.py: Refactor the context creation:
239            (MainWindow.Context): New method to return a context
240            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
241            new method
242    
243            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
244            layer table specific code from TableGrid into LayerTableGrid
245            (TableFrame, LayerTableFrame): Split the layer table specific code
246            from TableFrame into LayerTableFrame
247            (LayerTableGrid.select_shape): Remove a debug print
248    
249            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
250            LayerTableFrame
251    
252    2002-08-23  Bernhard Herzog  <[email protected]>
253    
254            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
255            absolute filename.
256    
257    2002-08-22  Bernhard Herzog  <[email protected]>
258    
259            * Thuban/Model/table.py (Table.write_record): New method to write
260            records.
261            (Table.__init__): Open the DBF file for writing too.
262    
263            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
264            into the underlying table.
265    
266            * extensions/shapelib/shapefil.h (DBFCommit),
267            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
268            commit any changes made to the DBF file.
269    
270            * Thuban/UI/mainwindow.py (make_check_current_tool)
271            (_tool_command): Put the code that generates the "checked"
272            callback into a separate function so that we can reuse it
273            elsewhere
274    
275            * Thuban/Model/save.py (Saver): New class to handle serializing a
276            session into an XML file. The main reason to introduce a class is
277            that applications built on Thuban can derive from it so that they
278            can save additional information in a session file.
279            (save_session): Delegate almost all the work to the Saver class.
280            Rename the filename argument to file because it may be a file like
281            object now.
282    
283            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
284            code. Remove the little test code which would be executed when the
285            module is run as a script which didn't work anymore since it can't
286            import the other Thuban modules.
287            (ProcessSession, load_session): Refactor the ProcessSession to
288            have one method for each element start and end tag so that derived
289            classes can easily override the processing of individual tags.
290            Also, always parse with namespaces enabled because applications
291            built on top of Thuban will likely use namespaces if they extend
292            the session file format.
293    
294    2002-08-21  Bernhard Herzog  <[email protected]>
295    
296            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
297            because thubaninit_contents will do it for us.
298    
299  2002-08-16      Jan-Oliver Wagner <[email protected]>  2002-08-16      Jan-Oliver Wagner <[email protected]>
300    
301          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if

Legend:
Removed from v.265  
changed lines
  Added in v.370

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26