/[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 1878 by bh, Mon Oct 27 17:52:47 2003 UTC revision 2008 by bh, Tue Dec 2 18:03:52 2003 UTC
# Line 1  Line 1 
1    2003-12-02  Bernhard Herzog  <[email protected]>
2    
3            * setup.py (setup call): Add packages for the Extensions so that
4            they're installed too
5            (data_files): Add READMEs and sample data from some Extensions
6    
7            * NEWS: Add note about the extensions in binary packages
8    
9    2003-12-02  Bernhard Herzog  <[email protected]>
10    
11            * Thuban/Model/save.py (SessionSaver.write_session): Save files
12            with the thuban-1.0rc1
13    
14            * Thuban/Model/load.py (SessionLoader.__init__): Recognize the
15            thuban-1.0rc1 namespace too
16    
17            * test/test_save.py (SaveSessionTest.dtd)
18            (SaveSessionTest.testEmptySession)
19            (SaveSessionTest.testSingleLayer)
20            (SaveSessionTest.testLayerProjection)
21            (SaveSessionTest.testRasterLayer)
22            (SaveSessionTest.testClassifiedLayer)
23            (SaveSessionTest.test_dbf_table)
24            (SaveSessionTest.test_joined_table)
25            (SaveSessionTest.test_save_postgis): Update to thuban-1.0rc1
26            namespace
27    
28            * test/test_load.py (LoadSessionTest.dtd): Update to thuban-1.0rc1
29            namespace
30            (TestSingleLayer.file_contents)
31            (TestNonAsciiColumnName.file_contents)
32            (TestLayerVisibility.file_contents)
33            (TestClassification.file_contents, TestLabels.file_contents)
34            (TestLayerProjection.file_contents)
35            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
36            (TestPostGISLayer.file_contents)
37            (TestPostGISLayerPassword.file_contents)
38            (TestLoadError.file_contents, TestLoadError.test): Update to
39            thuban-1.0rc1 namespace
40    
41    2003-12-01  Bernhard Herzog  <[email protected]>
42    
43            * setup.py (proj4_prefix, wx_prefix, gdal_prefix): Fix these for
44            nt to better match Intevation's current w32 setup
45    
46            * HOWTO-Release: Add note about updating MANIFEST.in
47    
48            * MANIFEST.in: Add the Extensions
49    
50            * NEWS: Update for 1.0rc1
51    
52    2003-12-01  Bernhard Herzog  <[email protected]>
53    
54            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Change the wild
55            cards for the dialog so that shapefiles ending in all uppercase
56            SHP are listed too
57    
58    2003-11-28  Bernhard Herzog  <[email protected]>
59    
60            * Thuban/version.py (longversion): Update to 1.0rc1
61    
62            * setup.py (setup call): Update version to 1.0rc1. Use the
63            [email protected] email address as author email instead of my
64            personal one.
65    
66    2003-11-28  Bernhard Herzog  <[email protected]>
67    
68            * po/de.po: Update german translation.
69    
70    2003-11-28  Bernhard Herzog  <[email protected]>
71    
72            Unify the filenames stored in .thuban files so that the .thuban
73            files are more platform independend
74    
75            * Thuban/Model/save.py (unify_filename): New. Unify filenames so
76            that they can be used on both windows and unix
77            (SessionSaver.prepare_filename): New. Handle all filename
78            transformations for filenames stored in the thuban file
79            (SessionSaver.write_data_containers, SessionSaver.write_layer):
80            Use prepare_filename
81    
82            * test/test_save.py (SaveSessionTest.testSingleLayer)
83            (SaveSessionTest.testLayerProjection)
84            (SaveSessionTest.testRasterLayer)
85            (SaveSessionTest.testClassifiedLayer)
86            (SaveSessionTest.test_dbf_table)
87            (SaveSessionTest.test_joined_table): Filenames are always stored
88            with slashes on all currently supported platforms so adapt all
89            tests to this
90    
91            * test/test_load.py (LoadSessionTest.filenames): With the new
92            filename scheme the filenames in the tests should be
93            understandable on all currently supported platforms so we turn
94            this into an empty list because we don't have to normalize them
95            anymore
96    
97    2003-11-28  Bernhard Herzog  <[email protected]>
98    
99            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
100            Add the ellipsoid to the projection since some Proj versions
101            complain if it's missing.
102    
103    2003-11-27  Bernhard Herzog  <[email protected]>
104    
105            Corect some bounding box projection problems
106    
107            * Thuban/Model/proj.py (Projection.InverseBBox): New. Inverse
108            version of ForwardBBox
109            (Projection._transform_bbox): New. common implementation of
110            ForwardBBox and InverseBBox
111            (Projection.ForwardBBox): Use _transform_bbox.
112    
113            * test/test_proj.py (TestProjection.test): Add test for
114            InverseBBox
115    
116            * Thuban/Model/layer.py (Layer.LatLongBoundingBox)
117            (Layer.ShapesBoundingBox, RasterLayer.LatLongBoundingBox): Use the
118            new InverseBBox method to determine the unprojected bounding box
119            (Layer.ShapesInRegion): Use the ForwardBBox method to project the
120            bbox.
121    
122            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
123            Removed.
124            (TestLayer.test_arc_layer_with_projection): New. This test is
125            better able to test whether bounding boxes are projected correctly
126            than test_point_layer_with_projection
127    
128            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Use
129            InverseBBox to unproject bboxes
130    
131    2003-11-25  Bernhard Herzog  <[email protected]>
132    
133            * Thuban/UI/about.py (About.__init__): Make sure we have ASCII
134            source code.
135    
136    2003-11-25  Bernhard Herzog  <[email protected]>
137    
138            * Thuban/Model/layer.py (Layer.__getattr__): Removed. It was only
139            there for backwards compatibility and all code relying on that
140            should have been updated by now.
141    
142    2003-11-25  Bernhard Herzog  <[email protected]>
143    
144            * test/test_load.py (TestClassification.test): Add the missing
145            round trip test.
146            (TestClassification.file_contents): Update to the newest file
147            format
148    
149    2003-11-25  Bernhard Herzog  <[email protected]>
150    
151            Add very experimental (and possibly dangerous) extension to draw
152            polygons:
153    
154            * Extensions/drawshape/README: New. Brief installation
155            instructions
156    
157            * Extensions/drawshape/drawshape.py: New. Implementation of the
158            drawshape extensions
159    
160            * Extensions/drawshape/patch.diff: Patch to apply before the
161            extension can be used.
162    
163    2003-11-24  Bernhard Herzog  <[email protected]>
164    
165            * Thuban/Model/data.py (ShapefileStore._open_shapefile)
166            (ShapefileStore.__init__): Factor opening the shapefile into a
167            separate method (the new _open_shapefile). This makes the code a
168            bit more readable but the real reason is that it makes some evil
169            hacks easier. :-)
170    
171    2003-11-24  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/Model/load.py (SessionLoader.check_attrs): If no
174            converter is specified for an attribute assume it's a string
175            containing only Latin1 characters. Update doc-string accordingly.
176            This change should fix many places where unicode objects might
177            accidentally enter Thuban.
178    
179            * test/test_load.py (TestNonAsciiColumnName): New test to check
180            what happens with column names in DBF files that contain non-ascii
181            characters
182    
183    2003-11-21  Bernhard Herzog  <[email protected]>
184    
185            Enable the experimental attribute editing again and introduce a
186            command line switch to actually activate it
187    
188            * Thuban/UI/main.py (options): New. Container for options set on
189            the commmand line
190            (main): Add the --enable-attribute-editing flag.
191    
192            * Thuban/UI/identifyview.py (IdentifyView.__init__): If attribute
193            editing is enabled use the grid ctrl which allows editing of the
194            values
195    
196            * Thuban/Model/transientdb.py (AutoTransientTable.write_record):
197            New. Just delegate this to the underlying table.
198    
199    2003-11-20  Bernhard Herzog  <[email protected]>
200    
201            * test/test_proj.py (ProjFileReadTests.test_read_unreadable_file):
202            Skip this test if run under non-posix systems since it only works
203            there
204    
205    2003-11-19  Bernhard Herzog  <[email protected]>
206    
207            * Thuban/Model/resource.py: Rework the way gdal support is
208            determined so that we can give a reason in the about why gdal is
209            not supported.
210            (gdal_support_status): New. Variable holding a string with the
211            reason for no gdal support
212    
213            * Thuban/UI/about.py (About.__init__): Add the reason why gdal is
214            not supported to the message
215    
216    2003-11-19  Bernhard Herzog  <[email protected]>
217    
218            Remove the old table interface and its test cases
219    
220            * Thuban/Model/table.py (OldTableInterfaceMixin): Removed.
221            (DBFTable, MemoryTable): Do not derive from OldTableInterfaceMixin
222            anymore
223    
224            * Thuban/Model/transientdb.py (TransientTableBase)
225            (AutoTransientTable): Do not derive from OldTableInterfaceMixin
226            anymore
227    
228            * test/test_table.py: Removed since the old interface it tests is
229            gone.
230    
231            * test/runtests.py (main): The old table interface is gone and
232            with it the deprecation warnings so remove the code that turns
233            these warnings into errors
234    
235    2003-11-19  Bernhard Herzog  <[email protected]>
236    
237            * test/test_table.py: Revert to revision 1.5 again. Changing the
238            tests to use the new table interface is completely wrong since the
239            whole purpose of the tests in this module is to test the old
240            interface.
241    
242    2003-11-18  Bernhard Herzog  <[email protected]>
243    
244            * Thuban/Model/postgisdb.py (PostGISConnection.MatchesParameters):
245            New. Test whether the connection matches a set of connection
246            parameters
247    
248            * Thuban/UI/dbdialog.py (DBFrame.conns_changed): Fix doc-string
249            (DBFrame.OnAdd): Use the new MatchesParameters method when looking
250            for existing connections with the same parameters and break out of
251            the loop correctly.
252    
253            * test/test_postgis_db.py (TestBriefDescription)
254            (TestPostGISSimple.test_brief_description): Rename
255            TestBriefDescription to TestPostGISSimple and the test method to
256            test_brief_description so that we can add more test methods.
257            (TestPostGISSimple.test_matches_parameters): New. Test the new
258            MatchesParameters method
259    
260    2003-11-18  Bernhard Herzog  <[email protected]>
261    
262            * Thuban/Lib/connector.py (Publisher): Introduce a new flag,
263            _was_destroyed, to indicate whether an publisher instance has
264            already been destroyed.
265            (Publisher.Unsubscribe): Only disconnect if the publisher has not
266            been destroyed yet.
267            (Publisher.Destroy): Set the _was_destroyed flag to true.
268    
269            * test/test_connector.py
270            (TestPublisher.test_unsubscribe_after_destroy): New. Test that
271            calling Unsubscribe after Destroy doesn't raise an exception
272    
273    2003-11-14  Bernhard Herzog  <[email protected]>
274    
275            * Thuban/UI/identifyview.py (IdentifyView.selected_shape): Fix
276            typo in doc-string
277    
278    2003-11-13  Bernhard Herzog  <[email protected]>
279    
280            Quote table and column names properly for postgis.
281    
282            * Thuban/Model/postgisdb.py (quote_identifier): New. Function to
283            quote an identifier for use in an sql statement
284            (PostGISColumn.__init__): Add the quoted_name attribute
285            (PostGISTable.__init__): New instance variable quoted_tablename
286            (PostGISTable._fetch_table_information): Use the quoted table
287            name. New isntance variable quoted_geo_col with a quoted version
288            of geometry_column
289            (PostGISTable.NumRows, PostGISTable.RowIdToOrdinal)
290            (PostGISTable.RowOrdinalToId): Use the quoted table name
291            (PostGISTable.ReadValue, PostGISTable.ValueRange)
292            (PostGISTable.UniqueValues, PostGISTable.SimpleQuery)
293            (PostGISShapeStore.BoundingBox, PostGISShapeStore.Shape)
294            (PostGISShapeStore.AllShapes, PostGISShapeStore.ShapesInRegion):
295            Use quoted table and column names
296    
297            * test/test_postgis_db.py (TestPostGISSpecialCases)
298            (TestPostGISIgnoredColumns): Rename the class to
299            TestPostGISSpecialCases because that better describes the new
300            cases
301            (TestPostGISSpecialCases.test_unsupported_types)
302            (TestPostGISSpecialCases.test): Rename the method to
303            test_unsupported_types because we need a more descriptive name now
304            that there are more methods
305            (TestPostGISSpecialCases.test_table_name_quoting)
306            (TestPostGISSpecialCases.test_column_name_quoting)
307            (TestPostGISSpecialCases.test_shapestore_name_quoting): New test
308            cases to test quoting of table and column names in PostGISTable
309            and PostGISShapeStore
310    
311            * test/postgissupport.py
312            (skip_if_addgeometrycolumn_does_not_use_quote_ident): New. Skip if
313            AddGeometryColumn desn't support table or column names with sapces
314            or double quotes
315    
316    2003-11-12  Jan-Oliver Wagner <[email protected]>
317    
318            * Extensions/wms/__init__.py: New: Init to make this
319            directory a package.
320    
321            * Extensions/wms/wms.py: New: Provide layers via OGC WMS.
322    
323    2003-11-11  Bernhard Herzog  <[email protected]>
324    
325            * Thuban/Model/resource.py (EPSG_DEPRECATED_PROJ_FILE): New.
326            Constant for the file woth deprecated epsg projections
327            (get_system_proj_file): Update doc-string
328    
329            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Add a space
330            above the EPS widgets, introduce a check box for the deprecated
331            eps projections and a label for the epsg widgets
332            (ProjFrame._OnShowEPSG): Handle the deprecated EPSG projections
333            too
334    
335    2003-11-11  Bernhard Herzog  <[email protected]>
336    
337            Avoid warnings when run under Python 2.3
338    
339            * Thuban/UI/baserenderer.py (BaseRenderer.draw_point_shape)
340            (BaseRenderer.draw_label_layer): Coordinates must be ints.
341    
342            * Thuban/UI/renderer.py (MapRenderer.make_point): Turn this into a
343            real method so that we can convert to int.
344            (MapRenderer.label_font): The font size mist be an int.
345    
346            * Thuban/UI/common.py (Color2wxColour): The color values must be
347            ints. Also, remove the unnecessary asserts.
348    
349            * test/test_load_0_8.py (TestUnicodeStrings.file_contents)
350            (TestUnicodeStrings.test): Python source code should not contain
351            non-ascii characters unless an encoding is specified in the file.
352            Therefore use \x escapes in the string literals for non-ascii
353            characters.
354    
355    2003-11-11  Bernhard Herzog  <[email protected]>
356    
357            * Thuban/Model/resource.py (get_system_proj_file): Add a filename
358            parameter so that this function can be used for all proj files in
359            Resource/Projections
360            (DEFAULT_PROJ_FILE, EPSG_PROJ_FILE): New. Predefined filenames for
361            get_system_proj_file
362    
363            * Thuban/UI/projdialog.py (ProjFrame.__init__): Instead of one
364            ProjFile self.__sysProjFile use a dictionary of system ProjFile
365            objects self._sys_proj_files
366            (ProjFrame.build_dialog): Adapt to the new changes in the
367            ProjectionList constructor. Add a check button to toggle whether
368            EPSG projections are shown
369            (ProjFrame._OnShowEPSG): New. Handler for the epsg check button
370            events.
371            (ProjFrame.load_user_proj, ProjFrame.load_system_proj): Only show
372            the busy cursor if the files have not yet been loaded by the
373            dialog.
374            (ProjFrame.load_system_proj): Add a parameter for the name of the
375            proj file. Maintain the dictionary of system projections
376            self._sys_proj_files
377    
378            * Thuban/UI/projlist.py (ProjectionList): Merge the system_projs,
379            user_projs parameters into one parameter proj_files which is a
380            list of proj files.
381            (ProjectionList._subscribe_proj_files)
382            (ProjectionList._unsubscribe_proj_files): New. Move
383            subscription/unsubscription of projfile messages to separate
384            methods
385            (ProjectionList.Destroy): The unsubscribe is now done in
386            _unsubscribe_proj_files
387            (ProjectionList.update_projections): We now have a list of proj
388            file objects
389            (ProjectionList.SetProjFiles): New method to set a new list of
390            proj file objects
391    
392            * test/test_proj.py (ProjFileReadTests.test_get_system_proj_file):
393            Specify explicitly which system proj file to load.
394    
395    2003-11-11  Bernhard Herzog  <[email protected]>
396    
397            * Thuban/Model/load.py (SessionLoader.Destroy): New. Clear all
398            instance variables to cut cyclic references. The GC would have
399            collected the loader eventually but it can happen that it doesn't
400            run at all until thuban is closed (2.3 but not 2.2 tries a bit
401            harder and forces a collection when the interpreter terminates)
402            (load_session): Call the handler's Destroy method to make sure
403            that it gets garbage collected early. Otherwise it will be
404            collected very late if at all and it holds some references to e.g.
405            shapestores and the session which can lead to leaks (of e.g. the
406            temporary files)
407    
408            * test/test_load.py (TestSingleLayer.test_leak): New. test for the
409            resource leak in load_session
410    
411    2003-11-10  Bernhard Herzog  <[email protected]>
412    
413            * Thuban/UI/baserenderer.py: Add a way to specify how layers in
414            extensions are to be rendered.
415            (_renderer_extensions): New. List with renderer for layers in
416            extensions
417            (add_renderer_extension): New. Add a renderer extension
418            (init_renderer_extensions): New. Init the renderer extensions
419            (BaseRenderer.render_map_incrementally): Search
420            _renderer_extensions for how to draw unknown layer types
421            (BaseRenderer.draw_raster_data): Add format parameter so that
422            formats other than BMP can be drawn
423            (BaseRenderer.draw_raster_layer): Pass an explicit format to
424            draw_raster_data
425    
426            * Thuban/UI/renderer.py (raster_format_map): New. Mapping form the
427            strings of the format parameter of draw_raster_data method to wx
428            constants
429            (MapRenderer.draw_raster_data): Add the format parameter and use
430            raster_format_map to map it to the right wxwindows constant for
431            wxImageFromStream
432    
433            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Add
434            the format parameter and record it
435            (TestBaseRenderer.test_raster_no_projection): check the format
436            paramter of the draw_raster_data method
437            (TestBaseRenderer.test_renderer_extension): New. Test the renderer
438            extension facility
439    
440    2003-11-07  Bernhard Herzog  <[email protected]>
441    
442            Tweak the usage of the sqlite database to make common use cases
443            more responsive. In most cases copying the data to the sqlite
444            database takes so long that using sqlite doesn't have enough
445            advantages.
446    
447            * Thuban/Model/transientdb.py (TransientTableBase.ValueRange): Add
448            comments about performance and query the min and max in separate
449            statements because only that way will indexes be used.
450            (TransientTableBase.UniqueValues): Add some comments about
451            performance.
452            (AutoTransientTable.ValueRange, AutoTransientTable.UniqueValues):
453            Do not copy the data to the transient DB but use the transient
454            copy if it exists. See the new comments for the performance trade
455            offs
456    
457            * test/test_transientdb.py
458            (TestTransientTable.test_auto_transient_table): Make sure that the
459            data is copied to the transient database at some point.
460    
461    2003-11-03  Bernhard Herzog  <[email protected]>
462    
463            * Thuban/Model/data.py (ShapefileStore.ShapesInRegion): Bind some
464            globals to locals so that it's a bit faster
465    
466    2003-11-03  Bernhard Herzog  <[email protected]>
467    
468            * Thuban/UI/baserenderer.py
469            (BaseRenderer.draw_shape_layer_incrementally): Use the ReadValue
470            method. ReadValue is faster than ReadRowAsDict since it only reads
471            one cell especially now that the dbf file objects actually
472            implement it.
473    
474            * Thuban/Model/table.py (DBFTable.ReadValue): Use the new
475            read_attribute method of the dbf objects
476    
477    2003-11-03  Bernhard Herzog  <[email protected]>
478    
479            * Extensions/profiling/profiling.py (popup_dialog_box): New config
480            variable to indicate whether the result should be shown in a
481            dialog box
482            (profile_screen_renderer, time_screen_renderer): Only show a
483            dialog box if popup_dialog_box is true.
484            (profile_screen_renderer): Flush stdout after the printing the
485            first part of the "profiling..." message
486    
487            * Thuban/UI/baserenderer.py
488            (BaseRenderer.draw_shape_layer_incrementally): Cache the pens and
489            brushes for the groups so that they're not created over and over
490            again
491    
492            * Thuban/Model/classification.py (Classification.__getattr__)
493            (Classification._compile_classification)
494            (Classification._clear_compiled_classification): New. Methods to
495            manage a 'compiled' representation of the classification groups
496            which is created on demand
497            (Classification.InsertGroup, Classification.RemoveGroup)
498            (Classification.ReplaceGroup): reset the compiled representation
499            (Classification.FindGroup): Use the compiled representation to
500            find the matching group
501            (ClassGroupRange.GetRangeTuple): New. Return the range as a tuple
502    
503    2003-10-31  Bernhard Herzog  <[email protected]>
504    
505            * Thuban/Model/classification.py (Classification.SetDefaultGroup):
506            Send a CLASS_CHANGED message
507            (Classification.RemoveGroup): Send a CLASS_CHANGED message and do
508            not return the removed group since it wasn't used.
509    
510            * test/test_classification.py
511            (TestClassification.test_set_default_group): New. Test the
512            SetDefaultGroup method
513            (TestClassification.test_insert_group): New. Test the InsertGroup
514            method
515            (TestClassification.test_remove_group): New. Test the RemoveGroup
516            method
517            (TestClassification.test_replace_group): New. Test the
518            ReplaceGroup method
519    
520    2003-10-31  Bernhard Herzog  <[email protected]>
521    
522            * test/test_classification.py (TestClassification.setUp):
523            Subscribe to the CLASS_CHANGED messages
524            (TestClassification.tearDown): New. Destroy the classification
525            properly
526            (TestClassification.test_defaults): Add tests for the default line
527            width and whether no messages were sent yet
528            (TestClassification.test_set_default_properties): Add tests for
529            messages and setting the default line width
530            (TestClassification.test_add_singleton)
531            (TestClassification.test_add_range)
532            (TestClassification.test_multiple_groups): Add tests for messages
533    
534    2003-10-31  Bernhard Herzog  <[email protected]>
535    
536            Some more refactoring in preparation for new tests:
537    
538            * test/test_classification.py (TestClassification.setUp): New.
539            Instantiate the classification here. Update the test methods
540            accordingly.
541            (TestClassification.test_multiple_groups): Make sure that the two
542            singletons matching 1 are considered different.
543    
544    2003-10-31  Bernhard Herzog  <[email protected]>
545    
546            * test/test_classification.py (red, green, blue): New. These
547            constants were used in several cases. Update the relevant methods.
548            (TestClassification.test_defaults)
549            (TestClassification.test_set_default_properties)
550            (TestClassification.test_add_singleton)
551            (TestClassification.test_add_range)
552            (TestClassification.test_multiple_groups)
553            (TestClassification.test_deepcopy): New. These were formerly all
554            part of the single method test.
555            (TestClassification.test_deepcopy): Removed.
556            (TestClassIterator): Removed. The test case is now a method of
557            TestClassification since it tests part of the public interface of
558            Classification
559            (TestClassification.test_iterator): New. Used to be
560            TestClassIterator effectively
561    
562    2003-10-31  Jan-Oliver Wagner <[email protected]>
563    
564            GUIfied the functions of the profiling extension.
565    
566            * /Extensions/profiling/__init__.py: New: Init to make this
567            directory a package.
568    
569            * Extensions/profiling/profiling.py: Moved menu entries to
570            the Extensions menu. Applied _() for strings.
571            (profile_screen_renderer): Catch the detailed printout and present
572            it in a dialog.
573            (time_screen_renderer): Raise a dialog to present the result instead
574            of printing it to stdout.
575    
576    2003-10-31  Bernhard Herzog  <[email protected]>
577    
578            * test/test_classification.py (TestClassGroupProperties)
579            (TestClassGroup, TestClassGroupDefault, TestClassGroupRange)
580            (TestClassGroupSingleton, TestClassIterator, TestClassification):
581            Split TestClassification into several classes, one for each class
582            being tested. TestClassification itself now only tests
583            Classification. This split makes changes to the tests a bit easier
584    
585    2003-10-31  Bernhard Herzog  <[email protected]>
586    
587            * Extensions/profiling/profiling.py: New. Extension to measure
588            Thuban performance
589    
590    2003-10-31  Frank Koormann <[email protected]>
591    
592            Added two items to legend popup menu: Remove Layer and Show Layer Table
593    
594            * Thuban/UI/legend.py (LegendPanel._OnRemoveLayer,
595            LegendPanel._OnShowTable): New event handlers, call the corresponding
596            mainwindow methods.
597            (LegendTree._OnRightClick): Added items to popup menu.
598    
599    2003-10-30  Bernhard Herzog  <[email protected]>
600    
601            * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle
602            EVT_WINDOW_DESTROY
603            (ThubanFrame.OnDestroy): New. Handler for EVT_WINDOW_DESTROY. Does
604            nothing but is convenient for the derived classes.
605    
606            * Thuban/UI/tableview.py
607            (TableFrame.OnDestroy, LayerTableFrame.OnDestroy): New.
608            Unsubscribe the messages here not in OnClose because that might
609            get called multiple times. Fixes RT #2196
610            (TableFrame.OnClose, LayerTableFrame.OnClose): Removed. Not needed
611            anymore.
612    
613            * README: Update the minimum requirement for wxPython. Since we
614            now use the EVT_WINDOW_DESTROY event, we need at least 2.4.0.4,
615            the version in which that was introduced for all platforms
616    
617    2003-10-30  Frank Koormann <[email protected]>
618    
619            * Thuban/UI/join.py (JoinDialog.OnJoin): Wrapped the major parts of
620            the join process in a ThubanBeginBusyCursor, ThubanEndBusyCursor
621            frame.
622    
623    2003-10-30  Jan-Oliver Wagner <[email protected]>
624    
625            Improved APR import extension, added further EPSG definitions
626            and some cleanup regarding string class.
627    
628            * test/test_proj.py (TestProjection.test_get_projection_units_geo):
629            Added test for alias 'longlat'.
630    
631            * Resources/Projections/epsg-deprecated.proj: New. Contains
632            deprecated EPSG definitions.
633    
634            * Extensions/importAPR/odb.py (ODBBaseObject.TreeInfo): Added
635            the variable names for objects.
636    
637            * Extensions/importAPR/apr.py (APR_BLnSym, APR_BMkSym, APR_BShSym): New.
638            Copied from importAPR and provided with documentation.
639    
640            * Extensions/importAPR/importAPR.py (APR_BLnSym, APR_BMkSym, APR_BShSym):
641            Moved to apr.py.
642            (APR_View): Added object ref 'ITheme'.
643    
644            * Thuban/Lib/fileutil.py, Thuban/UI/proj4dialog.py: Replaced string
645            split function by corresponding use of the string class method.
646    
647            * Thuban/Model/xmlwriter.py: Replaced string replace function by
648            corresponding string method.
649    
650    2003-10-29  Bernhard Herzog  <[email protected]>
651    
652            * Thuban/UI/baserenderer.py
653            (BaseRenderer.draw_shape_layer_incrementally): Speed up the
654            special case of a classification that only has the default group
655    
656  2003-10-27  Bernhard Herzog  <[email protected]>  2003-10-27  Bernhard Herzog  <[email protected]>
657    
658          * po/fr.po, po/es.po: Updated translations from Daniel Calvelo          * po/fr.po, po/es.po: Updated translations from Daniel Calvelo

Legend:
Removed from v.1878  
changed lines
  Added in v.2008

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26