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

Legend:
Removed from v.230  
changed lines
  Added in v.291

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26