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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26