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

Legend:
Removed from v.1422  
changed lines
  Added in v.1543

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26