/[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 1358 by jonathan, Wed Jul 2 09:38:36 2003 UTC revision 1483 by bh, Thu Jul 24 17:53:21 2003 UTC
# Line 1  Line 1 
1  2003-07-01  Jonathan Coles   <[email protected]>  2003-07-24  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
4            it annoys lintian which warns about these files not being
5            executable. The #1 isn't necessary here since if you absolutely
6            must execute them you can always say "python <filename>".
7    
8            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
9            superfluous code to set brush and pen for point shapes
10    
11            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
12            belong in viewport anyway
13    
14    2003-07-24  Frank Koormann   <[email protected]>
15    
16            * Doc/manual/thuban-manual.xml: Added section on table management.
17    
18    2003-07-24  Bernhard Herzog  <[email protected]>
19    
20            * test/runtests.py (main): Recognize the long "verbose" option
21            correctly.
22    
23    2003-07-22  Jonathan Coles   <[email protected]>
24    
25            * Doc/manual/thuban-manual.xml: Continue to write first revision
26            of the manual.
27    
28            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
29            with Begin/EndDrawing() calls to ensure we aren't doing to
30            many updates to the dc during rendering.
31            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
32            a pen and brush argument so they need to be passed to the function.
33    
34            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
35            Calculates the minimum and maximum scale values. Factored out
36            of set_view_transform so that it could be used to zoom all the
37            way into a single point.
38            (ViewPort.set_view_transform): Call calc_min_max_scales().
39            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
40            if only a single point is selected.
41    
42            * Doc/manual/images/1_2_legend_close.png,
43            Doc/manual/images/1_2_legend_dock.png,
44            Doc/manual/images/1_2_mainwindow.png,
45            Doc/manual/images/1_2_mainwindow.ps,
46            Doc/manual/images/1_2_mainwindow.sk,
47            Doc/manual/images/3_2_fullextent.png,
48            Doc/manual/images/3_2_fulllayerextent.png,
49            Doc/manual/images/3_2_fullshapeextent.png,
50            Doc/manual/images/3_2_pan.png,
51            Doc/manual/images/3_2_zoomin.png,
52            Doc/manual/images/3_2_zoomout.png,
53            Doc/manual/images/3_3_identify.png,
54            Doc/manual/images/3_3_label.png,
55            Doc/manual/images/3_5_invisible.png,
56            Doc/manual/images/3_5_movedown.png,
57            Doc/manual/images/3_5_moveup.png,
58            Doc/manual/images/3_5_props.png,
59            Doc/manual/images/3_5_tobottom.png,
60            Doc/manual/images/3_5_totop.png,
61            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
62    
63    2003-07-18  Bernhard Herzog  <[email protected]>
64    
65            * Thuban/UI/messages.py (MAP_REPLACED): New message.
66    
67            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
68            after the new map has been assigned
69    
70            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
71            Delegate MAP_REPLACED to the canvas too
72            (MainWindow.prepare_new_session): Removed. Thanks to the new
73            MAP_REPLACED message it's no longer needed
74            (MainWindow.OpenSession, MainWindow.NewSession):
75            prepare_new_session has been removed.
76    
77            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
78            MAP_REPLACED so that we can close the dialog if a new map is set.
79            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
80            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
81            dialog
82    
83            * test/test_viewport.py (SimpleViewPortTest)
84            (SimpleViewPortTest.test_default_size): Add doc-strings
85            (ViewPortTest.setUp): Bind map to self.map so we can use it in
86            tests. Subscribe to MAP_REPLACED messages too.
87            (ViewPortTest.tearDown): No need to explicitly unsubscribe
88            (ViewPortTest.test_set_map): New test for the SetMap method.
89    
90    2003-07-18  Bernhard Herzog  <[email protected]>
91    
92            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
93            Move this test from ViewPortTest.setUp to this new separate test
94            case. setUp is not the place for the actual tests.
95            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
96            more of the test from setUp to the new test test_inital_settings.
97            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
98            (ViewPortTest.test_proj_conv): Split test_proj_conv into
99            test_win_to_proj and test_proj_to_win and make the tests easier to
100            understand
101            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
102            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
103            (ViewPortTest.test_unprojected_rect_around_point)
104            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
105            Reformat to increase readability.
106    
107    2003-07-18  Bernhard Herzog  <[email protected]>
108    
109            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
110    
111    2003-07-18  Bernhard Herzog  <[email protected]>
112    
113            * test/runtests.py: The test suite can now be run without an X
114            connection. To make sure this remains true, remove the DISPLAY
115            environment variable so that an error occurs if the wxGTK is
116            imported accidentally
117    
118    2003-07-18  Bernhard Herzog  <[email protected]>
119    
120            * Thuban/UI/viewport.py: Remove unused imports
121    
122            * Thuban/UI/view.py: Remove unused imports
123    
124    2003-07-18  Bernhard Herzog  <[email protected]>
125    
126            * test/test_export.py Remove unused imports. The OutputTransform
127            function is now in viewport.py and is called output_transform
128            (TestScalebar.test_output_transform)
129            (TestScalebar.test_OutputTransform): Renamed to
130            test_output_transform and updated to use output_transform instead
131            of OutputTransform
132    
133            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
134            renamed.
135            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
136            renamed to output_transform
137    
138            * Thuban/UI/viewport.py (OutputTransform, output_transform):
139            Rename to output_transform
140    
141    2003-07-18  Bernhard Herzog  <[email protected]>
142    
143            * Thuban/Model/layer.py (Layer.__init__): Rename
144            classificationField to classificatin_column and init it here so
145            that it can be used in SetClassificationColumn
146            (Layer.GetClassificationColumn, Layer.GetClassificationField):
147            Rename to GetClassificationColumn.
148            (Layer.SetClassificationColumn, Layer.SetClassificationField):
149            Rename to SetClassificationColumn and issue a LAYER_CHANGED
150            message if the column changes.
151            (Layer._classification_changed, Layer.ClassChanged): Rename to
152            _classification_changed. Update the callers.
153            (Layer.SetShapeStore): Further field->column renames.
154    
155            * Thuban/Model/load.py (SessionLoader.start_classification)
156            (SessionLoader.start_clpoint): Updates because of
157            field->column method name changes in the Layer class
158    
159            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
160            because of field->column method name changes in the Layer class
161    
162            * Thuban/UI/classifier.py (Classifier.__init__)
163            (Classifier._OnTry, Classifier._OnRevert): Updates because of
164            field->column method name changes in the Layer class
165    
166            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
167            because of field->column method name changes in the Layer class
168    
169            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
170            of field->column method name changes in the Layer class
171    
172            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
173            (SaveSessionTest.testClassifiedLayer): Update because of
174            field->column method name changes in the Layer class
175    
176            * test/test_layer.py (SetShapeStoreTests.setUp)
177            (SetShapeStoreTests.test_sanity): Update because of field->column
178            method name changes in the Layer class
179            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
180            (TestLayerModification.test_sanity)
181            (TestLayerModification.test_initial_settings): remove unsued code
182            and rename to test_sanity.
183            (TestLayerModification.test_set_classification): New test for
184            SetClassification and SetClassificationField.
185    
186    2003-07-18  Bernhard Herzog  <[email protected]>
187    
188            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
189            the non-fixed values as well. The old test would have accepted a
190            fixed ramp that only returnes the fixed properties
191    
192    2003-07-17  Jonathan Coles   <[email protected]>
193    
194            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
195            shots for the manual. The XCF file is the source image and
196            has additional layers to support changes.
197    
198            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
199    
200            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
201            Return both the new class and the field name.
202    
203            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
204            fit the map to the window as this changes any zoom level that
205            the user may have set.
206    
207    2003-07-16  Jonathan Coles   <[email protected]>
208    
209            * Thuban/Model/classgen.py (generate_singletons,
210            generate_uniform_distribution, generate_quantiles): Remove
211            fixes parameter, but maintain the same functionality by having
212            the calling function pass a FixedRamp object for the ramp.
213            (FixedRamp): New. Adapts a ramp to have fixed property values.
214    
215            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
216            (Classification): Inherit from Publisher.
217            (Classification.__init__): Remove the layer parameter.
218            Classifications no longer need to have a parent layer.
219            (Classification.GetField, Classification.GetFieldType,
220            Classification.SetFieldInfo): Removed. The field name is stored
221            in the layer, and the type can be retreived by calling
222            Layer.GetFieldType().
223            (Classification._set_layer, Classification.GetLayer): Removed.
224            Classifications no longer have a parent layer.
225    
226            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
227            classification.
228            (Layer.SetShapeStore): Reset the classification first while
229            we still have the old shape store to work with.
230            (Layer.GetClassificationField, Layer.SetClassificationField):
231            New. Method for getting/setting the field to classify on.
232            (Layer.SetClassification): Simplified now that the layer
233            simply has to hold a reference to the classification and not
234            tell the classification who owns it.
235            Fixes RTbug #2023.
236    
237            * Thuban/Model/load.py (SessionLoader.start_classification):
238            Set the field name on the layer, not the classification.
239    
240            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
241            classification is modified.
242    
243            * Thuban/Model/save.py (SessionSaver.write_classification):
244            Get the field name and type from the layer.
245    
246            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
247            parameter records to rows and add docstring. Fixes RTbug #1997.
248    
249            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
250            ramp when we need to fix certain values of a ramp rather than
251            using the old fixes parameter. Fixes RTbug #2024.
252    
253            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
254            parameter.
255            (ClassTable.Reset): Add fieldType parameter and use it, rather
256            than asking the classification.
257            (Classifier.__init__): Remember the original class's field
258            and ask the layer for the field type, rather than the classification.
259            (Classifier.__SetGridTable): Retrieve the field and field type
260            for the table because they are not in the classification.
261            (Classifier._OnTry, Classifier._OnRevert): Set the classification
262            field on the layer in addition to the classification itself.
263    
264            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
265            classification field from layer.
266    
267            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
268            classification field from layer. Split up tests and remove
269            *-imports. Fixes RTbug #1992.
270    
271            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
272    
273            * test/test_classification.py
274            (TestClassification.test_classification): Remove tests for methods
275            that no longer exist.
276    
277            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
278            __init__ no longer has a field parameter, use SetClassificationField.
279            (SetShapeStoreTests.test_sanity): Use layer object to get class
280            field info.
281    
282            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
283            SetClassificationField on layer to set class field info.
284    
285            * test/test_viewport.py: Renamed from test/test_view.py.
286    
287    2003-07-16  Jan-Oliver Wagner <[email protected]>
288    
289            * Doc/manual/thuban-manual.xml: Added authors and an initial
290            coarse structure.
291    
292    2003-07-15  Bernhard Herzog  <[email protected]>
293    
294            * test/support.py (FloatComparisonMixin): This is a mix-in class
295            and therefore should not be derived from any other class.
296    
297            * test/test_range.py (RangeTest): FloatComparisonMixin is a
298            mix-in, so derive from TestCase as well.
299    
300    2003-07-15  Bernhard Herzog  <[email protected]>
301    
302            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
303            draw_func handling a bit to remove one layer of indirection. This
304            makes the renderer about 10% faster in the non-classifying case
305            and the code a bit cleaner
306            (MapRenderer.draw_point_shape): Add the pen and brush parameters
307            and set them in the dc. Now the draw_point_shape method and
308            wxproj's draw_polygon_shape function have basically the same
309            signature so that both can be directly used as draw_func
310    
311    2003-07-15  Bernhard Herzog  <[email protected]>
312    
313            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
314            string values (in addition to the labels) as UTF 8
315    
316            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
317            values if the field type is string
318    
319            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
320            saving a session with non-ascii string classification values.
321    
322            * test/test_load.py (TestClassification.file_contents)
323            (TestClassification.test): Check for non-ascii values in string
324            classifications
325    
326    2003-07-14  Jonathan Coles   <[email protected]>
327    
328            * test/test_view.py: New. Tests for ViewPort.
329    
330    2003-07-14  Frank Koormann   <[email protected]>
331    
332            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
333            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
334    
335            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
336            unicode strings from session file: session title, map title and
337            projection name.
338            
339    2003-07-10  Jonathan Coles   <[email protected]>
340    
341            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
342            drag_stop, not drag_move when the mouse is released.
343    
344    2003-07-10  Jonathan Coles   <[email protected]>
345    
346            The most important part of this is the seperation of view.py into
347            two pieces. viewport.py now has a class called ViewPort which
348            contains all the non-wx parts of view.py and can therefore be
349            tested. view.py contains only the wx-specific parts and is fairly
350            simple.
351    
352            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
353            RTTbug #1992.
354            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
355            RTTbug #1992.
356    
357            * Thuban/Model/classgen.py (generate_singletons,
358            generate_uniform_distribution, generate_quantiles):
359            Added 'fixes' parameter so that property attributes can
360            be held constant over the generated classification groups.
361            (CustomRamp.GetProperties): Remove unused variables.
362    
363            * Thuban/Model/map.py (Map.SetProjection): Send the old
364            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
365            event.
366    
367            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
368            parameter which is a list of records that restricts which
369            records are saved. Fixes RTbug #1997.
370    
371            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
372            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
373    
374            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
375            to allow the user to fix line color/width on generated groups.
376            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
377            functions to optionally fix group properties.
378    
379            * Thuban/UI/main.py (main): Set exception hook to the
380            ShowExceptionDialog. Fixes RTbug #1993.
381    
382            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
383            the table window when it is selectd to be shown.
384    
385            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
386            Export Selection button and move the export buttons underneath
387            the table.
388            (QueryTableFrame.UpdateStatusText): Added event argument so
389            that it can respond to grid selection events. The status text
390            is now updated even when the table is not associated with a
391            layer as was previously assumed.
392            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
393            UpdateStatusText responds to these events.
394            (QueryTableFrame.OnSaveAs): Renamed to doExport.
395            (QueryTableFrame.doExport): Helper function that saves the
396            entire table, or selected rows, to a file.
397            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
398            Respond to export button events and call doExport.
399    
400            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
401            the function doesn't return NULL without first setting a Python
402            Error.
403    
404            * test/runtests.py (main): Only print "Unknown option" for
405            unsupported options.
406    
407            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
408            optional epsilon argument to specify floating point accuracy.
409            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
410            for each item test.
411    
412            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
413            tests for saving selected records.
414    
415            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
416            tests for saving selected records.
417    
418            * test/test_map.py (TestMapWithContents.test_set_projection):
419            MAP_PROJECTION_CHANGED events send the old projection.
420    
421            * test/test_session.py
422            (TestSessionWithContent.test_forward_map_projection):
423            MAP_PROJECTION_CHANGED events send the old projection.
424    
425            * test/test_table.py (TableTest): Update tests to use non-deprecated
426            functions.
427    
428    2003-07-08  Bernhard Herzog  <[email protected]>
429    
430            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
431            constants in the column objects are the standard ones defined in
432            the table module.
433    
434            * test/test_transientdb.py
435            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
436            exporting transient tables as DBF works. This should catch the bug
437            just fixed in TransientTableBase.Width.
438    
439    2003-07-08  Bernhard Herzog  <[email protected]>
440    
441            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
442            interpolated colors correctly.
443    
444            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
445            New. Test case for the fix in classgen.py
446    
447    2003-07-08  Bernhard Herzog  <[email protected]>
448    
449            * test/runtests.py (main): Make the default output less verbose
450            and add a verbosity option (-v) to get the old output
451    
452    2003-07-08  Bernhard Herzog  <[email protected]>
453    
454            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
455            0.9.
456    
457            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
458            New. Return the join type
459    
460            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
461            DTD
462            (SessionSaver.write_data_containers): Save the join type for
463            joined tables
464    
465            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
466            namespace
467            (SessionLoader.start_jointable): Handle the jointype attribute
468    
469            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
470            as of Thuban 0.8. These are now tests to determine whether Thuban
471            can still read files generated by Thuban 0.8
472    
473            * test/test_load.py (LoadSessionTest.dtd)
474            (TestSingleLayer.file_contents)
475            (TestLayerVisibility.file_contents, TestLabels.file_contents)
476            (TestLayerProjection.file_contents)
477            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
478            (TestJoinedTable.file_contents)
479            (TestLoadError.file_contents): Update for new DTD
480            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
481            for new join type attribute
482    
483            * test/test_save.py (SaveSessionTest.dtd)
484            (SaveSessionTest.testEmptySession)
485            (SaveSessionTest.testSingleLayer)
486            (SaveSessionTest.testLayerProjection)
487            (SaveSessionTest.testRasterLayer)
488            (SaveSessionTest.testClassifiedLayer)
489            (SaveSessionTest.test_dbf_table)
490            (SaveSessionTest.test_joined_table): Update for new DTD
491            (SaveSessionTest.test_joined_table): Add test for new join type
492            attribute
493    
494    2003-07-04  Bernhard Herzog  <[email protected]>
495    
496            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
497            function for table_to_dbf
498            (table_to_dbf): Deal with names longer than the 10 character limit
499    
500            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
501            doc-string
502            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
503            long column names
504    
505    2003-07-03  Bernhard Herzog  <[email protected]>
506    
507            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
508    
509    2003-07-03  Bernhard Herzog  <[email protected]>
510    
511            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
512            for the Thuban manual and README with some basic information about
513            the manual
514    
515    2003-07-03  Bernhard Herzog  <[email protected]>
516    
517            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
518            Update doc-string
519            (TransientJoinedTable.create): Do not modify the column objects of
520            the input tables in place and copy all columns of the input tables
521            into the joined table after all.
522    
523            * test/test_transientdb.py
524            (TestTransientTable.test_transient_joined_table_same_column_name):
525            Update to reflect the new behavior
526            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
527            Update to reflect the new behavior
528            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
529            New test case for a bug which modified the column objects in place
530    
531    2003-07-02  Jonathan Coles   <[email protected]>
532    
533            * Thuban/Model/classgen.py (generate_singletons,
534            generate_uniform_distribution, generate_quantiles,
535            GenQuantiles0): Make sure maxValue isn't less than
536            one, otherwise we could divide by zero.
537    
538            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
539            ClassGenTest.doClassSingleTest): Call doBoundsTest to
540            check the end classification groups against the
541            proper property values.
542            (ClassGenTest.doBoundsTest): New. Checks the first and
543            last classification groups to make sure their properties
544            are the correct upper and lower bounds for a color ramp.
545    
546    2003-07-02  Jonathan Coles   <[email protected]>
547    
548            * Thuban/Model/classgen.py (generate_singletons,
549            generate_uniform_distribution, generate_quantiles,
550            GenQuantiles0): The denominator was one to high when
551            calculating the index for the ramp causing the index
552            to never to reach one.
553    
554    2003-07-02  Jonathan Coles   <[email protected]>
555    
556          Changed the singature of ClassGroupRange.__init__ and          Changed the singature of ClassGroupRange.__init__ and
557          ClassGroupRange.SetRange() so that the min/max values are          ClassGroupRange.SetRange() so that the min/max values are

Legend:
Removed from v.1358  
changed lines
  Added in v.1483

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26