/[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 1272 by jonathan, Fri Jun 20 16:43:13 2003 UTC revision 1372 by bh, Fri Jul 4 18:19:33 2003 UTC
# Line 1  Line 1 
1    2003-07-04  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
4            function for table_to_dbf
5            (table_to_dbf): Deal with names longer than the 10 character limit
6    
7            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
8            doc-string
9            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
10            long column names
11    
12    2003-07-03  Bernhard Herzog  <[email protected]>
13    
14            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
15    
16    2003-07-03  Bernhard Herzog  <[email protected]>
17    
18            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
19            for the Thuban manual and README with some basic information about
20            the manual
21    
22    2003-07-03  Bernhard Herzog  <[email protected]>
23    
24            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
25            Update doc-string
26            (TransientJoinedTable.create): Do not modify the column objects of
27            the input tables in place and copy all columns of the input tables
28            into the joined table after all.
29    
30            * test/test_transientdb.py
31            (TestTransientTable.test_transient_joined_table_same_column_name):
32            Update to reflect the new behavior
33            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
34            Update to reflect the new behavior
35            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
36            New test case for a bug which modified the column objects in place
37    
38    2003-07-02  Jonathan Coles   <[email protected]>
39    
40            * Thuban/Model/classgen.py (generate_singletons,
41            generate_uniform_distribution, generate_quantiles,
42            GenQuantiles0): Make sure maxValue isn't less than
43            one, otherwise we could divide by zero.
44    
45            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
46            ClassGenTest.doClassSingleTest): Call doBoundsTest to
47            check the end classification groups against the
48            proper property values.
49            (ClassGenTest.doBoundsTest): New. Checks the first and
50            last classification groups to make sure their properties
51            are the correct upper and lower bounds for a color ramp.
52    
53    2003-07-02  Jonathan Coles   <[email protected]>
54    
55            * Thuban/Model/classgen.py (generate_singletons,
56            generate_uniform_distribution, generate_quantiles,
57            GenQuantiles0): The denominator was one to high when
58            calculating the index for the ramp causing the index
59            to never to reach one.
60    
61    2003-07-02  Jonathan Coles   <[email protected]>
62    
63            Changed the singature of ClassGroupRange.__init__ and
64            ClassGroupRange.SetRange() so that the min/max values are
65            passed as a tuple. This makes a better calling scheme for
66            when a Range object is passed instead.
67    
68            * Thuban/Model/classgen.py: Fixed parameters to
69            ClassGroupRange constructor.
70    
71            * Thuban/Model/classification.py (ClassGroupRange.__init__):
72            Consolidate the min/max parameters into a single _range which
73            can either be a tuple or a Range object.
74            (ClassGroupRange.SetRange): Consolidate the min/max parameters
75            into a single _range which can either be a tuple or a Range object.
76    
77            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
78            call to ClassGroupRange constructor to use a tuple.
79    
80            * Thuban/Model/layer.py (Layer.SetClassification): Switch
81            the classification instance variable to the new class
82            before calling _set_layer otherwise subscribers to a
83            LAYER_CHANGED event will not see any difference.
84    
85            * test/test_classification.py: Fix tests of ClassGroupRange
86            so that they use the new signature.
87    
88            * test/test_load.py: Fix use of ClassGroupRange so that it
89            uses the new signature.
90    
91            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
92            uses the new signature.
93    
94            * test/test_save.py: Fix use of ClassGroupRange so that it
95            uses the new signature.
96    
97    
98    2003-07-01  Jonathan Coles   <[email protected]>
99    
100            * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.
101            Import used objects/class from color.
102            (generate_singletons): We don't
103            need the numGroups parameter anymore because we are using
104            the new ramps with GetProperties().
105            (generate_uniform_distribution): Use new ramp method
106            GetProperties().
107            (generate_quantiles, GenQuantiles0): Use new ramp method
108            GetProperties().
109            (CustomRamp.SetNumGroups): Removed. The ramps now map
110            a value from 0 to 1 to class properties so the number
111            of groups is not needed ahead of time.
112            (CustomRamp.next): Removed. CustomRamp does not support
113            interation anymore.
114            (CustomRamp.GetProperties): Returns a ClassGroupProperties
115            object based on the index value from 0 to 1 that is
116            passed to it.
117            (GreyRamp, RedRamp, GreenRamp, BlueRamp, GreenToRedRamp):
118            Made into instances of Monochromatic class instread of
119            deriving from it.
120            (HotToCold.SetNumGroups): Removed. See CustomRamp.
121            (HotToCold.next): Removed. See CustomRamp.
122    
123            * Thuban/Model/classification.py: Fixes RTbug #1973, 1971.
124            (Classification.SetField, Classification.SetFieldType):
125            Replaced with SetFieldInfo.
126            (Classification.SetFieldInfo): New. Does a better job of
127            what SetField and SetFieldType used to do by combining
128            their function since they should really always be done
129            at the same time.
130            (Classification.SetLayer): Renamed to _set_layer.
131            (Classification._set_layer): Should only be called from
132            Layer's SetClassification. This does not cause a recursive
133            call as SetLayer did because we know that Layer knows about
134            the classification.
135    
136            * Thuban/Model/color.py: Fixes RTbug #1971.
137            (_Transparent): Renamed from Transparent so it doesn't
138            conflict with the module variable.
139            (Transparent, Black): Renamed from Color.Transparent,
140            Color.Black so they are not class variables.
141    
142            * Thuban/Model/layer.py: Fixes RTbug #1971, 1973.
143            (Layer.Destroy): We don't need to call SetClassification
144            anymore to clear out the back reference in the classifcation
145            to the layer. It's better to set it to None using _set_layer,
146            and we won't be creating another clas object too.
147            (Layer.SetClassification): Classification._set_layer is not
148            recursive so remove all the locking variables. Also clean
149            up the code so that it remains unchanged if something fails.
150    
151            * Thuban/Model/load.py: Fixes RTbug #1971.
152            (SessionLoader.start_classification): Call
153            Classification.SetFieldInfo().
154    
155            * Thuban/Model/save.py: Removed import of Color which wasn't
156            being used.
157    
158            * Thuban/UI/classgen.py: Fixes RTbug #1972.
159            (ClassGenDialog.__init__): Color ramps are now instances
160            already so we don't need to create any new objects.
161            (ClassGenDialog.OnOK): Check for numGroups is no longer
162            necessary because we never use it.
163    
164            * Thuban/UI/classifier.py: Fixes RTbug #1971.
165            (Classifier.__BuildClassification, Classifier.__SetGridTable):
166            Call Classification.SetFieldInfo() instead of SetFieldType.
167    
168            * Thuban/UI/renderer.py: Fixes RTbug #1971.
169    
170            * Thuban/UI/view.py: Fixes RTbug #1974, 1971.
171            (MapCanvas.__init__): Subscribe to the idle time event. Set
172            background color to white.
173            (MapCanvas.OnPaint): Set a flag indicating that we should
174            render the map during idle time. If we already have a bitmap
175            just draw it now.
176            (MapCanvas.OnIdle): New. Render the map only during idle time.
177            This also fixes a problem with the busy cursor under gtk.
178    
179            * test/test_classgen.py (ClassGenTest.test_generate_singletons):
180            Fix calls to generate_singletons because the signature changed.
181    
182            * test/test_classification.py: Fix color references and
183            change calls to Classification.[SetField|SetFieldType] to
184            SetFieldInfo.
185    
186            * test/test_load.py: Fix color references.
187    
188            * test/test_load_0_2.py: Fix color references.
189    
190            * test/test_save.py (SaveSessionTest.testClassifiedLayer):
191            Change calls to Classification.[SetField|SetFieldType] to
192            SetFieldInfo.
193    
194    2003-07-01  Frank Koormann   <[email protected]>
195    
196            MERGE from the greater-ms3 branch.
197    
198            * test/test_transientdb.py
199            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
200            New. Test join of two tables with partly equal column names.
201    
202            * Thuban/Model/transientdb.py (TransientJoinedTable.create):
203            If duplicates in left and right tables column names are found,
204            append '_' (underscores) to the name until it is unique.
205            Create always new internal names for the resulting table and reference
206            columns in the join statement with <table>.<column>
207    
208    2003-07-01  Bernhard Herzog  <[email protected]>
209    
210            * test/test_transientdb.py
211            (TestTransientTable.test_transient_joined_table_same_column_name):
212            New. Test whether joining on columns with the same names in both
213            tables works.
214            
215            * Thuban/Model/transientdb.py (TransientJoinedTable.create): Make
216            sure to use the right internal names even when joining on field
217            with the same names in both tables. Also, detect duplicate names
218            in the joined table correctly.
219    
220    2003-07-01  Frank Koormann   <[email protected]>
221    
222            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
223            Reverse List of layers to render in same order as in desktop legend.
224    
225    2003-06-30  Jonathan Coles   <[email protected]>
226    
227            * Thuban/version.py (make_tuple): Takes a version string
228            and splits it into a tuple of at most three integers.
229            Used make_tuple() to make tuple versions of the version
230            numbers.
231    
232            * Thuban/UI/about.py: Add Thuban email addresses.
233    
234    2003-06-30  Jonathan Coles   <[email protected]>
235    
236            * Thuban/version.py: SQLite/PySQLite version dependencies
237            were too high.
238    
239    2003-06-30  Jonathan Coles   <[email protected]>
240    
241            * Thuban/version.py: Update version to 0.8.1
242            
243            * MANIFEST.in: Added Projections so that default.proj is
244            included.
245    
246    2003-06-26  Jonathan Coles   <[email protected]>
247    
248            New About box with lots more information including library
249            versions and credits. More/better version checking before
250            Thuban starts.
251    
252            * Thuban/UI/about.py: New. New About box that displays
253            library version information and credits.
254    
255            * Thuban/version.py: Added new 'versions' dictionary which
256            contains the verions of various libraries which are checked
257            when the module loads.
258            (verify_versions): Check all version numbers and returns
259            a list of errors.
260    
261            * Thuban/UI/classifier.py (Classifier.__EnableButtons):
262            Reset the status of the buttons as the situation warrants,
263            but in a better more reliable way by not relying on the
264            current status to determine what needs to change.
265    
266            * Thuban/UI/main.py (wxCHECK_VERSION): Removed. Not needed.
267            (verify_versions): Remove most of the code since it is
268            now in Thuban.version.verify_versions.o
269    
270            * Thuban/UI/mainwindow.py (MainWindow.About): Call new
271            About box in Thuban.UI.about.
272    
273            * extensions/thuban/gdalwarp.cpp (get_gdal_version): New.
274            Returns the version of gdal library being used as a string.
275    
276            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
277            Removed.
278            (get_proj_version): Return the version of PROJ that the file
279            was compiled with.
280            (get_gtk_version): Return th version of GTK that the file
281            was compiled with.
282    
283    2003-06-25  Jonathan Coles   <[email protected]>
284    
285            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
286            of the SelectPropertiesDialog should be self so the window
287            appears on top.
288            (ClassGroupPropertiesCtrl.DoEdit): The parent
289            of the SelectPropertiesDialog should be self so the window
290            appears on top.
291    
292            * Thuban/UI/resource.py: Cleaned up how we determine file
293            extensions.
294            (GetImageResource): Return an wxImage from our Resources.
295    
296    2003-06-24  Jonathan Coles   <[email protected]>
297    
298            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
299            Check that a layer has a classification before trying
300            to get it. Raster layers don't have classifications.
301    
302    2003-06-23  Jonathan Coles   <[email protected]>
303            
304            * setup.py: Add Resources/XML to resource list.
305        
306    2003-06-23  Jonathan Coles   <[email protected]>
307    
308            * setup.cfg: Fix copyright dates
309        
310    2003-06-23  Jonathan Coles   <[email protected]>
311    
312            * MANIFEST.in: Update with Resources/XML
313    
314            * setup.py: Don't include Locale resources yet as we don't
315            have any and it causes problems building the distribution
316            for Windows. Update version to 0.8.0.
317    
318            * Doc/thuban.dtd: Removed since it is now in Resources/XML.
319    
320            * Thuban/UI/mainwindow.py: Add blank line at the end because
321            file was not being read correctly building the Windows
322            distribution.
323    
324    2003-06-23  Jonathan Coles   <[email protected]>
325    
326            * Thuban/UI/mainwindow.py (MainWindow.About): Fix text.
327    
328            * Thuban/version.py: Temporarily update longversion for
329            the 0.8 release so that it doesn't have the cvs revision.
330    
331    2003-06-23  Jonathan Coles   <[email protected]>
332    
333            * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield
334            to make sure that we don't create reentrant possibilities with
335            wxYield.
336    
337            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxBeginBusyCursor()
338            directly to avoid the wxSafeYield() call which generates an
339            OnPaint event causing infinite recursion. Don't try to catch
340            exception anymore. This was for before there were limits on map
341            scaling.
342    
343    2003-06-23  Bernhard Herzog  <[email protected]>
344    
345            Bug fix for RT #1961:
346    
347            * Thuban/Model/load.py (SessionLoader.start_derivedshapesource):
348            Register DerivedShapestores with the session
349    
350            * Thuban/Model/session.py (Session.Tables): Make sure each table
351            is only listed once.
352    
353            * test/test_load.py (TestJoinedTable.test): Add check_format call.
354            Update file contents to match the one written out.
355    
356    2003-06-20  Bernhard Herzog  <[email protected]>
357    
358            * test/xmlsupport.py (SaxEventLister.startElementNS)
359            (SaxEventLister.endElementNS): Do not include the qname. Python
360            2.2.1 and 2.2.2 and 2.2.3 differ in this regard. In 2.2.1 qname it
361            is (presumably incorrectly) None, whereas it's a string with the
362            element name in the later versions.
363    
364            * test/test_xmlsupport.py (TestEventList.test_even_list_simple)
365            (TestEventList.test_even_list_namespace): Update tests to reflect
366            the new behaviour
367            (TestEventList.test_even_list_id_normalization): Fix doc-string
368    
369    2003-06-20  Jonathan Coles   <[email protected]>
370    
371            * Thuban/Model/layer.py (BaseLayer.HasShapes): New. Overridden
372            by deriving classes to determine if that layer supports shapes.
373            (Layer): Override HasShapes and return true.
374    
375            * Thuban/UI/classgen.py: Use Thuban[Begin|End]BusyCursor()
376            instead of a direct call to wx[Begin|End]CusyCursor().
377            (GenUniquePanel._OnRetrieve): Set busy cursor while retrieving
378            table data.
379    
380            * Thuban/UI/common.py (ThubanBeginBusyCursor, ThubanEndBusyCursor):
381            New. Wrappers around the wxWindows functions that allow us to
382            make additional calls such as wxYield which gives the native
383            system a chance to update the cursor correctly.
384    
385            * Thuban/UI/tableview.py: Use Thuban[Begin|End]BusyCursor()
386            instead of a direct call to wx[Begin|End]CusyCursor().
387    
388            * Thuban/UI/view.py: Use Thuban[Begin|End]BusyCursor()
389            instead of a direct call to wx[Begin|End]CusyCursor().
390            (MapCanvas.find_shape_at): Check if the current search layer
391            support shapes, otherwise go on to the next layer.
392    
393            * test/test_layer.py: Add tests in each type of layer for
394            HasClassification() and HasShapes()
395    
396  2003-06-20  Jonathan Coles   <[email protected]>  2003-06-20  Jonathan Coles   <[email protected]>
397    
398          * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after          * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after

Legend:
Removed from v.1272  
changed lines
  Added in v.1372

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26