/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

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

revision 833 by jonathan, Tue May 6 12:07:44 2003 UTC revision 983 by bh, Thu May 22 12:02:30 2003 UTC
# Line 1  Line 1 
1    2003-05-22  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/session.py (Session.AddTable): New method to
4            register tables with the session.
5            (Session.Tables): Return the tables registered with AddTable too.
6    
7            * test/test_session.py (TestSessionSimple.test_add_table): New.
8            Test case for the AddTable method
9    
10    2003-05-22  Frank Koormann  <[email protected]>
11    
12            UI polishing updates: Place main buttons (OK, Cancel, etc) in the
13            lower right corner, center labels for selections, initialize controls
14            in reasonable order for keyboard navigation.
15    
16            * Thuban/UI/projdialog.py (ProjFrame.__init__, ProjFrame.__doLayout)
17            (ProjFrame.__DoOnProjAvail): Determine position of current projection
18            using the wxListBox.FindString() method. Still a problem (#1886)
19    
20            * Thuban/UI/classifier.py
21            (Classifier.__init__, SelectPropertiesDialog.__init__)
22    
23            * Thuban/UI/classgen.py (ClassGenDialog.__init__,
24            (ClassGenDialog.__DoOnGenTypeSelect): Moved initialization of the
25            different classification types from here to __init__.
26            (GenUniquePanel.__init__): Set the column width of the first field
27            in the Field ListCtrl to the full width.
28    
29            * Thuban/UI/tableview.py (LayerTableFrame.__init__): Rename 'Save As'
30            Button to 'Export'. Center Buttons in Selection Box, set Focus to
31            Grid.
32            (LayerTableFrame.OnKeyDown()): New, bound to the grid with EVT_KEY_DOWN,
33            changes focus to the Selection when pressing "Alt-S".
34    
35            * Thuban/UI/legend.py (LegendTree.__SetVisibilityStyle): Only gray out
36            the text if not visible. The italic font sometimes exceeds the
37            rendering area.
38    
39    2003-05-21  Jonathan Coles   <[email protected]>
40    
41            * Thuban/UI/dock.py (DockFrame): Rename references to _OnClose
42            to OnClose so that Thuban closes correctly.
43    
44            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Call
45            DockFrame.OnClose, not DockFrame._OnClose.
46    
47    2003-05-21  Jonathan Coles   <[email protected]>
48    
49            * Thuban/Model/classgen.py (ClassGenerator.GenQuantiles): Remove
50            references to 'inf' and use new Range __init__ to pass floats
51            directly rather than converting them to strings first.
52            Fixes RTBug #1876.
53    
54            * Thuban/Model/classification.py (ClassGroupRange.SetRange):
55            Use new Range ___init__ to pass floats.
56    
57            * Thuban/Model/layer.py (RasterLayer.__init__): Test if the
58            filename is a valid image file. Throw IOError otherwise.
59    
60            * Thuban/Model/range.py: Brought over new Range from SciParam that
61            is immutable and has an __init__ which can accept floats.
62    
63            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Move OpenShapefile
64            into try block. AddLayer doesn't throw any exceptions anymore.
65            (MainWindow.AddRasterLayer): Move constructor of RasterLayer into
66            try block.
67    
68            * Thuban/UI/projdialog.py (GeoPanel.__init__): Put Degrees as
69            the first item in choices. Fixes RTBug #1882.
70    
71            * Thuban/UI/renderer.py (MapRenderer.render_map): Check if scale
72            has gone to 0 which is a serious problem. abort.
73            (MapRenderer.draw_raster_layer): Catch IOError seperately and
74            print the error from GDAL.
75    
76            * Thuban/UI/tableview.py (TableGrid.__init__): Call
77            ToggleEventListeners to turn on listening.
78            (TableGrid.ToggleEventListeners): New. Turns event listening on
79            and off so as to prevent excessive messages.
80            (LayerTableFrame.OnQuery): Use TableGrid.ToggleEventListeners
81            to suppress excessive messages when selecting many rows.
82            Fixes RTBug #1880.
83    
84            * Thuban/UI/view.py: Added checks against if scale == 0. This
85            is a serious problem that can occur when an image without
86            geo data is loading and causes the map projection bounds to
87            go to infinity. Right now, the solution is to simply try
88            to recover.
89    
90            * extensions/thuban/cpl_mfile.cpp (MFILEClose): Make sure
91            to set the MFILEReceiver attributes even if the data is NULL.
92    
93            * extensions/thuban/gdalwarp.cpp: Improved the error handling
94            and passed GDAL messages back up to the Python layer. Also
95            tried to fix some memory leaks that were present in the original
96            utility but didn't matter because the program aborted.
97    
98            * test/test_range.py: Copied over tests from SciParam. Removed
99            tests against importing. Fixes RTBug #1867.
100    
101    2003-05-21  Bernhard Herzog  <[email protected]>
102    
103            * test/test_load.py: Remove unused imports and restructure the
104            test code
105            (LoadSessionTest): Split into one class for each test and turn
106            LoadSessionTest itself into the base class for all such session
107            tests.
108            (ClassificationTest): New base class for load tests that test
109            classifications
110            (TestSingleLayer, TestLayerVisibility, TestClassification)
111            (TestLabels, TestLayerProjection, TestRasterLayer): New classes
112            for the individual tests
113    
114            * test/support.py (FileLoadTestCase.filename): New base class for
115            file loading tests
116    
117    2003-05-21  Jan-Oliver Wagner <[email protected]>
118    
119            * Resources/Projections/defaults.proj: Renamed 'Universal Transverse
120            Mercator' to 'UTM Zone 32' as a more convenient example.
121            Added 'Gauss Krueger Zone 6'.
122    
123            * Data/iceland_sample_raster.thuban: political polygon now
124            filled transparent to have the raster image visible at once.
125    
126    2003-05-21  Frank Koormann  <[email protected]>
127    
128            * Thuban/UI/mainwindow.py (MainWindow): Renamed _OnClose() back to
129            OnClose() to keep in sync with extensions. Internally Thuban
130            still uses "underscored" names.
131    
132    2003-05-20  Jonathan Coles   <[email protected]>
133    
134            This puts back Raster layer support. These layers support projections
135            through the GDAL library. Currently, the CVS version is being used.
136            There are no Debian packages available although this may change soon.
137            A GDAL driver was extended to support writing to memory rather to
138            files.
139    
140            There is still some work that needs to be done, such as some error
141            handling when loading invalid images or when there is a problem
142            projecting the image. This putback simply checks in the majority
143            of the work.
144    
145            * setup.py: Add gdalwarp library extension.
146    
147            * Thuban/Model/layer.py (BaseLayer.HasClassification): New.
148            Defaults to False, but can be overridden by subclasses if they
149            support classification.
150            (RasterLayer): New. Defines a new layer that represents an
151            image.
152    
153            * Thuban/Model/load.py (SessionLoader.__init__): Add rasterlayer
154            tag handler.
155            (SessionLoader.start_layer): Encode the filename.
156            (SessionLoader.start_rasterlayer, SessionLoader.end_rasterlayer):
157            New. Supports reading a rasterlayer tag.
158    
159            * Thuban/Model/map.py (Map.BoundingBox): Fix typo in comment.
160    
161            * Thuban/Model/save.py (XMLWriter.encode): Don't assume that we
162            get a string in Latin1. If we get such as string convert it to
163            unicode first, otherwise leave if alone before encoding.
164            (SessionSaver.write_layer): Add support for writing both Layers
165            and RasterLayers.
166    
167            * Thuban/Model/transientdb.py (AutoTransientTable.SimpleQuery):
168            The right argument may not be a string, it could also be a Column.
169    
170            * Thuban/UI/application.py (ThubanApplication.CreateMainWindow):
171            Make initial window size 600x400. Fixes RTBug #1872.
172    
173            * Thuban/UI/classifier.py (Classifier.__init__): Rearrange how
174            the dialog is constructed so that we can support layers that
175            do not have classifications.
176            (Classifier._OnTry): Only build a classification if the layer
177            supports one.
178    
179            * Thuban/UI/legend.py: Change all checks that a layer is an
180            instance of Layer into checks against BaseLayer.
181            (LegendTree.__FillTreeLayer): Only add children to a branch if
182            the layer supports classification.
183    
184            * Thuban/UI/mainwindow.py (MainWindow.NewSession,
185            MainWindow.OpenSession): Don't proceed with an action if the
186            user chooses Cancel when they are asked to save changes.
187            (MainWindow.AddRasterLayer): New. Open a dialog to allow the
188            user to select an image file. Create a new RasterLayer and add
189            it to the map.
190    
191            * Thuban/UI/renderer.py (MapRenderer.render_map): Add support
192            for rendering RasterLayer layers.
193            (MapRenderer.draw_raster_layer): Actually method that calls
194            the GDALWarp python wrapper and constructs an image from the
195            data returned.
196    
197            * Thuban/UI/tableview.py (LayerTableFrame.__init__): Change the
198            Choices symbols to match those used in the table query method.
199            Replace deprecated method calls on table with new method names.
200    
201            * Thuban/UI/view.py (MapCanvas.set_view_transform): Try to limit
202            how small the scale can get. This still needs more testing.
203    
204            * extensions/thuban/bmpdataset.cpp: New, but copied from GDAL.
205            Provides a driver to output in .bmp format.
206    
207            * extensions/thuban/cpl_mfile.cpp, extensions/thuban/cpl_mfile.h:
208            New. Provides IO routines which write to memory, rather than a file.
209    
210            * extensions/thuban/gdalwarp.cpp: New, but basically a direct copy
211            of the gdalwarp utility provided in GDAL. Added function calls
212            that can be accessed from python.
213    
214            * Data/iceland_sample_raster.thuban: New. Sample file that uses
215            a raster layer.
216    
217            * Data/iceland/island.tfw, Data/iceland/island.tif: New. Raster
218            layer image data.
219    
220            * Doc/thuban.dtd: Added rasterlayer attribute definition.
221    
222            * test/test_layer.py, test/test_load.py, test/test_save.py: Added
223            tests associated with the raster layer code.
224    
225            * test/test_transientdb.py
226            (TestTransientTable.test_auto_transient_table_query): Added a test
227            for using a Column object as the "right" parameter to a query.
228    
229    2003-05-19  Frank Koormann  <[email protected]>
230    
231            * Thuban/version.py (get_changelog_date):
232            Catch exceptions if ChangeLog does not exist.
233    
234            * Thuban/UI/view.py (MapCanvas.Export): Bugfix
235    
236    2003-05-19  Frank Koormann  <[email protected]>
237    
238            Extended version information for Thuban
239    
240            * Thuban/version.py: New, version information for Thuban: Last
241            modification date and last ChangeLog entry date.
242    
243            * Thuban/UI/mainwindow.py (MainWindow.About()): Extended version
244            information: Display Thuban, wxPython and Python version.
245    
246    2003-05-16  Bernhard Herzog  <[email protected]>
247    
248            * Thuban/Model/save.py: Remove some unused imports including the
249            __future__ import for nested_scopes as Thuban relies on Python 2.2
250            now.
251            (XMLWriter.encode): Remove the special case for a None argument.
252            In the saver encode is always called with a string argument.
253    
254    2003-05-16  Bernhard Herzog  <[email protected]>
255    
256            * Thuban/UI/__init__.py: Remove the work-around for the locale bug
257            in wxPython (at least when usinvg wxGTK) prior to 2.4. The symptom
258            of the bug was that e.g. float("1.2") would fail. Thuban now
259            requires 2.4.x.
260            
261    2003-05-16  Frank Koormann   <[email protected]>
262    
263            Printing enhancement and WMF export (under Win32)
264    
265            * Thuban/UI/renderer.py (ExportRenderer): New, derived from
266            ScreenRenderer. Renders Map, Legend and Scalebar for export.
267            (PrinterRenderer): New, derived from ExportRenderer. Replaces the old
268            PrintRender.
269    
270            * Thuban/UI/view.py (MapPrintout.__init__): Enhanced parameter set
271            to fullfil information needed for PrinterRenderer.
272            (MapCanvas.Export): New. Export Map (currently only to WMF on Win32).
273            (MapCanvas.Print): Adapted to new MapPrintout.
274            (OutputTransform): General calculations to transform from canvas
275            coordinates to export/printing devices.
276    
277            * Thuban/UI/mainwindow.py (MainWindow.ExportMap()): New. Added also
278            new method_command to call ExportMap, with platform dependency (only
279            __WXMSW__)
280      
281            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Position and Size
282            of scalebar drawing area as new parameters.
283            
284            * Thuban/Model/scalebar.py (roundInterval): round long instead of int
285    
286            * Thuban/UI/legend.py (ScalebarBitmap.__SetScale):
287            Update to extended scalebar.DrawScalebar header.
288    
289            * test/test_export.py: New, test Thuban.UI.view.OutputTransform()
290    
291            * test/test_scalebar.py: Made test executable as standalone.
292    
293    2003-05-16  Bernhard Herzog  <[email protected]>
294    
295            * Thuban/Model/table.py (Table): Remove this compatibility alias
296            for DBFTable.
297    
298            * test/test_table.py: Import DBFTable as Table because that alias
299            doesn't exist anymore.
300    
301            * Thuban/UI/classgen.py: Remove some unused imports
302    
303    2003-05-14  Jonathan Coles   <[email protected]>
304    
305            * Thuban/Model/classgen.py (ClassGenerator.GenSingletonsFromList):
306            Fix docstring.
307            (ClassGenerator.GenUniformDistribution): Fix spelling of method name.
308            (ClassGenerator.GenQuantiles): Use the left/right brackets and min/max
309            values of the supplied range to determine the beginning and end
310            bounds of the generated classes.
311    
312            * Thuban/Model/range.py (Range.number_re): Now accepts floats that
313            do not have a leading 0 (.5 is now accepted as well as 0.5).
314    
315            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Fix name of method
316            call to ClassGenerator.GenUniformDistribution.
317    
318            * Thuban/UI/projdialog.py (ProjFrame.__do_layout): Fix Windows
319            layout bug with the 'Projection' label.
320    
321            * test/support.py (FloatTestCase): New. Needed for the Range tests.
322    
323            * test/test_range.py: New. Imported from SciParam.
324    
325    2003-05-12  Jonathan Coles   <[email protected]>
326    
327            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): Replace call
328            to table.UniqueValues() with calls that retrieve all the values
329            from the table. This will need to be replaced by a method on table
330            which can simply return the list (perhaps more efficiently).
331    
332    2003-05-12  Jonathan Coles   <[email protected]>
333    
334            The return value of ClassGenerator.CalculateQuantiles has changed.
335            Refer to the documentation for details.
336    
337            * test/test_classgen.py: Modified Quantile tests to use the
338            new return values.
339    
340            * Thuban/Model/classgen.py
341            (ClassGenerator.GenQuantiles): Add comments describing the parameters,
342            use new return values from CalculateQuantiles to produce the correct
343            range bounds in the Classification.
344            (ClassGenerator.CalculateQuantiles): Add more comments describing
345            the return values and parameters. Make minor adjustments to improve
346            the legibility of the code. Fix problem with adjusted not being set
347            in most cases.
348    
349    2003-05-12  Frank Koormann <[email protected]>
350            
351            * Thuban/Model/save.py (XMLWriter.encode()): Explicite call to unicode
352            and latin1. Fixes #1851 finally.
353    
354    2003-05-09  Jonathan Coles   <[email protected]>
355    
356            * test/test_classgen.py: New. Tests the Quantile algorithm.
357    
358            * Thuban/Model/classgen.py (ClassGenerator.CalculateQuantiles):
359            Clean up debugging statement, add comments, fix a small bug in the
360            returned adjusted percentiles.
361            
362    2003-05-09  Jonathan Coles   <[email protected]>
363    
364            Introduces Range class from SciParam into the ClassGroupRange class,
365            and such ranges can now be saved and loaded from disk.
366    
367            Quantiles are now available in the Classification Generator.
368    
369            Initial support for building Queries on a table. Doesn't do anything
370            but run some tests.
371    
372            * Thuban/Model/classification.py: Explicit imports.
373            (ClassGroupRange): Use the Range class to store the underlying
374            range information. The interface remains the same, except for
375            GetRange(), and you can also supply a Range object as the min
376            parameter to SetRange or __init__.
377    
378            * Thuban/Model/load.py (XMLReader.encode): New. Encodes the given
379            string appropriately for use in Thuban. Fixes RTbug #1851.
380            (SessionLoader.end_projection): Handle the context of the
381            projection tag a bit better by looking at what objects are not
382            None. There was an assumption that a projection tag for a map
383            could occur before any layers.
384            (SessionLoader.start_clrange): Provide backward compatibility for
385            reading min/max values as well as the new range parameter.
386    
387            * Thuban/Model/map.py: Explicit imports.
388    
389            * Thuban/Model/resource.py: Import _.
390            (ProjFileSaver.write): write header using projfile.dtd.
391    
392            * Thuban/Model/save.py: Explicit imports.
393            (XMLWriter.encode): New. Encode the given string from a format
394            used by Thuban into UTF-8. Fixes RTbug #1851.
395    
396            * Thuban/UI/classgen.py: Explicit imports.
397            (ClassGenDialog.__init__): Clean up the code and add support
398            for Quantiles.
399            (ClassGenDialog.OnOK): Add support for Quantiles.
400            (GenQuantilesPanel): New. Input panel for Quantiles.
401            (ClassGenerator, CustomRamp, MonochromaticRamp, GreyRamp, RedRamp,
402            GreenRamp, BlueRamp, HotToColdRamp): Move to Thuban/Model/classgen.py
403    
404            * Thuban/Model/classgen.py: New. Contains all the classes named above.
405    
406            * Thuban/UI/classifier.py: Explicit imports.
407            (ClassTable.GetValueAsCust, ClassTable.__ParseInput,
408            ClassTable.SetValueAsCustom): Reworked to use new Range class.
409    
410            * Thuban/UI/legend.py: Explicit imports.
411    
412            * Thuban/UI/mainwindow.py: Add support for the Join Dialog. Added
413            a Table menu and associated method calls.
414            (MainWindow.choose_color): Removed. No longer needed.
415    
416            * Thuban/UI/projdialog.py (ProjFrame.__VerifyButtons): Save button
417            should be disabled if no projection is selected in the available
418            list.
419    
420            * Thuban/UI/renderer.py: Explicit imports.
421    
422            * Thuban/UI/tableview.py (TableGrid.OnRangeSelect): Fix some issues
423            with correctly selecting the rows and issuing the right events.
424            Be sure to call Skip() to allow the grid to do some of its own
425            handling which allows the rows to actually be selected.
426            (LayerTableGrid.select_shapes): Rename from select_shape. Supports
427            selecting multiple shapes.
428            (LayerTableFrame): Support for building Queries.
429            (LayerTableFrame.select_shapes): Allow multiple shapes to be selected.
430    
431            * Thuban/UI/tree.py: Explicit imports.
432    
433            * Thuban/UI/view.py (MapCanvas): Delegate "SelectedShapes" so the
434            table view can call it.
435    
436            * test/test_classification.py: Explicit imports.
437            (TestClassification.test_ClassGroupRange): Fix test for new
438            Range class.
439    
440            * Doc/thuban.dtd: Add range parameter for clrange.
441    
442            * Thuban/Model/range.py: Taken from SciParam. Used as the underlying
443            object in ClassGroupRange, and also uesd for inputting ranges in
444            the classifer table and elsewhere.
445    
446            * Thuban/UI/join.py: New. Initial Join dialog. No real functionality
447            yet.
448    
449    2003-05-09  Frank Koormann <[email protected]>
450    
451            * Thuban/UI/scalebar.py (DrawScaleBar): Draw only if interval > 0.0.
452    
453    2003-05-08  Frank Koormann <[email protected]>
454    
455            Coding style updates
456    
457            * test/test_scalebar.py: Replaced tab indentation by spaces.
458    
459            * Thuban/UI/scalebar.py: Explicit imports.
460    
461    2003-05-08  Frank Koormann <[email protected]>
462    
463            * Thuban/UI/scalebar.py
464            (ScaleBar.DrawScalebar): Format string bug fixed.
465    
466    2003-05-08  Frank Koormann <[email protected]>
467    
468            Reorganization of scalebar component (no wx in Thuban/Model)
469    
470            * Thuban/Model/scalebar.py: Rendering moved to Thuban/UI/scalebar.py
471            (deriveInterval):
472            Calculate scalebar interval and unit which fits in width for scale.
473            (roundInterval): Round float.
474    
475            * Thuban/UI/scalebar.py (ScaleBar): Scalebar rendering
476    
477            * test/test_scalebar.py: Test for Thuban/Model/scalebar.py methods.
478    
479            * Thuban/UI/legend.py: Import Thuban.UI.scalebar
480    
481    2003-05-08  Frank Koormann <[email protected]>
482    
483            * Thuban/UI/legend.py (ScalebarBitmap.SetCanvas):
484            Initialize ScaleBar with canvas.map
485    
486            * Thuban/Model/scalebar.py (ScaleBar.roundInterval()): New,
487            round intervals to display smarter lengths
488            (ScaleBar.DrawScalebar): Draw Scalebar only if the map contains a
489            layer. If the maps has no projection applied grey the scalebar.
490    
491    2003-05-07  Frank Koormann <[email protected]>
492            
493            Basic Scalebar features added.
494    
495            * Thuban/Model/scalebar.py (ScaleBar): New, scalebar rendering.
496    
497            * Thuban/UI/legend.py (LegendPanel): Added scalebar bitmap
498            (ScaleBarBitmap): New, links the scalebar bitmap with view messages
499            and the renderer.
500    
501            * Thuban/UI/view.py (MapCanvas.set_view_transform): Issue SCALE_CHANGED.
502    
503            * Thuban/UI/messages.py: SCALE_CHANGED added.
504    
505    2003-05-07  Bernhard Herzog  <[email protected]>
506    
507            * Thuban/Model/session.py (Session.__init__): New instance
508            variable shapestores to hold a list of all open shapestore objects
509            (Session.ShapeStores): New. Accessor method for the shapestores
510            list.
511            (Session._add_shapestore, Session._clean_weak_store_refs): New.
512            Internal methods to maintain the shapestores list.
513            (Session.Tables): New. Return all tables open in the session.
514            (Session.OpenShapefile): Insert the new ShapeStore into the
515            shapestores list.
516    
517            * test/test_session.py (TestSessionSimple.test_initial_state): Add
518            tests for ShapeStores and Tables
519            (TestSessionWithContent.test_shape_stores)
520            (TestSessionWithContent.test_tables): New. Test cases for
521            ShapeStores and Tables
522    
523    2003-05-07  Bernhard Herzog  <[email protected]>
524    
525            * Thuban/Model/transientdb.py (TransientTableBase.ReadRowAsDict):
526            Add comments about the optimizations used.
527            (AutoTransientTable.ReadValue, TransientTableBase.ReadValue): New.
528            Implement the ReadValue table interface method.
529    
530            * test/test_transientdb.py
531            (TestTransientTable.run_iceland_political_tests)
532            (TestTransientTable.test_transient_joined_table): Add tests for
533            ReadValue
534    
535    2003-05-07  Frank Koormann <[email protected]>
536    
537            * Resources/Bitmaps/fulllayerextent.xpm,
538            Resources/Bitmaps/fullselextent.xpm: Replaced the place holders with
539            new icons.
540    
541    2003-05-06  Bernhard Herzog  <[email protected]>
542    
543            * Thuban/Model/transientdb.py (AutoTransientTable.SimpleQuery):
544            New. Simply delegate to the transient table's version.
545    
546            * test/test_transientdb.py
547            (TestTransientTable.test_auto_transient_table_query): New. Test
548            case for AutoTransientTable's SimpleQuery
549    
550    2003-05-06  Bernhard Herzog  <[email protected]>
551    
552            * Thuban/Model/transientdb.py (TransientTableBase.SimpleQuery):
553            Implement a simple query method for the query dialog
554            (TransientTableBase.create): Add an INTEGER PRIMARY KEY that holds
555            the row index or shapeid.
556            (TransientTable.create): Insert the right value of the row index
557            (TransientJoinedTable.create): Copy the row index of the left
558            table to the joined result table
559    
560            * test/test_transientdb.py
561            (TestTransientTable.test_transient_table_read_twice): Fix
562            doc-string
563            (TestTransientTable.test_transient_table_query): New. Test for the
564            SimpleQuery method
565    
566    2003-05-06  Bernhard Herzog  <[email protected]>
567    
568            Convert all table users to use the new table interface. This only
569            covers Thuban itself, not GREAT-ER or other applications built on
570            Thuban yet, so the compatibility interface stays in place for the
571            time being but it now issues DeprecationWarnings.
572    
573            Finally, the new Table interface has a new method, HasColumn.
574    
575            * Thuban/Model/table.py (OldTableInterfaceMixin): All methods
576            issue deprecation warnings when they're. The warnings refer to the
577            caller of the method.
578            (OldTableInterfaceMixin.__deprecation_warning): New. Helper method
579            for the deprecation warnings
580    
581            * test/test_table.py: Ignore the deprecation warnings for the old
582            table in the tests in this module. The purpose of the tests is to
583            test the old interface, after all.
584    
585            * test/test_transientdb.py
586            (TestTransientTable.run_iceland_political_tests): Use the
587            constants for the types. Add a test for HasColumn
588            (TestTransientTable.test_transient_joined_table): Adapt to new
589            table interface. Add a test for HasColumn
590            (TestTransientTable.test_transient_table_read_twice): Adapt to new
591            table interface
592    
593            * Thuban/UI/tableview.py (DataTable.SetTable, DataTable.GetValue):
594            Adapt to new table interface
595    
596            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Adapt to
597            new table interface
598    
599            * Thuban/UI/controls.py (RecordListCtrl.fill_list)
600            (RecordTable.SetTable): Adapt to new table interface
601    
602            * Thuban/UI/classifier.py (Classifier.__init__)
603            (Classifier.__init__): Adapt to new table interface
604    
605            * Thuban/UI/classgen.py (ClassGenDialog.__init__)
606            (GenUniformPanel._OnRetrieve, GenUniquePanel._OnRetrieve): Adapt
607            to new table interface
608    
609            * Thuban/Model/transientdb.py (TransientTableBase.HasColumn)
610            (AutoTransientTable.HasColumn): Implement the new table interface
611            method
612            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ValueRange)
613            (AutoTransientTable.UniqueValues): Adapt to new table interface
614    
615            * Thuban/Model/layer.py (Layer.SetShapeStore, Layer.GetFieldType):
616            Adapt to new table interface
617    
618            * test/test_layer.py (TestLayer.open_shapefile): Helper method to
619            simplify opening shapefiles a bit easier.
620            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
621            (TestLayer.test_point_layer): Use the new helper method
622            (TestLayer.test_get_field_type): New. Test for the GetFieldType
623            method
624    
625            * test/test_dbf_table.py (TestDBFTable.test_has_column): Test for
626            the new table method
627    
628            * test/test_memory_table.py (TestMemoryTable.test_has_column):
629            Test for the new table method HasColumn
630    
631  2003-05-06  Jonathan Coles   <[email protected]>  2003-05-06  Jonathan Coles   <[email protected]>
632    
633          Addresses the "Selection Extent" wish of RTbug #1787.          Addresses the "Selection Extent" wish of RTbug #1787.

Legend:
Removed from v.833  
changed lines
  Added in v.983

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26