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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26