/[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 2542 by jan, Fri Jan 21 14:25:25 2005 UTC revision 2677 by bernhard, Wed Apr 12 09:35:21 2006 UTC
# Line 1  Line 1 
1    2006-04-12 Bernhard Reiter <[email protected]>
2            * Thuban/version.py: Changed thuban_release mechanism to use "svn"
3            instead of "cvs".
4    
5    2006-03-31  Bernhard Reiter <[email protected]>
6    
7            * libraries/thuban/wxproj.cpp: including proj_api.h instead of
8            projects.h now. According the Frank Warmerdam and man pj_init
9            this is the public interface to proj. Thus I have changed PJ to projPJ.
10            And I could remove the hack to avoid clashes with typedef PVALUE
11            and #define LP in projects.h clashing with symbols when trying to
12            build on windows. The file is cleaner and nicer now.
13    
14    2006-03-29  Bernhard Reiter <[email protected]>
15            * libraries/thuban/wxproj.cpp: undef LP to avoid clash when
16            trying to build with mingw.
17    
18    2005-10-18  Bernhard Reiter <[email protected]>
19    
20            * Thuban/UI/about.py: remove unused import of getdefaultlocale.
21            Added display of internal encoding to the about dialog text.
22    
23            * Extensions/svgexport/__init__.py: changed version to "1.0.0+cvs".
24    
25    2005-10-18  Bernhard Reiter <[email protected]>
26    
27            Startup improved: We fail right away if the internal encoding could
28            not be determined.
29    
30            * Thuban/__init__.py (get_internal_encoding): new.
31    
32            * test/test_stringrepresentation.py (class TestInternalEncoding):
33            Preserve the internal encoding for the tests in this class.
34    
35    2005-10-17  Bernhard Reiter <[email protected]>
36    
37    
38            * test/test_stringrepresentation.py: New file, for now testing
39            that set_internal_coding() is throwing an exception for bad exceptions.
40    
41            * Thuban/__init__.py (set_internal_encoding): added a forwards
42            and backward translation, so that we fail early if the
43            internal_encoding is bad.
44    
45    2005-10-17  Bernhard Reiter <[email protected]>
46    
47            svgexport 1.0.0cvs: Fixed ARC layer writing: No filling is done.
48            You could actually get polylines with filling in between,
49            when the classification for the lines had a fill color.
50            E.g. this happens when you generate a classification from a ramp.
51    
52            * Extensions/svgexport/test/test_svgmapwriter.py:
53            New test_export_arc_no_fill(). Extend copyright notice to 2005.
54    
55            * Extensions/svgexport/svgmapwriter.py
56            (SVGRenderer.draw_shape_layer_incrementally()):
57            Setting TRANSPARENT_BRUSH for shaptype ARC.
58            Extend copyright notice to 2005.
59    
60            * Extensions/svgexport/__init__.py: Extend copyright notice to 2005.
61    
62    2005-09-08  Frank Koormann <[email protected]>
63    
64            * Doc/manual/thuban-manual.xml (Map Management): Fixed typo reported
65            by Erik (sigra.at.home.se)
66    
67    2005-08-18  Jan-Oliver Wagner <[email protected]>
68    
69            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
70            Call the right method for the default size.
71    
72    2005-08-11  Jan-Oliver Wagner <[email protected]>
73    
74            * Extensions/export_shapefile: New.
75    
76            * Extensions/export_shapefile/__init__.py: New. Initialize
77            the export_shapefile extension.
78    
79            * Extensions/export_shapefile/export_shapefile.py: New.
80            Exports a layer as a Shapefile.
81    
82    2005-08-08  Jan-Oliver Wagner <[email protected]>
83    
84            * po/de.po: String fixes. This fixes Debian bug #313843.
85    
86    2005-07-27  Jan-Oliver Wagner <[email protected]>
87    
88            Remove the attributes from the layer element in
89            .thuban files for the save routine.
90            This also solves RT bug #3149,
91            https://intevation.de/rt/webrt?serial_num=3149
92    
93            * test/test_load.py: (TestSingleLayer, TestNonAsciiColumnName,
94            TestLayerVisibility, TestSymbolSize, TestClassification, TestLabels,
95            TestLayerProjection, TestJoinedTable, TestLabelLayer): Removed
96            attributes from layer element to classification clnull element.
97    
98            * test/test_save.py (SaveSessionTest.testSingleLayer,
99            SaveSessionTest.testLayerProjection,
100            SaveSessionTest.testClassifiedLayer,
101            SaveSessionTest.test_joined_table, SaveSessionTest.test_save_postgis):
102            Removed attributes from layer element to classification clnull element.
103            (test_save_postgis.NonConnectionStore._fetch_table_information):
104            added pretending to have a shape_type.
105    
106            * Resources/XML/thuban-1.1.dtd: Make the attributes field
107            and field_type of classification optional.
108    
109            * Thuban/Model/classification.py (Classification.TreeItem.build_info):
110            Added output of size.
111    
112            * Thuban/Model/load.py (SessionLoader.start_classification):
113            Change attribute 'field' and 'field_type' from obligatory to
114            optional to allow empty classes (ie.  only with a default=clnull).
115    
116            * Thuban/Model/save.py (SessionSaver.write_layer): Don't write
117            any attributes anymore for the layer element.
118            (SessionSaver.write_classification): Even if there is no
119            classification field, still write the classification because
120            the clnull (default) symbol will not be defined anymore as
121            part of the layer element.
122    
123    2005-07-05  Bernhard Herzog  <[email protected]>
124    
125            * setup.py (setup call): Version 1.1.0
126    
127            * NEWS: Update for 1.1.0
128    
129            * MANIFEST.in: Add *.txt to files taken from Doc.  Otherwise the
130            technores won't be included
131    
132            * Thuban/UI/about.py (About.__init__): Extend copyright notice to
133            2005
134    
135            * po/de.po: Updated.
136    
137    2005-07-05  Bernhard Herzog  <[email protected]>
138    
139            * README: gdal 1.1.8 is too old.  1.2.5 works.
140    
141    2005-07-05  Bernhard Herzog  <[email protected]>
142    
143            * Resources/XML/thuban-1.1.dtd (rasterlayer): Add the opacity and
144            masktype attributes.
145    
146    2005-07-05  Bernhard Herzog  <[email protected]>
147    
148            * Thuban/Model/layer.py (Layer.__mangle_bounding_box)
149            (Layer.ClipBoundingBox): Rename ClipBoundingBox to
150            __mangle_bounding_box.  See the comments in the code and RT #2845
151    
152            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
153            Remove the explicit test of ClipBoundingBox.  The method isn't
154            public anymore and the direct call in the test wasn't necessary in
155            the first place.  If ClipBoundingBox (now __mangle_bounding_box)
156            isn't called, the return value of ShapesInRegion will be
157            different.
158    
159    2005-07-05  Bernhard Herzog  <[email protected]>
160    
161            * Thuban/UI/viewport.py (ViewPort.set_view_transform): Handle
162            ZeroDivisionError exceptions.  I don't know when they happen
163            exactly.  It probably happens when the projections aren't set
164            properly.
165    
166    2005-07-01  Bernhard Herzog  <[email protected]>
167    
168            First step towards unicode.  With this roughly we're at step 1
169            string_representation.txt
170    
171            * Doc/technotes/string_representation.txt: New.  Document how
172            strings are represented in Thuban and how to get to a Unicode
173            Thuban.
174    
175            * Thuban/__init__.py (set_internal_encoding)
176            (unicode_from_internal, internal_from_unicode): New. The first few
177            functions for the internal string representation
178    
179            * Thuban/UI/about.py (unicodeToLocale): Removed.  Use
180            internal_from_unicode instead.
181    
182            * Thuban/UI/__init__.py (install_wx_translation): Determine the
183            encoding to use for the internal string representation.  Also,
184            change the translation function to return strings in internal
185            representation even on unicode builds of wxPython
186    
187            * Thuban/Model/load.py (SessionLoader.check_attrs): Decode
188            filenames too.
189            (SessionLoader.start_clrange): Use check_attrs to decode and check
190            the attributes.
191    
192            * Thuban/Model/xmlreader.py (XMLReader.encode): Use
193            internal_from_unicode to convert unicode strings.
194    
195            * Thuban/Model/xmlwriter.py (XMLWriter.encode): Use
196            unicode_from_internal when applicable
197    
198            * test/runtests.py (main): New command line option:
199            internal-encoding to specify the internal string encoding to use
200            in the tests.
201    
202            * test/support.py (initthuban): Set the internal encoding to
203            latin-1
204    
205            * test/test_load.py (TestSingleLayer.test, TestClassification.test)
206            (TestLabelLayer.test): Use the internal string representation when
207            dealing with non-ascii characters
208    
209            * test/test_load_1_0.py (TestSingleLayer.test)
210            (TestClassification.test, TestLabelLayer.test): Use the internal
211            string representation when dealing with non-ascii characters
212    
213            * test/test_load_0_9.py (TestSingleLayer.test)
214            (TestClassification.test): Use the internal string representation
215            when dealing with non-ascii characters
216    
217            * test/test_load_0_8.py (TestUnicodeStrings.test): Use the
218            internal string representation when dealing with non-ascii
219            characters
220    
221            * test/test_save.py (XMLWriterTest.testEncode)
222            (SaveSessionTest.testClassifiedLayer): Use the internal string
223            representation when dealing with non-ascii characters where
224            applicable
225    
226    2005-06-30  Bernhard Herzog  <[email protected]>
227    
228            * test/runtests.py: Untabify.
229    
230    2005-06-30  Bernhard Herzog  <[email protected]>
231    
232            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
233            untabify.
234    
235    2005-06-30  Bernhard Herzog  <[email protected]>
236    
237            * Extensions/ogr/test/__init__.py: Add missing coding directive
238    
239    2005-06-28  Jan-Oliver Wagner <[email protected]>
240    
241            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
242            Use the default size for rendering selected items of default type.
243            Fixes part 2 of https://intevation.de/rt/webrt?serial_num=3149
244    
245    2005-06-28  Jan-Oliver Wagner <[email protected]>
246    
247            * Extensions/importAPR/apr.py (APR_BShSym): Extend by 'Stripple'.
248            (APR_TClr.GetThubanColor): Fix bug in color interpretation.
249            Thanks to Frank Koormann who identified this problem.
250    
251            * Extensions/importAPR/importAPR.py (APR_VShSym): New. Just
252            another symbol identified.
253    
254    2005-06-27  Jan-Oliver Wagner <[email protected]>
255    
256            * Doc/manual/thuban-manual-de.xml: More translations.
257    
258    2005-05-12  Jonathan Coles <[email protected]>
259            
260            * Thuban/UI/projdialog.py: Add missing import, which led to an
261            exception when opening a layer's projection.
262    
263    2005-05-09  Bernhard Herzog  <[email protected]>
264    
265            * test/support.py (FileLoadTestCase.filename): Fix doc-string.
266    
267    2005-05-09  Bernhard Herzog  <[email protected]>
268    
269            * Thuban/Model/postgisdb.py (PostGISConnection.connect): Set the
270            connection to autoconnect.  Fixes RT#3148.
271    
272            * test/test_postgis_db.py
273            (TestPostGISSpecialCases.test_simple_error_handling): New test
274            that attempts to reproduce RT#3148.
275    
276    2005-05-06  Jonathan Coles <[email protected]>
277    
278            Add support for saving and loading the opacity and mask type
279            properties of RasterLayers. Also add support for proper use
280            of alpha information while drawing images not in 'RAW' format.
281            If transparency in an image format (e.g, PNG) is supported by
282            wxWidgets then the image would previously have been draw with
283            transparent regions, but the opaque regions would have been
284            unaffected by a change in the layer's opacity. This patch
285            corrects the problem.
286    
287            * Thuban/Model/layer.py (RasterLayer): Added opacity and
288            masktype parameters to the constructor, and set the
289            appropriate variables to those values.
290    
291            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Added
292            code to read the opacity and mask type of the layer and construct
293            a new layer with the additional parameters.
294    
295            * Thuban/Model/save.py (SessionSaver.write_layer): Added code
296            to save the opacity and mask type of a layer.
297    
298            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
299            the opacity of the layer to draw_raster_data rather than the layer.
300            (BaseRenderer.draw_raster_data): Remove the layer parameter because
301            the function doesn't need to know about the layer. Add the optional
302            opacity parameter whose default is 1.0. Add 'PNG' as a supported
303            graphics format.
304    
305            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Fixed
306            signature to match that in BaseRenderer. Use the new opacity argument
307            in place of calling layer.Opacity(). In the case where the
308            format is not 'RAW', alpha_data is None and the loaded image has
309            alpha information, use the file's alpha information. This is
310            still subject to the layer's opacity setting.
311    
312            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
313            Fixed signature to match that in BaseRenderer.
314    
315            * test/test_load.py (TestRasterLayer): Change file_contents to
316            include opacity and masktype variables.
317            (TestRasterLayer.test): Include tests for opacity and masktype
318            changes.
319    
320            * test/test_save.py (SaveSessionTest.testRasterLayer): Restructure
321            test to cover a variety of combinations of masktype and opacity
322            settings.
323    
324    2005-05-02  Jan-Oliver Wagner <[email protected]>
325    
326            * debian/rules: add --use-wx-python-swig-hack
327            to the build command.
328            Thanks to Moritz Lennert for pointing this out.
329    
330    2005-04-28  Jan-Oliver Wagner <[email protected]>
331    
332            Introduce OGRFileShapeStore in ogr extension.
333            This allows at least that loaded shapefile shape stores
334            can be saved correctly in the thuban session file
335            and reloaded again (reload is via core shapefile
336            routine, not OGR). For other types, .thuban files
337            can not be reloaded for the time being.
338    
339            * Extensions/ogr/ogrshapes.py (OGRFileShapeStore): New. This
340            class ist to be used for any file-based shape stores
341            accessed through OGR.
342    
343            * Extensions/ogr/ogrstart.py (open_with_ogr): Added
344            forgotten _ for i18n. Adapted call OpenFileShapestore
345            regarding new parameter.
346            (OpenFileShapestore): Use OGRFileShapeStore instead of
347            OGRShapeStore. Fix return value (None instead of null).
348            Add new parameter "mainwindow" to avoid accessing global
349            context.
350    
351    2005-04-27  Jan-Oliver Wagner <[email protected]>
352    
353            Introduce FileShapeStore as generalization for
354            file-based shape stores. In a first instance
355            this allows additional modules to handle shapefile
356            format as well, namely the OGR extension.
357    
358            * Thuban/Model/data.py: Various small fixes in doc-strings.
359            (FileShapeStore): New class.
360            (ShapefileStore): Derive from FileShapeStore.
361            (ShapefileStore.__init__): Call __init__ of FileShapeStore,
362            rename self.table to self._table, initialize self._bbox
363            (ShapefileStore._open_shapefile): Use self._bbox instead of self.bbox
364            and self.FileName() instead of self.filename.
365            (ShapefileStore.Table): Use self._table instead of self.table.
366            (ShapefileStore.FileName): Removed (moved to FileShapeStore).
367            (ShapefileStore.BoundingBox):  Use self._bbox instead of self.bbox.
368    
369            * Thuban/Model/save.py: Replace ShapefileStore by FileShapeStore.
370            (SessionSaver.write_data_containers): Only use methods of the
371            base class FileShapeStore.
372    
373    2005-04-26  Martin Schulze  <[email protected]>
374    
375            * Extensions/wms/wms.py (render_wms_layer): Adjusted the render
376            function to the modified render engine
377    
378    2005-04-25  Martin Schulze  <[email protected]>
379    
380            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
381            Added a description according to the CVS log message
382    
383    2005-04-23  Martin Schulze  <[email protected]>
384    
385            * Thuban/UI/renderer.py: Added a missing import
386    
387    2005-04-23  Russell Nelson  <[email protected]>
388    
389            * Thuban/UI/view.py (MapCanvas.OnMiddle{Up,Down}): Changed the
390            way the previous tool is remembered, so that middle-button
391            panning works even if you haven't selected a tool.
392    
393    2005-04-11  Bernhard Herzog  <[email protected]>
394    
395            * libraries/thuban/wxproj.cpp: Move the compatibility code that
396            deals with the wxPython 2.4 version of wxPython.h into the #ifdef
397            branch that includes wxPython.h because it's only needed when
398            wxPython.h is used.  Also, it won't compile when
399            USE_WX_PYTHON_SWIG_HACK is set otherwise.
400    
401    2005-04-07  Bernhard Herzog  <[email protected]>
402    
403            * Thuban/UI/classifier.py (ClassGrid.__init__): Use -1 as the ID.
404            (ID_CLASS_TABLE): Removed. It wasn't used anywhere except in
405            ClassGrid.__init__ and it's value is outside of the valid
406            range (must be < 32768).  wxPython 2.5 complains about it with an
407            exception.
408    
409    2005-04-05  Jan-Oliver Wagner <[email protected]>
410    
411            * Doc/manual/thuban-manual-de.xml: More translations.
412    
413    2005-04-05  Bernhard Herzog  <[email protected]>
414    
415            * libraries/thuban/wxproj.cpp: Make it work with a wxPython.h from
416            wxPython 2.4 as well.  Also, remove a now obsolete comment.
417    
418    2005-04-05  Bernhard Herzog  <[email protected]>
419    
420            Use wxPython.h by default but provide a workaround when it isn't
421            available.
422    
423            * setup.py (wxproj_extension): New variable.  Assign the Extension
424            instance for Lib.wxproj to this variable instead of putting it
425            directly into the listso that it can be accessed by other code
426            later.
427            (thuban_build_ext.user_options): Added boolean option
428            --use-wx-python-swig-hack.
429            (thuban_build_ext.initialize_options): Initialize the new option
430            to False.
431            (thuban_build_ext.finalize_options): If the new option was given,
432            define the preprocesser macro USE_WX_PYTHON_SWIG_HACK.
433            (thuban_build_ext): Update the doc-string
434    
435            * libraries/thuban/wxproj.cpp: Normally we use
436            wx/wxPython/wxPython.h now.  Only if USE_WX_PYTHON_SWIG_HACK is
437            defined, use swigPtrConvertHack.h instead.
438    
439            * libraries/thuban/swigPtrConvertHack.h: Remove the code that was
440            copied over from wxPython.h.
441            (decode_pointer_new): New.  Equivalent of decode_pointer for
442            wxPython 2.5.
443            (wxPyConvertSwigPtr): Modified to cope with wxPython 2.5 as well.
444    
445            * README: Add section on potential build problems which explains
446            how the work-around for a missing wxPython.h is activated.
447    
448    2005-03-29  Bernhard Herzog  <[email protected]>
449    
450            * test/postgissupport.py (find_postgis_sql): Added yet another
451            potential location for (lw)postgis.sql because the file has moved
452            again in postgis 1.0.0 rc4.
453    
454    2005-03-29  Bernhard Herzog  <[email protected]>
455    
456            * Thuban/UI/legend.py (BMP_SIZE_W, BMP_SIZE_H): Set both to 16 to
457            match the site of the legend_icon_layer icon.  Otherwise wxpython
458            2.5 complains when the legend is created with the error:
459    
460            PyAssertionError: C++ assertion "(bitmap.GetWidth() == m_width &&
461            bitmap.GetHeight() == m_height) || (m_width == 0 && m_height ==
462            0)" failed in ./src/generic/imaglist.cpp(81): invalid bitmap size
463            in wxImageList: this might work on this platform but definitely
464            won't under Windows.
465    
466    2005-03-23  Jonathan Coles <[email protected]>
467    
468            These changes add support for adjusting the opacity of a raster layer.
469    
470            * Thuban/Model/layer.py (RasterLayer.Opacity): Replaces AlphaOpacity.
471            (RasterLayer.SetOpacity): Replaces SetAlphaOpacity. Also triggers
472            a LAYER_CHANGED event if the opacity actually changes.
473    
474            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_data): Added
475            layer parameter needed in the implementation of this method in
476            renderer.py.
477    
478            * Thuban/UI/layerproperties.py (LayerProperties.dialog_layout): Fixed
479            typo 00 -> 0.
480    
481            * Thuban/UI/rasterlayerproperties.py (RasterLayerProperties): Added
482            control to adjust opacity.
483    
484            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Scale the
485            alpha data based on the opacity level of the layer.
486    
487            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Now
488            accepts a layer parameter.
489    
490            * test/test_layer.py (TestLayerModification.test_raster_layer):
491            Rename opacity method calls and add test for LAYER_CHANGED.
492    
493    2005-03-16  Bernhard Herzog  <[email protected]>
494    
495            * test/test_connector.py (DeletionTestMixin.check_deletions)
496            (DeletionTestMixin.check_deletetions): renamed to check_deletions.
497            update the callers.
498    
499    2005-03-14  Jan-Oliver Wagner <[email protected]>
500    
501            * Doc/manual/thuban-manual-de.xml: More translations.
502    
503    2005-03-10  Jan-Oliver Wagner <[email protected]>
504    
505            Introducing initialization callbacks for extensions.
506    
507            * Thuban/UI/extensionregistry.py (ExtensionDesc.__init__): Added
508            optional parameter init_callback.
509            (ExtensionDesc.init_ext): New. Executes the callback and sets
510            a status.
511    
512            * Thuban/UI/application.py (ThubanApplication.OnInit): Add the
513            initialization of the extensions.
514            (ThubanApplication.init_extensions): Init all extensions.
515    
516            * Thuban/UI/about.py (About.__init__): Added status of the extensions
517            to the about text.
518    
519            * Extensions/gns2shp/__init__.py: Added init method for Extension
520            description.
521            (init): New. Contains the initialization of the module.
522    
523    2005-03-04  Nina H�ffmeyer <[email protected]>
524    
525            * Extensions/ogr/ogrdialog.py: Added a dialog, which asks for
526            OGRConnection to open a datasource. Removed dialog to display all
527            available drivers. Added some doc strings.
528    
529            * Extensions/ogr/ogrstart.py: Added menu entry for opening an
530            OGRDatasource with a string. Added two opening methods which return an
531            OGRDatasource (either data from file or from DB).
532    
533            * Extensions/ogr/ogrshapes.py: Added class OGRGeometry, which
534            represents a geometry reference of an OGRFeature. OGRShape now has a
535            list of referenced geometry objects (important for geometry
536            collections).
537            For OGRShapeStores loaded from a DB an ID column can be specified now.
538    
539    2005-02-22  Jan-Oliver Wagner <[email protected]>
540    
541            * test/test_map.py (TestMapWithContents.test_tree_info):
542            Added label layer for comparison.
543    
544    2005-02-18  Jonathan Coles <[email protected]>
545    
546            * libraries/thuban/gdalwarp.cpp (GetImageData): Optimize the loop
547            which builds a mask. Handle the majority of an image in a loop,
548            creating 8 bits at a time. Later, handle the edge case where less
549            than 8 bits are packed.
550    
551    2005-02-18  Bernhard Herzog  <[email protected]>
552    
553            * test/test_baserenderer.py (TestBaseRenderer.setUp): Fix
554            doc-string
555    
556    2005-02-18  Jonathan Coles <[email protected]>
557    
558            * setup.py: Remove wx_cs_params from gdal compile options.
559    
560    2005-02-18  Jonathan Coles <[email protected]>
561    
562            Refactored baserenderer.py and renderer.py to remove baserenderer.py's
563            dependencies on wxPython. Added a new method projected_raster_layer()
564            that returns a raster layer image in projected space. This must be
565            implemented in classes derived from BaseRenderer. This also eliminates
566            the dependency on gdal in baserenderer.py.
567    
568            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Call
569            new projected_raster_layer() to get projected raster image instead
570            of directly calling ProjectRasterFile().
571            (BaseRenderer.projected_raster_layer): New. This must be implemented
572            by derived classes. It takes almost the same arguments as ProjectRasterFile
573            did and returns a projected image with mask and alpha data (if requested).
574            (BaseRenderer.render_map_incrementally): Remove the check for gdal since
575            that check will be done in MapRenderer.projected_raster_layer(). This
576            also allows other implementations to use different projection code.
577    
578            * Thuban/UI/renderer.py (MapRenderer.projected_raster_layer):
579            Implementation of BaseRenderer.projected_raster_layer. Checks for
580            gdal support and wxPython version. Also handles exceptions from
581            ProjectRasterFile.
582    
583            * libraries/thuban/gdalwarp.cpp: Removed checks for wxPython versions
584            and added a variable which can be set through the options argument
585            of ProjectRasterFile.
586    
587            * test/test_baserenderer.py (SimpleRenderer.projected_raster_layer): New.
588            Calls ProjectRasterFile and returns the result.
589            (TestBaseRenderer.test_projected_raster_layer): New. Tests the results
590            of calling projected_raster_layer() with different options.
591            (TestBaseRenderer.test_raster_no_projection): Removed tests based on
592            wxPython version and all tests of masks and alpha channels. These are
593            now in test_projected_raster_layer().
594    
595    2005-02-17  Jan-Oliver Wagner <[email protected]>
596    
597            * Thuban/Model/map.py, Thuban/Model/label.py: Fixed
598            doc-strings to comply with coding_guidelines.
599    
600    2005-02-17  Jan-Oliver Wagner <[email protected]>
601    
602            Docstring improvements and minor fixes for labellayer.
603    
604            * Thuban/Model/map.py:
605            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
606            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
607            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
608            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
609            doc string.
610            (Map.BoundingBox): Removed superfluous test for label_layer
611            and improved doc string.
612            (Map.TreeInfo): Added label_layer and improved sdo string.
613    
614            * Thuban/Model/label.py: Added import of _.
615            (Label, Label.__init__): Improved/added doc string.
616            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
617            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
618            Improved/added doc string.
619            (LabelLayer.AddLabel): Use already defined names for
620            align strings and improved doc string.
621            (LabelLayer.TreeInfo): New. Return the object data for
622            the tree view.
623    
624    2005-02-16  Jonathan Coles <[email protected]>
625    
626            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
627            so that that wxproj doesn't crash. Added GUI support for selecting
628            alpha channel (opacity can't be selected yet).
629    
630            NOTE: If wxPython.h is including in future distribution packages
631            then it will not be necessary to have the files swigPtrConvertHack.h
632            and wxPython_int.h included with Thuban. This is hopefully
633            a temporary workaround.
634    
635            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
636            access to the macro wxCHECK_VERSION so that it will properly
637            generate a bit mask. There was a problem between wx2.4 and wx2.5
638            that this works around.
639    
640            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
641            of RasterLayer.MaskType.
642            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
643            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
644            specify none, a bitmap, or an alpha channel.
645            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
646    
647            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
648            Set the raster warping options for the mask based on the value
649            of RasterLayer.MaskType.
650    
651            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
652            deprecated calls to SetItemSelectedImage in favor of SetItemImage
653            with wxTreeItemIcon_Selected.
654    
655            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
656            an alpha channel for the mask.
657    
658            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
659            data if it is available and an alpha channel is supported under
660            the current version of wxPython.
661    
662            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
663            to select whether 1's or 0's select the desired portion of an image
664            in the bit mask. wx2.4 has a bug where the documentation is the opposite
665            from behavior.
666            (ProjectRasterFile): Only generate an alpha channel if the version
667            of wxPython is >= 2.5.3.
668    
669            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
670            When wxPython >= 2.5.3 use the special swig functions to decode an
671            object's address.
672    
673            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
674            based on the version of wxPython. If >= 2.5.3 use the special swig
675            functions from wxPython to decode wxPython objects, otherwise use
676            the old method of retrieving the address from the object __repr__ string.
677    
678            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
679            Unnecessary code was removed to make it smaller.
680    
681            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
682            Add tests for returning an alpha channel.
683    
684            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
685            tests that used removed functions UseMask and SetUseMask
686    
687    
688    2005-02-08  Bernhard Herzog  <[email protected]>
689    
690            More wxPython 2.5 changes.  This time taken from a patch from
691            Daniel Calvelo Aros.
692    
693            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
694            (QueryTableFrame.__init__): Pass the size of a spacer as a single
695            item.
696    
697            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
698            (ProjFrame.build_dialog): Pass the size of a spacer as a single
699            item.
700    
701            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
702            size of a spacer as a single item.
703    
704            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
705            size of a spacer as a single item.
706    
707    2005-02-08  Bernhard Herzog  <[email protected]>
708    
709            Compatibility with wxPython 2.5.  The changes should make it work
710            better with 2.5 while still keeping compatibility with 2.4.  There
711            are still problems with 2.5, though.
712    
713            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
714            of a spacer as a single item.
715    
716            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
717            from wxControl
718    
719            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
720            2.5, add an implementation of the GetFirstChild method that does
721            not require the second parameter.
722            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
723            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
724            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
725            pass the second parameter to GetFirstChild
726    
727    2005-02-08  Nina H�ffmeyer <[email protected]>
728    
729            * Extensions/ogr/ogrshapes.py: Removed some print commands.
730    
731            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
732            additional menu but appears as a possibility in the menu Map.
733    
734    2005-02-07  Jonathan Coles <[email protected]>
735            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
736            and PYTHON_ERRF since they were no longer necessary.
737    
738    2005-02-07  Bernhard Reiter <[email protected]>
739            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
740            Enable translation for message string.
741    
742    2005-02-06  Martin Schulze  <[email protected]>
743    
744            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
745            the arguments of the contstructor to fit the global scheme
746    
747    2005-01-31  Nina H�ffmeyer <[email protected]>
748    
749            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
750            some dialogs needed to start ogr.
751            
752            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
753            warnings.
754    
755            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
756            encoding warnings.
757    
758    2005-01-28  Jonathan Coles <[email protected]>
759    
760            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
761            mask is packed into a bit array. It's now slightly faster.
762    
763    2005-01-28  Jonathan Coles <[email protected]>
764    
765            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
766            default to true.
767    
768            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
769            code that loads the state of the layer's use_mask flag. Its
770            usefulness is still being debated.
771    
772            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
773            code that saves the state of the layer's use_mask flag. Its
774            usefulness is still being debated.
775    
776            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
777            options to ProjectRasterFile based on the state of layer.UseMask().
778            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
779            quit is there is a problem projecting.
780            (BaseRenderer.draw_raster_data): Change the documentation to
781            describe the new format (XBM) that the mask data will be in.
782    
783            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
784            data is in XBM format when format='RAW' which means it doesn't
785            need to be converted to a wxImage before being used as a mask
786            for a wxBitmap. Assume that if format != 'RAW' that the image
787            data and mask data are in the same format.
788    
789            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
790            and a mask is requested, convert the alpha band to a bit array in
791            XBM format. if an alpha channel is requested, simply return the
792            data in the alpha band. Provide better error handling by returning
793            python error messages (also fixes RT #2947).
794            (ProjectRasterFile): Support multiple mask options, rather than simply
795            a flag indicating that a mask should or should not be used. Provide
796            better error handling by returning python error messages.
797    
798            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
799            Add mask data to test.
800    
801            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
802            should use the mask by default.
803            (TestLayerModificaton.test_raster_layer): Test that a layer should use
804            the mask by default.
805    
806            * test/test_load.py (TestRasterLayer.test): Remove testing for
807            use_mask flag in file.
808    
809            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
810            for use_mask in file.
811    
812            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
813            
814    2005-01-26  Jonathan Coles <[email protected]>
815    
816            Add a new dialog box for raster layers. The dialog box allows
817            the user to toggle a mask that is generated by ProjectRasterFile
818            and is used to only draw the real parts of the projected image.
819    
820            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
821            Instruct the warping code to generate a mask if the raster layer
822            requests one.
823            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
824    
825            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
826            obsolete optional mask argument.
827    
828            * Thuban/UI/classifier.py (Classifier): Change the parent class
829            to LayerProperties and rework the code to support layout calls
830            from the parent.
831            (Classifier.dialog_layout): New. Layout the dialog box.
832            (Classifier.map_layers_removed): Removed. Moved to parent class.
833            (Classifier.map_replaced): Removed. Moved to parent class.
834            (Classifier._OnTry): Renamed to OnTry to support parent class.
835            (Classifier.OnClose): Removed. Supplied in parent class.
836            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
837            (Classifier._OnOK): Renamed to OnOK to support parent class.
838            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
839    
840            * Thuban/UI/layerproperties.py: New. Base class for layer properties
841            dialog boxes.
842    
843            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
844            raster layer properties.
845    
846            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
847            with the non-simple version supplied with gdal. This allows added
848            features such as creating an alpha band.
849            (GetImageData): Generate a mask array from the alpha band that is
850            generated by gdal if the user has selected it. Try to support images
851            that have more than three bands, such as images with RGB plus an
852            alpha band.
853            (ProjectRasterFile): Convert python argument for mask and tell
854            gdal to enable or disable an alpha band.
855    
856            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
857            describing what kind of layer the class is. Defaults to "Unknown",
858            but should be overridden by subclasses.
859            (Layer.Type): New. Override base class method.
860            (RasterLayer.__init__): Create a flag for using a mask. Record extra
861            data from gdal for display in the properties dialog.
862            (RasterLayer.Type): New. Override base class method.
863            (RasterLayer.UseMask): New. Returns True if the mask should be used.
864            (RasterLayer.SetUseMask): New. Set if the mask should be used.
865            (RasterLayer.ImageInfo): New. Return extra information about the image.
866    
867            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
868            the mask information.
869    
870            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
871    
872            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
873            Classifier classes as dialogs to use with the proper layer types.
874    
875            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
876            Fix test.
877    
878            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
879            (TestLayerModification.build_path): New. Support function.
880            (TestLayerModification.test_raster_layer): New. Test new methods.
881    
882            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
883    
884            * test/test_load.py (TestRasterLayer): Add tests for mask.
885    
886            * test/test_load_1_0_1.py: New. Copied from test_load.py.
887    
888            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
889            obsolete optional mask argument.
890    
891    2005-01-26  Nina H�ffmeyer <[email protected]>
892    
893            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
894            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
895            RowOrdinalToId() and ReadRowAsDict().
896    
897            * Extensions/ogr/ogrstart.py: Added menu item which opens database
898            layers for existing database connections.
899    
900            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
901    
902    
903    2005-01-26  Jan-Oliver Wagner <[email protected]>
904    
905            * Doc/manual/thuban-manual-de.xml: More translations.
906    
907    2005-01-24  Bernhard Herzog  <[email protected]>
908    
909            Rework the status bar updates a bit to make sure the message about
910            the projections is produced at the right times.
911    
912            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
913            New class variable with messages that may require a status bar
914            update.
915            (MainWindow.view_position_changed)
916            (MainWindow.update_status_bar): Rename from view_position_changed
917            to update_status_bar.  It's meaning has changed now that it may
918            also generate messages about problems with projection settings.
919            (MainWindow.__init__): Use the new update_status_bar_messages
920            class variable to subscribe update_status_bar
921            (MainWindow.set_position_text): Update doc-string.  This method
922            has to be renamed at some point.  See doc-string and comments.
923            (MainWindow.OnClose): Unsubscribe update_status_bar from all
924            messages in update_status_bar_messages
925    
926            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
927            class attribute.  map messages to be forwarded by the viewport.
928            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
929            the messages in forwarded_map_messages
930    
931    2005-01-21  Bernhard Herzog  <[email protected]>
932    
933            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
934            doc-string
935            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
936            different name for the initialization SQL file.
937    
938  2005-01-21  Jonathan Coles <[email protected]>  2005-01-21  Jonathan Coles <[email protected]>
939    
940          * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes          * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes

Legend:
Removed from v.2542  
changed lines
  Added in v.2677

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26