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

Legend:
Removed from v.1894  
changed lines
  Added in v.2012

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26