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

Legend:
Removed from v.234  
changed lines
  Added in v.308

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26