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

Legend:
Removed from v.2544  
changed lines
  Added in v.2701

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26