/[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 1894 by bh, Thu Oct 30 18:17:17 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]>  2003-10-30  Bernhard Herzog  <[email protected]>
161    
162          * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle          * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26