/[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 1565 by bh, Thu Aug 7 19:20:05 2003 UTC revision 1627 by bh, Thu Aug 21 16:09:01 2003 UTC
# Line 1  Line 1 
1    2003-08-21  Bernhard Herzog  <[email protected]>
2    
3            Make postgis support really optional including insensitive menu
4            items.
5    
6            * Thuban/Model/postgisdb.py (has_postgis_support): New. Return
7            whether the postgis is supported.
8    
9            * Thuban/UI/dbdialog.py: Put the psycopg import into try..except
10            to make postgis support optional
11    
12            * Thuban/UI/mainwindow.py (_has_postgis_support): New. Context
13            version of Thuban.Model.postgisdb.has_postgis_support
14            (database_management command): Make it only sensitive if postgis
15            is supported.
16    
17    2003-08-21  Jan-Oliver Wagner <[email protected]>
18    
19            * Doc/manual/thuban-manual.xml: Added CVS revision for rev-history.
20            (section Adding and Removing Layers): Added text and described
21            multi-selection.
22            (chapter Extensions): New.
23    
24    2003-08-21  Jan-Oliver Wagner <[email protected]>
25    
26            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Changed dialog
27            settings to allow multiple files to load into the map.
28            Also reduced selection to *.shp as a default.
29    
30    2003-08-20  Bernhard Herzog  <[email protected]>
31    
32            Add dialogs and commands to open database connections and add
33            database layers.
34    
35            * Thuban/UI/mainwindow.py (MainWindow.DatabaseManagement): New
36            method to open the database connection management dialog
37            (MainWindow.AddDBLayer): New method to add a layer from a database
38            (_has_dbconnections): New helper function to use for sensitivity
39            (database_management command, layer_add_db command): New commands
40            that call the above new methods.
41            (main_menu): Add the new commands to the menu.
42    
43            * Thuban/Model/postgisdb.py (PostGISConnection.__init__)
44            (PostGISConnection.connect): Establish the actual connection in a
45            separate method and call it in __init__. This makes it easier to
46            override the behavior in test cases
47            (PostGISConnection.BriefDescription): New method to return a brief
48            description for use in dialogs.
49    
50            * test/test_postgis_db.py (NonConnection): DB connection that
51            doesn't actually connect
52            (TestBriefDescription): New class with tests for the new
53            BriefDescription method
54    
55    2003-08-19  Jan-Oliver Wagner <[email protected]>
56    
57            Moved anything from extensions to libraries.
58    
59            * libraries: New.
60    
61            * libraries/ pyprojection, pyshapelib, shapelib, thuban: New.
62    
63            * libraries/pyprojection/ LICENSE, MANIFEST.in, Projection.i,
64            Projection.py, Projection_wrap.c, setup.py, swighelp.txt: These files have
65            been moved here from thuban/extensions/pyprojection/
66            See there in the Attic for the older history.
67    
68            * libraries/pyshapelib/ COPYING, ChangeLog, NEWS, README, dbflib.i,
69            dbflib.py, dbflib_wrap.c, pyshapelib_api.h, pytest.py, setup.py,
70            shapelib.i, shapelib.py, shapelib_wrap.c, shptreemodule.c: These files
71            have been moved here from thuban/extensions/pyshapelib/
72            See there in the Attic for the older history.
73    
74            * libraries/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c: These
75            files have been moved here from thuban/extensions/shapelib/
76            See there in the Attic for the older history.
77    
78            * libraries/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
79            gdalwarp.cpp, wxproj.cpp: These files have been moved here from
80            thuban/extensions/thuban/
81            See there in the Attic for the older history.
82    
83            * MANIFEST.in, setup.cfg, setup.py: renamed extensions to libraries.
84    
85            * extensions/thuban/ bmpdataset.cpp, cpl_mfile.cpp, cpl_mfile.h,
86            gdalwarp.cpp, wxproj.cpp: Moved to libraries/thuban.
87    
88            * extensions/shapelib/ dbfopen.c, shapefil.h, shpopen.c, shptree.c:
89            Moved to libraries/shapelib.
90    
91            * extensions/pyshapelib/ COPYING, NEWS, dbflib.py, pytest.py,
92            shapelib.py, README, dbflib_wrap.c, setup.py, shapelib_wrap.c,
93            ChangeLog, dbflib.i, pyshapelib_api.h, shapelib.i, shptreemodule.c:
94            Moved to libraries/pyshapelib.
95    
96            * extensions/pyprojection/ MANIFEST.in, Projection.py, setup.py,
97            LICENSE, Projection.i, Projection_wrap.c, swighelp.txt:
98            Moved to libraries/pyprojection.
99    
100            * extensions/ pyprojection, pyshapelib, shapelib, thuban: Removed.
101    
102            * extensions: Removed.
103    
104    2003-08-19  Bernhard Herzog  <[email protected]>
105    
106            * test/test_viewport.py (ViewPortTest): We don't use the
107            facilities of FileTestMixin so don't derive from it.
108            (TestViewportWithPostGIS): New class with tests for using a
109            viewport on a map with postgis layers.
110    
111    2003-08-19  Bernhard Herzog  <[email protected]>
112    
113            Add the db connection management to the session.
114    
115            * Thuban/Model/session.py (Session.__init__): New instance
116            variable db_connections
117            (Session.AddDBConnection, Session.DBConnections)
118            (Session.HasDBConnections, Session.CanRemoveDBConnection)
119            (Session.RemoveDBConnection): New methods to manage and query the
120            db connections managed by the session
121            (Session.OpenDBShapeStore): New method to open a shapestore from a
122            db connection
123    
124            * Thuban/Model/messages.py (DBCONN_REMOVED, DBCONN_ADDED): New
125            messages for the db connection handling in the session
126    
127            * test/test_postgis_session.py: New. test cases for the session's
128            db connection handling with postgis connections
129    
130    2003-08-19  Bernhard Herzog  <[email protected]>
131    
132            Add very basic postgis database support and the corresponding test
133            cases. The test cases require a PostgreSQL + postgis installation
134            but no existing database. The database will be created
135            automatically by the test cases
136    
137            * test/README: Add note about skipped tests and the requirements
138            of the postgis tests.
139    
140            * Thuban/Model/postgisdb.py: New. Basic postgis database support.
141    
142            * test/test_postgis_db.py: New. Test cases for the postgis
143            support.
144    
145            * Thuban/Model/wellknowntext.py: New. Parser for well-known-text
146            format
147    
148            * test/test_wellknowntext.py: New. Test cases for the
149            wellknowntext parser
150    
151            * test/postgissupport.py: New. Support module for tests involving
152            a postgis database.
153    
154            * test/support.py (execute_as_testsuite): Shut down the postmaster
155            if it's still running after the tests
156    
157            * Thuban/Model/data.py (RAW_WKT): New constant for raw data in
158            well known text format
159    
160    2003-08-19  Jan-Oliver Wagner <[email protected]>
161    
162            * Examples/simple_extensions/hello_world.py: New. Raises a Hello World
163            message dialog.
164    
165    2003-08-18  Bernhard Herzog  <[email protected]>
166    
167            * test/support.py (ThubanTestResult.printErrors): Indent the
168            reason for the skips in the output to make it a bit more readable.
169            (execute_as_testsuite): New helper function to run a test suite
170            and print some more information.
171            (run_tests): Use execute_as_testsuite to run the tests
172    
173            * test/runtests.py (main): Use execute_as_testsuite to run the
174            tests
175    
176    2003-08-18  Bernhard Herzog  <[email protected]>
177    
178            Fix some bugs in Thuban and the test suite that were uncovered by
179            changes introduced in Python 2.3:
180    
181            * Thuban/Model/table.py (DBFTable.__init__): Make sure the
182            filename is an absolute name
183    
184            * Thuban/Model/layer.py (RasterLayer.__init__): Make sure the
185            filename is an absolute name
186    
187            * test/test_save.py (SaveSessionTest.testRasterLayer): Use a
188            unique filename to save to and use the correct relative filename
189            in the expected output.
190            (SaveSessionTest.test_dbf_table): Use the correct relative
191            filename in the expected output.
192    
193            * test/test_layer.py (TestLayer.test_raster_layer): Update the
194            test to check whether the filename is absolute.
195    
196    2003-08-18  Jan-Oliver Wagner <[email protected]>
197    
198            * Thuban/UI/about.py (About.__init__): Added Silke Reimer.
199    
200    2003-08-15  Bernhard Herzog  <[email protected]>
201    
202            Change the way shapes are returned by a shape store. The
203            ShapesInRegion method returns an iterator over actual shape
204            objects instead of a list of shape ids.
205    
206            * Thuban/Model/data.py (ShapefileShape.ShapeID): New. Return shape
207            id.
208            (ShapefileStore.ShapesInRegion): Return an iterator over the
209            shapes which yields shape objects instead of returning a list of
210            shape ids
211            (ShapefileStore.AllShapes): New. Return an iterator over all
212            shapes in the shape store
213            (DerivedShapeStore.AllShapes): New. Like in ShapefileStore
214    
215            * Thuban/Model/layer.py (Layer.ShapesInRegion): Update
216            doc-string.
217    
218            * Thuban/UI/baserenderer.py
219            (BaseRenderer.layer_ids, BaseRenderer.layer_shapes): Rename to
220            layer_shapes and make it return an iterator containg shapes
221            instead of a list of ids.
222            (BaseRenderer.draw_shape_layer): Update doc-string; Adapt to
223            layer_shapes() change
224    
225            * Thuban/UI/renderer.py (ScreenRenderer.layer_ids)
226            (ScreenRenderer.layer_shapes): Rename as in BaseRenderer
227    
228            * Thuban/UI/viewport.py (ViewPort._find_shape_in_layer): Adapt to
229            changes in the ShapesInRegion return value.
230            (ViewPort._get_hit_tester): Remove commented out code
231    
232            * test/mockgeo.py (SimpleShapeStore.ShapesInRegion): Adapt to the
233            new return value.
234            (SimpleShapeStore.AllShapes): New. Implement this method too.
235    
236            * test/test_layer.py (TestLayer.test_arc_layer)
237            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
238            (TestLayer.test_point_layer_with_projection)
239            (TestLayer.test_derived_store): Adapt to changes in the
240            ShapesInRegion return value.
241    
242            * test/test_shapefilestore.py
243            (TestShapefileStoreArc.test_shapes_in_region)
244            (TestShapefileStorePolygon.test_shapes_in_region)
245            (TestShapefileStorePoint.test_shapes_in_region): Adapt to changes
246            in the ShapesInRegion return value.
247            (TestShapefileStorePoint.test_all_shapes)
248            (TestShapefileStoreArc.test_shape_shapeid): New tests for the new
249            methods
250    
251            * test/test_derivedshapestore.py
252            (TestDerivedShapeStore.test_shapes_in_region): Adapt to changes in
253            the ShapesInRegion return value.
254            (TestDerivedShapeStore.test_all_shapes)
255            (TestDerivedShapeStore.test_shape_shapeid): New tests for the new
256            methods
257    
258    2003-08-15  Bernhard Herzog  <[email protected]>
259    
260            Make the renderers deal correctly with raw vs. python level
261            representation of shape geometries
262    
263            * Thuban/UI/baserenderer.py (BaseRenderer.low_level_renderer):
264            Return a flag useraw in addition to the callable and the parameter
265            to indicate whether the callable can deal with the raw shape data
266            or uses the higher level python lists of coordinates. The callable
267            now should accept either the raw data or the return value of the
268            shape's Points() method.
269            (BaseRenderer.draw_shape_layer): Adapt to the low_level_renderer
270            change
271            (BaseRenderer.projected_points): Instead of the shape id use the
272            points list as parameter.
273            (BaseRenderer.draw_polygon_shape, BaseRenderer.draw_arc_shape)
274            (BaseRenderer.draw_point_shape): Adapt to projected_points()
275            change and accept the points list as parameter instead of the
276            shape id.
277    
278            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Return
279            the useraw flag as required by the BaseRenderer
280            (ScreenRenderer.draw_shape_layer): Adapt to low-level renderer
281            changes.
282    
283            * test/test_baserenderer.py
284            (TestBaseRenderer.test_point_with_classification): New test for
285            rendering a map with classifications.
286    
287    2003-08-15  Bernhard Herzog  <[email protected]>
288    
289            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
290            (ViewPort._find_shape_in_layer, ViewPort._find_shape_in_layer)
291            (ViewPort._get_hit_tester, ViewPort.projected_points)
292            (ViewPort._hit_point, ViewPort._hit_arc, ViewPort._hit_polygon)
293            (ViewPort._find_label_at): Split the find_shape_at method into
294            several new methods and use the functions in the hit-test module.
295    
296            * Thuban/UI/hittest.py: New module with Python-level hit-testing
297            functions
298    
299            * test/test_hittest.py: New. Test for the new hittest module
300    
301    2003-08-15  Bernhard Herzog  <[email protected]>
302    
303            * Thuban/Model/layer.py (Layer.ShapesInRegion): Apply the layer
304            projection to all corners of the bounding box to get a better
305            approximation of the projected bounding box
306    
307            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
308            New. Test coordinate handling of a layer with a projection.
309            Catches the bug fixed in Layer.ShapesInRegion
310    
311    2003-08-15  Bernhard Herzog  <[email protected]>
312    
313            Move some of the mock objects in test_baserenderer into their own
314            module so they can easily be used from other tests
315    
316            * test/mockgeo.py: New test helper module with some mock objects
317            for geometry related things like shapes, shapestores and
318            projections.
319    
320            * test/test_mockgeo.py: New. Tests for the new helper module
321    
322            * test/test_baserenderer.py: Some of the mock-objects are in
323            mockgeo now.
324    
325    2003-08-12  Jan-Oliver Wagner <[email protected]>
326    
327            * Thuban/UI/about.py (About.__init__): Added Bj�rn Broscheit.
328    
329    2003-08-12  Bernhard Herzog  <[email protected]>
330    
331            * po/de.po: New. German translations by Bjoern Broscheit
332    
333    2003-08-12  Bernhard Herzog  <[email protected]>
334    
335            * Thuban/UI/projdialog.py (UnknownProjPanel._DoLayout): Translated
336            strings have to be one string literal.
337    
338    2003-08-11  Bernhard Herzog  <[email protected]>
339    
340            * test/support.py (FloatComparisonMixin.assertPointListEquals):
341            New. This method was used in various derived classes, but it's
342            better to have it here.
343    
344            * test/test_shapefilestore.py
345            (ShapefileStoreTests.assertPointListEquals): Removed. It's now in
346            FloatComparisonMixin
347    
348            * test/test_layer.py (TestLayer.assertPointListEquals): Removed.
349            It's now in FloatComparisonMixin
350    
351            * test/test_derivedshapestore.py
352            (TestDerivedShapeStore.assertPointListEquals): Removed. It's now
353            in FloatComparisonMixin
354    
355    2003-08-11  Bernhard Herzog  <[email protected]>
356    
357            * Thuban/UI/join.py (JoinDialog.OnJoin): Add missing space to
358            error message
359    
360    2003-08-08  Jan-Oliver Wagner <[email protected]>
361    
362            * Doc/manual/thuban-manual.xml: Now use authorgroup. Added revhistory
363            with version number.
364            Changed title to reflect version number of Thuban.
365    
366    2003-08-08  Jan-Oliver Wagner <[email protected]>
367    
368            * Thuban/UI/about.py (About.__init__): Reworked the hall of fame. Now
369            the list corresponds to the "About" web page.
370    
371    2003-08-08  Bernhard Herzog  <[email protected]>
372    
373            * Thuban/UI/projdialog.py (UTMProposeZoneDialog.dialogLayout):
374            Make sure translated strings are recognized as one string literal.
375    
376            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog.dialogLayout):
377            Make sure translated strings are recognized as one string literal.
378    
379            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Make sure
380            translated strings are recognized as one string literal.
381    
382            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
383            sure translated strings are recognized as one string literal.
384    
385  2003-08-07  Bernhard Herzog  <[email protected]>  2003-08-07  Bernhard Herzog  <[email protected]>
386    
387          * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.          * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.

Legend:
Removed from v.1565  
changed lines
  Added in v.1627

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26