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

Legend:
Removed from v.238  
changed lines
  Added in v.302

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26