/[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 1760 by bh, Fri Sep 26 18:36:12 2003 UTC revision 1840 by bh, Tue Oct 21 09:59:00 2003 UTC
# Line 1  Line 1 
1    2003-10-21  Bernhard Herzog  <[email protected]>
2    
3            * test/runtests.py (main): Let the user specify which tests to run
4            on the command line
5    
6            * test/support.py (ThubanTestResult.getDescription): Override to
7            give a better short description. The description can be used as a
8            parameter to run_tests to run that particular test in isolation.
9    
10    2003-10-21  Frank Koormann   <[email protected]>
11    
12            Popup menu for legend. Scheduled for the 1.2 release this was too
13            simple to implement: The popup menu is bound to the legend tree, while
14            the events are hanlded by its anchestor, the legend panel. This
15            allows reuse of all the event handlers already implemented for the
16            legend toolbar buttons.
17    
18            * Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
19            to add handlers for the events issued by the popup menu.
20            (LegendPanel._OnToggleVisibility): Handler for toggling layer
21            visibility event
22            (LegendPanel._OnProjection): Handler for layer projection event.
23            (LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
24            (LegendTree._OnRightClick): Event handler for right click, select item
25            and pop up menu.
26            (LegendTree.ToggleVisibility): Toggle layer visibility
27            (LegendTree.LayerProjection): Raise layer projection dialog for
28            current layer.
29    
30    2003-10-21  Bernhard Herzog  <[email protected]>
31    
32            * Resources/Projections/defaults.proj: Use correct DOCTYPE
33            declaration. The top-level element is projectionlist not projfile
34    
35    2003-10-20  Bernhard Herzog  <[email protected]>
36    
37            * Thuban/UI/projdialog.py (ProjFrame.write_proj_file): New. helper
38            method to write a projfile and display a busy cursor and error
39            dialogs.
40            (ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
41            (ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
42            (ProjFrame.__FillAvailList): Translate "<None>" too and display a
43            busy cursor while loading the user and system prj files.
44    
45    2003-10-16  Bernhard Herzog  <[email protected]>
46    
47            * Thuban/Model/resource.py (projfile_cache): Introduce a cache for
48            ProjFile objects
49            (clear_proj_file_cache): New function to clear the cache. Mainly
50            useful for use by the test suite
51            (read_proj_file): Use the cache.
52    
53            * test/test_proj.py (TestProjFile): Clarify the doc-string
54            (ProjFileReadTests): Update doc-string
55            (ProjFileReadTests.test_get_system_proj_file): Check whether the
56            system proj files is cached.
57            (ProjFileLoadTestCase): New base class for the proj file tests
58            derived from support.FileLoadTestCase to provide some common
59            behavior.
60            (TestLoadingProjFile)
61            (TestLoadingProjFileWithEmptyProjectionlist.file_contents)
62            (TestProjFileWithInvalidParameters.file_contents): Derive from
63            ProjFileLoadTestCase
64            (TestLoadingProjFile.test_caching): New. Test whether the cache
65            works
66    
67    2003-10-16      Silke Reimer    <[email protected]>
68    
69            * debian/*: New directory with configuration files for building a thuban
70              deb-package.
71    
72    2003-10-14  Bernhard Herzog  <[email protected]>
73    
74            * test/test_proj.py: Execute support.run_tests when run as
75            __main__ so that missing unsubscribes are detected
76            (TestProjFile.tearDown): Destroy the proj_file properly
77    
78    2003-10-14  Bernhard Herzog  <[email protected]>
79    
80            * Thuban/Model/messages.py (PROJECTION_ADDED)
81            (PROJECTION_REPLACED, PROJECTION_REMOVED): New message types for
82            the ProjFile objects
83    
84            * Thuban/Model/proj.py (ProjFile): Derive from Publisher so we can
85            easily send messages when the projections change
86            (ProjFile.Add, ProjFile.Remove, ProjFile.Replace): Issue messages
87            when the change was successful
88    
89            * test/test_proj.py (TestProjFile.setUp): Subscribe to some of the
90            proj file messages
91            (TestProjFile.test_add_remove)
92            (TestProjFile.test_remove_non_existing)
93            (TestProjFile.test_replace)
94            (TestProjFile.test_replace_non_existing): Test whether the right
95            messages are sent
96    
97    2003-10-14  Bernhard Herzog  <[email protected]>
98    
99            * test/test_proj.py (TestProjFile.test): Refactor into several
100            tests
101            (TestProjFile.test_add_remove)
102            (TestProjFile.test_remove_non_existing)
103            (TestProjFile.test_replace)
104            (TestProjFile.test_replace_non_existing): Some of the new
105            individual test cases
106            (TestProjFileSimple): New class for the rest of the test cases
107            that came out of the refactoring
108            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
109            derived classes don't have to
110    
111    2003-10-13  Bernhard Herzog  <[email protected]>
112    
113            Add an optional EPSG code to the projection objects and extend the
114            .proj file format accordingly.
115    
116            * Resources/XML/projfile.dtd (element projection): Add epsg
117            attribute
118    
119            * Thuban/Model/proj.py (Projection.__init__): New parameter and
120            instance variable epsg. Update doc-string
121            (Projection.EPSGCode, Projection.Label): New methods to provide
122            access to EPSG code and a label for use in dialogs
123    
124            * Thuban/Model/resource.py (ProjFileReader.start_projection)
125            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
126            Handle the epsg code attribute when reading or writing proj files
127    
128            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
129            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
130            (ProjFrame.__FillAvailList): Use the projection's Label method to
131            get the string for the list box
132    
133            * test/test_proj.py (TestProjection.test_label)
134            (TestProjection.test_label_epsg)
135            (TestProjection.test_epsgcode_for_non_epsg_projection)
136            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
137            for the label and EPSGCode methods
138            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
139            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
140            objects in the test cases and put the expected contents into the
141            test case methods too. Update doTestWrite accordingly
142            (TestLoadingProjFile)
143            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
144            read tests from TestProjFile.
145            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
146            tests are now in the new classes.
147            (sample_projfile, sample_projfile_data)
148            (sample_projfile2, sample_projfile_data2): Removed. Not used
149            anymore.
150            (TestProjFile.test_read_unreadable_file): No need to reset the
151            permissions at the end anymore since we use a unique filename
152    
153    2003-10-13  Bernhard Herzog  <[email protected]>
154    
155            * test/test_proj.py: Some more refactoring of the test cases
156            (ProjFileTest): New base class for the proj file tests.
157            (TestProjFile): Derive from ProjFileTest
158            (TestProjFile.test_read_unreadable_file)
159            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
160            the new filename method to get a unique filename
161            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
162            (WriteProjFileTests): New class for proj file write tests.
163            Contains the write test that were in TestProjFile originally.
164    
165    2003-10-13  Bernhard Herzog  <[email protected]>
166    
167            * test/test_proj.py (TestProjFile.testRead)
168            (TestProjFile.test_read_non_existing_file)
169            (TestProjFile.test_read_unreadable_file)
170            (TestProjFile.test_read_empty_file): Split into several methods.
171    
172    2003-10-10  Bernhard Herzog  <[email protected]>
173    
174            * Thuban/UI/sizers.py: New file with custom sizers.
175    
176            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
177            all projection type specific panels and put them into a
178            NotebookLikeSizer. This way the dialog doesn't change its size
179            when a different projection is selected
180            (ProjFrame.__init__): Rename projection_panels
181            projection_panel_defs and reuse projection_panels for a list of
182            the instantiated panels.
183            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
184            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
185            the panels
186            (UnknownProjPanel._DoLayout): Place the newlines in the message
187            differently to make the panel narrower.
188            (TMPanel._DoLayout): Layout the parameters in one column.
189    
190    2003-10-10  Bernhard Herzog  <[email protected]>
191    
192            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
193            that contains all the setup for the dialog's widgets, layout and
194            event handling.
195            (__): Call build_dialog to build the dialog.
196            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
197            Their functionality is now in build_dialog
198            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
199            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
200            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
201            different widget names and hierarchy introduced with build_dialog.
202    
203    2003-10-10  Bernhard Herzog  <[email protected]>
204    
205            * README: Fix typo.
206    
207    2003-10-09  Bernhard Herzog  <[email protected]>
208    
209            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
210            projection is already in the list. This is *a lot* faster when
211            loading files with hundreds of projections since it saves a linear
212            search. OTOH this will allow adding the same projection to the
213            user.proj file multiple times in the projection dialog but we'll
214            deal with that later
215    
216    2003-10-09  Jan-Oliver Wagner <[email protected]>
217    
218            * devtools: New. Directory for developer tools that are not intended
219            for the regular user.
220    
221            * devtools/create_epsg.py: New. Convert the epsg file of proj into
222            a python .proj file.
223    
224    2003-10-09  Bernhard Herzog  <[email protected]>
225    
226            * test/test_proj.py
227            (TestProjection.test_get_parameter_without_equals_sign): New. Test
228            whether GetParameter handles parameters without "=" sign correctly
229    
230            * Thuban/Model/proj.py (Projection.GetParameter): Handle
231            parameters that do not contain a "=". Update the doc-string
232    
233    2003-10-08  Bernhard Herzog  <[email protected]>
234    
235            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
236            length limit on the projname text control
237    
238    2003-10-08  Bernhard Herzog  <[email protected]>
239    
240            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
241            (TestProjection.test_get_projection_units_normal): New. Tests for
242            the Projection.GetProjectedUnits method
243    
244    2003-10-08  Jan-Oliver Wagner <[email protected]>
245    
246            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
247            Added missing 'val' parameter.
248    
249    2003-10-08  Bernhard Herzog  <[email protected]>
250    
251            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
252            projection type of the currently selected projection is not known,
253            i.e. there's no panel for it, use the UnknownProjPanel
254            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
255            the actual replacing of the proj panel into the new method
256            _show_proj_panel.
257            (UnknownProjPanel): Add doc-string.
258            (UnknownProjPanel._DoLayout): Insert a newline into the text so
259            that the panel is not so wide.
260    
261    2003-10-08  Bernhard Herzog  <[email protected]>
262    
263            * Thuban/Model/resource.py (read_proj_file): Return the warnings
264            too. Update the doc-string
265            (get_proj_files): Removed. It wasn't used anywhere
266            (get_system_proj_files, get_system_proj_file): Rename to
267            get_system_proj_file and return the ProjFile object and not a list
268            of ProjFile objects. Update the callers.
269            (get_user_proj_files, get_user_proj_file): Rename to
270            get_user_proj_file return the ProjFile object and not a list of
271            ProjFile objects. Update the callers.
272            (ProjFileReader.__init__): New instance variable for the warnings.
273            Rename the __pf ivar to projfile. Update the methods referring to
274            __pf
275            (ProjFileReader.end_projection): Catch any errors raised when
276            instantiating the projection and record that as an error. The
277            projection will not be in the final ProjFile object.
278            (ProjFileReader.GetWarnings): New method to return the warnings.
279    
280            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
281            show the warnings from the projfile reader
282            (ProjFrame._OnImport): Deal with any warnings returned by
283            read_proj_file
284            (ProjFrame.__FillAvailList): Deal with any warnings returned by
285            get_system_proj_file or get_user_proj_file.
286    
287            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
288            (TestProjFileWithInvalidParameters.file_contents): New test cases
289            to test whether read_proj_file handles invalid projection
290            parameters correctly
291            (TestProjFile.test_get_system_proj_file): New. Simple test for
292            resource.get_system_proj_file
293    
294    2003-10-07  Bernhard Herzog  <[email protected]>
295    
296            * test/test_derivedshapestore.py
297            (TestDerivedShapeStoreExceptions.tearDown): Clear the session
298            properly so that the temporary directories get deleted correctly
299    
300    2003-10-06  Bernhard Herzog  <[email protected]>
301    
302            Handle the title changes in a proper MVC way.
303    
304            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
305            canvas' TITLE_CHANGED messages
306            (MainWindow.update_title): New. Update the main window's title
307            (MainWindow.__SetTitle): Removed. Use update_title instead.
308            (MainWindow.SetMap): Use update_title instead of __SetTitle
309            (MainWindow.RenameMap): Do change the window title explicitly
310            here. That's handled in a proper MVC way now.
311            (MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
312            messages
313    
314            * Thuban/Lib/connector.py (Conduit): New class to help classes
315            that forward messages
316    
317            * Thuban/UI/viewport.py: Forward the map's TITLE_CHANGED messages
318            (ViewPort): Derive from Conduit instead of Publisher
319            (ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
320            when calling the inherited versions
321            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
322            methods to subscribe and unsubscribe map messages
323            (ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
324            handle the map subscriptions
325            (ViewPort.Map, ViewPort.map_projection_changed)
326            (ViewPort.layer_projection_changed): Add or update doc-strings
327    
328            * test/test_connector.py (TestPublisher.test_issue_simple): Fix
329            typo
330            (MyConduit): Helper class for the Conduit test.
331            (TestConduit): Test cases for Conduit
332    
333            * test/test_connector.py: Use support.run_tests as main.
334    
335            * test/test_viewport.py (ViewPortTest.setUp): Also subscribe to
336            the TITLE_CHANGED messages
337            (ViewPortTest.test_forwarding_title_changed): New test to check
338            whether the viewport forwards the map's TITLE_CHANGED messages
339            (TestViewportWithPostGIS.tearDown): Call the map's Destroy method
340            after the port's because the latter may require a still functional
341            map.
342    
343    2003-10-06  Bernhard Herzog  <[email protected]>
344    
345            * Thuban/UI/application.py (ThubanApplication.maps_changed): Add
346            doc-string
347    
348    2003-10-06  Bernhard Herzog  <[email protected]>
349    
350            * test/test_viewport.py (ViewPortTest.setUp)
351            (SimpleViewPortTest.test_init_with_size): Move the test for the
352            initial size as a constructor parameter from ViewPortTest.setUp
353            method to a new separate test in SimpleViewPortTest.
354    
355    2003-10-06  Bernhard Herzog  <[email protected]>
356    
357            * test/test_viewport.py (MockView): New class derived from
358            ViewPort with a mock implementation of GetTextExtent to be used in
359            the test cases
360            (ViewPortTest.setUp): Use MockView instead of ViewPort
361    
362            * Thuban/UI/viewport.py (ViewPort.GetTextExtent): Turn this method
363            into what would be a "pure virtual function" in C++: always raise
364            NotImplementedError. Mock implementations for test cases don't
365            belong into the real code
366    
367    2003-10-02  Bernhard Herzog  <[email protected]>
368    
369            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
370            close the dbf file we create so that it's contents have been
371            written properly.
372    
373            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
374            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
375            Update to shapelib 1.2.10
376    
377    2003-10-01  Jan-Oliver Wagner <[email protected]>
378    
379            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
380            it annoys lintian which warns about these files not being
381            executable. The #! isn't necessary here since if you absolutely
382            must execute them you can always say "python <filename>".
383    
384  2003-09-26  Bernhard Herzog  <[email protected]>  2003-09-26  Bernhard Herzog  <[email protected]>
385    
386          * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's          * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
# Line 1421  Line 1804 
1804    
1805          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1806          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1807          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1808          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1809    
1810          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove

Legend:
Removed from v.1760  
changed lines
  Added in v.1840

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26