/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1403 by jonathan, Thu Jul 10 14:56:46 2003 UTC revision 1519 by jonathan, Tue Jul 29 15:04:24 2003 UTC
# Line 1  Line 1 
1    2003-07-29  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
4            Put back this method and remove the equivalent function since we
5            are setting the exception hook from within this class (OnInit).
6    
7    2003-07-29  Jonathan Coles   <[email protected]>
8    
9            * Doc/manual/images/5_2_custom_ramp.png,
10            Doc/manual/images/5_2_quantiles.png,
11            Doc/manual/images/5_2_uniform_dist.png,
12            Doc/manual/images/5_2_unique_values.png,
13            Doc/manual/images/8_int_error.png: New screen shots.
14    
15            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
16            some points, and added more screen shots.
17    
18    2003-07-29  Bernhard Herzog  <[email protected]>
19    
20            * Thuban/Model/data.py: Remove the now unused import of warnings
21    
22    2003-07-29  Bernhard Herzog  <[email protected]>
23    
24            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
25            deprecated since before the 0.8 release and isn't used in Thuban
26            itself anymore.
27    
28            * Thuban/Model/transientdb.py: Remove some unnecessary imports
29    
30    2003-07-29  Jonathan Coles   <[email protected]>
31    
32            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
33            python exception hook here so that we are sure to catch any
34            Thuban exception that happen during initialization.
35    
36            * Thuban/UI/main.py (main): Don't set the exception hook here,
37            it will get set in ThubanApplication.OnInit.
38    
39    2003-07-29  Jonathan Coles   <[email protected]>
40                                                                                
41            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
42            Removed and called it show_exception_dialog() so that the exception
43            handler can be set before the class is created.
44                                                                                
45            * Thuban/UI/main.py (main): Install the exception handler before
46            a ThubanApplication is created.
47                                                                                    
48    2003-07-29  Bernhard Herzog  <[email protected]>
49    
50            * po/it.po: New. Italian translation by Maurizio Napolitano
51    
52            * po/ru.po: New. Russian translation by Alex Shevlakov
53    
54    2003-07-29  Frank Koormann   <[email protected]>
55    
56            * Doc/manual/thuban-manual.xml: Extended section on supported
57            projections.
58            
59    2003-07-29  Frank Koormann   <[email protected]>
60    
61            * Doc/manual/thuban-manual.xml: gaspell-checked.
62    
63    2003-07-29  Jonathan Coles   <[email protected]>
64    
65            * Doc/manual/images/3_5_legend.png: Added border to improve look
66            on white background.
67    
68    2003-07-29  Jonathan Coles   <[email protected]>
69    
70            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
71            descriptions for the legend toolbar.
72    
73            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
74            cursor from dialog box.
75    
76    2003-07-28  Jonathan Coles   <[email protected]>
77    
78            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
79    
80            * Doc/manual/images/2_4_session_tree.png,
81            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
82            Doc/manual/images/4_2_layer_properties.png,
83            Doc/manual/images/4_2_raster_layer_properties.png,
84            Doc/manual/images/5_3_genclass.png,
85            Doc/manual/images/5_classification.png,
86            Doc/manual/images/6_projection.png,
87            Doc/manual/images/7_1_table_view.png,
88            Doc/manual/images/7_2_5_join.png: New screenshots.
89    
90    2003-07-24  Jonathan Coles   <[email protected]>
91    
92            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
93    
94    2003-07-24  Jonathan Coles   <[email protected]>
95    
96            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
97            chapter on Layer Management.
98    
99            * Doc/manual/Makefile: New. Makefile to generate all formats for the
100            manual and images.
101    
102    2003-07-24  Bernhard Herzog  <[email protected]>
103    
104            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
105            it annoys lintian which warns about these files not being
106            executable. The #1 isn't necessary here since if you absolutely
107            must execute them you can always say "python <filename>".
108    
109            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
110            superfluous code to set brush and pen for point shapes
111    
112            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
113            belong in viewport anyway
114    
115    2003-07-24  Frank Koormann   <[email protected]>
116    
117            * Doc/manual/thuban-manual.xml: Added section on table management.
118    
119    2003-07-24  Bernhard Herzog  <[email protected]>
120    
121            * test/runtests.py (main): Recognize the long "verbose" option
122            correctly.
123    
124    2003-07-22  Jonathan Coles   <[email protected]>
125    
126            * Doc/manual/thuban-manual.xml: Continue to write first revision
127            of the manual.
128    
129            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
130            with Begin/EndDrawing() calls to ensure we aren't doing to
131            many updates to the dc during rendering.
132            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
133            a pen and brush argument so they need to be passed to the function.
134    
135            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
136            Calculates the minimum and maximum scale values. Factored out
137            of set_view_transform so that it could be used to zoom all the
138            way into a single point.
139            (ViewPort.set_view_transform): Call calc_min_max_scales().
140            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
141            if only a single point is selected.
142    
143            * Doc/manual/images/1_2_legend_close.png,
144            Doc/manual/images/1_2_legend_dock.png,
145            Doc/manual/images/1_2_mainwindow.png,
146            Doc/manual/images/1_2_mainwindow.ps,
147            Doc/manual/images/1_2_mainwindow.sk,
148            Doc/manual/images/3_2_fullextent.png,
149            Doc/manual/images/3_2_fulllayerextent.png,
150            Doc/manual/images/3_2_fullshapeextent.png,
151            Doc/manual/images/3_2_pan.png,
152            Doc/manual/images/3_2_zoomin.png,
153            Doc/manual/images/3_2_zoomout.png,
154            Doc/manual/images/3_3_identify.png,
155            Doc/manual/images/3_3_label.png,
156            Doc/manual/images/3_5_invisible.png,
157            Doc/manual/images/3_5_movedown.png,
158            Doc/manual/images/3_5_moveup.png,
159            Doc/manual/images/3_5_props.png,
160            Doc/manual/images/3_5_tobottom.png,
161            Doc/manual/images/3_5_totop.png,
162            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
163    
164    2003-07-18  Bernhard Herzog  <[email protected]>
165    
166            * Thuban/UI/messages.py (MAP_REPLACED): New message.
167    
168            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
169            after the new map has been assigned
170    
171            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
172            Delegate MAP_REPLACED to the canvas too
173            (MainWindow.prepare_new_session): Removed. Thanks to the new
174            MAP_REPLACED message it's no longer needed
175            (MainWindow.OpenSession, MainWindow.NewSession):
176            prepare_new_session has been removed.
177    
178            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
179            MAP_REPLACED so that we can close the dialog if a new map is set.
180            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
181            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
182            dialog
183    
184            * test/test_viewport.py (SimpleViewPortTest)
185            (SimpleViewPortTest.test_default_size): Add doc-strings
186            (ViewPortTest.setUp): Bind map to self.map so we can use it in
187            tests. Subscribe to MAP_REPLACED messages too.
188            (ViewPortTest.tearDown): No need to explicitly unsubscribe
189            (ViewPortTest.test_set_map): New test for the SetMap method.
190    
191    2003-07-18  Bernhard Herzog  <[email protected]>
192    
193            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
194            Move this test from ViewPortTest.setUp to this new separate test
195            case. setUp is not the place for the actual tests.
196            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
197            more of the test from setUp to the new test test_inital_settings.
198            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
199            (ViewPortTest.test_proj_conv): Split test_proj_conv into
200            test_win_to_proj and test_proj_to_win and make the tests easier to
201            understand
202            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
203            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
204            (ViewPortTest.test_unprojected_rect_around_point)
205            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
206            Reformat to increase readability.
207    
208    2003-07-18  Bernhard Herzog  <[email protected]>
209    
210            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
211    
212    2003-07-18  Bernhard Herzog  <[email protected]>
213    
214            * test/runtests.py: The test suite can now be run without an X
215            connection. To make sure this remains true, remove the DISPLAY
216            environment variable so that an error occurs if the wxGTK is
217            imported accidentally
218    
219    2003-07-18  Bernhard Herzog  <[email protected]>
220    
221            * Thuban/UI/viewport.py: Remove unused imports
222    
223            * Thuban/UI/view.py: Remove unused imports
224    
225    2003-07-18  Bernhard Herzog  <[email protected]>
226    
227            * test/test_export.py Remove unused imports. The OutputTransform
228            function is now in viewport.py and is called output_transform
229            (TestScalebar.test_output_transform)
230            (TestScalebar.test_OutputTransform): Renamed to
231            test_output_transform and updated to use output_transform instead
232            of OutputTransform
233    
234            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
235            renamed.
236            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
237            renamed to output_transform
238    
239            * Thuban/UI/viewport.py (OutputTransform, output_transform):
240            Rename to output_transform
241    
242    2003-07-18  Bernhard Herzog  <[email protected]>
243    
244            * Thuban/Model/layer.py (Layer.__init__): Rename
245            classificationField to classificatin_column and init it here so
246            that it can be used in SetClassificationColumn
247            (Layer.GetClassificationColumn, Layer.GetClassificationField):
248            Rename to GetClassificationColumn.
249            (Layer.SetClassificationColumn, Layer.SetClassificationField):
250            Rename to SetClassificationColumn and issue a LAYER_CHANGED
251            message if the column changes.
252            (Layer._classification_changed, Layer.ClassChanged): Rename to
253            _classification_changed. Update the callers.
254            (Layer.SetShapeStore): Further field->column renames.
255    
256            * Thuban/Model/load.py (SessionLoader.start_classification)
257            (SessionLoader.start_clpoint): Updates because of
258            field->column method name changes in the Layer class
259    
260            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
261            because of field->column method name changes in the Layer class
262    
263            * Thuban/UI/classifier.py (Classifier.__init__)
264            (Classifier._OnTry, Classifier._OnRevert): Updates because of
265            field->column method name changes in the Layer class
266    
267            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
268            because of field->column method name changes in the Layer class
269    
270            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
271            of field->column method name changes in the Layer class
272    
273            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
274            (SaveSessionTest.testClassifiedLayer): Update because of
275            field->column method name changes in the Layer class
276    
277            * test/test_layer.py (SetShapeStoreTests.setUp)
278            (SetShapeStoreTests.test_sanity): Update because of field->column
279            method name changes in the Layer class
280            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
281            (TestLayerModification.test_sanity)
282            (TestLayerModification.test_initial_settings): remove unsued code
283            and rename to test_sanity.
284            (TestLayerModification.test_set_classification): New test for
285            SetClassification and SetClassificationField.
286    
287    2003-07-18  Bernhard Herzog  <[email protected]>
288    
289            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
290            the non-fixed values as well. The old test would have accepted a
291            fixed ramp that only returnes the fixed properties
292    
293    2003-07-17  Jonathan Coles   <[email protected]>
294    
295            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
296            shots for the manual. The XCF file is the source image and
297            has additional layers to support changes.
298    
299            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
300    
301            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
302            Return both the new class and the field name.
303    
304            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
305            fit the map to the window as this changes any zoom level that
306            the user may have set.
307    
308    2003-07-16  Jonathan Coles   <[email protected]>
309    
310            * Thuban/Model/classgen.py (generate_singletons,
311            generate_uniform_distribution, generate_quantiles): Remove
312            fixes parameter, but maintain the same functionality by having
313            the calling function pass a FixedRamp object for the ramp.
314            (FixedRamp): New. Adapts a ramp to have fixed property values.
315    
316            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
317            (Classification): Inherit from Publisher.
318            (Classification.__init__): Remove the layer parameter.
319            Classifications no longer need to have a parent layer.
320            (Classification.GetField, Classification.GetFieldType,
321            Classification.SetFieldInfo): Removed. The field name is stored
322            in the layer, and the type can be retreived by calling
323            Layer.GetFieldType().
324            (Classification._set_layer, Classification.GetLayer): Removed.
325            Classifications no longer have a parent layer.
326    
327            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
328            classification.
329            (Layer.SetShapeStore): Reset the classification first while
330            we still have the old shape store to work with.
331            (Layer.GetClassificationField, Layer.SetClassificationField):
332            New. Method for getting/setting the field to classify on.
333            (Layer.SetClassification): Simplified now that the layer
334            simply has to hold a reference to the classification and not
335            tell the classification who owns it.
336            Fixes RTbug #2023.
337    
338            * Thuban/Model/load.py (SessionLoader.start_classification):
339            Set the field name on the layer, not the classification.
340    
341            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
342            classification is modified.
343    
344            * Thuban/Model/save.py (SessionSaver.write_classification):
345            Get the field name and type from the layer.
346    
347            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
348            parameter records to rows and add docstring. Fixes RTbug #1997.
349    
350            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
351            ramp when we need to fix certain values of a ramp rather than
352            using the old fixes parameter. Fixes RTbug #2024.
353    
354            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
355            parameter.
356            (ClassTable.Reset): Add fieldType parameter and use it, rather
357            than asking the classification.
358            (Classifier.__init__): Remember the original class's field
359            and ask the layer for the field type, rather than the classification.
360            (Classifier.__SetGridTable): Retrieve the field and field type
361            for the table because they are not in the classification.
362            (Classifier._OnTry, Classifier._OnRevert): Set the classification
363            field on the layer in addition to the classification itself.
364    
365            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
366            classification field from layer.
367    
368            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
369            classification field from layer. Split up tests and remove
370            *-imports. Fixes RTbug #1992.
371    
372            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
373    
374            * test/test_classification.py
375            (TestClassification.test_classification): Remove tests for methods
376            that no longer exist.
377    
378            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
379            __init__ no longer has a field parameter, use SetClassificationField.
380            (SetShapeStoreTests.test_sanity): Use layer object to get class
381            field info.
382    
383            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
384            SetClassificationField on layer to set class field info.
385    
386            * test/test_viewport.py: Renamed from test/test_view.py.
387    
388    2003-07-16  Jan-Oliver Wagner <[email protected]>
389    
390            * Doc/manual/thuban-manual.xml: Added authors and an initial
391            coarse structure.
392    
393    2003-07-15  Bernhard Herzog  <[email protected]>
394    
395            * test/support.py (FloatComparisonMixin): This is a mix-in class
396            and therefore should not be derived from any other class.
397    
398            * test/test_range.py (RangeTest): FloatComparisonMixin is a
399            mix-in, so derive from TestCase as well.
400    
401    2003-07-15  Bernhard Herzog  <[email protected]>
402    
403            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
404            draw_func handling a bit to remove one layer of indirection. This
405            makes the renderer about 10% faster in the non-classifying case
406            and the code a bit cleaner
407            (MapRenderer.draw_point_shape): Add the pen and brush parameters
408            and set them in the dc. Now the draw_point_shape method and
409            wxproj's draw_polygon_shape function have basically the same
410            signature so that both can be directly used as draw_func
411    
412    2003-07-15  Bernhard Herzog  <[email protected]>
413    
414            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
415            string values (in addition to the labels) as UTF 8
416    
417            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
418            values if the field type is string
419    
420            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
421            saving a session with non-ascii string classification values.
422    
423            * test/test_load.py (TestClassification.file_contents)
424            (TestClassification.test): Check for non-ascii values in string
425            classifications
426    
427    2003-07-14  Jonathan Coles   <[email protected]>
428    
429            * test/test_view.py: New. Tests for ViewPort.
430    
431    2003-07-14  Frank Koormann   <[email protected]>
432    
433            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
434            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
435    
436            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
437            unicode strings from session file: session title, map title and
438            projection name.
439            
440    2003-07-10  Jonathan Coles   <[email protected]>
441    
442            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
443            drag_stop, not drag_move when the mouse is released.
444    
445  2003-07-10  Jonathan Coles   <[email protected]>  2003-07-10  Jonathan Coles   <[email protected]>
446    
447          The most important part of this is the seperation of view.py into          The most important part of this is the seperation of view.py into

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26