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

Legend:
Removed from v.2533  
changed lines
  Added in v.2718

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26