/[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 1349 by jonathan, Tue Jul 1 16:12:38 2003 UTC revision 1548 by bh, Tue Aug 5 12:39:16 2003 UTC
# Line 1  Line 1 
1    2003-08-05  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
4            object look like a Color instantiation. Formerly it looked like a
5            tuple.
6    
7            * test/test_color.py (TestColor.test_repr)
8            (TestColor.test_equality, TestColor.test_inequality): New. test
9            some more apects of the Color class
10            (TestTransparent.test_repr, TestTransparent.test_hex)
11            (TestTransparent.test_equality): New. Test cases for the
12            Transparent object.
13    
14    2003-08-04  Jan-Oliver Wagner <[email protected]>
15    
16            * Doc/manual/thuban-manual.xml: a number of small improvements.
17            The resulting file is the version submitted for GREAT-ER II.
18    
19    2003-08-01  Bernhard Herzog  <[email protected]>
20    
21            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
22            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
23            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
24    
25            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
26            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
27            (ThubanEndBusyCursor): Add doc-strings
28    
29    2003-08-01  Bernhard Herzog  <[email protected]>
30    
31            First step towards PostGIS integration. More abstraction by movin
32            more code from the layer to the shapestore. More methods of the
33            layer are now simply delegated to the equivalent method of the
34            shapestore. The SHAPETYPE_* constants are now in data not in
35            layer.
36    
37            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
38            (SHAPETYPE_POINT, Shape): Move these constants and classes from
39            layer.py to data.py
40            (ShapefileStore.__init__): More Initialization for the new methods
41            and functionality.
42            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
43            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
44            (ShapefileStore.Shape): New methods that were formerly implemented
45            in the layer.
46            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
47            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
48            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
49            equivalents of the new shape methods. These versions are simply
50            delegated to the original shapstore.
51    
52            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
53            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
54            (Layer.SetShapeStore): Removed the initializatin of instance
55            variables that were needed for the stuff that's now in
56            ShapefileStore
57            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
58            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
59            shapestore.
60    
61            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
62            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
63            instead of layer.
64    
65            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
66    
67            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
68    
69            * test/test_layer.py: Import the SHAPETYPE_* constants from data
70            instead of layer.
71            (TestLayer.test_derived_store): Remove the test for the exception
72            when instantiating the DerivedShapeStore with an incompatible
73            table which is now in test_derivedshapestore.py. Add some more
74            tests of the layer methods to determine whether they work for a
75            DerivedShapeStore as well.
76    
77    2003-07-31  Jonathan Coles   <[email protected]>
78    
79            * Doc/manual/thuban-manual.xml: Fix the list of required packages
80            by just listing the name and where they can be found.
81    
82    2003-07-31  Frank Koormann   <[email protected]>
83    
84            * Doc/manual/thuban-manual.xml:
85            Changed the screenshot elements to figure.
86            Changed some variablelist elements to itemizedlist.
87            Added section on GDAL formats.
88    
89    2003-07-31  Jonathan Coles   <[email protected]>
90    
91            * Doc/manual/thuban-manual.xml: Added a few sentences about
92            the Fix Border Color option when generating classes.
93    
94    2003-07-30  Jonathan Coles   <[email protected]>
95    
96            * Thuban/Model/classgen.py: Add docstrings. Rename specific
97            Ramp instances to use lower_case_style.
98    
99            * Thuban/UI/classgen.py: Use renamed Ramp instances.
100            
101            * Thuban/UI/classifier.py: Add docstrings.
102    
103            * Thuban/UI/dock.py: Add docstrings.
104    
105            * test/test_classgen.py: Use renamed Ramp instances.
106    
107    2003-07-30  Bernhard Herzog  <[email protected]>
108    
109            * Thuban/Lib/connector.py (QueueingPublisher): Removed. This class
110            was never used in Thuban.
111    
112    2003-07-30  Bernhard Herzog  <[email protected]>
113    
114            * Thuban/UI/join.py (JoinDialog.__init__): Use the table's Title()
115            method directly instead of going through the transient_table
116            method. This faster because transient_table may force the copy of
117            a DBF file into the transient database and setting a table's title
118            doesnm't affect the title of the associated transient table, so
119            this fixes RT #2042
120    
121            * Thuban/UI/main.py (__version__): Don't import the already
122            removed show_exception_dialog.
123    
124    2003-07-29  Jonathan Coles   <[email protected]>
125    
126            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
127            Put back this method and remove the equivalent function since we
128            are setting the exception hook from within this class (OnInit).
129    
130    2003-07-29  Jonathan Coles   <[email protected]>
131    
132            * Doc/manual/images/5_2_custom_ramp.png,
133            Doc/manual/images/5_2_quantiles.png,
134            Doc/manual/images/5_2_uniform_dist.png,
135            Doc/manual/images/5_2_unique_values.png,
136            Doc/manual/images/8_int_error.png: New screen shots.
137    
138            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
139            some points, and added more screen shots.
140    
141    2003-07-29  Bernhard Herzog  <[email protected]>
142    
143            * Thuban/Model/data.py: Remove the now unused import of warnings
144    
145    2003-07-29  Bernhard Herzog  <[email protected]>
146    
147            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
148            deprecated since before the 0.8 release and isn't used in Thuban
149            itself anymore.
150    
151            * Thuban/Model/transientdb.py: Remove some unnecessary imports
152    
153    2003-07-29  Jonathan Coles   <[email protected]>
154    
155            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
156            python exception hook here so that we are sure to catch any
157            Thuban exception that happen during initialization.
158    
159            * Thuban/UI/main.py (main): Don't set the exception hook here,
160            it will get set in ThubanApplication.OnInit.
161    
162    2003-07-29  Jonathan Coles   <[email protected]>
163                                                                                
164            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
165            Removed and called it show_exception_dialog() so that the exception
166            handler can be set before the class is created.
167                                                                                
168            * Thuban/UI/main.py (main): Install the exception handler before
169            a ThubanApplication is created.
170                                                                                    
171    2003-07-29  Bernhard Herzog  <[email protected]>
172    
173            * po/it.po: New. Italian translation by Maurizio Napolitano
174    
175            * po/ru.po: New. Russian translation by Alex Shevlakov
176    
177    2003-07-29  Frank Koormann   <[email protected]>
178    
179            * Doc/manual/thuban-manual.xml: Extended section on supported
180            projections.
181            
182    2003-07-29  Frank Koormann   <[email protected]>
183    
184            * Doc/manual/thuban-manual.xml: gaspell-checked.
185    
186    2003-07-29  Jonathan Coles   <[email protected]>
187    
188            * Doc/manual/images/3_5_legend.png: Added border to improve look
189            on white background.
190    
191    2003-07-29  Jonathan Coles   <[email protected]>
192    
193            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
194            descriptions for the legend toolbar.
195    
196            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
197            cursor from dialog box.
198    
199    2003-07-28  Jonathan Coles   <[email protected]>
200    
201            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
202    
203            * Doc/manual/images/2_4_session_tree.png,
204            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
205            Doc/manual/images/4_2_layer_properties.png,
206            Doc/manual/images/4_2_raster_layer_properties.png,
207            Doc/manual/images/5_3_genclass.png,
208            Doc/manual/images/5_classification.png,
209            Doc/manual/images/6_projection.png,
210            Doc/manual/images/7_1_table_view.png,
211            Doc/manual/images/7_2_5_join.png: New screenshots.
212    
213    2003-07-24  Jonathan Coles   <[email protected]>
214    
215            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
216    
217    2003-07-24  Jonathan Coles   <[email protected]>
218    
219            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
220            chapter on Layer Management.
221    
222            * Doc/manual/Makefile: New. Makefile to generate all formats for the
223            manual and images.
224    
225    2003-07-24  Bernhard Herzog  <[email protected]>
226    
227            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
228            it annoys lintian which warns about these files not being
229            executable. The #1 isn't necessary here since if you absolutely
230            must execute them you can always say "python <filename>".
231    
232            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
233            superfluous code to set brush and pen for point shapes
234    
235            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
236            belong in viewport anyway
237    
238    2003-07-24  Frank Koormann   <[email protected]>
239    
240            * Doc/manual/thuban-manual.xml: Added section on table management.
241    
242    2003-07-24  Bernhard Herzog  <[email protected]>
243    
244            * test/runtests.py (main): Recognize the long "verbose" option
245            correctly.
246    
247    2003-07-22  Jonathan Coles   <[email protected]>
248    
249            * Doc/manual/thuban-manual.xml: Continue to write first revision
250            of the manual.
251    
252            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
253            with Begin/EndDrawing() calls to ensure we aren't doing to
254            many updates to the dc during rendering.
255            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
256            a pen and brush argument so they need to be passed to the function.
257    
258            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
259            Calculates the minimum and maximum scale values. Factored out
260            of set_view_transform so that it could be used to zoom all the
261            way into a single point.
262            (ViewPort.set_view_transform): Call calc_min_max_scales().
263            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
264            if only a single point is selected.
265    
266            * Doc/manual/images/1_2_legend_close.png,
267            Doc/manual/images/1_2_legend_dock.png,
268            Doc/manual/images/1_2_mainwindow.png,
269            Doc/manual/images/1_2_mainwindow.ps,
270            Doc/manual/images/1_2_mainwindow.sk,
271            Doc/manual/images/3_2_fullextent.png,
272            Doc/manual/images/3_2_fulllayerextent.png,
273            Doc/manual/images/3_2_fullshapeextent.png,
274            Doc/manual/images/3_2_pan.png,
275            Doc/manual/images/3_2_zoomin.png,
276            Doc/manual/images/3_2_zoomout.png,
277            Doc/manual/images/3_3_identify.png,
278            Doc/manual/images/3_3_label.png,
279            Doc/manual/images/3_5_invisible.png,
280            Doc/manual/images/3_5_movedown.png,
281            Doc/manual/images/3_5_moveup.png,
282            Doc/manual/images/3_5_props.png,
283            Doc/manual/images/3_5_tobottom.png,
284            Doc/manual/images/3_5_totop.png,
285            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
286    
287    2003-07-18  Bernhard Herzog  <[email protected]>
288    
289            * Thuban/UI/messages.py (MAP_REPLACED): New message.
290    
291            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
292            after the new map has been assigned
293    
294            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
295            Delegate MAP_REPLACED to the canvas too
296            (MainWindow.prepare_new_session): Removed. Thanks to the new
297            MAP_REPLACED message it's no longer needed
298            (MainWindow.OpenSession, MainWindow.NewSession):
299            prepare_new_session has been removed.
300    
301            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
302            MAP_REPLACED so that we can close the dialog if a new map is set.
303            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
304            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
305            dialog
306    
307            * test/test_viewport.py (SimpleViewPortTest)
308            (SimpleViewPortTest.test_default_size): Add doc-strings
309            (ViewPortTest.setUp): Bind map to self.map so we can use it in
310            tests. Subscribe to MAP_REPLACED messages too.
311            (ViewPortTest.tearDown): No need to explicitly unsubscribe
312            (ViewPortTest.test_set_map): New test for the SetMap method.
313    
314    2003-07-18  Bernhard Herzog  <[email protected]>
315    
316            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
317            Move this test from ViewPortTest.setUp to this new separate test
318            case. setUp is not the place for the actual tests.
319            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
320            more of the test from setUp to the new test test_inital_settings.
321            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
322            (ViewPortTest.test_proj_conv): Split test_proj_conv into
323            test_win_to_proj and test_proj_to_win and make the tests easier to
324            understand
325            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
326            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
327            (ViewPortTest.test_unprojected_rect_around_point)
328            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
329            Reformat to increase readability.
330    
331    2003-07-18  Bernhard Herzog  <[email protected]>
332    
333            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
334    
335    2003-07-18  Bernhard Herzog  <[email protected]>
336    
337            * test/runtests.py: The test suite can now be run without an X
338            connection. To make sure this remains true, remove the DISPLAY
339            environment variable so that an error occurs if the wxGTK is
340            imported accidentally
341    
342    2003-07-18  Bernhard Herzog  <[email protected]>
343    
344            * Thuban/UI/viewport.py: Remove unused imports
345    
346            * Thuban/UI/view.py: Remove unused imports
347    
348    2003-07-18  Bernhard Herzog  <[email protected]>
349    
350            * test/test_export.py Remove unused imports. The OutputTransform
351            function is now in viewport.py and is called output_transform
352            (TestScalebar.test_output_transform)
353            (TestScalebar.test_OutputTransform): Renamed to
354            test_output_transform and updated to use output_transform instead
355            of OutputTransform
356    
357            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
358            renamed.
359            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
360            renamed to output_transform
361    
362            * Thuban/UI/viewport.py (OutputTransform, output_transform):
363            Rename to output_transform
364    
365    2003-07-18  Bernhard Herzog  <[email protected]>
366    
367            * Thuban/Model/layer.py (Layer.__init__): Rename
368            classificationField to classificatin_column and init it here so
369            that it can be used in SetClassificationColumn
370            (Layer.GetClassificationColumn, Layer.GetClassificationField):
371            Rename to GetClassificationColumn.
372            (Layer.SetClassificationColumn, Layer.SetClassificationField):
373            Rename to SetClassificationColumn and issue a LAYER_CHANGED
374            message if the column changes.
375            (Layer._classification_changed, Layer.ClassChanged): Rename to
376            _classification_changed. Update the callers.
377            (Layer.SetShapeStore): Further field->column renames.
378    
379            * Thuban/Model/load.py (SessionLoader.start_classification)
380            (SessionLoader.start_clpoint): Updates because of
381            field->column method name changes in the Layer class
382    
383            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
384            because of field->column method name changes in the Layer class
385    
386            * Thuban/UI/classifier.py (Classifier.__init__)
387            (Classifier._OnTry, Classifier._OnRevert): Updates because of
388            field->column method name changes in the Layer class
389    
390            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
391            because of field->column method name changes in the Layer class
392    
393            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
394            of field->column method name changes in the Layer class
395    
396            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
397            (SaveSessionTest.testClassifiedLayer): Update because of
398            field->column method name changes in the Layer class
399    
400            * test/test_layer.py (SetShapeStoreTests.setUp)
401            (SetShapeStoreTests.test_sanity): Update because of field->column
402            method name changes in the Layer class
403            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
404            (TestLayerModification.test_sanity)
405            (TestLayerModification.test_initial_settings): remove unsued code
406            and rename to test_sanity.
407            (TestLayerModification.test_set_classification): New test for
408            SetClassification and SetClassificationField.
409    
410    2003-07-18  Bernhard Herzog  <[email protected]>
411    
412            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
413            the non-fixed values as well. The old test would have accepted a
414            fixed ramp that only returnes the fixed properties
415    
416    2003-07-17  Jonathan Coles   <[email protected]>
417    
418            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
419            shots for the manual. The XCF file is the source image and
420            has additional layers to support changes.
421    
422            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
423    
424            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
425            Return both the new class and the field name.
426    
427            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
428            fit the map to the window as this changes any zoom level that
429            the user may have set.
430    
431    2003-07-16  Jonathan Coles   <[email protected]>
432    
433            * Thuban/Model/classgen.py (generate_singletons,
434            generate_uniform_distribution, generate_quantiles): Remove
435            fixes parameter, but maintain the same functionality by having
436            the calling function pass a FixedRamp object for the ramp.
437            (FixedRamp): New. Adapts a ramp to have fixed property values.
438    
439            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
440            (Classification): Inherit from Publisher.
441            (Classification.__init__): Remove the layer parameter.
442            Classifications no longer need to have a parent layer.
443            (Classification.GetField, Classification.GetFieldType,
444            Classification.SetFieldInfo): Removed. The field name is stored
445            in the layer, and the type can be retreived by calling
446            Layer.GetFieldType().
447            (Classification._set_layer, Classification.GetLayer): Removed.
448            Classifications no longer have a parent layer.
449    
450            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
451            classification.
452            (Layer.SetShapeStore): Reset the classification first while
453            we still have the old shape store to work with.
454            (Layer.GetClassificationField, Layer.SetClassificationField):
455            New. Method for getting/setting the field to classify on.
456            (Layer.SetClassification): Simplified now that the layer
457            simply has to hold a reference to the classification and not
458            tell the classification who owns it.
459            Fixes RTbug #2023.
460    
461            * Thuban/Model/load.py (SessionLoader.start_classification):
462            Set the field name on the layer, not the classification.
463    
464            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
465            classification is modified.
466    
467            * Thuban/Model/save.py (SessionSaver.write_classification):
468            Get the field name and type from the layer.
469    
470            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
471            parameter records to rows and add docstring. Fixes RTbug #1997.
472    
473            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
474            ramp when we need to fix certain values of a ramp rather than
475            using the old fixes parameter. Fixes RTbug #2024.
476    
477            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
478            parameter.
479            (ClassTable.Reset): Add fieldType parameter and use it, rather
480            than asking the classification.
481            (Classifier.__init__): Remember the original class's field
482            and ask the layer for the field type, rather than the classification.
483            (Classifier.__SetGridTable): Retrieve the field and field type
484            for the table because they are not in the classification.
485            (Classifier._OnTry, Classifier._OnRevert): Set the classification
486            field on the layer in addition to the classification itself.
487    
488            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
489            classification field from layer.
490    
491            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
492            classification field from layer. Split up tests and remove
493            *-imports. Fixes RTbug #1992.
494    
495            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
496    
497            * test/test_classification.py
498            (TestClassification.test_classification): Remove tests for methods
499            that no longer exist.
500    
501            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
502            __init__ no longer has a field parameter, use SetClassificationField.
503            (SetShapeStoreTests.test_sanity): Use layer object to get class
504            field info.
505    
506            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
507            SetClassificationField on layer to set class field info.
508    
509            * test/test_viewport.py: Renamed from test/test_view.py.
510    
511    2003-07-16  Jan-Oliver Wagner <[email protected]>
512    
513            * Doc/manual/thuban-manual.xml: Added authors and an initial
514            coarse structure.
515    
516    2003-07-15  Bernhard Herzog  <[email protected]>
517    
518            * test/support.py (FloatComparisonMixin): This is a mix-in class
519            and therefore should not be derived from any other class.
520    
521            * test/test_range.py (RangeTest): FloatComparisonMixin is a
522            mix-in, so derive from TestCase as well.
523    
524    2003-07-15  Bernhard Herzog  <[email protected]>
525    
526            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
527            draw_func handling a bit to remove one layer of indirection. This
528            makes the renderer about 10% faster in the non-classifying case
529            and the code a bit cleaner
530            (MapRenderer.draw_point_shape): Add the pen and brush parameters
531            and set them in the dc. Now the draw_point_shape method and
532            wxproj's draw_polygon_shape function have basically the same
533            signature so that both can be directly used as draw_func
534    
535    2003-07-15  Bernhard Herzog  <[email protected]>
536    
537            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
538            string values (in addition to the labels) as UTF 8
539    
540            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
541            values if the field type is string
542    
543            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
544            saving a session with non-ascii string classification values.
545    
546            * test/test_load.py (TestClassification.file_contents)
547            (TestClassification.test): Check for non-ascii values in string
548            classifications
549    
550    2003-07-14  Jonathan Coles   <[email protected]>
551    
552            * test/test_view.py: New. Tests for ViewPort.
553    
554    2003-07-14  Frank Koormann   <[email protected]>
555    
556            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
557            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
558    
559            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
560            unicode strings from session file: session title, map title and
561            projection name.
562            
563    2003-07-10  Jonathan Coles   <[email protected]>
564    
565            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
566            drag_stop, not drag_move when the mouse is released.
567    
568    2003-07-10  Jonathan Coles   <[email protected]>
569    
570            The most important part of this is the seperation of view.py into
571            two pieces. viewport.py now has a class called ViewPort which
572            contains all the non-wx parts of view.py and can therefore be
573            tested. view.py contains only the wx-specific parts and is fairly
574            simple.
575    
576            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
577            RTTbug #1992.
578            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
579            RTTbug #1992.
580    
581            * Thuban/Model/classgen.py (generate_singletons,
582            generate_uniform_distribution, generate_quantiles):
583            Added 'fixes' parameter so that property attributes can
584            be held constant over the generated classification groups.
585            (CustomRamp.GetProperties): Remove unused variables.
586    
587            * Thuban/Model/map.py (Map.SetProjection): Send the old
588            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
589            event.
590    
591            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
592            parameter which is a list of records that restricts which
593            records are saved. Fixes RTbug #1997.
594    
595            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
596            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
597    
598            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
599            to allow the user to fix line color/width on generated groups.
600            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
601            functions to optionally fix group properties.
602    
603            * Thuban/UI/main.py (main): Set exception hook to the
604            ShowExceptionDialog. Fixes RTbug #1993.
605    
606            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
607            the table window when it is selectd to be shown.
608    
609            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
610            Export Selection button and move the export buttons underneath
611            the table.
612            (QueryTableFrame.UpdateStatusText): Added event argument so
613            that it can respond to grid selection events. The status text
614            is now updated even when the table is not associated with a
615            layer as was previously assumed.
616            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
617            UpdateStatusText responds to these events.
618            (QueryTableFrame.OnSaveAs): Renamed to doExport.
619            (QueryTableFrame.doExport): Helper function that saves the
620            entire table, or selected rows, to a file.
621            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
622            Respond to export button events and call doExport.
623    
624            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
625            the function doesn't return NULL without first setting a Python
626            Error.
627    
628            * test/runtests.py (main): Only print "Unknown option" for
629            unsupported options.
630    
631            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
632            optional epsilon argument to specify floating point accuracy.
633            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
634            for each item test.
635    
636            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
637            tests for saving selected records.
638    
639            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
640            tests for saving selected records.
641    
642            * test/test_map.py (TestMapWithContents.test_set_projection):
643            MAP_PROJECTION_CHANGED events send the old projection.
644    
645            * test/test_session.py
646            (TestSessionWithContent.test_forward_map_projection):
647            MAP_PROJECTION_CHANGED events send the old projection.
648    
649            * test/test_table.py (TableTest): Update tests to use non-deprecated
650            functions.
651    
652    2003-07-08  Bernhard Herzog  <[email protected]>
653    
654            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
655            constants in the column objects are the standard ones defined in
656            the table module.
657    
658            * test/test_transientdb.py
659            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
660            exporting transient tables as DBF works. This should catch the bug
661            just fixed in TransientTableBase.Width.
662    
663    2003-07-08  Bernhard Herzog  <[email protected]>
664    
665            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
666            interpolated colors correctly.
667    
668            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
669            New. Test case for the fix in classgen.py
670    
671    2003-07-08  Bernhard Herzog  <[email protected]>
672    
673            * test/runtests.py (main): Make the default output less verbose
674            and add a verbosity option (-v) to get the old output
675    
676    2003-07-08  Bernhard Herzog  <[email protected]>
677    
678            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
679            0.9.
680    
681            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
682            New. Return the join type
683    
684            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
685            DTD
686            (SessionSaver.write_data_containers): Save the join type for
687            joined tables
688    
689            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
690            namespace
691            (SessionLoader.start_jointable): Handle the jointype attribute
692    
693            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
694            as of Thuban 0.8. These are now tests to determine whether Thuban
695            can still read files generated by Thuban 0.8
696    
697            * test/test_load.py (LoadSessionTest.dtd)
698            (TestSingleLayer.file_contents)
699            (TestLayerVisibility.file_contents, TestLabels.file_contents)
700            (TestLayerProjection.file_contents)
701            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
702            (TestJoinedTable.file_contents)
703            (TestLoadError.file_contents): Update for new DTD
704            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
705            for new join type attribute
706    
707            * test/test_save.py (SaveSessionTest.dtd)
708            (SaveSessionTest.testEmptySession)
709            (SaveSessionTest.testSingleLayer)
710            (SaveSessionTest.testLayerProjection)
711            (SaveSessionTest.testRasterLayer)
712            (SaveSessionTest.testClassifiedLayer)
713            (SaveSessionTest.test_dbf_table)
714            (SaveSessionTest.test_joined_table): Update for new DTD
715            (SaveSessionTest.test_joined_table): Add test for new join type
716            attribute
717    
718    2003-07-04  Bernhard Herzog  <[email protected]>
719    
720            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
721            function for table_to_dbf
722            (table_to_dbf): Deal with names longer than the 10 character limit
723    
724            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
725            doc-string
726            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
727            long column names
728    
729    2003-07-03  Bernhard Herzog  <[email protected]>
730    
731            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
732    
733    2003-07-03  Bernhard Herzog  <[email protected]>
734    
735            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
736            for the Thuban manual and README with some basic information about
737            the manual
738    
739    2003-07-03  Bernhard Herzog  <[email protected]>
740    
741            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
742            Update doc-string
743            (TransientJoinedTable.create): Do not modify the column objects of
744            the input tables in place and copy all columns of the input tables
745            into the joined table after all.
746    
747            * test/test_transientdb.py
748            (TestTransientTable.test_transient_joined_table_same_column_name):
749            Update to reflect the new behavior
750            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
751            Update to reflect the new behavior
752            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
753            New test case for a bug which modified the column objects in place
754    
755    2003-07-02  Jonathan Coles   <[email protected]>
756    
757            * Thuban/Model/classgen.py (generate_singletons,
758            generate_uniform_distribution, generate_quantiles,
759            GenQuantiles0): Make sure maxValue isn't less than
760            one, otherwise we could divide by zero.
761    
762            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
763            ClassGenTest.doClassSingleTest): Call doBoundsTest to
764            check the end classification groups against the
765            proper property values.
766            (ClassGenTest.doBoundsTest): New. Checks the first and
767            last classification groups to make sure their properties
768            are the correct upper and lower bounds for a color ramp.
769    
770    2003-07-02  Jonathan Coles   <[email protected]>
771    
772            * Thuban/Model/classgen.py (generate_singletons,
773            generate_uniform_distribution, generate_quantiles,
774            GenQuantiles0): The denominator was one to high when
775            calculating the index for the ramp causing the index
776            to never to reach one.
777    
778    2003-07-02  Jonathan Coles   <[email protected]>
779    
780            Changed the singature of ClassGroupRange.__init__ and
781            ClassGroupRange.SetRange() so that the min/max values are
782            passed as a tuple. This makes a better calling scheme for
783            when a Range object is passed instead.
784    
785            * Thuban/Model/classgen.py: Fixed parameters to
786            ClassGroupRange constructor.
787    
788            * Thuban/Model/classification.py (ClassGroupRange.__init__):
789            Consolidate the min/max parameters into a single _range which
790            can either be a tuple or a Range object.
791            (ClassGroupRange.SetRange): Consolidate the min/max parameters
792            into a single _range which can either be a tuple or a Range object.
793    
794            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
795            call to ClassGroupRange constructor to use a tuple.
796    
797            * Thuban/Model/layer.py (Layer.SetClassification): Switch
798            the classification instance variable to the new class
799            before calling _set_layer otherwise subscribers to a
800            LAYER_CHANGED event will not see any difference.
801    
802            * test/test_classification.py: Fix tests of ClassGroupRange
803            so that they use the new signature.
804    
805            * test/test_load.py: Fix use of ClassGroupRange so that it
806            uses the new signature.
807    
808            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
809            uses the new signature.
810    
811            * test/test_save.py: Fix use of ClassGroupRange so that it
812            uses the new signature.
813    
814    
815  2003-07-01  Jonathan Coles   <[email protected]>  2003-07-01  Jonathan Coles   <[email protected]>
816    
817          * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.          * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.

Legend:
Removed from v.1349  
changed lines
  Added in v.1548

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26