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

Legend:
Removed from v.1582  
changed lines
  Added in v.1621

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26