/[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 1785 by bh, Tue Oct 7 17:17:33 2003 UTC revision 1906 by bh, Fri Oct 31 17:10:14 2003 UTC
# Line 1  Line 1 
1    2003-10-31  Bernhard Herzog  <[email protected]>
2    
3            Some more refactoring in preparation for new tests:
4    
5            * test/test_classification.py (TestClassification.setUp): New.
6            Instantiate the classification here. Update the test methods
7            accordingly.
8            (TestClassification.test_multiple_groups): Make sure that the two
9            singletons matching 1 are considered different.
10    
11    2003-10-31  Bernhard Herzog  <[email protected]>
12    
13            * test/test_classification.py (red, green, blue): New. These
14            constants were used in several cases. Update the relevant methods.
15            (TestClassification.test_defaults)
16            (TestClassification.test_set_default_properties)
17            (TestClassification.test_add_singleton)
18            (TestClassification.test_add_range)
19            (TestClassification.test_multiple_groups)
20            (TestClassification.test_deepcopy): New. These were formerly all
21            part of the single method test.
22            (TestClassification.test_deepcopy): Removed.
23            (TestClassIterator): Removed. The test case is now a method of
24            TestClassification since it tests part of the public interface of
25            Classification
26            (TestClassification.test_iterator): New. Used to be
27            TestClassIterator effectively
28    
29    2003-10-31  Jan-Oliver Wagner <[email protected]>
30    
31            GUIfied the functions of the profiling extension.
32    
33            * /Extensions/profiling/__init__.py: New: Init to make this
34            directory a package.
35    
36            * Extensions/profiling/profiling.py: Moved menu entries to
37            the Extensions menu. Applied _() for strings.
38            (profile_screen_renderer): Catch the detailed printout and present
39            it in a dialog.
40            (time_screen_renderer): Raise a dialog to present the result instead
41            of printing it to stdout.
42    
43    2003-10-31  Bernhard Herzog  <[email protected]>
44    
45            * test/test_classification.py (TestClassGroupProperties)
46            (TestClassGroup, TestClassGroupDefault, TestClassGroupRange)
47            (TestClassGroupSingleton, TestClassIterator, TestClassification):
48            Split TestClassification into several classes, one for each class
49            being tested. TestClassification itself now only tests
50            Classification. This split makes changes to the tests a bit easier
51    
52    2003-10-31  Bernhard Herzog  <[email protected]>
53    
54            * Extensions/profiling/profiling.py: New. Extension to measure
55            Thuban performance
56    
57    2003-10-31  Frank Koormann <[email protected]>
58    
59            Added two items to legend popup menu: Remove Layer and Show Layer Table
60    
61            * Thuban/UI/legend.py (LegendPanel._OnRemoveLayer,
62            LegendPanel._OnShowTable): New event handlers, call the corresponding
63            mainwindow methods.
64            (LegendTree._OnRightClick): Added items to popup menu.
65    
66    2003-10-30  Bernhard Herzog  <[email protected]>
67    
68            * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle
69            EVT_WINDOW_DESTROY
70            (ThubanFrame.OnDestroy): New. Handler for EVT_WINDOW_DESTROY. Does
71            nothing but is convenient for the derived classes.
72    
73            * Thuban/UI/tableview.py
74            (TableFrame.OnDestroy, LayerTableFrame.OnDestroy): New.
75            Unsubscribe the messages here not in OnClose because that might
76            get called multiple times. Fixes RT #2196
77            (TableFrame.OnClose, LayerTableFrame.OnClose): Removed. Not needed
78            anymore.
79    
80            * README: Update the minimum requirement for wxPython. Since we
81            now use the EVT_WINDOW_DESTROY event, we need at least 2.4.0.4,
82            the version in which that was introduced for all platforms
83    
84    2003-10-30  Frank Koormann <[email protected]>
85    
86            * Thuban/UI/join.py (JoinDialog.OnJoin): Wrapped the major parts of
87            the join process in a ThubanBeginBusyCursor, ThubanEndBusyCursor
88            frame.
89    
90    2003-10-30  Jan-Oliver Wagner <[email protected]>
91    
92            Improved APR import extension, added further EPSG definitions
93            and some cleanup regarding string class.
94    
95            * test/test_proj.py (TestProjection.test_get_projection_units_geo):
96            Added test for alias 'longlat'.
97    
98            * Resources/Projections/epsg-deprecated.proj: New. Contains
99            deprecated EPSG definitions.
100    
101            * Extensions/importAPR/odb.py (ODBBaseObject.TreeInfo): Added
102            the variable names for objects.
103    
104            * Extensions/importAPR/apr.py (APR_BLnSym, APR_BMkSym, APR_BShSym): New.
105            Copied from importAPR and provided with documentation.
106    
107            * Extensions/importAPR/importAPR.py (APR_BLnSym, APR_BMkSym, APR_BShSym):
108            Moved to apr.py.
109            (APR_View): Added object ref 'ITheme'.
110    
111            * Thuban/Lib/fileutil.py, Thuban/UI/proj4dialog.py: Replaced string
112            split function by corresponding use of the string class method.
113    
114            * Thuban/Model/xmlwriter.py: Replaced string replace function by
115            corresponding string method.
116    
117    2003-10-29  Bernhard Herzog  <[email protected]>
118    
119            * Thuban/UI/baserenderer.py
120            (BaseRenderer.draw_shape_layer_incrementally): Speed up the
121            special case of a classification that only has the default group
122    
123    2003-10-27  Bernhard Herzog  <[email protected]>
124    
125            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
126    
127            * po/de.po: Update.
128    
129            * Thuban/UI/application.py
130            (ThubanApplication.ShowExceptionDialog): Handle translation of the
131            dialog message properly
132    
133    2003-10-27  Bernhard Herzog  <[email protected]>
134    
135            Rework how localization works so that we use wx's translation
136            functions when running Thuban as a normal application but not when
137            we don't need any UI, such as in the test suite. See the comment
138            in Thuban/__init__.py for details
139    
140            * Thuban/__init__.py (_): Add one level of indirection to make the
141            translation handling more flexible and to make it possible to use
142            either wx's translation services or not.
143            (gettext_identity, translation_function_installed)
144            (install_translation_function): New function to help with this
145    
146            * Thuban/UI/__init__.py: Install the wx specific translation
147            function if it's OK to do that
148    
149            * test/support.py (initthuban): Install a dummy translation
150            function so that importing Thuban.UI doesn't install a wx specific
151            one for which would need to import wxPython
152    
153    2003-10-27  Bernhard Herzog  <[email protected]>
154    
155            * HOWTO-Release: Source archives should be created first and the
156            binary packages should be created from the source archives.
157            There's an official debian package now so there's no need to test
158            the rpm on debian anymore
159    
160    2003-10-27  Bernhard Herzog  <[email protected]>
161    
162            Several rendering changes:
163    
164             - Render the selection into a separate bitmap so that only that
165               bitmap needs to be redrawn when the selection changes
166    
167             - Render incrementally showing previews and allowing interaction
168               before rendering is complete
169    
170             - Update the renderer interface a bit. Most parameters of
171               RenderMap are now parameters of the constructor
172    
173            * Thuban/UI/baserenderer.py (BaseRenderer.__init__): Add the map
174            and the update region as parameters. Update the doc-string
175            (BaseRenderer.render_map_incrementally): New. Generator function
176            to renders the map incrementally
177            (BaseRenderer.render_map): Remove the map argument (it's now in
178            the constructor) and simply iterate over the
179            render_map_incrementally generator to draw the map.
180            (BaseRenderer.draw_shape_layer_incrementally)
181            (BaseRenderer.draw_shape_layer): Renamed to
182            draw_shape_layer_incrementally and changed into a generator that
183            yields True every 500 shapes. Used by render_map_incrementally to
184            render shape layers incrementally
185    
186            * Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Removed the
187            map and region parameters which are now in the constructor
188            (ScreenRenderer.RenderMapIncrementally): New. Public frontend for
189            the inherited render_map_incrementally.
190            (BaseRenderer.draw_shape_layer): Removed.
191            (ScreenRenderer.draw_selection_incrementally): New. The selection
192            drawing part of the removed draw_shape_layer as a generator
193            (ScreenRenderer.layer_shapes): Update because of the region
194            parameter change
195            (ExportRenderer.__init__): New. Extend the inherited constructor
196            with the destination region for the drawing
197            (ExportRenderer.RenderMap): Removed the map and region parameters
198            which are now in the constructor
199    
200            * Thuban/UI/view.py (MapCanvas.PreviewBitmap): New. Return a
201            bitmap suitable for a preview in a tool
202            (CanvasPanTool.MouseMove): Use the PreviewBitmap method to get the
203            bitmap
204            (MapPrintout.draw_on_dc): Adapt to new renderer interface
205            (MapCanvas.OnPaint): Handle drawing the selection bitmap if it
206            exists
207            (MapCanvas.OnIdle): Update the logic to deal with incremental
208            rendering and the selection bitmap
209            (MapCanvas._do_redraw): Handle the instantiation of the render
210            iterator and the redraws during rendering
211            (MapCanvas._render_iterator): New. Generator to incrementally
212            redraw both bitmaps
213            (MapCanvas.Export): Adapt to new renderer interface.
214            (MapCanvas.full_redraw): Reset the selection bitmap and the
215            renderer iterator too
216            (MapCanvas.redraw_selection): New. Force a redraw of the selection
217            bitmap
218            (MapCanvas.shape_selected): Only redraw the selection bitmap
219    
220            * test/test_baserenderer.py
221            (TestBaseRenderer.test_polygon_no_projection)
222            (TestBaseRenderer.test_raster_no_projection)
223            (TestBaseRenderer.test_point_map_projection)
224            (TestBaseRenderer.test_point_layer_and_map_projection)
225            (TestBaseRenderer.test_point_layer_projection)
226            (TestBaseRenderer.test_point_with_classification): Adapt to new
227            renderer interface
228    
229    2003-10-24  Bernhard Herzog  <[email protected]>
230    
231            * libraries/thuban/wxproj.cpp (draw_polygon_shape)
232            (point_in_polygon_shape, shape_centroid): Raise an exception if
233            the shape can't be read. Previously invalid shape ids would lead
234            to a segfault.
235    
236            * test/test_wxproj.py (TestShapeCentroid.test_invalid_shape_id):
237            New. test whether an exception is raised for invalid shape ids
238    
239    2003-10-24  Jan-Oliver Wagner <[email protected]>
240    
241            * Thuban/Model/proj.py (Projection.GetProjectedUnits): Added 'longlat'
242            as alias for 'latlong'.
243    
244            * Thuban/UI/projdialog.py (ProjFrame.__init__): Added 'longlat'
245            as alias for 'latlong'.
246    
247    2003-10-24  Jan-Oliver Wagner <[email protected]>
248    
249            * Thuban/UI/projdialog.py (ProjFrame.proj_selection_changed): Set
250            the projection even for the UnknownPanel.
251            (UnknownProjPanel.__init__): Define the text and create the textctrl
252            widget.
253            (UnknownProjPanel._DoLayout): Replaced static text widget by the
254            textctrl created in __init__.
255            (UnknownProjPanel.SetProjection): Set the text for the text ctrl
256            including the parameters of the projection.
257            
258    2003-10-24  Jan-Oliver Wagner <[email protected]>
259    
260            * Resources/Projections/epsg.proj: New. This is a list of
261            EPSG codes with parameters for proj. The list has been
262            generated using devtools/create_epsg.py based on the
263            file nad/epsg of the proj 4.4.7 package. Four projection
264            definitions have been deleted as they are not accepted by proj:
265            "CH1903+ / LV95", "Bern 1898 (Bern) / LV03C", "CH1903 / LV03"
266            and "HD72 / EOV".
267    
268    2003-10-22  Bernhard Herzog  <[email protected]>
269    
270            Some more tweaks to the projection dialog which should fix RT
271            #1886.
272    
273            * Thuban/UI/projlist.py (ProjectionList.Destroy): Unsubscribe from
274            the ProjFile's messages and call the base class methods correctly
275            (ProjectionList.SelectProjection): Set the wxLIST_STATE_FOCUSED
276            flag on the newly selected item too. Otherwise some other item is
277            focused and the first time the focus is moved with the keyboard
278            the selection moves in unexpected ways.
279    
280            * Thuban/UI/projdialog.py (ProjFrame.__init__): Do not set the
281            focus on the OK button, only on the projection list. That way the
282            list really has the focus initially
283            (ProjFrame.OnClose): Call the projection list's Destroy method to
284            make it unsubscribe all messages
285    
286    2003-10-21  Bernhard Herzog  <[email protected]>
287    
288            Rework the projection dialog to fix a few bugs, including RT 2166
289            and most of 2168
290    
291            * Thuban/UI/projlist.py: New. The class ProjectionList is a
292            special wxListCtrl to show a list of projections in a more MVC
293            fashion
294    
295            * Thuban/UI/projdialog.py (ProjFrame): Substantial changes
296            throughout the class. The main change is to use the ProjectionList
297            class instead of a normal wxListBox. Also, add an explicit
298            "Unknown" projection to the projection choice control.
299            (ProjPanel.__init__): Add an "unknown" ellipsoid
300            (TMPanel.__init__, LCCPanel.__init__): Tweak the order of
301            instantiation of the panel's controls to make the tab-order more
302            natural
303    
304    2003-10-21  Bernhard Herzog  <[email protected]>
305    
306            * test/test_load.py (TestSingleLayer.file_contents)
307            (TestSingleLayer.test): Add non-ascii characters to the titles of
308            session, map and layer. This is effectively a port of the
309            TestUnicodeStrings test in test_load_0_8.py which for some reason
310            was only added there.
311    
312            * test/test_load_0_9.py (TestSingleLayer.file_contents)
313            (TestSingleLayer.test): Same as in test_load.py: add non-ascii
314            characters to the titles of session, map and layer,.
315    
316    2003-10-21  Bernhard Herzog  <[email protected]>
317    
318            Add EPSG projection handling to .thuban files
319    
320            * test/test_save.py (SaveSessionTest.dtd)
321            (SaveSessionTest.testEmptySession)
322            (SaveSessionTest.testLayerProjection)
323            (SaveSessionTest.testRasterLayer)
324            (SaveSessionTest.testClassifiedLayer)
325            (SaveSessionTest.test_dbf_table)
326            (SaveSessionTest.test_joined_table)
327            (SaveSessionTest.test_save_postgis): Update to 1.0-dev namespace
328            (SaveSessionTest.testSingleLayer): Update to 1.0-dev namespace and
329            use a and epsg projection to test saving them
330    
331            * test/test_load.py (LoadSessionTest.dtd): Update to 1.0-dev
332            namespace
333            (TestLayerVisibility.file_contents, TestLabels.file_contents)
334            (TestLayerProjection.file_contents)
335            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
336            (TestPostGISLayer.file_contents)
337            (TestPostGISLayerPassword.file_contents)
338            (TestLoadError.file_contents, TestLoadError.test): Update to use
339            1.0-dev namespace
340            (TestSingleLayer.file_contents, TestSingleLayer.test): Update to
341            use 1.0-dev namespace and use an EPSG projection to test whether
342            loading it works
343    
344            * test/test_load_0_9.py: New. Effectively a copy of test_load.py
345            as of Thuban 0.9. These are now tests to determine whether Thuban
346            can still read files generated by Thuban 0.9
347    
348            * Thuban/Model/save.py (SessionSaver.write)
349            (SessionSaver.write_session): Use the 1.0 dtd and 1.0-dev
350            namespace
351            (SessionSaver.write_projection): Write the projection's epsg
352            attribute
353    
354            * Thuban/Model/load.py (SessionLoader.__init__): Also accept the
355            thuban-1.0-dev.dtd namespace
356            (SessionLoader.check_attrs): Allow a callable object as conversion
357            too
358            (SessionLoader.start_projection, SessionLoader.end_projection)
359            (SessionLoader.start_parameter): Handle the epsg attribute and
360            rename a few instance variables to lower case
361    
362            * Resources/XML/thuban-1.0.dtd: New. Only difference to
363            thuban-0.9.dtd is the epsg attribute for projections.
364    
365    2003-10-21  Bernhard Herzog  <[email protected]>
366    
367            * test/runtests.py (main): Let the user specify which tests to run
368            on the command line
369    
370            * test/support.py (ThubanTestResult.getDescription): Override to
371            give a better short description. The description can be used as a
372            parameter to run_tests to run that particular test in isolation.
373    
374    2003-10-21  Frank Koormann   <[email protected]>
375    
376            Popup menu for legend. Scheduled for the 1.2 release this was too
377            simple to implement: The popup menu is bound to the legend tree, while
378            the events are hanlded by its anchestor, the legend panel. This
379            allows reuse of all the event handlers already implemented for the
380            legend toolbar buttons.
381    
382            * Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
383            to add handlers for the events issued by the popup menu.
384            (LegendPanel._OnToggleVisibility): Handler for toggling layer
385            visibility event
386            (LegendPanel._OnProjection): Handler for layer projection event.
387            (LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
388            (LegendTree._OnRightClick): Event handler for right click, select item
389            and pop up menu.
390            (LegendTree.ToggleVisibility): Toggle layer visibility
391            (LegendTree.LayerProjection): Raise layer projection dialog for
392            current layer.
393    
394    2003-10-21  Bernhard Herzog  <[email protected]>
395    
396            * Resources/Projections/defaults.proj: Use correct DOCTYPE
397            declaration. The top-level element is projectionlist not projfile
398    
399    2003-10-20  Bernhard Herzog  <[email protected]>
400    
401            * Thuban/UI/projdialog.py (ProjFrame.write_proj_file): New. helper
402            method to write a projfile and display a busy cursor and error
403            dialogs.
404            (ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
405            (ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
406            (ProjFrame.__FillAvailList): Translate "<None>" too and display a
407            busy cursor while loading the user and system prj files.
408    
409    2003-10-16  Bernhard Herzog  <[email protected]>
410    
411            * Thuban/Model/resource.py (projfile_cache): Introduce a cache for
412            ProjFile objects
413            (clear_proj_file_cache): New function to clear the cache. Mainly
414            useful for use by the test suite
415            (read_proj_file): Use the cache.
416    
417            * test/test_proj.py (TestProjFile): Clarify the doc-string
418            (ProjFileReadTests): Update doc-string
419            (ProjFileReadTests.test_get_system_proj_file): Check whether the
420            system proj files is cached.
421            (ProjFileLoadTestCase): New base class for the proj file tests
422            derived from support.FileLoadTestCase to provide some common
423            behavior.
424            (TestLoadingProjFile)
425            (TestLoadingProjFileWithEmptyProjectionlist.file_contents)
426            (TestProjFileWithInvalidParameters.file_contents): Derive from
427            ProjFileLoadTestCase
428            (TestLoadingProjFile.test_caching): New. Test whether the cache
429            works
430    
431    2003-10-16      Silke Reimer    <[email protected]>
432    
433            * debian/*: New directory with configuration files for building a thuban
434              deb-package.
435    
436    2003-10-14  Bernhard Herzog  <[email protected]>
437    
438            * test/test_proj.py: Execute support.run_tests when run as
439            __main__ so that missing unsubscribes are detected
440            (TestProjFile.tearDown): Destroy the proj_file properly
441    
442    2003-10-14  Bernhard Herzog  <[email protected]>
443    
444            * Thuban/Model/messages.py (PROJECTION_ADDED)
445            (PROJECTION_REPLACED, PROJECTION_REMOVED): New message types for
446            the ProjFile objects
447    
448            * Thuban/Model/proj.py (ProjFile): Derive from Publisher so we can
449            easily send messages when the projections change
450            (ProjFile.Add, ProjFile.Remove, ProjFile.Replace): Issue messages
451            when the change was successful
452    
453            * test/test_proj.py (TestProjFile.setUp): Subscribe to some of the
454            proj file messages
455            (TestProjFile.test_add_remove)
456            (TestProjFile.test_remove_non_existing)
457            (TestProjFile.test_replace)
458            (TestProjFile.test_replace_non_existing): Test whether the right
459            messages are sent
460    
461    2003-10-14  Bernhard Herzog  <[email protected]>
462    
463            * test/test_proj.py (TestProjFile.test): Refactor into several
464            tests
465            (TestProjFile.test_add_remove)
466            (TestProjFile.test_remove_non_existing)
467            (TestProjFile.test_replace)
468            (TestProjFile.test_replace_non_existing): Some of the new
469            individual test cases
470            (TestProjFileSimple): New class for the rest of the test cases
471            that came out of the refactoring
472            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
473            derived classes don't have to
474    
475    2003-10-13  Bernhard Herzog  <[email protected]>
476    
477            Add an optional EPSG code to the projection objects and extend the
478            .proj file format accordingly.
479    
480            * Resources/XML/projfile.dtd (element projection): Add epsg
481            attribute
482    
483            * Thuban/Model/proj.py (Projection.__init__): New parameter and
484            instance variable epsg. Update doc-string
485            (Projection.EPSGCode, Projection.Label): New methods to provide
486            access to EPSG code and a label for use in dialogs
487    
488            * Thuban/Model/resource.py (ProjFileReader.start_projection)
489            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
490            Handle the epsg code attribute when reading or writing proj files
491    
492            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
493            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
494            (ProjFrame.__FillAvailList): Use the projection's Label method to
495            get the string for the list box
496    
497            * test/test_proj.py (TestProjection.test_label)
498            (TestProjection.test_label_epsg)
499            (TestProjection.test_epsgcode_for_non_epsg_projection)
500            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
501            for the label and EPSGCode methods
502            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
503            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
504            objects in the test cases and put the expected contents into the
505            test case methods too. Update doTestWrite accordingly
506            (TestLoadingProjFile)
507            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
508            read tests from TestProjFile.
509            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
510            tests are now in the new classes.
511            (sample_projfile, sample_projfile_data)
512            (sample_projfile2, sample_projfile_data2): Removed. Not used
513            anymore.
514            (TestProjFile.test_read_unreadable_file): No need to reset the
515            permissions at the end anymore since we use a unique filename
516    
517    2003-10-13  Bernhard Herzog  <[email protected]>
518    
519            * test/test_proj.py: Some more refactoring of the test cases
520            (ProjFileTest): New base class for the proj file tests.
521            (TestProjFile): Derive from ProjFileTest
522            (TestProjFile.test_read_unreadable_file)
523            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
524            the new filename method to get a unique filename
525            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
526            (WriteProjFileTests): New class for proj file write tests.
527            Contains the write test that were in TestProjFile originally.
528    
529    2003-10-13  Bernhard Herzog  <[email protected]>
530    
531            * test/test_proj.py (TestProjFile.testRead)
532            (TestProjFile.test_read_non_existing_file)
533            (TestProjFile.test_read_unreadable_file)
534            (TestProjFile.test_read_empty_file): Split into several methods.
535    
536    2003-10-10  Bernhard Herzog  <[email protected]>
537    
538            * Thuban/UI/sizers.py: New file with custom sizers.
539    
540            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
541            all projection type specific panels and put them into a
542            NotebookLikeSizer. This way the dialog doesn't change its size
543            when a different projection is selected
544            (ProjFrame.__init__): Rename projection_panels
545            projection_panel_defs and reuse projection_panels for a list of
546            the instantiated panels.
547            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
548            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
549            the panels
550            (UnknownProjPanel._DoLayout): Place the newlines in the message
551            differently to make the panel narrower.
552            (TMPanel._DoLayout): Layout the parameters in one column.
553    
554    2003-10-10  Bernhard Herzog  <[email protected]>
555    
556            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
557            that contains all the setup for the dialog's widgets, layout and
558            event handling.
559            (__): Call build_dialog to build the dialog.
560            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
561            Their functionality is now in build_dialog
562            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
563            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
564            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
565            different widget names and hierarchy introduced with build_dialog.
566    
567    2003-10-10  Bernhard Herzog  <[email protected]>
568    
569            * README: Fix typo.
570    
571    2003-10-09  Bernhard Herzog  <[email protected]>
572    
573            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
574            projection is already in the list. This is *a lot* faster when
575            loading files with hundreds of projections since it saves a linear
576            search. OTOH this will allow adding the same projection to the
577            user.proj file multiple times in the projection dialog but we'll
578            deal with that later
579    
580    2003-10-09  Jan-Oliver Wagner <[email protected]>
581    
582            * devtools: New. Directory for developer tools that are not intended
583            for the regular user.
584    
585            * devtools/create_epsg.py: New. Convert the epsg file of proj into
586            a python .proj file.
587    
588    2003-10-09  Bernhard Herzog  <[email protected]>
589    
590            * test/test_proj.py
591            (TestProjection.test_get_parameter_without_equals_sign): New. Test
592            whether GetParameter handles parameters without "=" sign correctly
593    
594            * Thuban/Model/proj.py (Projection.GetParameter): Handle
595            parameters that do not contain a "=". Update the doc-string
596    
597    2003-10-08  Bernhard Herzog  <[email protected]>
598    
599            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
600            length limit on the projname text control
601    
602    2003-10-08  Bernhard Herzog  <[email protected]>
603    
604            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
605            (TestProjection.test_get_projection_units_normal): New. Tests for
606            the Projection.GetProjectedUnits method
607    
608    2003-10-08  Jan-Oliver Wagner <[email protected]>
609    
610            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
611            Added missing 'val' parameter.
612    
613    2003-10-08  Bernhard Herzog  <[email protected]>
614    
615            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
616            projection type of the currently selected projection is not known,
617            i.e. there's no panel for it, use the UnknownProjPanel
618            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
619            the actual replacing of the proj panel into the new method
620            _show_proj_panel.
621            (UnknownProjPanel): Add doc-string.
622            (UnknownProjPanel._DoLayout): Insert a newline into the text so
623            that the panel is not so wide.
624    
625    2003-10-08  Bernhard Herzog  <[email protected]>
626    
627            * Thuban/Model/resource.py (read_proj_file): Return the warnings
628            too. Update the doc-string
629            (get_proj_files): Removed. It wasn't used anywhere
630            (get_system_proj_files, get_system_proj_file): Rename to
631            get_system_proj_file and return the ProjFile object and not a list
632            of ProjFile objects. Update the callers.
633            (get_user_proj_files, get_user_proj_file): Rename to
634            get_user_proj_file return the ProjFile object and not a list of
635            ProjFile objects. Update the callers.
636            (ProjFileReader.__init__): New instance variable for the warnings.
637            Rename the __pf ivar to projfile. Update the methods referring to
638            __pf
639            (ProjFileReader.end_projection): Catch any errors raised when
640            instantiating the projection and record that as an error. The
641            projection will not be in the final ProjFile object.
642            (ProjFileReader.GetWarnings): New method to return the warnings.
643    
644            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
645            show the warnings from the projfile reader
646            (ProjFrame._OnImport): Deal with any warnings returned by
647            read_proj_file
648            (ProjFrame.__FillAvailList): Deal with any warnings returned by
649            get_system_proj_file or get_user_proj_file.
650    
651            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
652            (TestProjFileWithInvalidParameters.file_contents): New test cases
653            to test whether read_proj_file handles invalid projection
654            parameters correctly
655            (TestProjFile.test_get_system_proj_file): New. Simple test for
656            resource.get_system_proj_file
657    
658  2003-10-07  Bernhard Herzog  <[email protected]>  2003-10-07  Bernhard Herzog  <[email protected]>
659    
660          * test/test_derivedshapestore.py          * test/test_derivedshapestore.py

Legend:
Removed from v.1785  
changed lines
  Added in v.1906

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26