/[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 734 by bh, Thu Apr 24 19:14:16 2003 UTC revision 786 by bh, Wed Apr 30 10:54:32 2003 UTC
# Line 1  Line 1 
1    2003-04-30  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/transientdb.py (TransientTableBase.__init__): New
4            instance variable read_record_last_result
5            (TransientTableBase.read_record): Make sure reading the same
6            record twice works. The implementation uses the new instance
7            variable read_record_last_result
8    
9            * test/test_transientdb.py
10            (TestTransientTable.test_transient_table_read_twice): New test
11            case for the above bug-fix.
12    
13    2003-04-29  Bernhard Herzog  <[email protected]>
14    
15            * Thuban/Model/session.py (Session.Destroy): Explicitly close the
16            transient DB if it exists to make sure it doesn't leave a journal
17            file in the temp directory.
18    
19            * Thuban/Model/transientdb.py (TransientDatabase.close): Set
20            self.conn to None after closing the connection to make sure it's
21            not closed twice
22    
23    2003-04-29  Jonathan Coles   <[email protected]>
24    
25            Add a visible parameter in the layer XML tag. The default value is
26            "true". If anything other than "false" is specified we also assume
27            "true". Addresses RTbug #1025.
28    
29            * Doc/thuban.dtd: Add visible parameter to a layer.
30    
31            * Thuban/Model/layer.py (BaseLayer.__init__): Change default value
32            of visible from 1 to True.
33            (Layer.__init__): Change default value of visible from 1 to True.
34    
35            * Thuban/Model/load.py (SessionLoader.start_layer): Read visible
36            parameter.
37    
38            * Thuban/Model/save.py (SessionSaver.write_layer): Save visible
39            parameter.
40    
41            * test/test_load.py: Add new test data contents_test_visible.
42            (LoadSessionTest.setUp): save test data.
43            (LoadSessionTest.testLayerVisibility): Test if the visible flag
44            is loaded correctly.
45    
46            * test/test_save.py (SaveSessionTest.testSingleLayer): Add test
47            for saving an invisible layer.
48    
49    2003-04-29  Jonathan Coles   <[email protected]>
50    
51            * Thuban/UI/mainwindow.py (MainWindow.SetMap): Look up the
52            legend dialog box and tell it to change its map to the one
53            supplied to SetMap(). Fixes RTbug #1770.
54    
55    2003-04-29  Bernhard Herzog  <[email protected]>
56    
57            Next step of table implementation. Introduce a transient database
58            using SQLite that some of the data is copied to on demand. This
59            allows us to do joins and other operations that require an index
60            for good performance with reasonable efficiency. Thuban now needs
61            SQLite 2.8.0 and pysqlite 0.4.1. Older versions may work but I
62            haven't tested that.
63            
64            * Thuban/Model/transientdb.py: New. Transient database
65            implementation.
66    
67            * test/test_transientdb.py: New. Tests for the transient DB
68            classes.
69    
70            * Thuban/Model/session.py (AutoRemoveFile, AutoRemoveDir): New
71            classes to help automatically remove temporary files and
72            directories.
73            (Session.__init__): New instance variables temp_dir for the
74            temporary directory and transient_db for the SQLite database
75            (Session.temp_directory): New. Create a temporary directory if not
76            yet done and return its name. Use AutoRemoveDir to have it
77            automatically deleted
78            (Session.TransientDB): Instantiate the transient database if not
79            done yet and return it.
80    
81            * Thuban/Model/data.py (ShapefileStore.__init__): Use an
82            AutoTransientTable so that data is copied to the transient DB on
83            demand.
84            (SimpleStore): New class that simply combines a table and a
85            shapefile
86    
87            * Thuban/Model/table.py (Table, DBFTable): Rename Table into
88            DBFTable and update its doc-string to reflect the fact that this
89            is only the table interface to a DBF file. Table is now an alias
90            for DBFTable for temporary backwards compatibility.
91    
92            * Thuban/UI/application.py (ThubanApplication.OnExit): Make sure
93            the last reference to the session goes away so that the temporary
94            files are removed properly.
95    
96            * test/test_load.py (LoadSessionTest.tearDown): Remove the
97            reference to the session to make sure the temporary files are
98            removed.
99    
100    2003-04-29  Bernhard Herzog  <[email protected]>
101    
102            * Thuban/Model/load.py (XMLReader.__init__, XMLReader.read): Turn
103            the __parser instance variable into a normal local variable in
104            read. It's only used there and read will never be called more than
105            once. Plus it introduces a reference cycle that keeps can keep the
106            session object alive for a long time.
107    
108    2003-04-29  Jonathan Coles   <[email protected]>
109    
110            * Thuban/Model/proj.py (Projection): Removed Set*() methods to make
111            Projection an immutable item. Fixes RTbug #1825.
112            (Projection.__init__): Initialize instance variables here.
113            (ProjFile.Replace): New. Replace the given projection object with
114            the new projection object. This solves the problem of needing the
115            mutator Projection.SetProjection() in the ProjFrame class and
116            allows a projection to change parameters without changing its
117            location in the file.
118    
119            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs): Dialog should
120            be of type wxSAVE and should verify overwriting a file.
121    
122            * Thuban/UI/projdialog.py (ProjFrame._OnSave): Use the new
123            ProjFile.Replace() method instead of the mutator
124            Projection.SetProjection(). Also requires that we reassign the
125            client data to the new projection.
126    
127            * test/test_proj.py (TestProjection.test): Test GetName() and
128            GetAllParameters()
129            (TestProjFile.test): Remove tests for Set*() methods. Add tests
130            for Replace().
131    
132    2003-04-25  Jonathan Coles   <[email protected]>
133    
134            * Thuban/Model/save.py (SessionSaver.write_projection): Make sure
135            to save the name of the projection.
136    
137            * test/test_save.py (SaveSessionTest.testLayerProjection): New
138            test to verify layer projections are saved correctly.
139    
140    2003-04-25  Jonathan Coles   <[email protected]>
141    
142            * Thuban/Model/proj.py (Projection.SetName): Set the name
143            to "Unknown" if name is None.
144            (Projection.SetAllParameters): New. Set the projection's
145            parameter list to the one supplied.
146            (Projection.SetProjection): New. Set the projection's
147            properties to those of the supplied Projection.
148    
149            * Thuban/UI/mainwindow.py (MainWindow.MapProjection): Set
150            the dialog title to include the map's title.
151            (MainWindow.LayerProjection): Set the dialog title to include
152            the layer's title.
153    
154            * Thuban/UI/projdialog.py (ProjFrame.__ShowError): Consolidate
155            error dialogs into a single method call.
156            (ProjFrame.__VerifyButtons): Add more states to check.
157            (ProjFrame.__GetProjection): Return the current state of an
158            edited projection or None.
159            (ProjFrame.__FillAvailList): Remove checks for states that
160            shouldn't exist.
161            (ProjFrame._OnNew): Clear all selected items and supply
162            a projection panel if necessary.
163    
164            * test/test_proj.py (TestProjFile.test): Add tests for
165            ProjFile.SetAllParameters, ProjFile.SetProjection,
166            ProjFile.SetName.
167    
168    2003-04-25  Jonathan Coles   <[email protected]>
169    
170            * Thuban/UI/projdialog.py (ProjFrame.__FillAvailList): Now
171            takes an optional argument to select the current projection.
172            This does not guarantee that the item is visible due to
173            limited wxWindows functionality. Fixes RTBug #1821.
174    
175    2003-04-25  Jonathan Coles   <[email protected]>
176    
177            * Thuban/Model/load.py (SessionLoader.start_projection): Remember
178            the projection name and use it when constructing the Projection
179            object.
180    
181            * Thuban/Model/proj.py (Projection.__init__): Change the default
182            value for 'name' to None and then test if name is equal to None
183            in the body of the constructor. This way the caller doesn't have to
184            know what the default value should be. Namely, useful in load.py
185            where we have to pick a default value if the 'name' parameter
186            doesn't exist in the XML file.
187    
188            * test/test_load.py (LoadSessionTest.testLayerProjection): New.
189            Tests a file where a layer has a projection.
190    
191    2003-04-25  Jonathan Coles   <[email protected]>
192    
193            * Thuban/Model/layer.py (Layer.TreeInfo): Add an item to the
194            tree for projection information.
195    
196            * Thuban/Model/load.py (XMLReader.GetFilename): Renamed from
197            XMLReader.GetFileName.
198            (SessionLoader): Added support for loading projection tags that
199            appear inside a layer.
200    
201            * Thuban/Model/proj.py (ProjFile): Document the class. Move
202            back to using a list because the order of the projections in
203            the file is important to maintain. Fixes RTbug #1817.
204    
205            * Thuban/Model/resource.py: Rename calls to ProjFile.GetFileName
206            to ProjFile.GetFilename.
207    
208            * Thuban/Model/save.py (SessionSaver.write_layer): Save projection
209            information.
210    
211            * Thuban/UI/projdialog.py (ProjFrame._OnAddToList): Renamed from
212            ProjFrame._OnSaveAs. Removed old dead code from previous
213            implementation.
214            (ProjFrame._OnExport): Add support for exporting more than one
215            projection to a single file.
216            (ProjFrame.__FillAvailList): use string formatting (% operator)
217            to build strings that are (partly) translated. Fixes RTbug #1818.
218    
219            * test/test_proj.py (TestProjFile.test): New. Tests the base ProjFile
220            class.
221    
222  2003-04-24  Bernhard Herzog  <[email protected]>  2003-04-24  Bernhard Herzog  <[email protected]>
223    
224          * po/es.po: Updated Spanish translation by Daniel Calvelo Aros          * po/es.po: Updated Spanish translation by Daniel Calvelo Aros
# Line 7  Line 228 
228          * Thuban/UI/projdialog.py (ProjFrame._OnSaveAs): Don't translate          * Thuban/UI/projdialog.py (ProjFrame._OnSaveAs): Don't translate
229          empty strings.          empty strings.
230    
231  2003-04-25  Jonathan Coles   <[email protected]>  2003-04-24  Jonathan Coles   <[email protected]>
232    
233          * Thuban/Model/layer.py (Layer.GetProjection): New. Needed to          * Thuban/Model/layer.py (Layer.GetProjection): New. Needed to
234          implement the interface that the ProjFrame dialog expects.          implement the interface that the ProjFrame dialog expects.

Legend:
Removed from v.734  
changed lines
  Added in v.786

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26