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

Legend:
Removed from v.723  
changed lines
  Added in v.792

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26