/[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 2028 by bh, Tue Dec 16 10:29:53 2003 UTC revision 2103 by bh, Thu Mar 11 21:05:19 2004 UTC
# Line 1  Line 1 
1    2004-03-11  Bernhard Herzog  <[email protected]>
2    
3            Next step for explicit id/geometry columns: User interaction
4    
5            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Rework how
6            the dialog is constructed. Add combo boxes to select id and
7            geometry column.  Rename some instance variables.
8            (ChooseDBTableDialog.GetTable): Return id and geometry column
9            names
10            (ChooseDBTableDialog.OnTableSelect): New. Event handler for
11            selections in the table list
12    
13            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Use id_column
14            and geometry_column
15    
16            * Thuban/Model/session.py (Session.OpenDBShapeStore): Add the new
17            parameters for id_column and geometry column of PostGISShapeStore
18            here as well.
19    
20            * Thuban/Model/postgisdb.py (type_map): Add ROWID psycog type.
21            (_raw_type_map): New. Map raw PostgreSQL type ints to thuban types
22            (PostGISConnection.GeometryTables): Use a better query to
23            determine which relations in the database might be usable for
24            shapestores.  Now supports views as well but is more PostgreSQL
25            specific
26            (PostGISConnection.table_columns): New. Somewhat experimental
27            method to let the db dialogs provide lists of columns to users so
28            that they can select id and geometry columns.
29            (PostGISTable.__init__): The default value of the id_column
30            parameter is now None it still means "gid" effectively, though.
31            (PostGISTable.IDColumn): New introspection method to return a
32            column object for the id column
33            (PostGISShapeStore.GeometryColumn): New introspection method to
34            return a column object for the geometry column
35    
36            * test/test_postgis_db.py
37            (TestPostGISConnection.test_gis_tables_non_empty):
38            Removed. Subsumed by the new:
39            (TestPostGISConnection.test_gis_tables_with_views_and_tables):
40            New. Tes the GeometryTables and table_columns methods with actual
41            tables and views.
42            (PointTests.test_id_column, PointTests.test_geometry_column):
43            New. tests for the new methods.
44            (TestPostGISShapestorePoint.setUp)
45            (TestPostGISShapestorePointSRID.setUp)
46            (TestPostGISShapestorePointExplicitGIDColumn.setUp): Fill the
47            instance variables needed by the new tests
48    
49    2004-03-11  Bernhard Herzog  <[email protected]>
50    
51            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): The row
52            numbers given to ReadValue are ordinals.
53    
54    2004-03-11  Bernhard Herzog  <[email protected]>
55    
56            Elimiate the requirement for PostGIS tables to have a column
57            called "gid".
58    
59            * Thuban/Model/postgisdb.py (PostGISTable.__init__): New parameter
60            id_column to specify which column to use to identify rows.  Also
61            new instance variables id_column and quoted_id_column
62            (PostGISTable.RowIdToOrdinal, PostGISTable.RowOrdinalToId)
63            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue)
64            (PostGISTable.SimpleQuery): Use the id column name provided to the
65            constructor instead of "gid"
66            (PostGISShapeStore.__init__): New parameter id_column analogously
67            to PostGISTable.__init__.  This parameter is simply passed through
68            to the base class constructor
69            (PostGISShapeStore._create_col_from_description): Fix typo in
70            doc-string
71            (PostGISShapeStore.Shape, PostGISShapeStore.AllShapes)
72            (PostGISShapeStore.ShapesInRegion): Use the id column name
73            provided to the constructor instead of "gid"
74    
75            * test/postgissupport.py
76            (PostgreSQLServer.get_default_static_data_db): New static table
77            landmarks_point_id with an id column != "gid.  Update the comments
78            a bit.
79            (skip_if_addgeometrycolumn_does_not_use_quote_ident): Fix typo in
80            doc-
81            (upload_shapefile): New parameter gid_column to use a name other
82            than "gid" for the column to store the shape ids
83    
84            * test/test_postgis_db.py (TableTests): New.  Mixin-class
85            containing all tests previously in TestPostGISTable.  The actual
86            tests are the same but the code is a bit more configurable to
87            allow for different id columns etc.
88            (TestPostGISTable): Derive from TableTests now for the actual
89            tests.
90            (TestPostGISTableExplicitGIDColumn): New. Like TestPostGISTable
91            except that it the landmarks_point_id table to test the id_column
92            parameter
93            (PointTests): Extend the doc-string
94            (TestPostGISShapestorePointExplicitGIDColumn)
95            (TestPostGISShapestorePointOIDAsGIDColumn): New classes derived
96            from PointTests to test the explicit id_column parameter.  One
97            tests with the name of the column holding the shape ids, the other
98            uses PostgreSQL's OID column.  For the latter a number of methods
99            have to be overwritten to make them independent of the actual id
100            values.
101    
102    2004-03-08  Silke Reimer  <[email protected]>
103    
104            Update debian directory:
105    
106            * debian/changelog: Added new version.
107            * deiban/rules: Updated management of patches (with cbds)
108            * debian/control: Added cbds to dependencies
109            * debian/patches/*: New. Adds better support for patches of thuban in
110                            debian
111            * debian/menu: Syntax of menu changed slightly
112            * debian/setup.py.patch: removed because it has been moved to
113                            debian/patechs/setup.py.patch
114            
115    
116    2004-02-26  Bernhard Herzog  <[email protected]>
117    
118            Create the Doc/technotes directory for text files with information
119            for developers
120    
121            * Doc/technotes/README: New. README for the technotes
122    
123            * Doc/technotes/coding_guidelines.txt: New. Coding guidelines for
124            Thuban
125    
126            * Doc/technotes/release_process.txt: New. Used to be
127            HOWTO-Release.  Now slightly adapted to technote formatting style.
128    
129            * HOWTO-Release: Removed.  It's contents are now in
130            Doc/technotes/release_process.txt
131    
132    2004-02-25  Bernhard Herzog  <[email protected]>
133    
134            * libraries/thuban/wxproj.cpp (get_wx_version): New.  Return the
135            version of wxWindows the module was compiled with so we can check
136            that against the wxPython version.
137    
138            * Thuban/version.py (thuban_branch, thuban_release): New variables
139            controlling which and how Thuban versions are shown.  See the
140            comments for details.
141            (verify_versions): Also check that the wx version that wxproj is
142            compiled against matches that of the wxPython we use at runtime
143    
144    2004-02-20  Bernhard Herzog  <[email protected]>
145    
146            * Extensions/wms/wms.py (epsg_code_to_projection): Use
147            get_system_proj_file to read the epsg projections.  The old way
148            depended on the current directory being the top Thuban directory.
149    
150    2004-02-20  Bernhard Herzog  <[email protected]>
151    
152            * Extensions/svgexport/test/test_svgmapwriter.py
153            (TestVirtualDC.test_clippath): Remove a debug print
154    
155    2004-02-20  Bernhard Herzog  <[email protected]>
156    
157            * Extensions/svgexport/__init__.py: New.  Turn
158            Extensions/svgexport into a package.
159    
160            * Extensions/svgexport/svgmapwriter.py: Reorder the imports and
161            doc-string a bit.  The doc-string must come first, otherwise it's
162            not a doc-string.  The __future__ import must be the first thing
163            after the doc-string.  Use only double quotes in doc-strings.
164            Single quotes trip up emacs syntax highlighting if the text
165            contains apostrophes.
166    
167    2004-02-20  Bernhard Herzog  <[email protected]>
168    
169            * Extensions/svgexport/test/__init__.py,
170            Extensions/svgexport/test/test_svgmapwriter.py: New. Initial test
171            suite for svgexport
172    
173            * test/runtests.py (find_test_modules): New. Function with the
174            module finding code from main.
175            (main): Use find_test_modules to figure out the default test
176            modules and take modules from Extensions.svgexport.test too.
177    
178    2004-02-19  Bernhard Herzog  <[email protected]>
179    
180            * Thuban/UI/application.py (ThubanApplication.OnInit): Make sure
181            the mainwindow has a reference to the map of the initial session.
182            This fixes a bug introduced with the fix for RT#2245
183    
184    2004-02-19  Bernhard Herzog  <[email protected]>
185    
186            * Extensions/svgexport/svgsaver.py,
187            Extensions/svgexport/svgmapwriter.py,
188            Extensions/svgexport/maplegend.py: Added again.  This time in the
189            correct place.
190    
191    2004-02-17  Bernhard Herzog  <[email protected]>
192    
193            Fix for RT#2245
194    
195            * Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
196            instance variables before trying to create any windows.  Creating
197            windows can start an event loop if e.g. message boxes are popped
198            up for some reason, and event handlers, especially EVT_UPDATE_UI
199            may want to access things from the application.
200            (ThubanApplication.maps_changed): The mainwindow may not have been
201            created yet, so check whether it has been created before calling
202            its methods
203    
204            * Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
205            have a map
206    
207    2004-02-17  Bernhard Herzog  <[email protected]>
208    
209            * test/test_svgmapwriter.py, Extensions/svgsaver.py,
210            Extensions/svgmapwriter.py, Extensions/maplegend.py,
211            extensions/svgexport/svgsaver.py,
212            extensions/svgexport/svgmapwriter.py,
213            extensions/svgexport/maplegend.py: Removed.  These files were in
214            the wrong places or didn't work at all.
215    
216    2004-02-16  Bernhard Herzog  <[email protected]>
217    
218            * Thuban/UI/view.py (MapCanvas.Export): Remove accidentally added
219            line
220    
221    2004-02-16  Bernhard Herzog  <[email protected]>
222    
223            * Thuban/UI/view.py (MapCanvas.Export): Avoid UnboundLocalError.
224    
225    2004-02-15  Markus Rechtien  <[email protected]>
226            
227            * Extensions/svgexport/svgmapwriter.py: New. Adds the capability
228            to write a session to a file in SVG format.
229            * Extensions/svgexport/svgsaver.py: New. Uses svgmapwriter.py
230            to write a SVG map of a session.
231            * Extensions/svgexport/maplegend: New. Writes a basic maplegend
232            in SVG format for the current session.
233    
234    2004-02-13  Bernhard Herzog  <[email protected]>
235    
236            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): When the layer
237            can't be created, return immediately after displaying the error
238            message.
239    
240    2004-02-11  Bernhard Herzog  <[email protected]>
241    
242            Handle postgis tables with more than one geometry column.
243    
244            * Thuban/Model/postgisdb.py
245            (PostGISTable._fetch_table_information): Delegate the creation of
246            column objects to a different method so that we can extend that in
247            derived classes
248            (PostGISTable._create_col_from_description): New. Column object
249            creation part of _fetch_table_information
250            (PostGISShapeStore._create_col_from_description): New. Extend
251            inherited method to handle geometry columns
252            (PostGISShapeStore.__init__): New parameter geometry_column to
253            specify which geometry column to use.  Optional but mandatory for
254            tables with more than one geometry column
255            (PostGISShapeStore._fetch_table_information): Also use the name of
256            the geometry column when looking for the srid
257            (PostGISShapeStore.ShapeType): Also use the name of the geometry
258            column when looking for the shape type
259    
260            * test/test_save.py (SaveSessionTest.test_save_postgis): Adapt
261            NonConnectionStore to changes in the PostGISShapeStore
262    
263            * test/test_postgis_db.py
264            (TestPostGISSpecialCases.test_shapestore_two_geom_cols): Test
265            PostGISShapeStore with tables having two geometry columns.
266    
267    2004-02-10  Bernhard Herzog  <[email protected]>
268    
269            Fix some postgis problems.  What remains to be done is real
270            handling of SRIDs as they affect how reprojection is done
271    
272            * Thuban/Model/postgisdb.py (quote_identifier): Fix typo in
273            doc-string
274            (PostGISShapeStore._fetch_table_information): New. Extend
275            inherited method to retrieve srid
276            (PostGISShapeStore.BoundingBox): Handle tables without data.
277            extent yields NULL for those
278            (PostGISShapeStore.ShapesInRegion): Use the srid of the table.
279    
280            * test/test_postgis_db.py
281            (TestPostGISSpecialCases.test_shapestore_empty_table): New test
282            for the special case of a table without any data
283            (TestPostGISShapestorePointSRID): New class with tests for a table
284            that uses srids
285            (PolygonTests): Fix a doc-string typo
286    
287            * test/postgissupport.py (PostGISDatabase.__init__): New parameter
288            reference_systems with a specification of spacial reference
289            systems to create in the new db.
290            (PostgreSQLServer.new_postgis_db)
291            (PostgreSQLServer.get_static_data_db): New parameter
292            reference_systems to be passed through ultimately to
293            PostGISDatabase.  In new_postgis_db also check whether an existing
294            db already has the right srids
295            (PostgreSQLServer.get_default_static_data_db): Add srids and a
296            table that uses srids
297            (PostGISDatabase.initdb): Create the entries for the reference
298            systems
299            (PostGISDatabase.has_data): Add reference_systems parameter to
300            check for those too
301            (upload_shapefile): New parameter srid to create tables with a
302            specific srid
303    
304    2004-02-06  Frank Koormann  <[email protected]>
305    
306            * po/pt_BR.po: Fixed charset
307    
308    2004-02-05  Frank Koormann  <[email protected]>
309    
310            * po/pt_BR.po: Fixed format string for error message, missing %s
311            added (Thuban/UI/application.py:273)
312    
313    2004-02-03  Frank Koormann  <[email protected]>
314            
315            First version of Portuguese (Brazilian) translation
316    
317            * po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
318            Brazilian Portuguese by Eduardo Patto Kanegae.
319    
320            * Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
321            translators.
322    
323    
324    2004-01-22  Frank Koormann  <[email protected]>
325    
326            * Doc/manual/thuban-manual.xml: Added section on installation of
327            Thuban under Win32 systems. Fixed image path references in the postgis
328            section. Some minor source formattings.
329    
330    2004-01-21  Frank Koormann  <[email protected]>
331    
332            Make Thuban remember path selections (at least for one application run).
333    
334            * Thuban/UI/application.py (Application.OnInit): Initialize path as a
335            attribute of application object. Path is a dictionary of
336            strings, currently with the items "data" and "projection".  
337            (Application.SetPath): New, stores path for the specified item.
338            (Application.Path): New, return path for the specified item.
339    
340            * Thuban/UI/mainwindow.py
341            (MainWindow.OpenSession, MainWindow.SaveSessionAs,
342            MainWindow.AddLayer, MainWindow.AddRasterLayer,
343            MainWindow.TableOpen): Access "data" path information of the
344            application.
345            
346            * Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
347            Access "projection" path information of the application.
348    
349    2004-01-05  Bernhard Herzog  <[email protected]>
350    
351            * po/ru.po: Updated translations from Alex Shevlakov
352    
353    2004-01-05  Bernhard Herzog  <[email protected]>
354    
355            * po/Makefile, po/README: Move the description of how to generate
356            the translation statistics to the README.
357    
358    2003-12-23  Bernhard Herzog  <[email protected]>
359    
360            * NEWS: Update for 1.0.0
361    
362            * po/it.po: Another update from Maurizio Napolitano
363    
364    2003-12-23  Bernhard Herzog  <[email protected]>
365    
366            * po/it.po: Updated translation from Maurizio Napolitano
367    
368    2003-12-23  Bernhard Herzog  <[email protected]>
369    
370            * Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
371            for translation
372    
373            * Thuban/UI/mainwindow.py (MainWindow.TableRename)
374            (MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
375            strings for translation
376    
377            * po/de.po: Update with the newly marked strings.
378    
379    2003-12-22  Bernhard Herzog  <[email protected]>
380    
381            * HOWTO-Release: Fix the places where version numbers have to be
382            updated
383    
384    2003-12-22  Bernhard Herzog  <[email protected]>
385    
386            * setup.py (setup call): 1.0.0, yeah!
387    
388            * Thuban/version.py (longversion): 1.0.0, yeah!
389    
390            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
391            1.0.0 namespace too
392    
393            * Thuban/Model/save.py (SessionSaver.write_session): Save with
394            1.0.0 namespace
395    
396            * test/test_load.py (LoadSessionTest.dtd)
397            (TestSingleLayer.file_contents)
398            (TestNonAsciiColumnName.file_contents)
399            (TestLayerVisibility.file_contents)
400            (TestClassification.file_contents, TestLabels.file_contents)
401            (TestLayerProjection.file_contents)
402            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
403            (TestLabelLayer.file_contents, TestPostGISLayer.file_contents)
404            (TestPostGISLayerPassword.file_contents)
405            (TestLoadError.file_contents, TestLoadError.test): Update for
406            1.0.0 namespace
407    
408            * test/test_save.py (SaveSessionTest.dtd)
409            (SaveSessionTest.testEmptySession)
410            (SaveSessionTest.testSingleLayer)
411            (SaveSessionTest.testLayerProjection)
412            (SaveSessionTest.testRasterLayer)
413            (SaveSessionTest.testClassifiedLayer)
414            (SaveSessionTest.test_dbf_table)
415            (SaveSessionTest.test_joined_table)
416            (SaveSessionTest.test_save_postgis): Update for 1.0.0 namespace
417    
418    2003-12-22  Bernhard Herzog  <[email protected]>
419    
420            * Thuban/Model/load.py (SessionLoader.start_label): Make sure the
421            alignment flags are byte strings not unicode and that they have
422            valid values
423    
424            * test/test_load.py (TestLabelLayer): New. Test loading (and
425            indirectly saving) of maps with labels.
426    
427    2003-12-22  Bernhard Herzog  <[email protected]>
428    
429            * Thuban/UI/tableview.py (TableGrid.OnDestroy)
430            (TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
431            unsubscribe all subscribers.
432            (LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
433            self.grid since it may already have been destroyed.
434            Fixes RT #2256
435    
436    2003-12-19  Bernhard Herzog  <[email protected]>
437    
438            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
439    
440    2003-12-16  Bernhard Herzog  <[email protected]>
441            
442            * debian/bitmappath.patch, debian/setup.py.patch:
443                    added to ensure compliance with FHS for debian
444            * debian/rules, debian/changelog:
445                added patches in rules to ensure compliance with FHS for debian
446    
447  2003-12-16  Bernhard Herzog  <[email protected]>  2003-12-16  Bernhard Herzog  <[email protected]>
448    
449          * po/Makefile (mo): Make the output a bit nicer so that it prints          * po/Makefile (mo): Make the output a bit nicer so that it prints

Legend:
Removed from v.2028  
changed lines
  Added in v.2103

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26