/[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 1453 by bh, Fri Jul 18 12:58:11 2003 UTC
# Line 1  Line 1 
1    2003-07-18  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/layer.py (Layer.__init__): Rename
4            classificationField to classificatin_column and init it here so
5            that it can be used in SetClassificationColumn
6            (Layer.GetClassificationColumn, Layer.GetClassificationField):
7            Rename to GetClassificationColumn.
8            (Layer.SetClassificationColumn, Layer.SetClassificationField):
9            Rename to SetClassificationColumn and issue a LAYER_CHANGED
10            message if the column changes.
11            (Layer._classification_changed, Layer.ClassChanged): Rename to
12            _classification_changed. Update the callers.
13            (Layer.SetShapeStore): Further field->column renames.
14    
15            * Thuban/Model/load.py (SessionLoader.start_classification)
16            (SessionLoader.start_clpoint): Updates because of
17            field->column method name changes in the Layer class
18    
19            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
20            because of field->column method name changes in the Layer class
21    
22            * Thuban/UI/classifier.py (Classifier.__init__)
23            (Classifier._OnTry, Classifier._OnRevert): Updates because of
24            field->column method name changes in the Layer class
25    
26            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
27            because of field->column method name changes in the Layer class
28    
29            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
30            of field->column method name changes in the Layer class
31    
32            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
33            (SaveSessionTest.testClassifiedLayer): Update because of
34            field->column method name changes in the Layer class
35    
36            * test/test_layer.py (SetShapeStoreTests.setUp)
37            (SetShapeStoreTests.test_sanity): Update because of field->column
38            method name changes in the Layer class
39            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
40            (TestLayerModification.test_sanity)
41            (TestLayerModification.test_initial_settings): remove unsued code
42            and rename to test_sanity.
43            (TestLayerModification.test_set_classification): New test for
44            SetClassification and SetClassificationField.
45    
46    2003-07-18  Bernhard Herzog  <[email protected]>
47    
48            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
49            the non-fixed values as well. The old test would have accepted a
50            fixed ramp that only returnes the fixed properties
51    
52    2003-07-17  Jonathan Coles   <[email protected]>
53    
54            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
55            shots for the manual. The XCF file is the source image and
56            has additional layers to support changes.
57    
58            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
59    
60            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
61            Return both the new class and the field name.
62    
63            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
64            fit the map to the window as this changes any zoom level that
65            the user may have set.
66    
67    2003-07-16  Jonathan Coles   <[email protected]>
68    
69            * Thuban/Model/classgen.py (generate_singletons,
70            generate_uniform_distribution, generate_quantiles): Remove
71            fixes parameter, but maintain the same functionality by having
72            the calling function pass a FixedRamp object for the ramp.
73            (FixedRamp): New. Adapts a ramp to have fixed property values.
74    
75            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
76            (Classification): Inherit from Publisher.
77            (Classification.__init__): Remove the layer parameter.
78            Classifications no longer need to have a parent layer.
79            (Classification.GetField, Classification.GetFieldType,
80            Classification.SetFieldInfo): Removed. The field name is stored
81            in the layer, and the type can be retreived by calling
82            Layer.GetFieldType().
83            (Classification._set_layer, Classification.GetLayer): Removed.
84            Classifications no longer have a parent layer.
85    
86            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
87            classification.
88            (Layer.SetShapeStore): Reset the classification first while
89            we still have the old shape store to work with.
90            (Layer.GetClassificationField, Layer.SetClassificationField):
91            New. Method for getting/setting the field to classify on.
92            (Layer.SetClassification): Simplified now that the layer
93            simply has to hold a reference to the classification and not
94            tell the classification who owns it.
95            Fixes RTbug #2023.
96    
97            * Thuban/Model/load.py (SessionLoader.start_classification):
98            Set the field name on the layer, not the classification.
99    
100            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
101            classification is modified.
102    
103            * Thuban/Model/save.py (SessionSaver.write_classification):
104            Get the field name and type from the layer.
105    
106            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
107            parameter records to rows and add docstring. Fixes RTbug #1997.
108    
109            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
110            ramp when we need to fix certain values of a ramp rather than
111            using the old fixes parameter. Fixes RTbug #2024.
112    
113            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
114            parameter.
115            (ClassTable.Reset): Add fieldType parameter and use it, rather
116            than asking the classification.
117            (Classifier.__init__): Remember the original class's field
118            and ask the layer for the field type, rather than the classification.
119            (Classifier.__SetGridTable): Retrieve the field and field type
120            for the table because they are not in the classification.
121            (Classifier._OnTry, Classifier._OnRevert): Set the classification
122            field on the layer in addition to the classification itself.
123    
124            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
125            classification field from layer.
126    
127            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
128            classification field from layer. Split up tests and remove
129            *-imports. Fixes RTbug #1992.
130    
131            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
132    
133            * test/test_classification.py
134            (TestClassification.test_classification): Remove tests for methods
135            that no longer exist.
136    
137            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
138            __init__ no longer has a field parameter, use SetClassificationField.
139            (SetShapeStoreTests.test_sanity): Use layer object to get class
140            field info.
141    
142            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
143            SetClassificationField on layer to set class field info.
144    
145            * test/test_viewport.py: Renamed from test/test_view.py.
146    
147    2003-07-16  Jan-Oliver Wagner <[email protected]>
148    
149            * Doc/manual/thuban-manual.xml: Added authors and an initial
150            coarse structure.
151    
152    2003-07-15  Bernhard Herzog  <[email protected]>
153    
154            * test/support.py (FloatComparisonMixin): This is a mix-in class
155            and therefore should not be derived from any other class.
156    
157            * test/test_range.py (RangeTest): FloatComparisonMixin is a
158            mix-in, so derive from TestCase as well.
159    
160    2003-07-15  Bernhard Herzog  <[email protected]>
161    
162            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
163            draw_func handling a bit to remove one layer of indirection. This
164            makes the renderer about 10% faster in the non-classifying case
165            and the code a bit cleaner
166            (MapRenderer.draw_point_shape): Add the pen and brush parameters
167            and set them in the dc. Now the draw_point_shape method and
168            wxproj's draw_polygon_shape function have basically the same
169            signature so that both can be directly used as draw_func
170    
171    2003-07-15  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
174            string values (in addition to the labels) as UTF 8
175    
176            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
177            values if the field type is string
178    
179            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
180            saving a session with non-ascii string classification values.
181    
182            * test/test_load.py (TestClassification.file_contents)
183            (TestClassification.test): Check for non-ascii values in string
184            classifications
185    
186    2003-07-14  Jonathan Coles   <[email protected]>
187    
188            * test/test_view.py: New. Tests for ViewPort.
189    
190    2003-07-14  Frank Koormann   <[email protected]>
191    
192            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
193            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
194    
195            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
196            unicode strings from session file: session title, map title and
197            projection name.
198            
199    2003-07-10  Jonathan Coles   <[email protected]>
200    
201            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
202            drag_stop, not drag_move when the mouse is released.
203    
204    2003-07-10  Jonathan Coles   <[email protected]>
205    
206            The most important part of this is the seperation of view.py into
207            two pieces. viewport.py now has a class called ViewPort which
208            contains all the non-wx parts of view.py and can therefore be
209            tested. view.py contains only the wx-specific parts and is fairly
210            simple.
211    
212            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
213            RTTbug #1992.
214            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
215            RTTbug #1992.
216    
217            * Thuban/Model/classgen.py (generate_singletons,
218            generate_uniform_distribution, generate_quantiles):
219            Added 'fixes' parameter so that property attributes can
220            be held constant over the generated classification groups.
221            (CustomRamp.GetProperties): Remove unused variables.
222    
223            * Thuban/Model/map.py (Map.SetProjection): Send the old
224            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
225            event.
226    
227            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
228            parameter which is a list of records that restricts which
229            records are saved. Fixes RTbug #1997.
230    
231            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
232            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
233    
234            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
235            to allow the user to fix line color/width on generated groups.
236            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
237            functions to optionally fix group properties.
238    
239            * Thuban/UI/main.py (main): Set exception hook to the
240            ShowExceptionDialog. Fixes RTbug #1993.
241    
242            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
243            the table window when it is selectd to be shown.
244    
245            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
246            Export Selection button and move the export buttons underneath
247            the table.
248            (QueryTableFrame.UpdateStatusText): Added event argument so
249            that it can respond to grid selection events. The status text
250            is now updated even when the table is not associated with a
251            layer as was previously assumed.
252            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
253            UpdateStatusText responds to these events.
254            (QueryTableFrame.OnSaveAs): Renamed to doExport.
255            (QueryTableFrame.doExport): Helper function that saves the
256            entire table, or selected rows, to a file.
257            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
258            Respond to export button events and call doExport.
259    
260            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
261            the function doesn't return NULL without first setting a Python
262            Error.
263    
264            * test/runtests.py (main): Only print "Unknown option" for
265            unsupported options.
266    
267            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
268            optional epsilon argument to specify floating point accuracy.
269            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
270            for each item test.
271    
272            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
273            tests for saving selected records.
274    
275            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
276            tests for saving selected records.
277    
278            * test/test_map.py (TestMapWithContents.test_set_projection):
279            MAP_PROJECTION_CHANGED events send the old projection.
280    
281            * test/test_session.py
282            (TestSessionWithContent.test_forward_map_projection):
283            MAP_PROJECTION_CHANGED events send the old projection.
284    
285            * test/test_table.py (TableTest): Update tests to use non-deprecated
286            functions.
287    
288    2003-07-08  Bernhard Herzog  <[email protected]>
289    
290            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
291            constants in the column objects are the standard ones defined in
292            the table module.
293    
294            * test/test_transientdb.py
295            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
296            exporting transient tables as DBF works. This should catch the bug
297            just fixed in TransientTableBase.Width.
298    
299    2003-07-08  Bernhard Herzog  <[email protected]>
300    
301            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
302            interpolated colors correctly.
303    
304            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
305            New. Test case for the fix in classgen.py
306    
307    2003-07-08  Bernhard Herzog  <[email protected]>
308    
309            * test/runtests.py (main): Make the default output less verbose
310            and add a verbosity option (-v) to get the old output
311    
312    2003-07-08  Bernhard Herzog  <[email protected]>
313    
314            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
315            0.9.
316    
317            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
318            New. Return the join type
319    
320            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
321            DTD
322            (SessionSaver.write_data_containers): Save the join type for
323            joined tables
324    
325            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
326            namespace
327            (SessionLoader.start_jointable): Handle the jointype attribute
328    
329            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
330            as of Thuban 0.8. These are now tests to determine whether Thuban
331            can still read files generated by Thuban 0.8
332    
333            * test/test_load.py (LoadSessionTest.dtd)
334            (TestSingleLayer.file_contents)
335            (TestLayerVisibility.file_contents, TestLabels.file_contents)
336            (TestLayerProjection.file_contents)
337            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
338            (TestJoinedTable.file_contents)
339            (TestLoadError.file_contents): Update for new DTD
340            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
341            for new join type attribute
342    
343            * test/test_save.py (SaveSessionTest.dtd)
344            (SaveSessionTest.testEmptySession)
345            (SaveSessionTest.testSingleLayer)
346            (SaveSessionTest.testLayerProjection)
347            (SaveSessionTest.testRasterLayer)
348            (SaveSessionTest.testClassifiedLayer)
349            (SaveSessionTest.test_dbf_table)
350            (SaveSessionTest.test_joined_table): Update for new DTD
351            (SaveSessionTest.test_joined_table): Add test for new join type
352            attribute
353    
354    2003-07-04  Bernhard Herzog  <[email protected]>
355    
356            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
357            function for table_to_dbf
358            (table_to_dbf): Deal with names longer than the 10 character limit
359    
360            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
361            doc-string
362            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
363            long column names
364    
365    2003-07-03  Bernhard Herzog  <[email protected]>
366    
367            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
368    
369    2003-07-03  Bernhard Herzog  <[email protected]>
370    
371            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
372            for the Thuban manual and README with some basic information about
373            the manual
374    
375    2003-07-03  Bernhard Herzog  <[email protected]>
376    
377            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
378            Update doc-string
379            (TransientJoinedTable.create): Do not modify the column objects of
380            the input tables in place and copy all columns of the input tables
381            into the joined table after all.
382    
383            * test/test_transientdb.py
384            (TestTransientTable.test_transient_joined_table_same_column_name):
385            Update to reflect the new behavior
386            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
387            Update to reflect the new behavior
388            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
389            New test case for a bug which modified the column objects in place
390    
391    2003-07-02  Jonathan Coles   <[email protected]>
392    
393            * Thuban/Model/classgen.py (generate_singletons,
394            generate_uniform_distribution, generate_quantiles,
395            GenQuantiles0): Make sure maxValue isn't less than
396            one, otherwise we could divide by zero.
397    
398            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
399            ClassGenTest.doClassSingleTest): Call doBoundsTest to
400            check the end classification groups against the
401            proper property values.
402            (ClassGenTest.doBoundsTest): New. Checks the first and
403            last classification groups to make sure their properties
404            are the correct upper and lower bounds for a color ramp.
405    
406    2003-07-02  Jonathan Coles   <[email protected]>
407    
408            * Thuban/Model/classgen.py (generate_singletons,
409            generate_uniform_distribution, generate_quantiles,
410            GenQuantiles0): The denominator was one to high when
411            calculating the index for the ramp causing the index
412            to never to reach one.
413    
414    2003-07-02  Jonathan Coles   <[email protected]>
415    
416            Changed the singature of ClassGroupRange.__init__ and
417            ClassGroupRange.SetRange() so that the min/max values are
418            passed as a tuple. This makes a better calling scheme for
419            when a Range object is passed instead.
420    
421            * Thuban/Model/classgen.py: Fixed parameters to
422            ClassGroupRange constructor.
423    
424            * Thuban/Model/classification.py (ClassGroupRange.__init__):
425            Consolidate the min/max parameters into a single _range which
426            can either be a tuple or a Range object.
427            (ClassGroupRange.SetRange): Consolidate the min/max parameters
428            into a single _range which can either be a tuple or a Range object.
429    
430            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
431            call to ClassGroupRange constructor to use a tuple.
432    
433            * Thuban/Model/layer.py (Layer.SetClassification): Switch
434            the classification instance variable to the new class
435            before calling _set_layer otherwise subscribers to a
436            LAYER_CHANGED event will not see any difference.
437    
438            * test/test_classification.py: Fix tests of ClassGroupRange
439            so that they use the new signature.
440    
441            * test/test_load.py: Fix use of ClassGroupRange so that it
442            uses the new signature.
443    
444            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
445            uses the new signature.
446    
447            * test/test_save.py: Fix use of ClassGroupRange so that it
448            uses the new signature.
449    
450    
451  2003-07-01  Jonathan Coles   <[email protected]>  2003-07-01  Jonathan Coles   <[email protected]>
452    
453          * 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.1453

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26