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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26