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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26