/[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 1876 by bh, Mon Oct 27 17:39:28 2003 UTC revision 1925 by bh, Fri Nov 7 12:07:38 2003 UTC
# Line 1  Line 1 
1    2003-11-07  Bernhard Herzog  <[email protected]>
2    
3            Tweak the usage of the sqlite database to make common use cases
4            more responsive. In most cases copying the data to the sqlite
5            database takes so long that using sqlite doesn't have enough
6            advantages.
7    
8            * Thuban/Model/transientdb.py (TransientTableBase.ValueRange): Add
9            comments about performance and query the min and max in separate
10            statements because only that way will indexes be used.
11            (TransientTableBase.UniqueValues): Add some comments about
12            performance.
13            (AutoTransientTable.ValueRange, AutoTransientTable.UniqueValues):
14            Do not copy the data to the transient DB but use the transient
15            copy if it exists. See the new comments for the performance trade
16            offs
17    
18            * test/test_transientdb.py
19            (TestTransientTable.test_auto_transient_table): Make sure that the
20            data is copied to the transient database at some point.
21    
22    2003-11-03  Bernhard Herzog  <[email protected]>
23    
24            * Thuban/Model/data.py (ShapefileStore.ShapesInRegion): Bind some
25            globals to locals so that it's a bit faster
26    
27    2003-11-03  Bernhard Herzog  <[email protected]>
28    
29            * Thuban/UI/baserenderer.py
30            (BaseRenderer.draw_shape_layer_incrementally): Use the ReadValue
31            method. ReadValue is faster than ReadRowAsDict since it only reads
32            one cell especially now that the dbf file objects actually
33            implement it.
34    
35            * Thuban/Model/table.py (DBFTable.ReadValue): Use the new
36            read_attribute method of the dbf objects
37    
38    2003-11-03  Bernhard Herzog  <[email protected]>
39    
40            * Extensions/profiling/profiling.py (popup_dialog_box): New config
41            variable to indicate whether the result should be shown in a
42            dialog box
43            (profile_screen_renderer, time_screen_renderer): Only show a
44            dialog box if popup_dialog_box is true.
45            (profile_screen_renderer): Flush stdout after the printing the
46            first part of the "profiling..." message
47    
48            * Thuban/UI/baserenderer.py
49            (BaseRenderer.draw_shape_layer_incrementally): Cache the pens and
50            brushes for the groups so that they're not created over and over
51            again
52    
53            * Thuban/Model/classification.py (Classification.__getattr__)
54            (Classification._compile_classification)
55            (Classification._clear_compiled_classification): New. Methods to
56            manage a 'compiled' representation of the classification groups
57            which is created on demand
58            (Classification.InsertGroup, Classification.RemoveGroup)
59            (Classification.ReplaceGroup): reset the compiled representation
60            (Classification.FindGroup): Use the compiled representation to
61            find the matching group
62            (ClassGroupRange.GetRangeTuple): New. Return the range as a tuple
63    
64    2003-10-31  Bernhard Herzog  <[email protected]>
65    
66            * Thuban/Model/classification.py (Classification.SetDefaultGroup):
67            Send a CLASS_CHANGED message
68            (Classification.RemoveGroup): Send a CLASS_CHANGED message and do
69            not return the removed group since it wasn't used.
70    
71            * test/test_classification.py
72            (TestClassification.test_set_default_group): New. Test the
73            SetDefaultGroup method
74            (TestClassification.test_insert_group): New. Test the InsertGroup
75            method
76            (TestClassification.test_remove_group): New. Test the RemoveGroup
77            method
78            (TestClassification.test_replace_group): New. Test the
79            ReplaceGroup method
80    
81    2003-10-31  Bernhard Herzog  <[email protected]>
82    
83            * test/test_classification.py (TestClassification.setUp):
84            Subscribe to the CLASS_CHANGED messages
85            (TestClassification.tearDown): New. Destroy the classification
86            properly
87            (TestClassification.test_defaults): Add tests for the default line
88            width and whether no messages were sent yet
89            (TestClassification.test_set_default_properties): Add tests for
90            messages and setting the default line width
91            (TestClassification.test_add_singleton)
92            (TestClassification.test_add_range)
93            (TestClassification.test_multiple_groups): Add tests for messages
94    
95    2003-10-31  Bernhard Herzog  <[email protected]>
96    
97            Some more refactoring in preparation for new tests:
98    
99            * test/test_classification.py (TestClassification.setUp): New.
100            Instantiate the classification here. Update the test methods
101            accordingly.
102            (TestClassification.test_multiple_groups): Make sure that the two
103            singletons matching 1 are considered different.
104    
105    2003-10-31  Bernhard Herzog  <[email protected]>
106    
107            * test/test_classification.py (red, green, blue): New. These
108            constants were used in several cases. Update the relevant methods.
109            (TestClassification.test_defaults)
110            (TestClassification.test_set_default_properties)
111            (TestClassification.test_add_singleton)
112            (TestClassification.test_add_range)
113            (TestClassification.test_multiple_groups)
114            (TestClassification.test_deepcopy): New. These were formerly all
115            part of the single method test.
116            (TestClassification.test_deepcopy): Removed.
117            (TestClassIterator): Removed. The test case is now a method of
118            TestClassification since it tests part of the public interface of
119            Classification
120            (TestClassification.test_iterator): New. Used to be
121            TestClassIterator effectively
122    
123    2003-10-31  Jan-Oliver Wagner <[email protected]>
124    
125            GUIfied the functions of the profiling extension.
126    
127            * /Extensions/profiling/__init__.py: New: Init to make this
128            directory a package.
129    
130            * Extensions/profiling/profiling.py: Moved menu entries to
131            the Extensions menu. Applied _() for strings.
132            (profile_screen_renderer): Catch the detailed printout and present
133            it in a dialog.
134            (time_screen_renderer): Raise a dialog to present the result instead
135            of printing it to stdout.
136    
137    2003-10-31  Bernhard Herzog  <[email protected]>
138    
139            * test/test_classification.py (TestClassGroupProperties)
140            (TestClassGroup, TestClassGroupDefault, TestClassGroupRange)
141            (TestClassGroupSingleton, TestClassIterator, TestClassification):
142            Split TestClassification into several classes, one for each class
143            being tested. TestClassification itself now only tests
144            Classification. This split makes changes to the tests a bit easier
145    
146    2003-10-31  Bernhard Herzog  <[email protected]>
147    
148            * Extensions/profiling/profiling.py: New. Extension to measure
149            Thuban performance
150    
151    2003-10-31  Frank Koormann <[email protected]>
152    
153            Added two items to legend popup menu: Remove Layer and Show Layer Table
154    
155            * Thuban/UI/legend.py (LegendPanel._OnRemoveLayer,
156            LegendPanel._OnShowTable): New event handlers, call the corresponding
157            mainwindow methods.
158            (LegendTree._OnRightClick): Added items to popup menu.
159    
160    2003-10-30  Bernhard Herzog  <[email protected]>
161    
162            * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle
163            EVT_WINDOW_DESTROY
164            (ThubanFrame.OnDestroy): New. Handler for EVT_WINDOW_DESTROY. Does
165            nothing but is convenient for the derived classes.
166    
167            * Thuban/UI/tableview.py
168            (TableFrame.OnDestroy, LayerTableFrame.OnDestroy): New.
169            Unsubscribe the messages here not in OnClose because that might
170            get called multiple times. Fixes RT #2196
171            (TableFrame.OnClose, LayerTableFrame.OnClose): Removed. Not needed
172            anymore.
173    
174            * README: Update the minimum requirement for wxPython. Since we
175            now use the EVT_WINDOW_DESTROY event, we need at least 2.4.0.4,
176            the version in which that was introduced for all platforms
177    
178    2003-10-30  Frank Koormann <[email protected]>
179    
180            * Thuban/UI/join.py (JoinDialog.OnJoin): Wrapped the major parts of
181            the join process in a ThubanBeginBusyCursor, ThubanEndBusyCursor
182            frame.
183    
184    2003-10-30  Jan-Oliver Wagner <[email protected]>
185    
186            Improved APR import extension, added further EPSG definitions
187            and some cleanup regarding string class.
188    
189            * test/test_proj.py (TestProjection.test_get_projection_units_geo):
190            Added test for alias 'longlat'.
191    
192            * Resources/Projections/epsg-deprecated.proj: New. Contains
193            deprecated EPSG definitions.
194    
195            * Extensions/importAPR/odb.py (ODBBaseObject.TreeInfo): Added
196            the variable names for objects.
197    
198            * Extensions/importAPR/apr.py (APR_BLnSym, APR_BMkSym, APR_BShSym): New.
199            Copied from importAPR and provided with documentation.
200    
201            * Extensions/importAPR/importAPR.py (APR_BLnSym, APR_BMkSym, APR_BShSym):
202            Moved to apr.py.
203            (APR_View): Added object ref 'ITheme'.
204    
205            * Thuban/Lib/fileutil.py, Thuban/UI/proj4dialog.py: Replaced string
206            split function by corresponding use of the string class method.
207    
208            * Thuban/Model/xmlwriter.py: Replaced string replace function by
209            corresponding string method.
210    
211    2003-10-29  Bernhard Herzog  <[email protected]>
212    
213            * Thuban/UI/baserenderer.py
214            (BaseRenderer.draw_shape_layer_incrementally): Speed up the
215            special case of a classification that only has the default group
216    
217  2003-10-27  Bernhard Herzog  <[email protected]>  2003-10-27  Bernhard Herzog  <[email protected]>
218    
219            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
220    
221          * po/de.po: Update.          * po/de.po: Update.
222    
223          * Thuban/UI/application.py          * Thuban/UI/application.py

Legend:
Removed from v.1876  
changed lines
  Added in v.1925

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26