/[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 238 by bh, Wed Jul 24 10:19:46 2002 UTC revision 304 by bh, Mon Sep 2 16:47:59 2002 UTC
# Line 1  Line 1 
1    2002-09-02  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/view.py: Get rid of the idle redraw. This is done by
4            wxWindows already and our implementation doesn't work correctly
5            with wxGTK 2.3:
6            (MapCanvas.__init__): Remove the instance variable
7            (MapCanvas.OnPaint): Always call do_redraw when there's a map to
8            be drawin
9            (MapCanvas.OnIdle): Removed.
10    
11            * Thuban/UI/view.py (MapCanvas.unprojected_rect_around_point): Add
12            a parameter to determine the size of the rectangle.
13            (MapCanvas.find_shape_at): Create the box around the point on a
14            layer by layer basis and make the size depend on the shape type.
15            This solves a problem with the selection of point shapes at the
16            border of the layer's bounding box
17    
18    2002-08-30  Bernhard Herzog  <[email protected]>
19    
20            * Thuban/UI/mainwindow.py (MainWindow.CanRemoveLayer): New method
21            for the sensitivity  of remove layer.
22            (_can_remove_layer): New. Sensitivity callback for remove layer
23            (Command layer_remove): Use _can_remove_layer
24    
25            * Thuban/Model/map.py (Map.CanRemoveLayer): New method to
26            determine whether a given layer can be deleted.
27    
28            * Thuban/UI/view.py (MapCanvas.__init__, MapCanvas.OnPaint)
29            (MapCanvas.do_redraw): Get rid of the unused update_region
30            instance variable
31    
32            * Thuban/UI/view.py: Add/update some doc-strings.
33    
34            * test/: new subdirectory with a bunch of unit tests.
35    
36            * test/README, test/test_table.py, test/test_save.py,
37            test/test_menu.py, test/test_load.py: Initial set of tests and
38            brief instructions on how to run them
39    
40    2002-08-29  Bernhard Herzog  <[email protected]>
41    
42            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Handle
43            arcs with multiple parts.
44    
45            * Thuban/UI/view.py (ZoomInTool.MouseUp, ZoomOutTool.MouseUp):
46            Handle degenrate rectangles.
47    
48            * Thuban/Model/table.py: Make writing records work correctly:
49            (Table.__init__): Keep track of whether the DBF is open for
50            writing
51            (Table.write_record): Open the DBF file for writing when necessary
52    
53    2002-08-27  Bernhard Herzog  <[email protected]>
54    
55            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
56            dbf files only for reading by default. Use a new writable dbf
57            object for writing.
58    
59    2002-08-26  Bernhard Herzog  <[email protected]>
60    
61            * Thuban/UI/mainwindow.py: Refactor the context creation:
62            (MainWindow.Context): New method to return a context
63            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
64            new method
65    
66            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
67            layer table specific code from TableGrid into LayerTableGrid
68            (TableFrame, LayerTableFrame): Split the layer table specific code
69            from TableFrame into LayerTableFrame
70            (LayerTableGrid.select_shape): Remove a debug print
71    
72            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
73            LayerTableFrame
74    
75    2002-08-23  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
78            absolute filename.
79    
80    2002-08-22  Bernhard Herzog  <[email protected]>
81    
82            * Thuban/Model/table.py (Table.write_record): New method to write
83            records.
84            (Table.__init__): Open the DBF file for writing too.
85    
86            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
87            into the underlying table.
88    
89            * extensions/shapelib/shapefil.h (DBFCommit),
90            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
91            commit any changes made to the DBF file.
92    
93            * Thuban/UI/mainwindow.py (make_check_current_tool)
94            (_tool_command): Put the code that generates the "checked"
95            callback into a separate function so that we can reuse it
96            elsewhere
97    
98            * Thuban/Model/save.py (Saver): New class to handle serializing a
99            session into an XML file. The main reason to introduce a class is
100            that applications built on Thuban can derive from it so that they
101            can save additional information in a session file.
102            (save_session): Delegate almost all the work to the Saver class.
103            Rename the filename argument to file because it may be a file like
104            object now.
105    
106            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
107            code. Remove the little test code which would be executed when the
108            module is run as a script which didn't work anymore since it can't
109            import the other Thuban modules.
110            (ProcessSession, load_session): Refactor the ProcessSession to
111            have one method for each element start and end tag so that derived
112            classes can easily override the processing of individual tags.
113            Also, always parse with namespaces enabled because applications
114            built on top of Thuban will likely use namespaces if they extend
115            the session file format.
116    
117    2002-08-21  Bernhard Herzog  <[email protected]>
118    
119            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
120            because thubaninit_contents will do it for us.
121    
122    2002-08-16      Jan-Oliver Wagner <[email protected]>
123    
124            * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
125            tree window already open
126    
127    2002-08-15  Bernhard Herzog  <[email protected]>
128    
129            * Thuban/Model/layer.py (Layer.Destroy): Call the unboundd method
130            with self.
131    
132            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Only release the mouse
133            when we have actually captured it.
134    
135            * Thuban/Model/layer.py (Layer.Destroy): New. Explicitly close the
136            shapefile and destroy the table.
137    
138            * Thuban/Model/table.py (Table.Destroy): New. Close the DBF file.
139    
140    2002-08-14  Bernhard Herzog  <[email protected]>
141    
142            * Thuban/UI/controls.py (RecordTable.__init__): Remove the unused
143            instance variable columns
144            (RecordTable.GetTypeName): row and col may be negative in some
145            cases.
146    
147            * setup.py (InstallLocal.initialize_options)
148            (InstallLocal.finalize_options, InstallLocal.user_options): New
149            option create-init-file to build a thubaninit.py when running
150            install_local
151            (InstallLocal.run): Create the thubaninit.py module when requested
152            (thubaninit_contents): Split the template into several parts and
153            create a new function thubaninit_contents that creates the
154            contents of a thubaninit module.
155            (ThubanInstall.run): Use the new function to create the thubaninit
156            module.
157    
158    2002-07-30  Bernhard Herzog  <[email protected]>
159    
160            * Thuban/UI/application.py (ThubanApplication.OnExit): Do some
161            cleanup.
162            (ThubanApplication.MainLoop): Extend to automatically call OnExit.
163    
164            * Thuban/Model/session.py (Session.Destroy): Don't bypass the
165            direct base class' Destroy method.
166    
167            * Thuban/Model/map.py (Map.ClearLayers): New method to delete all
168            layers.
169            (Map.Destroy): Destroy the label_layer as well and call the
170            inherited Desatroymethod first so that no more messages are
171            issued.
172            (Map.RaiseLayer, Map.LowerLayer): Only issue LAYERS_CHANGED
173            message if the stacking order actually has changed. Add
174            doc-strings.
175            (Map.BoundingBox): Correct the doc-string.
176            (Map.AddLayer, Map.RemoveLayer, Map.Layers, Map.HasLayers)
177            (Map.ProjectedBoundingBox, Map.SetProjection): Add doc-strings.
178    
179            * Thuban/Model/label.py (LabelLayer.ClearLabels): New to delete
180            all labels.
181    
182    2002-07-29  Bernhard Herzog  <[email protected]>
183    
184            * Thuban/Model/map.py (Map.subscribe_layer_channels)
185            (Map.unsubscribe_layer_channels): Put the code that (un)subscribes
186            to a layer's channels into separate methods.
187            (Map.RemoveLayer, Map.AddLayer): Call the new methods
188            (Map.Destroy): Unsubscribe from a layer's channels before
189            destroying it.
190    
191            * Thuban/UI/view.py (MapCanvas.find_shape_at): Change the
192            selected_layer parameter to searched_layer which is the layer to
193            search in.
194            (MapCanvas.SelectShapeAt): New parameter layer to restrict the
195            search to that layer. Return the selected layer and shape.
196    
197            * Examples/simple_extensions/simple_tool.py (simple_tool): Fix a
198            typo
199    
200  2002-07-24  Bernhard Herzog  <[email protected]>  2002-07-24  Bernhard Herzog  <[email protected]>
201    
202            * Thuban/UI/application.py (ThubanApplication.create_session):
203            Extend the doc string.
204            (ThubanApplication.subscribe_session)
205            (ThubanApplication.unsubscribe_session): New methods to
206            subscribe/unsubscribe to/from session channels.
207            (ThubanApplication.SetSession): Call the new methods here.
208            (ThubanApplication.maps_changed, ThubanApplication.set_map):
209            Renamed set_map to maps_changed. Its now a subscriber for
210            MAPS_CHANGED.
211    
212            * Thuban/UI/view.py (ZoomOutTool.MouseUp): Use the correct
213            x-coordinate in case of simple clicks
214    
215            * Thuban/Model/base.py (Modifiable.changed): Apply the args tuple,
216            don't pass it as a parameter
217    
218            * Thuban/Model/session.py (Session.RemoveMap): New
219    
220          * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial          * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial
221          window size into a parameter.          window size into a parameter.
222    

Legend:
Removed from v.238  
changed lines
  Added in v.304

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26