/[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 735 by jonathan, Fri Apr 25 09:11:39 2003 UTC revision 767 by jonathan, Tue Apr 29 13:03:47 2003 UTC
# Line 1  Line 1 
1    2003-04-29  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/mainwindow.py (MainWindow.SetMap): Look up the
4            legend dialog box and tell it to change its map to the one
5            supplied to SetMap(). Fixes RTbug #1770.
6    
7    2003-04-29  Bernhard Herzog  <[email protected]>
8    
9            Next step of table implementation. Introduce a transient database
10            using SQLite that some of the data is copied to on demand. This
11            allows us to do joins and other operations that require an index
12            for good performance with reasonable efficiency. Thuban now needs
13            SQLite 2.8.0 and pysqlite 0.4.1. Older versions may work but I
14            haven't tested that.
15            
16            * Thuban/Model/transientdb.py: New. Transient database
17            implementation.
18    
19            * test/test_transientdb.py: New. Tests for the transient DB
20            classes.
21    
22            * Thuban/Model/session.py (AutoRemoveFile, AutoRemoveDir): New
23            classes to help automatically remove temporary files and
24            directories.
25            (Session.__init__): New instance variables temp_dir for the
26            temporary directory and transient_db for the SQLite database
27            (Session.temp_directory): New. Create a temporary directory if not
28            yet done and return its name. Use AutoRemoveDir to have it
29            automatically deleted
30            (Session.TransientDB): Instantiate the transient database if not
31            done yet and return it.
32    
33            * Thuban/Model/data.py (ShapefileStore.__init__): Use an
34            AutoTransientTable so that data is copied to the transient DB on
35            demand.
36            (SimpleStore): New class that simply combines a table and a
37            shapefile
38    
39            * Thuban/Model/table.py (Table, DBFTable): Rename Table into
40            DBFTable and update its doc-string to reflect the fact that this
41            is only the table interface to a DBF file. Table is now an alias
42            for DBFTable for temporary backwards compatibility.
43    
44            * Thuban/UI/application.py (ThubanApplication.OnExit): Make sure
45            the last reference to the session goes away so that the temporary
46            files are removed properly.
47    
48            * test/test_load.py (LoadSessionTest.tearDown): Remove the
49            reference to the session to make sure the temporary files are
50            removed.
51    
52    2003-04-29  Bernhard Herzog  <[email protected]>
53    
54            * Thuban/Model/load.py (XMLReader.__init__, XMLReader.read): Turn
55            the __parser instance variable into a normal local variable in
56            read. It's only used there and read will never be called more than
57            once. Plus it introduces a reference cycle that keeps can keep the
58            session object alive for a long time.
59    
60    2003-04-29  Jonathan Coles   <[email protected]>
61    
62            * Thuban/Model/proj.py (Projection): Removed Set*() methods to make
63            Projection an immutable item. Fixes RTbug #1825.
64            (Projection.__init__): Initialize instance variables here.
65            (ProjFile.Replace): New. Replace the given projection object with
66            the new projection object. This solves the problem of needing the
67            mutator Projection.SetProjection() in the ProjFrame class and
68            allows a projection to change parameters without changing its
69            location in the file.
70    
71            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs): Dialog should
72            be of type wxSAVE and should verify overwriting a file.
73    
74            * Thuban/UI/projdialog.py (ProjFrame._OnSave): Use the new
75            ProjFile.Replace() method instead of the mutator
76            Projection.SetProjection(). Also requires that we reassign the
77            client data to the new projection.
78    
79            * test/test_proj.py (TestProjection.test): Test GetName() and
80            GetAllParameters()
81            (TestProjFile.test): Remove tests for Set*() methods. Add tests
82            for Replace().
83    
84    2003-04-25  Jonathan Coles   <[email protected]>
85    
86            * Thuban/Model/save.py (SessionSaver.write_projection): Make sure
87            to save the name of the projection.
88    
89            * test/test_save.py (SaveSessionTest.testLayerProjection): New
90            test to verify layer projections are saved correctly.
91    
92    2003-04-25  Jonathan Coles   <[email protected]>
93    
94            * Thuban/Model/proj.py (Projection.SetName): Set the name
95            to "Unknown" if name is None.
96            (Projection.SetAllParameters): New. Set the projection's
97            parameter list to the one supplied.
98            (Projection.SetProjection): New. Set the projection's
99            properties to those of the supplied Projection.
100    
101            * Thuban/UI/mainwindow.py (MainWindow.MapProjection): Set
102            the dialog title to include the map's title.
103            (MainWindow.LayerProjection): Set the dialog title to include
104            the layer's title.
105    
106            * Thuban/UI/projdialog.py (ProjFrame.__ShowError): Consolidate
107            error dialogs into a single method call.
108            (ProjFrame.__VerifyButtons): Add more states to check.
109            (ProjFrame.__GetProjection): Return the current state of an
110            edited projection or None.
111            (ProjFrame.__FillAvailList): Remove checks for states that
112            shouldn't exist.
113            (ProjFrame._OnNew): Clear all selected items and supply
114            a projection panel if necessary.
115    
116            * test/test_proj.py (TestProjFile.test): Add tests for
117            ProjFile.SetAllParameters, ProjFile.SetProjection,
118            ProjFile.SetName.
119    
120    2003-04-25  Jonathan Coles   <[email protected]>
121    
122            * Thuban/UI/projdialog.py (ProjFrame.__FillAvailList): Now
123            takes an optional argument to select the current projection.
124            This does not guarantee that the item is visible due to
125            limited wxWindows functionality. Fixes RTBug #1821.
126    
127    2003-04-25  Jonathan Coles   <[email protected]>
128    
129            * Thuban/Model/load.py (SessionLoader.start_projection): Remember
130            the projection name and use it when constructing the Projection
131            object.
132    
133            * Thuban/Model/proj.py (Projection.__init__): Change the default
134            value for 'name' to None and then test if name is equal to None
135            in the body of the constructor. This way the caller doesn't have to
136            know what the default value should be. Namely, useful in load.py
137            where we have to pick a default value if the 'name' parameter
138            doesn't exist in the XML file.
139    
140            * test/test_load.py (LoadSessionTest.testLayerProjection): New.
141            Tests a file where a layer has a projection.
142    
143  2003-04-25  Jonathan Coles   <[email protected]>  2003-04-25  Jonathan Coles   <[email protected]>
144    
145          * Thuban/Model/layer.py (Layer.TreeInfo): Add an item to the          * Thuban/Model/layer.py (Layer.TreeInfo): Add an item to the

Legend:
Removed from v.735  
changed lines
  Added in v.767

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26