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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26