/[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 1929 by bh, Mon Nov 10 16:57:54 2003 UTC
# Line 1  Line 1 
1    2003-11-10  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/baserenderer.py: Add a way to specify how layers in
4            extensions are to be rendered.
5            (_renderer_extensions): New. List with renderer for layers in
6            extensions
7            (add_renderer_extension): New. Add a renderer extension
8            (init_renderer_extensions): New. Init the renderer extensions
9            (BaseRenderer.render_map_incrementally): Search
10            _renderer_extensions for how to draw unknown layer types
11            (BaseRenderer.draw_raster_data): Add format parameter so that
12            formats other than BMP can be drawn
13            (BaseRenderer.draw_raster_layer): Pass an explicit format to
14            draw_raster_data
15    
16            * Thuban/UI/renderer.py (raster_format_map): New. Mapping form the
17            strings of the format parameter of draw_raster_data method to wx
18            constants
19            (MapRenderer.draw_raster_data): Add the format parameter and use
20            raster_format_map to map it to the right wxwindows constant for
21            wxImageFromStream
22    
23            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Add
24            the format parameter and record it
25            (TestBaseRenderer.test_raster_no_projection): check the format
26            paramter of the draw_raster_data method
27            (TestBaseRenderer.test_renderer_extension): New. Test the renderer
28            extension facility
29    
30    2003-11-07  Bernhard Herzog  <[email protected]>
31    
32            Tweak the usage of the sqlite database to make common use cases
33            more responsive. In most cases copying the data to the sqlite
34            database takes so long that using sqlite doesn't have enough
35            advantages.
36    
37            * Thuban/Model/transientdb.py (TransientTableBase.ValueRange): Add
38            comments about performance and query the min and max in separate
39            statements because only that way will indexes be used.
40            (TransientTableBase.UniqueValues): Add some comments about
41            performance.
42            (AutoTransientTable.ValueRange, AutoTransientTable.UniqueValues):
43            Do not copy the data to the transient DB but use the transient
44            copy if it exists. See the new comments for the performance trade
45            offs
46    
47            * test/test_transientdb.py
48            (TestTransientTable.test_auto_transient_table): Make sure that the
49            data is copied to the transient database at some point.
50    
51    2003-11-03  Bernhard Herzog  <[email protected]>
52    
53            * Thuban/Model/data.py (ShapefileStore.ShapesInRegion): Bind some
54            globals to locals so that it's a bit faster
55    
56    2003-11-03  Bernhard Herzog  <[email protected]>
57    
58            * Thuban/UI/baserenderer.py
59            (BaseRenderer.draw_shape_layer_incrementally): Use the ReadValue
60            method. ReadValue is faster than ReadRowAsDict since it only reads
61            one cell especially now that the dbf file objects actually
62            implement it.
63    
64            * Thuban/Model/table.py (DBFTable.ReadValue): Use the new
65            read_attribute method of the dbf objects
66    
67    2003-11-03  Bernhard Herzog  <[email protected]>
68    
69            * Extensions/profiling/profiling.py (popup_dialog_box): New config
70            variable to indicate whether the result should be shown in a
71            dialog box
72            (profile_screen_renderer, time_screen_renderer): Only show a
73            dialog box if popup_dialog_box is true.
74            (profile_screen_renderer): Flush stdout after the printing the
75            first part of the "profiling..." message
76    
77            * Thuban/UI/baserenderer.py
78            (BaseRenderer.draw_shape_layer_incrementally): Cache the pens and
79            brushes for the groups so that they're not created over and over
80            again
81    
82            * Thuban/Model/classification.py (Classification.__getattr__)
83            (Classification._compile_classification)
84            (Classification._clear_compiled_classification): New. Methods to
85            manage a 'compiled' representation of the classification groups
86            which is created on demand
87            (Classification.InsertGroup, Classification.RemoveGroup)
88            (Classification.ReplaceGroup): reset the compiled representation
89            (Classification.FindGroup): Use the compiled representation to
90            find the matching group
91            (ClassGroupRange.GetRangeTuple): New. Return the range as a tuple
92    
93    2003-10-31  Bernhard Herzog  <[email protected]>
94    
95            * Thuban/Model/classification.py (Classification.SetDefaultGroup):
96            Send a CLASS_CHANGED message
97            (Classification.RemoveGroup): Send a CLASS_CHANGED message and do
98            not return the removed group since it wasn't used.
99    
100            * test/test_classification.py
101            (TestClassification.test_set_default_group): New. Test the
102            SetDefaultGroup method
103            (TestClassification.test_insert_group): New. Test the InsertGroup
104            method
105            (TestClassification.test_remove_group): New. Test the RemoveGroup
106            method
107            (TestClassification.test_replace_group): New. Test the
108            ReplaceGroup method
109    
110    2003-10-31  Bernhard Herzog  <[email protected]>
111    
112            * test/test_classification.py (TestClassification.setUp):
113            Subscribe to the CLASS_CHANGED messages
114            (TestClassification.tearDown): New. Destroy the classification
115            properly
116            (TestClassification.test_defaults): Add tests for the default line
117            width and whether no messages were sent yet
118            (TestClassification.test_set_default_properties): Add tests for
119            messages and setting the default line width
120            (TestClassification.test_add_singleton)
121            (TestClassification.test_add_range)
122            (TestClassification.test_multiple_groups): Add tests for messages
123    
124    2003-10-31  Bernhard Herzog  <[email protected]>
125    
126            Some more refactoring in preparation for new tests:
127    
128            * test/test_classification.py (TestClassification.setUp): New.
129            Instantiate the classification here. Update the test methods
130            accordingly.
131            (TestClassification.test_multiple_groups): Make sure that the two
132            singletons matching 1 are considered different.
133    
134    2003-10-31  Bernhard Herzog  <[email protected]>
135    
136            * test/test_classification.py (red, green, blue): New. These
137            constants were used in several cases. Update the relevant methods.
138            (TestClassification.test_defaults)
139            (TestClassification.test_set_default_properties)
140            (TestClassification.test_add_singleton)
141            (TestClassification.test_add_range)
142            (TestClassification.test_multiple_groups)
143            (TestClassification.test_deepcopy): New. These were formerly all
144            part of the single method test.
145            (TestClassification.test_deepcopy): Removed.
146            (TestClassIterator): Removed. The test case is now a method of
147            TestClassification since it tests part of the public interface of
148            Classification
149            (TestClassification.test_iterator): New. Used to be
150            TestClassIterator effectively
151    
152    2003-10-31  Jan-Oliver Wagner <[email protected]>
153    
154            GUIfied the functions of the profiling extension.
155    
156            * /Extensions/profiling/__init__.py: New: Init to make this
157            directory a package.
158    
159            * Extensions/profiling/profiling.py: Moved menu entries to
160            the Extensions menu. Applied _() for strings.
161            (profile_screen_renderer): Catch the detailed printout and present
162            it in a dialog.
163            (time_screen_renderer): Raise a dialog to present the result instead
164            of printing it to stdout.
165    
166    2003-10-31  Bernhard Herzog  <[email protected]>
167    
168            * test/test_classification.py (TestClassGroupProperties)
169            (TestClassGroup, TestClassGroupDefault, TestClassGroupRange)
170            (TestClassGroupSingleton, TestClassIterator, TestClassification):
171            Split TestClassification into several classes, one for each class
172            being tested. TestClassification itself now only tests
173            Classification. This split makes changes to the tests a bit easier
174    
175    2003-10-31  Bernhard Herzog  <[email protected]>
176    
177            * Extensions/profiling/profiling.py: New. Extension to measure
178            Thuban performance
179    
180    2003-10-31  Frank Koormann <[email protected]>
181    
182            Added two items to legend popup menu: Remove Layer and Show Layer Table
183    
184            * Thuban/UI/legend.py (LegendPanel._OnRemoveLayer,
185            LegendPanel._OnShowTable): New event handlers, call the corresponding
186            mainwindow methods.
187            (LegendTree._OnRightClick): Added items to popup menu.
188    
189  2003-10-30  Bernhard Herzog  <[email protected]>  2003-10-30  Bernhard Herzog  <[email protected]>
190    
191          * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle          * Thuban/UI/dialogs.py (ThubanFrame.__init__): Handle

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26