/[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 1403 by jonathan, Thu Jul 10 14:56:46 2003 UTC revision 1586 by bh, Fri Aug 15 10:27:06 2003 UTC
# Line 1  Line 1 
1    2003-08-15  Bernhard Herzog  <[email protected]>
2    
3            Move some of the mock objects in test_baserenderer into their own
4            module so they can easily be used from other tests
5    
6            * test/mockgeo.py: New test helper module with some mock objects
7            for geometry related things like shapes, shapestores and
8            projections.
9    
10            * test/test_mockgeo.py: New. Tests for the new helper module
11    
12            * test/test_baserenderer.py: Some of the mock-objects are in
13            mockgeo now.
14    
15    2003-08-12  Jan-Oliver Wagner <[email protected]>
16    
17            * Thuban/UI/about.py (About.__init__): Added Bj�rn Broscheit.
18    
19    2003-08-12  Bernhard Herzog  <[email protected]>
20    
21            * po/de.po: New. German translations by Bjoern Broscheit
22    
23    2003-08-12  Bernhard Herzog  <[email protected]>
24    
25            * Thuban/UI/projdialog.py (UnknownProjPanel._DoLayout): Translated
26            strings have to be one string literal.
27    
28    2003-08-11  Bernhard Herzog  <[email protected]>
29    
30            * test/support.py (FloatComparisonMixin.assertPointListEquals):
31            New. This method was used in various derived classes, but it's
32            better to have it here.
33    
34            * test/test_shapefilestore.py
35            (ShapefileStoreTests.assertPointListEquals): Removed. It's now in
36            FloatComparisonMixin
37    
38            * test/test_layer.py (TestLayer.assertPointListEquals): Removed.
39            It's now in FloatComparisonMixin
40    
41            * test/test_derivedshapestore.py
42            (TestDerivedShapeStore.assertPointListEquals): Removed. It's now
43            in FloatComparisonMixin
44    
45    2003-08-11  Bernhard Herzog  <[email protected]>
46    
47            * Thuban/UI/join.py (JoinDialog.OnJoin): Add missing space to
48            error message
49    
50    2003-08-08  Jan-Oliver Wagner <[email protected]>
51    
52            * Doc/manual/thuban-manual.xml: Now use authorgroup. Added revhistory
53            with version number.
54            Changed title to reflect version number of Thuban.
55    
56    2003-08-08  Jan-Oliver Wagner <[email protected]>
57    
58            * Thuban/UI/about.py (About.__init__): Reworked the hall of fame. Now
59            the list corresponds to the "About" web page.
60    
61    2003-08-08  Bernhard Herzog  <[email protected]>
62    
63            * Thuban/UI/projdialog.py (UTMProposeZoneDialog.dialogLayout):
64            Make sure translated strings are recognized as one string literal.
65    
66            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog.dialogLayout):
67            Make sure translated strings are recognized as one string literal.
68    
69            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Make sure
70            translated strings are recognized as one string literal.
71    
72            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
73            sure translated strings are recognized as one string literal.
74    
75    2003-08-07  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.
78            Simply delegates to the original shapestore.
79    
80            * test/test_derivedshapestore.py
81            (TestDerivedShapeStore.test_raw_format): New. Test case for
82            DerivedShapeStore.RawShapeFormat
83    
84    2003-08-07  Bernhard Herzog  <[email protected]>
85    
86            Add raw data interface to shape objects.
87    
88            * Thuban/Model/data.py (ShapefileShape, Shape): Rname the shape
89            class to ShapefileShape which now holds shapefile specific
90            information.
91            (ShapefileShape.compute_bbox): Simplified to not cache any
92            information. The way this method is used that shouldn't matter
93            performance wise.
94            (ShapefileShape.RawData): New. Return the shapeid which is the raw
95            data format for shapes from shapefiles.
96            (ShapefileStore.RawShapeFormat): New. Return the raw datatype used
97            in the shape objects returned by a shapestore. For a
98            ShapefileStore this is always RAW_SHAPEFILE.
99            (RAW_PYTHON, RAW_SHAPEFILE): Constants for the RawShapeFormat
100            method.
101    
102            * test/test_shapefilestore.py
103            (TestShapefileStore.test_raw_format): New test to test the raw
104            format feature of shapes.
105    
106            * Thuban/Model/layer.py: Remove the unused import of Shape from
107            data. It was only there for interface compatibility but it's not
108            used inside of Thuban and the generic Shape class has gone away.
109    
110            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Check
111            the raw data format and only use an optimized version of its a
112            shapefile.
113    
114    2003-08-07  Bernhard Herzog  <[email protected]>
115    
116            * test/test_baserenderer.py (SimpleShape): Shape class for the
117            tests.
118            (SimpleShapeStore.Shape): Use SimpleShape instead of
119            Thuban.Model.data.Shape to make the tests independed of the coming
120            changes.
121    
122    2003-08-07  Bernhard Herzog  <[email protected]>
123    
124            * test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
125            (ThubanTestProgram): New classes that extend the respective
126            classes from unittest. These new version support skipping tests
127            under certain expected conditions. In the Thuban test suite we
128            uses this for tests that require the optional gdal support.
129            (run_tests): Use ThubanTestProgram instead of the unittest.main()
130    
131            * test/runtests.py (main): Use the new ThubanTestRunner instead of
132            the normal one from unittest
133    
134            * test/test_layer.py (TestLayer.test_raster_layer): If this test
135            is not run because gdal support isn't available report this to the
136            runner.
137    
138            * test/test_baserenderer.py
139            (TestBaseRenderer.test_raster_no_projection): Do not run this test
140            if gdal support isn't available and report this to the runner.
141    
142    2003-08-06  Bernhard Herzog  <[email protected]>
143    
144            Rearrange the renderers a bit, partly in preparation for changes
145            required for the postgis merge, partly to make it more testable.
146            Also make the representation of coordinates in Shapes more
147            consistent.
148    
149            * Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
150            this class is now in BaseRenderer. This class is now practically
151            only a specialization of BaseRenderer for rendering to an actual
152            wx DC.
153            (ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
154            to get the shapetype specific rendering functions.
155    
156            * Thuban/UI/baserenderer.py: New file with the basic rendering
157            logic. The code in this file is completely independend of wx.
158            (BaseRenderer): Class with the basic rendering logic
159    
160            * test/test_baserenderer.py: New. Test cases for BaseRenderer
161    
162            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
163            error_on_redraw to guard agains endless loops and stack overflows
164            when there's a bug in the rendering code that raises exceptions.
165            (MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
166            rendering into a separate method _do_redraw so that error handling
167            is a bit easier. When an exception occurs, set error_on_redraw to
168            true. When it's true on entry to OnIdle do nothing and return
169            immediately.
170    
171            * Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
172            Shape object will always have the coordinates as a list of list of
173            coordinate pairs (tuples).
174            (Shape.compute_bbox): Adapt to new representation.
175    
176            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
177            (ViewPort.LabelShapeAt): Adapt to new coordinate representation in
178            Shape objects.
179    
180            * test/test_shapefilestore.py
181            (ShapefileStoreTests.assertFloatTuplesEqual)
182            (ShapefileStoreTests.assertPointListEquals): Rename to
183            assertPointListEquals and change purpose to checking equality of
184            the lists returned by Shape.Points().
185            (TestShapefileStoreArc.test_shape)
186            (TestShapefileStorePolygon.test_shape)
187            (TestShapefileStorePoint.test_shape): Use the new
188            assertPointListEquals instead of assertFloatTuplesEqual
189    
190            * test/test_layer.py (TestLayer.assertFloatTuplesEqual)
191            (TestLayer.assertPointListEquals): Rename to assertPointListEquals
192            and change purpose to checking equality of the lists returned by
193            Shape.Points().
194            (TestLayer.test_arc_layer, TestLayer.test_arc_layer)
195            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
196            (TestLayer.test_derived_store): Use the new assertPointListEquals
197            instead of assertFloatTuplesEqual
198    
199            * test/test_derivedshapestore.py
200            (TestDerivedShapeStore.assertFloatTuplesEqual)
201            (TestDerivedShapeStore.assertPointListEquals): Rename to
202            assertPointListEquals and change purpose to checking equality of
203            the lists returned by Shape.Points().
204            (TestDerivedShapeStore.test_shape): Use the new
205            assertPointListEquals instead of assertFloatTuplesEqual
206    
207    2003-08-06  Jan-Oliver Wagner <[email protected]>
208    
209            * Thuban/UI/projdialog.py (UTMPanel._OnPropose): Added test for
210            a bounding box. A dialog is raised in case, no bounding box
211            is found. This fixes bug #2043:
212            https://intevation.de/rt/webrt?serial_num=2043
213    
214    2003-08-05  Bernhard Herzog  <[email protected]>
215    
216            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
217            object look like a Color instantiation. Formerly it looked like a
218            tuple.
219    
220            * test/test_color.py (TestColor.test_repr)
221            (TestColor.test_equality, TestColor.test_inequality): New. test
222            some more apects of the Color class
223            (TestTransparent.test_repr, TestTransparent.test_hex)
224            (TestTransparent.test_equality): New. Test cases for the
225            Transparent object.
226    
227    2003-08-04  Jan-Oliver Wagner <[email protected]>
228    
229            * Doc/manual/thuban-manual.xml: a number of small improvements.
230            The resulting file is the version submitted for GREAT-ER II.
231    
232    2003-08-01  Bernhard Herzog  <[email protected]>
233    
234            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
235            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
236            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
237    
238            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
239            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
240            (ThubanEndBusyCursor): Add doc-strings
241    
242    2003-08-01  Bernhard Herzog  <[email protected]>
243    
244            First step towards PostGIS integration. More abstraction by movin
245            more code from the layer to the shapestore. More methods of the
246            layer are now simply delegated to the equivalent method of the
247            shapestore. The SHAPETYPE_* constants are now in data not in
248            layer.
249    
250            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
251            (SHAPETYPE_POINT, Shape): Move these constants and classes from
252            layer.py to data.py
253            (ShapefileStore.__init__): More Initialization for the new methods
254            and functionality.
255            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
256            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
257            (ShapefileStore.Shape): New methods that were formerly implemented
258            in the layer.
259            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
260            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
261            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
262            equivalents of the new shape methods. These versions are simply
263            delegated to the original shapstore.
264    
265            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
266            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
267            (Layer.SetShapeStore): Removed the initializatin of instance
268            variables that were needed for the stuff that's now in
269            ShapefileStore
270            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
271            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
272            shapestore.
273    
274            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
275            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
276            instead of layer.
277    
278            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
279    
280            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
281    
282            * test/test_layer.py: Import the SHAPETYPE_* constants from data
283            instead of layer.
284            (TestLayer.test_derived_store): Remove the test for the exception
285            when instantiating the DerivedShapeStore with an incompatible
286            table which is now in test_derivedshapestore.py. Add some more
287            tests of the layer methods to determine whether they work for a
288            DerivedShapeStore as well.
289    
290    2003-07-31  Jonathan Coles   <[email protected]>
291    
292            * Doc/manual/thuban-manual.xml: Fix the list of required packages
293            by just listing the name and where they can be found.
294    
295    2003-07-31  Frank Koormann   <[email protected]>
296    
297            * Doc/manual/thuban-manual.xml:
298            Changed the screenshot elements to figure.
299            Changed some variablelist elements to itemizedlist.
300            Added section on GDAL formats.
301    
302    2003-07-31  Jonathan Coles   <[email protected]>
303    
304            * Doc/manual/thuban-manual.xml: Added a few sentences about
305            the Fix Border Color option when generating classes.
306    
307    2003-07-30  Jonathan Coles   <[email protected]>
308    
309            * Thuban/Model/classgen.py: Add docstrings. Rename specific
310            Ramp instances to use lower_case_style.
311    
312            * Thuban/UI/classgen.py: Use renamed Ramp instances.
313            
314            * Thuban/UI/classifier.py: Add docstrings.
315    
316            * Thuban/UI/dock.py: Add docstrings.
317    
318            * test/test_classgen.py: Use renamed Ramp instances.
319    
320    2003-07-30  Bernhard Herzog  <[email protected]>
321    
322            * Thuban/Lib/connector.py (QueueingPublisher): Removed. This class
323            was never used in Thuban.
324    
325    2003-07-30  Bernhard Herzog  <[email protected]>
326    
327            * Thuban/UI/join.py (JoinDialog.__init__): Use the table's Title()
328            method directly instead of going through the transient_table
329            method. This faster because transient_table may force the copy of
330            a DBF file into the transient database and setting a table's title
331            doesnm't affect the title of the associated transient table, so
332            this fixes RT #2042
333    
334            * Thuban/UI/main.py (__version__): Don't import the already
335            removed show_exception_dialog.
336    
337    2003-07-29  Jonathan Coles   <[email protected]>
338    
339            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
340            Put back this method and remove the equivalent function since we
341            are setting the exception hook from within this class (OnInit).
342    
343    2003-07-29  Jonathan Coles   <[email protected]>
344    
345            * Doc/manual/images/5_2_custom_ramp.png,
346            Doc/manual/images/5_2_quantiles.png,
347            Doc/manual/images/5_2_uniform_dist.png,
348            Doc/manual/images/5_2_unique_values.png,
349            Doc/manual/images/8_int_error.png: New screen shots.
350    
351            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
352            some points, and added more screen shots.
353    
354    2003-07-29  Bernhard Herzog  <[email protected]>
355    
356            * Thuban/Model/data.py: Remove the now unused import of warnings
357    
358    2003-07-29  Bernhard Herzog  <[email protected]>
359    
360            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
361            deprecated since before the 0.8 release and isn't used in Thuban
362            itself anymore.
363    
364            * Thuban/Model/transientdb.py: Remove some unnecessary imports
365    
366    2003-07-29  Jonathan Coles   <[email protected]>
367    
368            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
369            python exception hook here so that we are sure to catch any
370            Thuban exception that happen during initialization.
371    
372            * Thuban/UI/main.py (main): Don't set the exception hook here,
373            it will get set in ThubanApplication.OnInit.
374    
375    2003-07-29  Jonathan Coles   <[email protected]>
376                                                                                
377            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
378            Removed and called it show_exception_dialog() so that the exception
379            handler can be set before the class is created.
380                                                                                
381            * Thuban/UI/main.py (main): Install the exception handler before
382            a ThubanApplication is created.
383                                                                                    
384    2003-07-29  Bernhard Herzog  <[email protected]>
385    
386            * po/it.po: New. Italian translation by Maurizio Napolitano
387    
388            * po/ru.po: New. Russian translation by Alex Shevlakov
389    
390    2003-07-29  Frank Koormann   <[email protected]>
391    
392            * Doc/manual/thuban-manual.xml: Extended section on supported
393            projections.
394            
395    2003-07-29  Frank Koormann   <[email protected]>
396    
397            * Doc/manual/thuban-manual.xml: gaspell-checked.
398    
399    2003-07-29  Jonathan Coles   <[email protected]>
400    
401            * Doc/manual/images/3_5_legend.png: Added border to improve look
402            on white background.
403    
404    2003-07-29  Jonathan Coles   <[email protected]>
405    
406            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
407            descriptions for the legend toolbar.
408    
409            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
410            cursor from dialog box.
411    
412    2003-07-28  Jonathan Coles   <[email protected]>
413    
414            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
415    
416            * Doc/manual/images/2_4_session_tree.png,
417            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
418            Doc/manual/images/4_2_layer_properties.png,
419            Doc/manual/images/4_2_raster_layer_properties.png,
420            Doc/manual/images/5_3_genclass.png,
421            Doc/manual/images/5_classification.png,
422            Doc/manual/images/6_projection.png,
423            Doc/manual/images/7_1_table_view.png,
424            Doc/manual/images/7_2_5_join.png: New screenshots.
425    
426    2003-07-24  Jonathan Coles   <[email protected]>
427    
428            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
429    
430    2003-07-24  Jonathan Coles   <[email protected]>
431    
432            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
433            chapter on Layer Management.
434    
435            * Doc/manual/Makefile: New. Makefile to generate all formats for the
436            manual and images.
437    
438    2003-07-24  Bernhard Herzog  <[email protected]>
439    
440            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
441            it annoys lintian which warns about these files not being
442            executable. The #1 isn't necessary here since if you absolutely
443            must execute them you can always say "python <filename>".
444    
445            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
446            superfluous code to set brush and pen for point shapes
447    
448            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
449            belong in viewport anyway
450    
451    2003-07-24  Frank Koormann   <[email protected]>
452    
453            * Doc/manual/thuban-manual.xml: Added section on table management.
454    
455    2003-07-24  Bernhard Herzog  <[email protected]>
456    
457            * test/runtests.py (main): Recognize the long "verbose" option
458            correctly.
459    
460    2003-07-22  Jonathan Coles   <[email protected]>
461    
462            * Doc/manual/thuban-manual.xml: Continue to write first revision
463            of the manual.
464    
465            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
466            with Begin/EndDrawing() calls to ensure we aren't doing to
467            many updates to the dc during rendering.
468            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
469            a pen and brush argument so they need to be passed to the function.
470    
471            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
472            Calculates the minimum and maximum scale values. Factored out
473            of set_view_transform so that it could be used to zoom all the
474            way into a single point.
475            (ViewPort.set_view_transform): Call calc_min_max_scales().
476            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
477            if only a single point is selected.
478    
479            * Doc/manual/images/1_2_legend_close.png,
480            Doc/manual/images/1_2_legend_dock.png,
481            Doc/manual/images/1_2_mainwindow.png,
482            Doc/manual/images/1_2_mainwindow.ps,
483            Doc/manual/images/1_2_mainwindow.sk,
484            Doc/manual/images/3_2_fullextent.png,
485            Doc/manual/images/3_2_fulllayerextent.png,
486            Doc/manual/images/3_2_fullshapeextent.png,
487            Doc/manual/images/3_2_pan.png,
488            Doc/manual/images/3_2_zoomin.png,
489            Doc/manual/images/3_2_zoomout.png,
490            Doc/manual/images/3_3_identify.png,
491            Doc/manual/images/3_3_label.png,
492            Doc/manual/images/3_5_invisible.png,
493            Doc/manual/images/3_5_movedown.png,
494            Doc/manual/images/3_5_moveup.png,
495            Doc/manual/images/3_5_props.png,
496            Doc/manual/images/3_5_tobottom.png,
497            Doc/manual/images/3_5_totop.png,
498            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
499    
500    2003-07-18  Bernhard Herzog  <[email protected]>
501    
502            * Thuban/UI/messages.py (MAP_REPLACED): New message.
503    
504            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
505            after the new map has been assigned
506    
507            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
508            Delegate MAP_REPLACED to the canvas too
509            (MainWindow.prepare_new_session): Removed. Thanks to the new
510            MAP_REPLACED message it's no longer needed
511            (MainWindow.OpenSession, MainWindow.NewSession):
512            prepare_new_session has been removed.
513    
514            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
515            MAP_REPLACED so that we can close the dialog if a new map is set.
516            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
517            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
518            dialog
519    
520            * test/test_viewport.py (SimpleViewPortTest)
521            (SimpleViewPortTest.test_default_size): Add doc-strings
522            (ViewPortTest.setUp): Bind map to self.map so we can use it in
523            tests. Subscribe to MAP_REPLACED messages too.
524            (ViewPortTest.tearDown): No need to explicitly unsubscribe
525            (ViewPortTest.test_set_map): New test for the SetMap method.
526    
527    2003-07-18  Bernhard Herzog  <[email protected]>
528    
529            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
530            Move this test from ViewPortTest.setUp to this new separate test
531            case. setUp is not the place for the actual tests.
532            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
533            more of the test from setUp to the new test test_inital_settings.
534            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
535            (ViewPortTest.test_proj_conv): Split test_proj_conv into
536            test_win_to_proj and test_proj_to_win and make the tests easier to
537            understand
538            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
539            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
540            (ViewPortTest.test_unprojected_rect_around_point)
541            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
542            Reformat to increase readability.
543    
544    2003-07-18  Bernhard Herzog  <[email protected]>
545    
546            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
547    
548    2003-07-18  Bernhard Herzog  <[email protected]>
549    
550            * test/runtests.py: The test suite can now be run without an X
551            connection. To make sure this remains true, remove the DISPLAY
552            environment variable so that an error occurs if the wxGTK is
553            imported accidentally
554    
555    2003-07-18  Bernhard Herzog  <[email protected]>
556    
557            * Thuban/UI/viewport.py: Remove unused imports
558    
559            * Thuban/UI/view.py: Remove unused imports
560    
561    2003-07-18  Bernhard Herzog  <[email protected]>
562    
563            * test/test_export.py Remove unused imports. The OutputTransform
564            function is now in viewport.py and is called output_transform
565            (TestScalebar.test_output_transform)
566            (TestScalebar.test_OutputTransform): Renamed to
567            test_output_transform and updated to use output_transform instead
568            of OutputTransform
569    
570            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
571            renamed.
572            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
573            renamed to output_transform
574    
575            * Thuban/UI/viewport.py (OutputTransform, output_transform):
576            Rename to output_transform
577    
578    2003-07-18  Bernhard Herzog  <[email protected]>
579    
580            * Thuban/Model/layer.py (Layer.__init__): Rename
581            classificationField to classificatin_column and init it here so
582            that it can be used in SetClassificationColumn
583            (Layer.GetClassificationColumn, Layer.GetClassificationField):
584            Rename to GetClassificationColumn.
585            (Layer.SetClassificationColumn, Layer.SetClassificationField):
586            Rename to SetClassificationColumn and issue a LAYER_CHANGED
587            message if the column changes.
588            (Layer._classification_changed, Layer.ClassChanged): Rename to
589            _classification_changed. Update the callers.
590            (Layer.SetShapeStore): Further field->column renames.
591    
592            * Thuban/Model/load.py (SessionLoader.start_classification)
593            (SessionLoader.start_clpoint): Updates because of
594            field->column method name changes in the Layer class
595    
596            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
597            because of field->column method name changes in the Layer class
598    
599            * Thuban/UI/classifier.py (Classifier.__init__)
600            (Classifier._OnTry, Classifier._OnRevert): Updates because of
601            field->column method name changes in the Layer class
602    
603            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
604            because of field->column method name changes in the Layer class
605    
606            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
607            of field->column method name changes in the Layer class
608    
609            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
610            (SaveSessionTest.testClassifiedLayer): Update because of
611            field->column method name changes in the Layer class
612    
613            * test/test_layer.py (SetShapeStoreTests.setUp)
614            (SetShapeStoreTests.test_sanity): Update because of field->column
615            method name changes in the Layer class
616            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
617            (TestLayerModification.test_sanity)
618            (TestLayerModification.test_initial_settings): remove unsued code
619            and rename to test_sanity.
620            (TestLayerModification.test_set_classification): New test for
621            SetClassification and SetClassificationField.
622    
623    2003-07-18  Bernhard Herzog  <[email protected]>
624    
625            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
626            the non-fixed values as well. The old test would have accepted a
627            fixed ramp that only returnes the fixed properties
628    
629    2003-07-17  Jonathan Coles   <[email protected]>
630    
631            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
632            shots for the manual. The XCF file is the source image and
633            has additional layers to support changes.
634    
635            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
636    
637            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
638            Return both the new class and the field name.
639    
640            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
641            fit the map to the window as this changes any zoom level that
642            the user may have set.
643    
644    2003-07-16  Jonathan Coles   <[email protected]>
645    
646            * Thuban/Model/classgen.py (generate_singletons,
647            generate_uniform_distribution, generate_quantiles): Remove
648            fixes parameter, but maintain the same functionality by having
649            the calling function pass a FixedRamp object for the ramp.
650            (FixedRamp): New. Adapts a ramp to have fixed property values.
651    
652            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
653            (Classification): Inherit from Publisher.
654            (Classification.__init__): Remove the layer parameter.
655            Classifications no longer need to have a parent layer.
656            (Classification.GetField, Classification.GetFieldType,
657            Classification.SetFieldInfo): Removed. The field name is stored
658            in the layer, and the type can be retreived by calling
659            Layer.GetFieldType().
660            (Classification._set_layer, Classification.GetLayer): Removed.
661            Classifications no longer have a parent layer.
662    
663            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
664            classification.
665            (Layer.SetShapeStore): Reset the classification first while
666            we still have the old shape store to work with.
667            (Layer.GetClassificationField, Layer.SetClassificationField):
668            New. Method for getting/setting the field to classify on.
669            (Layer.SetClassification): Simplified now that the layer
670            simply has to hold a reference to the classification and not
671            tell the classification who owns it.
672            Fixes RTbug #2023.
673    
674            * Thuban/Model/load.py (SessionLoader.start_classification):
675            Set the field name on the layer, not the classification.
676    
677            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
678            classification is modified.
679    
680            * Thuban/Model/save.py (SessionSaver.write_classification):
681            Get the field name and type from the layer.
682    
683            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
684            parameter records to rows and add docstring. Fixes RTbug #1997.
685    
686            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
687            ramp when we need to fix certain values of a ramp rather than
688            using the old fixes parameter. Fixes RTbug #2024.
689    
690            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
691            parameter.
692            (ClassTable.Reset): Add fieldType parameter and use it, rather
693            than asking the classification.
694            (Classifier.__init__): Remember the original class's field
695            and ask the layer for the field type, rather than the classification.
696            (Classifier.__SetGridTable): Retrieve the field and field type
697            for the table because they are not in the classification.
698            (Classifier._OnTry, Classifier._OnRevert): Set the classification
699            field on the layer in addition to the classification itself.
700    
701            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
702            classification field from layer.
703    
704            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
705            classification field from layer. Split up tests and remove
706            *-imports. Fixes RTbug #1992.
707    
708            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
709    
710            * test/test_classification.py
711            (TestClassification.test_classification): Remove tests for methods
712            that no longer exist.
713    
714            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
715            __init__ no longer has a field parameter, use SetClassificationField.
716            (SetShapeStoreTests.test_sanity): Use layer object to get class
717            field info.
718    
719            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
720            SetClassificationField on layer to set class field info.
721    
722            * test/test_viewport.py: Renamed from test/test_view.py.
723    
724    2003-07-16  Jan-Oliver Wagner <[email protected]>
725    
726            * Doc/manual/thuban-manual.xml: Added authors and an initial
727            coarse structure.
728    
729    2003-07-15  Bernhard Herzog  <[email protected]>
730    
731            * test/support.py (FloatComparisonMixin): This is a mix-in class
732            and therefore should not be derived from any other class.
733    
734            * test/test_range.py (RangeTest): FloatComparisonMixin is a
735            mix-in, so derive from TestCase as well.
736    
737    2003-07-15  Bernhard Herzog  <[email protected]>
738    
739            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
740            draw_func handling a bit to remove one layer of indirection. This
741            makes the renderer about 10% faster in the non-classifying case
742            and the code a bit cleaner
743            (MapRenderer.draw_point_shape): Add the pen and brush parameters
744            and set them in the dc. Now the draw_point_shape method and
745            wxproj's draw_polygon_shape function have basically the same
746            signature so that both can be directly used as draw_func
747    
748    2003-07-15  Bernhard Herzog  <[email protected]>
749    
750            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
751            string values (in addition to the labels) as UTF 8
752    
753            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
754            values if the field type is string
755    
756            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
757            saving a session with non-ascii string classification values.
758    
759            * test/test_load.py (TestClassification.file_contents)
760            (TestClassification.test): Check for non-ascii values in string
761            classifications
762    
763    2003-07-14  Jonathan Coles   <[email protected]>
764    
765            * test/test_view.py: New. Tests for ViewPort.
766    
767    2003-07-14  Frank Koormann   <[email protected]>
768    
769            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
770            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
771    
772            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
773            unicode strings from session file: session title, map title and
774            projection name.
775            
776    2003-07-10  Jonathan Coles   <[email protected]>
777    
778            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
779            drag_stop, not drag_move when the mouse is released.
780    
781  2003-07-10  Jonathan Coles   <[email protected]>  2003-07-10  Jonathan Coles   <[email protected]>
782    
783          The most important part of this is the seperation of view.py into          The most important part of this is the seperation of view.py into

Legend:
Removed from v.1403  
changed lines
  Added in v.1586

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26