/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.235  
changed lines
  Added in v.294

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26