/[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 1832 by bh, Thu Oct 16 16:36:25 2003 UTC revision 1894 by bh, Thu Oct 30 18:17:17 2003 UTC
# Line 1  Line 1 
1    2003-10-30  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle
4            EVT_WINDOW_DESTROY
5            (ThubanFrame.OnDestroy): New. Handler for EVT_WINDOW_DESTROY. Does
6            nothing but is convenient for the derived classes.
7    
8            * Thuban/UI/tableview.py
9            (TableFrame.OnDestroy, LayerTableFrame.OnDestroy): New.
10            Unsubscribe the messages here not in OnClose because that might
11            get called multiple times. Fixes RT #2196
12            (TableFrame.OnClose, LayerTableFrame.OnClose): Removed. Not needed
13            anymore.
14    
15            * README: Update the minimum requirement for wxPython. Since we
16            now use the EVT_WINDOW_DESTROY event, we need at least 2.4.0.4,
17            the version in which that was introduced for all platforms
18    
19    2003-10-30  Frank Koormann <[email protected]>
20    
21            * Thuban/UI/join.py (JoinDialog.OnJoin): Wrapped the major parts of
22            the join process in a ThubanBeginBusyCursor, ThubanEndBusyCursor
23            frame.
24    
25    2003-10-30  Jan-Oliver Wagner <[email protected]>
26    
27            Improved APR import extension, added further EPSG definitions
28            and some cleanup regarding string class.
29    
30            * test/test_proj.py (TestProjection.test_get_projection_units_geo):
31            Added test for alias 'longlat'.
32    
33            * Resources/Projections/epsg-deprecated.proj: New. Contains
34            deprecated EPSG definitions.
35    
36            * Extensions/importAPR/odb.py (ODBBaseObject.TreeInfo): Added
37            the variable names for objects.
38    
39            * Extensions/importAPR/apr.py (APR_BLnSym, APR_BMkSym, APR_BShSym): New.
40            Copied from importAPR and provided with documentation.
41    
42            * Extensions/importAPR/importAPR.py (APR_BLnSym, APR_BMkSym, APR_BShSym):
43            Moved to apr.py.
44            (APR_View): Added object ref 'ITheme'.
45    
46            * Thuban/Lib/fileutil.py, Thuban/UI/proj4dialog.py: Replaced string
47            split function by corresponding use of the string class method.
48    
49            * Thuban/Model/xmlwriter.py: Replaced string replace function by
50            corresponding string method.
51    
52    2003-10-29  Bernhard Herzog  <[email protected]>
53    
54            * Thuban/UI/baserenderer.py
55            (BaseRenderer.draw_shape_layer_incrementally): Speed up the
56            special case of a classification that only has the default group
57    
58    2003-10-27  Bernhard Herzog  <[email protected]>
59    
60            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
61    
62            * po/de.po: Update.
63    
64            * Thuban/UI/application.py
65            (ThubanApplication.ShowExceptionDialog): Handle translation of the
66            dialog message properly
67    
68    2003-10-27  Bernhard Herzog  <[email protected]>
69    
70            Rework how localization works so that we use wx's translation
71            functions when running Thuban as a normal application but not when
72            we don't need any UI, such as in the test suite. See the comment
73            in Thuban/__init__.py for details
74    
75            * Thuban/__init__.py (_): Add one level of indirection to make the
76            translation handling more flexible and to make it possible to use
77            either wx's translation services or not.
78            (gettext_identity, translation_function_installed)
79            (install_translation_function): New function to help with this
80    
81            * Thuban/UI/__init__.py: Install the wx specific translation
82            function if it's OK to do that
83    
84            * test/support.py (initthuban): Install a dummy translation
85            function so that importing Thuban.UI doesn't install a wx specific
86            one for which would need to import wxPython
87    
88    2003-10-27  Bernhard Herzog  <[email protected]>
89    
90            * HOWTO-Release: Source archives should be created first and the
91            binary packages should be created from the source archives.
92            There's an official debian package now so there's no need to test
93            the rpm on debian anymore
94    
95    2003-10-27  Bernhard Herzog  <[email protected]>
96    
97            Several rendering changes:
98    
99             - Render the selection into a separate bitmap so that only that
100               bitmap needs to be redrawn when the selection changes
101    
102             - Render incrementally showing previews and allowing interaction
103               before rendering is complete
104    
105             - Update the renderer interface a bit. Most parameters of
106               RenderMap are now parameters of the constructor
107    
108            * Thuban/UI/baserenderer.py (BaseRenderer.__init__): Add the map
109            and the update region as parameters. Update the doc-string
110            (BaseRenderer.render_map_incrementally): New. Generator function
111            to renders the map incrementally
112            (BaseRenderer.render_map): Remove the map argument (it's now in
113            the constructor) and simply iterate over the
114            render_map_incrementally generator to draw the map.
115            (BaseRenderer.draw_shape_layer_incrementally)
116            (BaseRenderer.draw_shape_layer): Renamed to
117            draw_shape_layer_incrementally and changed into a generator that
118            yields True every 500 shapes. Used by render_map_incrementally to
119            render shape layers incrementally
120    
121            * Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Removed the
122            map and region parameters which are now in the constructor
123            (ScreenRenderer.RenderMapIncrementally): New. Public frontend for
124            the inherited render_map_incrementally.
125            (BaseRenderer.draw_shape_layer): Removed.
126            (ScreenRenderer.draw_selection_incrementally): New. The selection
127            drawing part of the removed draw_shape_layer as a generator
128            (ScreenRenderer.layer_shapes): Update because of the region
129            parameter change
130            (ExportRenderer.__init__): New. Extend the inherited constructor
131            with the destination region for the drawing
132            (ExportRenderer.RenderMap): Removed the map and region parameters
133            which are now in the constructor
134    
135            * Thuban/UI/view.py (MapCanvas.PreviewBitmap): New. Return a
136            bitmap suitable for a preview in a tool
137            (CanvasPanTool.MouseMove): Use the PreviewBitmap method to get the
138            bitmap
139            (MapPrintout.draw_on_dc): Adapt to new renderer interface
140            (MapCanvas.OnPaint): Handle drawing the selection bitmap if it
141            exists
142            (MapCanvas.OnIdle): Update the logic to deal with incremental
143            rendering and the selection bitmap
144            (MapCanvas._do_redraw): Handle the instantiation of the render
145            iterator and the redraws during rendering
146            (MapCanvas._render_iterator): New. Generator to incrementally
147            redraw both bitmaps
148            (MapCanvas.Export): Adapt to new renderer interface.
149            (MapCanvas.full_redraw): Reset the selection bitmap and the
150            renderer iterator too
151            (MapCanvas.redraw_selection): New. Force a redraw of the selection
152            bitmap
153            (MapCanvas.shape_selected): Only redraw the selection bitmap
154    
155            * test/test_baserenderer.py
156            (TestBaseRenderer.test_polygon_no_projection)
157            (TestBaseRenderer.test_raster_no_projection)
158            (TestBaseRenderer.test_point_map_projection)
159            (TestBaseRenderer.test_point_layer_and_map_projection)
160            (TestBaseRenderer.test_point_layer_projection)
161            (TestBaseRenderer.test_point_with_classification): Adapt to new
162            renderer interface
163    
164    2003-10-24  Bernhard Herzog  <[email protected]>
165    
166            * libraries/thuban/wxproj.cpp (draw_polygon_shape)
167            (point_in_polygon_shape, shape_centroid): Raise an exception if
168            the shape can't be read. Previously invalid shape ids would lead
169            to a segfault.
170    
171            * test/test_wxproj.py (TestShapeCentroid.test_invalid_shape_id):
172            New. test whether an exception is raised for invalid shape ids
173    
174    2003-10-24  Jan-Oliver Wagner <[email protected]>
175    
176            * Thuban/Model/proj.py (Projection.GetProjectedUnits): Added 'longlat'
177            as alias for 'latlong'.
178    
179            * Thuban/UI/projdialog.py (ProjFrame.__init__): Added 'longlat'
180            as alias for 'latlong'.
181    
182    2003-10-24  Jan-Oliver Wagner <[email protected]>
183    
184            * Thuban/UI/projdialog.py (ProjFrame.proj_selection_changed): Set
185            the projection even for the UnknownPanel.
186            (UnknownProjPanel.__init__): Define the text and create the textctrl
187            widget.
188            (UnknownProjPanel._DoLayout): Replaced static text widget by the
189            textctrl created in __init__.
190            (UnknownProjPanel.SetProjection): Set the text for the text ctrl
191            including the parameters of the projection.
192            
193    2003-10-24  Jan-Oliver Wagner <[email protected]>
194    
195            * Resources/Projections/epsg.proj: New. This is a list of
196            EPSG codes with parameters for proj. The list has been
197            generated using devtools/create_epsg.py based on the
198            file nad/epsg of the proj 4.4.7 package. Four projection
199            definitions have been deleted as they are not accepted by proj:
200            "CH1903+ / LV95", "Bern 1898 (Bern) / LV03C", "CH1903 / LV03"
201            and "HD72 / EOV".
202    
203    2003-10-22  Bernhard Herzog  <[email protected]>
204    
205            Some more tweaks to the projection dialog which should fix RT
206            #1886.
207    
208            * Thuban/UI/projlist.py (ProjectionList.Destroy): Unsubscribe from
209            the ProjFile's messages and call the base class methods correctly
210            (ProjectionList.SelectProjection): Set the wxLIST_STATE_FOCUSED
211            flag on the newly selected item too. Otherwise some other item is
212            focused and the first time the focus is moved with the keyboard
213            the selection moves in unexpected ways.
214    
215            * Thuban/UI/projdialog.py (ProjFrame.__init__): Do not set the
216            focus on the OK button, only on the projection list. That way the
217            list really has the focus initially
218            (ProjFrame.OnClose): Call the projection list's Destroy method to
219            make it unsubscribe all messages
220    
221    2003-10-21  Bernhard Herzog  <[email protected]>
222    
223            Rework the projection dialog to fix a few bugs, including RT 2166
224            and most of 2168
225    
226            * Thuban/UI/projlist.py: New. The class ProjectionList is a
227            special wxListCtrl to show a list of projections in a more MVC
228            fashion
229    
230            * Thuban/UI/projdialog.py (ProjFrame): Substantial changes
231            throughout the class. The main change is to use the ProjectionList
232            class instead of a normal wxListBox. Also, add an explicit
233            "Unknown" projection to the projection choice control.
234            (ProjPanel.__init__): Add an "unknown" ellipsoid
235            (TMPanel.__init__, LCCPanel.__init__): Tweak the order of
236            instantiation of the panel's controls to make the tab-order more
237            natural
238    
239    2003-10-21  Bernhard Herzog  <[email protected]>
240    
241            * test/test_load.py (TestSingleLayer.file_contents)
242            (TestSingleLayer.test): Add non-ascii characters to the titles of
243            session, map and layer. This is effectively a port of the
244            TestUnicodeStrings test in test_load_0_8.py which for some reason
245            was only added there.
246    
247            * test/test_load_0_9.py (TestSingleLayer.file_contents)
248            (TestSingleLayer.test): Same as in test_load.py: add non-ascii
249            characters to the titles of session, map and layer,.
250    
251    2003-10-21  Bernhard Herzog  <[email protected]>
252    
253            Add EPSG projection handling to .thuban files
254    
255            * test/test_save.py (SaveSessionTest.dtd)
256            (SaveSessionTest.testEmptySession)
257            (SaveSessionTest.testLayerProjection)
258            (SaveSessionTest.testRasterLayer)
259            (SaveSessionTest.testClassifiedLayer)
260            (SaveSessionTest.test_dbf_table)
261            (SaveSessionTest.test_joined_table)
262            (SaveSessionTest.test_save_postgis): Update to 1.0-dev namespace
263            (SaveSessionTest.testSingleLayer): Update to 1.0-dev namespace and
264            use a and epsg projection to test saving them
265    
266            * test/test_load.py (LoadSessionTest.dtd): Update to 1.0-dev
267            namespace
268            (TestLayerVisibility.file_contents, TestLabels.file_contents)
269            (TestLayerProjection.file_contents)
270            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
271            (TestPostGISLayer.file_contents)
272            (TestPostGISLayerPassword.file_contents)
273            (TestLoadError.file_contents, TestLoadError.test): Update to use
274            1.0-dev namespace
275            (TestSingleLayer.file_contents, TestSingleLayer.test): Update to
276            use 1.0-dev namespace and use an EPSG projection to test whether
277            loading it works
278    
279            * test/test_load_0_9.py: New. Effectively a copy of test_load.py
280            as of Thuban 0.9. These are now tests to determine whether Thuban
281            can still read files generated by Thuban 0.9
282    
283            * Thuban/Model/save.py (SessionSaver.write)
284            (SessionSaver.write_session): Use the 1.0 dtd and 1.0-dev
285            namespace
286            (SessionSaver.write_projection): Write the projection's epsg
287            attribute
288    
289            * Thuban/Model/load.py (SessionLoader.__init__): Also accept the
290            thuban-1.0-dev.dtd namespace
291            (SessionLoader.check_attrs): Allow a callable object as conversion
292            too
293            (SessionLoader.start_projection, SessionLoader.end_projection)
294            (SessionLoader.start_parameter): Handle the epsg attribute and
295            rename a few instance variables to lower case
296    
297            * Resources/XML/thuban-1.0.dtd: New. Only difference to
298            thuban-0.9.dtd is the epsg attribute for projections.
299    
300    2003-10-21  Bernhard Herzog  <[email protected]>
301    
302            * test/runtests.py (main): Let the user specify which tests to run
303            on the command line
304    
305            * test/support.py (ThubanTestResult.getDescription): Override to
306            give a better short description. The description can be used as a
307            parameter to run_tests to run that particular test in isolation.
308    
309    2003-10-21  Frank Koormann   <[email protected]>
310    
311            Popup menu for legend. Scheduled for the 1.2 release this was too
312            simple to implement: The popup menu is bound to the legend tree, while
313            the events are hanlded by its anchestor, the legend panel. This
314            allows reuse of all the event handlers already implemented for the
315            legend toolbar buttons.
316    
317            * Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
318            to add handlers for the events issued by the popup menu.
319            (LegendPanel._OnToggleVisibility): Handler for toggling layer
320            visibility event
321            (LegendPanel._OnProjection): Handler for layer projection event.
322            (LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
323            (LegendTree._OnRightClick): Event handler for right click, select item
324            and pop up menu.
325            (LegendTree.ToggleVisibility): Toggle layer visibility
326            (LegendTree.LayerProjection): Raise layer projection dialog for
327            current layer.
328    
329    2003-10-21  Bernhard Herzog  <[email protected]>
330    
331            * Resources/Projections/defaults.proj: Use correct DOCTYPE
332            declaration. The top-level element is projectionlist not projfile
333    
334    2003-10-20  Bernhard Herzog  <[email protected]>
335    
336            * Thuban/UI/projdialog.py (ProjFrame.write_proj_file): New. helper
337            method to write a projfile and display a busy cursor and error
338            dialogs.
339            (ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
340            (ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
341            (ProjFrame.__FillAvailList): Translate "<None>" too and display a
342            busy cursor while loading the user and system prj files.
343    
344  2003-10-16  Bernhard Herzog  <[email protected]>  2003-10-16  Bernhard Herzog  <[email protected]>
345    
346          * Thuban/Model/resource.py (projfile_cache): Introduce a cache for          * Thuban/Model/resource.py (projfile_cache): Introduce a cache for

Legend:
Removed from v.1832  
changed lines
  Added in v.1894

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26