/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 202 by bh, Mon Jul 8 10:51:14 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]>
238    
239            * Thuban/UI/tree.py (color_string): Removed. No longer used.
240            (SessionTreeCtrl.update_tree, SessionTreeCtrl.add_items): Split
241            update_tree into update_tree and add_items. The tree now uses a
242            more generic way to display the contents of the tree.
243            (SessionTreeCtrl): Add a doc string explaining the TreeInfo method
244    
245            * Thuban/Model/layer.py (Layer.TreeInfo),
246            Thuban/Model/extension.py (Extension.TreeInfo),
247            Thuban/Model/map.py (Map.TreeInfo),
248            Thuban/Model/session.py (Session.TreeInfo):
249            Add TreeInfo methods to implement the new tree view update scheme
250    
251    2002-07-16  Bernhard Herzog  <[email protected]>
252    
253            * Thuban/UI/application.py: Don't use "import from" for the
254            MainWindow. It can't always be resolved.
255            (ThubanApplication.OnInit): change reference to MainWindow
256            accordingly.
257    
258            * Thuban/UI/menu.py (Menu.SetItems): New method to replace a menu
259            completely
260    
261    2002-07-10  Bernhard Herzog  <[email protected]>
262    
263            * setup.py (create_init_module): New configurable variable whose
264            default depends on the platform we're running on.
265            (ThubanInstall.initialize_options): Initialize
266            self.create_init_module from the global create_init_module
267            (ThubanInstall.user_options): indictate that the options
268            create-init-module and init-module-dir have arguments.
269    
270            * setup.py: In the setup call change the version number to include
271            cvs.
272    
273            * MANIFEST.in: Add the files in Examples
274    
275    2002-07-09  Bernhard Herzog  <[email protected]>
276    
277            * setup.py: In the setup call, use the thuban homepage as the
278            value of the url parameter.
279    
280            * Examples: New subdirectory for examples.
281    
282            * Examples/simple_extensions/simple_tool.xpm,
283            Examples/simple_extensions/simple_tool.py,
284            Examples/simple_extensions/simple_command.py,
285            Examples/simple_extensions/README: Simple examples showing how to
286            add new commands and tools.
287    
288            * setup.cfg (bdist_rpm): Add the default value for prefix and tell
289            bdist_rpm that we also have an install script.
290            (bdist_inno): Add 2002 to the copyright notice.
291    
292            * setup.py: Create a file in python's site-packages directory to
293            make installation of Thuban as a library easier.
294            (ThubanInstall.user_options): Add two new options,
295            create-init-module and init-module-dir
296            (ThubanInstall.expand_with_pure_python_dirs): New method to expand
297            filenames for installation in the default directories.
298            (ThubanInstall.select_scheme, ThubanInstall.convert_paths): Extend
299            the inherited methods to capture some filenames before they're
300            transformed too much by distutils.
301            (ThubanInstall.run): Create the init module if requested.
302            (ThubanInstall.thuban_init_filename): New method to return the
303            full name of the init module.
304            (ThubanInstall.get_outputs): Append the filename of the init
305            module.
306    
307  2002-07-08  Bernhard Herzog  <[email protected]>  2002-07-08  Bernhard Herzog  <[email protected]>
308    
309            * setup.py (thuban_bdist_rpm): Extend this version of bdist_rpm to
310            handle the prefix properly which means that the default for the
311            installation prefix should be /usr for RPMs and /usr/local when
312            doing a normal source install.
313            (bdist_rpm_install_script): Script to override the default install
314            commands in the specfile generated by the bdist_rpm command.
315            (thuban_bdist_rpm.user_options): Add a prefix option
316            (thuban_bdist_rpm.initialize_options): Init the prefix option.
317            Create the script files for the spec files as empty files here
318            (thuban_bdist_rpm._make_spec_file): Override the inherited method
319            to fill the script files with content.
320    
321          * Thuban/Model/save.py (relative_filename): Wrapper around          * Thuban/Model/save.py (relative_filename): Wrapper around
322          Thuban.Lib.fileutil.relative_filename that accepts an empty dir          Thuban.Lib.fileutil.relative_filename that accepts an empty dir
323          argument. save_session now automatically uses this version,          argument. save_session now automatically uses this version,

Legend:
Removed from v.202  
changed lines
  Added in v.280

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26