/[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 217 by bh, Wed Jul 17 10:50:40 2002 UTC revision 285 by bh, Tue Aug 27 14:08:43 2002 UTC
# Line 1  Line 1 
1    2002-08-27  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/table.py (Table.write_record, Table.__init__): Open
4            dbf files only for reading by default. Use a new writable dbf
5            object for writing.
6    
7    2002-08-26  Bernhard Herzog  <[email protected]>
8    
9            * Thuban/UI/mainwindow.py: Refactor the context creation:
10            (MainWindow.Context): New method to return a context
11            (MainWindow.invoke_command, MainWindow.update_command_ui): Use the
12            new method
13    
14            * Thuban/UI/tableview.py (TableGrid, LayerTableGrid): Split the
15            layer table specific code from TableGrid into LayerTableGrid
16            (TableFrame, LayerTableFrame): Split the layer table specific code
17            from TableFrame into LayerTableFrame
18            (LayerTableGrid.select_shape): Remove a debug print
19    
20            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Use the
21            LayerTableFrame
22    
23    2002-08-23  Bernhard Herzog  <[email protected]>
24    
25            * Thuban/Model/layer.py (Layer.__init__): Make sure we have an
26            absolute filename.
27    
28    2002-08-22  Bernhard Herzog  <[email protected]>
29    
30            * Thuban/Model/table.py (Table.write_record): New method to write
31            records.
32            (Table.__init__): Open the DBF file for writing too.
33    
34            * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
35            into the underlying table.
36    
37            * extensions/shapelib/shapefil.h (DBFCommit),
38            extensions/shapelib/dbfopen.c (DBFCommit): New API function to
39            commit any changes made to the DBF file.
40    
41            * Thuban/UI/mainwindow.py (make_check_current_tool)
42            (_tool_command): Put the code that generates the "checked"
43            callback into a separate function so that we can reuse it
44            elsewhere
45    
46            * Thuban/Model/save.py (Saver): New class to handle serializing a
47            session into an XML file. The main reason to introduce a class is
48            that applications built on Thuban can derive from it so that they
49            can save additional information in a session file.
50            (save_session): Delegate almost all the work to the Saver class.
51            Rename the filename argument to file because it may be a file like
52            object now.
53    
54            * Thuban/Model/load.py: Get rid of the Python 1.5.2 compatibility
55            code. Remove the little test code which would be executed when the
56            module is run as a script which didn't work anymore since it can't
57            import the other Thuban modules.
58            (ProcessSession, load_session): Refactor the ProcessSession to
59            have one method for each element start and end tag so that derived
60            classes can easily override the processing of individual tags.
61            Also, always parse with namespaces enabled because applications
62            built on top of Thuban will likely use namespaces if they extend
63            the session file format.
64    
65    2002-08-21  Bernhard Herzog  <[email protected]>
66    
67            * setup.py (ThubanInstall.run): Don't repr install_lib_orig
68            because thubaninit_contents will do it for us.
69    
70    2002-08-16      Jan-Oliver Wagner <[email protected]>
71    
72            * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
73            tree window already open
74    
75    2002-08-15  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/layer.py (Layer.Destroy): Call the unboundd method
78            with self.
79    
80            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Only release the mouse
81            when we have actually captured it.
82    
83            * Thuban/Model/layer.py (Layer.Destroy): New. Explicitly close the
84            shapefile and destroy the table.
85    
86            * Thuban/Model/table.py (Table.Destroy): New. Close the DBF file.
87    
88    2002-08-14  Bernhard Herzog  <[email protected]>
89    
90            * Thuban/UI/controls.py (RecordTable.__init__): Remove the unused
91            instance variable columns
92            (RecordTable.GetTypeName): row and col may be negative in some
93            cases.
94    
95            * setup.py (InstallLocal.initialize_options)
96            (InstallLocal.finalize_options, InstallLocal.user_options): New
97            option create-init-file to build a thubaninit.py when running
98            install_local
99            (InstallLocal.run): Create the thubaninit.py module when requested
100            (thubaninit_contents): Split the template into several parts and
101            create a new function thubaninit_contents that creates the
102            contents of a thubaninit module.
103            (ThubanInstall.run): Use the new function to create the thubaninit
104            module.
105    
106    2002-07-30  Bernhard Herzog  <[email protected]>
107    
108            * Thuban/UI/application.py (ThubanApplication.OnExit): Do some
109            cleanup.
110            (ThubanApplication.MainLoop): Extend to automatically call OnExit.
111    
112            * Thuban/Model/session.py (Session.Destroy): Don't bypass the
113            direct base class' Destroy method.
114    
115            * Thuban/Model/map.py (Map.ClearLayers): New method to delete all
116            layers.
117            (Map.Destroy): Destroy the label_layer as well and call the
118            inherited Desatroymethod first so that no more messages are
119            issued.
120            (Map.RaiseLayer, Map.LowerLayer): Only issue LAYERS_CHANGED
121            message if the stacking order actually has changed. Add
122            doc-strings.
123            (Map.BoundingBox): Correct the doc-string.
124            (Map.AddLayer, Map.RemoveLayer, Map.Layers, Map.HasLayers)
125            (Map.ProjectedBoundingBox, Map.SetProjection): Add doc-strings.
126    
127            * Thuban/Model/label.py (LabelLayer.ClearLabels): New to delete
128            all labels.
129    
130    2002-07-29  Bernhard Herzog  <[email protected]>
131    
132            * Thuban/Model/map.py (Map.subscribe_layer_channels)
133            (Map.unsubscribe_layer_channels): Put the code that (un)subscribes
134            to a layer's channels into separate methods.
135            (Map.RemoveLayer, Map.AddLayer): Call the new methods
136            (Map.Destroy): Unsubscribe from a layer's channels before
137            destroying it.
138    
139            * Thuban/UI/view.py (MapCanvas.find_shape_at): Change the
140            selected_layer parameter to searched_layer which is the layer to
141            search in.
142            (MapCanvas.SelectShapeAt): New parameter layer to restrict the
143            search to that layer. Return the selected layer and shape.
144    
145            * Examples/simple_extensions/simple_tool.py (simple_tool): Fix a
146            typo
147    
148    2002-07-24  Bernhard Herzog  <[email protected]>
149    
150            * Thuban/UI/application.py (ThubanApplication.create_session):
151            Extend the doc string.
152            (ThubanApplication.subscribe_session)
153            (ThubanApplication.unsubscribe_session): New methods to
154            subscribe/unsubscribe to/from session channels.
155            (ThubanApplication.SetSession): Call the new methods here.
156            (ThubanApplication.maps_changed, ThubanApplication.set_map):
157            Renamed set_map to maps_changed. Its now a subscriber for
158            MAPS_CHANGED.
159    
160            * Thuban/UI/view.py (ZoomOutTool.MouseUp): Use the correct
161            x-coordinate in case of simple clicks
162    
163            * Thuban/Model/base.py (Modifiable.changed): Apply the args tuple,
164            don't pass it as a parameter
165    
166            * Thuban/Model/session.py (Session.RemoveMap): New
167    
168            * Thuban/UI/mainwindow.py (MainWindow.__init__): Turn the initial
169            window size into a parameter.
170    
171    2002-07-23  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/UI/menu.py (Menu.item_index): Also search for menus not
174            just commands.
175    
176            * Thuban/UI/mainwindow.py (MainWindow.__init__): Change the
177            parameter list a bit to allow setting the window title and the
178            initial message in the status bar. Update the callers.
179    
180            * Thuban/UI/application.py (ThubanApplication.OnInit)
181            (ThubanApplication.CreateMainWindow): Put the mainwindow
182            instantiation into a separate method so that it can be overridden
183            by a subclass.
184    
185    2002-07-19  Bernhard Herzog  <[email protected]>
186    
187            * Thuban/Model/session.py: Issue a CHANGED message every time
188            another changed message is issued to make it easier to get
189            notified of changes.
190            (Session): Update the doc string
191            (Session.forward): Issue changed-events as CHANGED as well.
192            (Session.changed): Overwrite the inherited version to issue
193            CHANGED events as well.
194    
195            * Thuban/UI/tree.py: We can now simply subscribe to the session's
196            CHANGED channel to be informed of changes.
197            (SessionTreeCtrl.session_channels): Not needed any longer.
198            (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
199            Only have to (un)subscribe CHANGED
200    
201            * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
202    
203            * Thuban/UI/main.py, Thuban/UI/__init__.py: Move the work-around
204            for the wxPython locale bug to __init__.py so that it's
205            automatically executed by anybody using UI code from Thuban.
206    
207    2002-07-18  Bernhard Herzog  <[email protected]>
208    
209            * Thuban/UI/main.py (main): app no longer needs to be global
210    
211            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add application
212            as parameter and store it in an instance variable
213            (MainWindow.invoke_command, MainWindow.update_command_ui)
214            (MainWindow.save_modified_session, MainWindow.NewSession)
215            (MainWindow.OpenSession, MainWindow.SaveSession)
216            (MainWindow.SaveSessionAs, MainWindow.ShowSessionTree): Use self's
217            application object.
218    
219            * Thuban/UI/application.py (ThubanApplication.OnInit): Instantiate
220            the main window with self.
221    
222            * Thuban/UI/context.py: New module with the context class
223    
224            * Thuban/UI/command.py (Command): Update doc string.
225    
226            * Thuban/UI/mainwindow.py (MainWindow.invoke_command,
227            MainWindow.update_command_ui): Pass an instance of the context
228            class to the command's methods
229            (check_current_tool, call_method): Handle the new context
230            implementation
231    
232            * Examples/simple_extensions/simple_tool.py (simple_tool,
233            check_simple_tool): Handle the new context implementation
234    
235            * Examples/simple_extensions/simple_command.py (simple_command):
236            Handle the new context implementation. Update the comments about
237            the context.
238    
239            * Thuban/UI/application.py (ThubanApplication.SetSession): Add
240            doc-string
241            (ThubanApplication.Session): New method to return the session
242            object
243    
244            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): The
245            interactor's selected_layer may not be a layer of the current
246            session when the tree is updated while a new session is being set.
247    
248  2002-07-17  Bernhard Herzog  <[email protected]>  2002-07-17  Bernhard Herzog  <[email protected]>
249    
250          * Thuban/UI/tree.py (color_string): Removed. No longer used.          * Thuban/UI/tree.py (color_string): Removed. No longer used.

Legend:
Removed from v.217  
changed lines
  Added in v.285

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26