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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26