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

Legend:
Removed from v.1743  
changed lines
  Added in v.1820

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26