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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26