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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26