/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 587 by jonathan, Tue Apr 1 15:57:28 2003 UTC revision 636 by jonathan, Thu Apr 10 14:34:33 2003 UTC
# Line 1  Line 1 
1    2003-04-10  Jonathan Coles   <[email protected]>
2    
3            * Thuban/Model/classification.py: (ClassGroup): Move all the common
4            methods of the derived classes ([Set|Get]Properties(), __eq__, __ne__)
5            here. Implement SetVisible(), IsVisible().
6            (ClassGroup.__init__): Add group parameter which acts as a copy
7            constructor.
8    
9            * Thuban/UI/classifier.py (ClassTable): Add a new column for the
10            "Visible" check boxes.
11            (Classifier): Rename the buttons and refactor the code to match
12            the new labels.
13    
14            * Thuban/UI/legend.py: Classify button is now called "Properties".
15            Refactored the code to change variable names.
16            (LegendTree.__FillTreeLayer): Only list a group if it is visible.
17    
18            * Thuban/UI/mainwindow.py: MainWindow.OpenClassifier renamed to
19            MainWindow.OpenLayerProperties. MainWindow.LayerEditProperties
20            renamed to MainWindow.LayerEditProperties.
21            (MainWindow.ToggleLegend): Don't include map name in legend title.
22            (MainWindow.SetMap): Added the map name to the window title.
23            (MainWindow.LayerFillColor, MainWindow.LayerTransparentFill,
24            MainWindow.LayerOutlineColor, MainWindow.LayerNoOutline): Removed.
25            Functionality is found in the layer properties dialog.
26    
27            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Only
28            draw visible groups.
29    
30    2003-04-09  Jonathan Coles   <[email protected]>
31    
32            * Thuban/UI/classgen.py: Modifications to allow simple
33            addition and selection of new color schemes.
34            (MonochromaticRamp): New. Generates a ramp between two colors.
35            (RedRamp): New. Generates a ramp of all red.
36            (GreenRamp): New. Generates a ramp of all green.
37            (BlueRamp): New. Generates a ramp of all blue.
38    
39    2003-04-09  Jonathan Coles   <[email protected]>
40    
41            * Thuban/Model/classification.py (Classification.__deepcopy__):
42            Need to copy over field and fieldType attributes.
43    
44            * Thuban/Model/table.py (Table.field_range): New. Retrive the
45            maximum and minimum values over the entire table for a given
46            field.
47            (Table.GetUniqueValues): New. Retrieve all the unique values
48            in the table for a given field.
49    
50            * Thuban/UI/classgen.py: Renamed GenRangePanel to GenUniformPanel.
51            (GenUniquePanel): New. Controls to allow the user to select
52            which unique field values they would like in the classification.
53            (CustomRampPanel): Code that was in ClassGenDialog that allows
54            the user to select the properties for a custom ramp.
55            (ClassGenerator.GenUniformDistribution): Was called GenerateRanges.
56    
57            * Thuban/UI/classifier.py: Removed a lot of debugging code.
58            (Classifier._SetClassification): Callback method so that the
59            class generator can set the classification in the grid.
60            (ClassGroupPropertiesCtrl): New. Encapsulates the drawing and
61            editing of a group properties class into a wxWindows control.
62    
63            * Thuban/UI/dock.py: It was decided that if the user closes
64            a dockable window the window should simply hide itself. That
65            way if the user wants to show the dock again it appears in the
66            same place as it was when it was closed.
67            (DockableWindow.Destroy): Call renamed method OnDockDestroy().
68            (DockableWindow._OnButtonClose): Hide the window instead of
69            destroying it.
70            (DockableWindow._OnClose): Hide the window instead of
71            destroying it.
72    
73            * Thuban/UI/legend.py (LegendTree): Use a private method to
74            consistently set the font and style of the text. Fixes RTbug #1786.
75    
76            * Thuban/UI/mainwindow.py: Import just the Classifier class.
77    
78    2003-04-07  Bernhard Herzog  <[email protected]>
79    
80            * Thuban/UI/mainwindow.py (main_menu): Move the toggle_legend item
81            to the map module
82    
83    2003-04-07  Bernhard Herzog  <[email protected]>
84    
85            * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree): Removed in
86            favor of ToggleSessionTree
87            (MainWindow.ToggleSessionTree): New method to toggle visibility of
88            the session tree.
89            (MainWindow.SessionTreeShown): New method to return whether the
90            session tree is currently shown.
91            (MainWindow.ToggleLegend): New method to toggle visibility of the
92            legend
93            (MainWindow.ShowLegend): Implement in terms of ToggleLegend and
94            LegendShown
95            (MainWindow.LegendShown): New method to return whether the legend
96            is currently shown.
97            (_method_command): Add checked parameter so we can define check
98            menu items
99            (_has_tree_window_shown, _has_legend_shown): Use the appropriate
100            mainwindow methods.
101            (show_session_tree, show_legend commands): Removed.
102            (toggle_session_tree, toggle_legend commands): New commands to
103            toggle the visibility of the dialogs
104    
105    2003-04-07  Jonathan Coles   <[email protected]>
106    
107            * Thuban/UI/classgen.py: Fix Windows problem.
108    
109            * Thuban/UI/dock.py: Fix Windows problem.
110    
111            * Thuban/UI/mainwindow.py: Use False instead of false.
112            (MainWindow.ShowLegend): Remove unnecessary switch parameter.
113    
114    2003-04-07  Jonathan Coles   <[email protected]>
115    
116            Since we now say that the order of the groups in a classification
117            matters, it makes sense to be able to manipulate that order. Most
118            of the changes to Thuban/Model/classification.py are to that end.
119    
120            * Thuban/Model/classification.py (Classification.AppendGroup,
121            Classification.InsertGroup, Classification.ReplaceGroup,
122            Classification.RemoveGroup, Classification.GetGroup): Do as the
123            names imply.
124            (Classification.FindGroup): This was called GetGroup, but GetGroup
125            takes an index, while FindGroup takes a value.
126            (Classification.__deepcopy__): Copy all the groups, BUT NOT THE LAYER
127            REFERENCE. Currently there is a cyclic reference between the layer
128            and its classification. If the classification doesn't need to know
129            its owning layer we can change this, since it may make sense to be
130            able to use the same classification with different layers.
131    
132            * Thuban/Model/load.py: Use Classification.AppendGroup(), not AddGroup()
133    
134            * Thuban/UI/classgen.py: Use Classification.AppendGroup(),
135            not AddGroup()
136    
137            * Thuban/UI/classifier.py: Now that we can depend on the order in
138            a Classification and have methods to manipulate that order we don't
139            need to use our own data structures in the grid. We can simply make
140            the grid/table access the information they need from a copy of
141            the classification object.
142            (Classifier._OnCloseBtn): Event handler for when the user clicks
143            'Close'. This is needed so if the user applies changes and then
144            continues to change the table the user has the option of discarding
145            the most recent changes and keeping what they applied.
146    
147            * Thuban/UI/mainwindow.py: Put "Show Legend" and "Show Session Tree"
148            into the same group.
149    
150            * extensions/thuban/wxproj.cpp (check_version): If Thuban is compiled
151            with a really old version of proj, PJ_VERSION won't even be defined.
152            If it isn't defined then just compile so that the function always
153            returns Py_False.
154    
155            * test/test_classification.py: Fix tests to use the renamed methods.
156            Still need to write tests for the new methods.
157    
158    2003-04-04  Jonathan Coles   <[email protected]>
159    
160            * Thuban/UI/classifier.py (Classifier.__SelectField): Move the
161            call to SetSelection out of the method and before the call
162            to __SelectField in __init__. This prevents a recursion of events
163            when _OnFieldSelect is triggered by the user.
164    
165    2003-04-04  Jonathan Coles   <[email protected]>
166    
167            * Thuban/Model/classification.py: Rename Color.None to
168            Color.Transparent.
169            (ClassGroupProperties.SetLineColori, ClassGroupProperties.SetFill):
170            Don't bother copying the color, since Colors are immutable.
171    
172            * Thuban/Model/color.py, Thuban/Model/layer.py, Thuban/Model/load.py,
173            Thuban/UI/classifier.py, Thuban/UI/mainwindow.py,
174            Thuban/UI/renderer.py, Thuban/UI/view.py:
175            Rename Color.None to Color.Transparent.
176        
177            * test/test_classification.py, test/test_load.py: Rename Color.None
178            to Color.Transparent.
179    
180    2003-04-04  Jonathan Coles   <[email protected]>
181    
182            * Thuban/Model/classification.py: Fix assert calls.
183            (ClassGroupProperties.SetLineColor, ClassGroupProperties.SetFill):
184            Copy the color parameter rather than hold onto a reference.
185    
186            * Thuban/Model/color.py (Color.__copy__, Color.__deepcopy): Copy
187            the color object.
188            (NoColor.__copy__, NoColor.__deepcopy): Return 'self' so that we
189            are sure there exists only one refernce to Color.None in the system.
190            This allows us to use 'is' rather than the comparision functions.
191            
192            * Thuban/Model/save.py: Fix assert calls.
193            
194            * Thuban/UI/classifier.py: Fix assert calls.
195            (ClassGrid._OnCellDClick): Call up to the classifier to open the
196            dialog to edit the groups properties.
197            (ClassGrid._OnCellResize): Make sure that the scollbars are drawn
198            correctly if a cell is resized.
199            (ClassTable.SetClassification): New. Changes the classification
200            that is in the table.
201            (ClassTable.__SetRow): Allow groups to be prepended.
202            (Classifier): New code for opening the EditProperties and
203            GenerateRanges dialogs.
204            (SelectPropertiesDialog.__GetColor): Only set the color in the
205            color dialog if the current color is not None.
206            
207            * Thuban/UI/dock.py: Fix assert calls.
208            
209            * Thuban/UI/legend.py: Fix assert calls.
210            
211            * Thuban/UI/renderer.py: Fix assert calls.
212            
213            * Thuban/UI/classgen.py (ClassGenDialog): Dialog for generating
214            classifications.
215            (GenRangePanel): Panel specific to range generation.
216            (GenSingletonPanel): Panel specific to singleton generation.
217            (ClassGenerator): Class responsible for actually generating
218            the classification from the data gathered in the dialog box.
219            (PropertyRamp): Generates properties whose values range from
220            a starting property to an ending property.
221    
222    2003-04-03  Bernhard Herzog  <[email protected]>
223    
224            * test/support.py (print_garbage_information): New function that
225            prints information about still connected messages and memory
226            leaks.
227            (run_suite): Removed.
228            (run_tests): New function for use as a replacement of
229            unittest.main in the test_* files. This one calls
230            print_garbage_information at the end.
231    
232            * test/runtests.py (main): Use support.print_garbage_information
233    
234            * test/test_layer.py: Use support.run_tests instead of
235            unittest.main so we get memory leak information
236            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
237            (TestLayer.test_point_layer, TestLayer.test_empty_layer)
238            (TestLayerLegend.test_visibility): Call the layer's Destroy method
239            to fix a memory leak.
240    
241            * test/test_classification.py: Use support.run_tests instead of
242            unittest.main so we get memory leak information
243            (TestClassification.test_classification): Call the layer's Destroy
244            method to fix a memory leak.
245    
246    2003-04-02  Bernhard Herzog  <[email protected]>
247    
248            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
249            Handle the reference counts of the return value and errors in
250            PyArg_ParseTuple correctly.
251    
252            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
253            sure the filename is absolute to avoid problems when saving the
254            session again
255    
256            * Thuban/Model/table.py: Remove unnecessary import. Fix a typo.
257    
258  2003-04-01  Jonathan Coles   <[email protected]>  2003-04-01  Jonathan Coles   <[email protected]>
259    
260          *  Thuban/UI/renderer.pyi (MapRenderer.draw_point_shape): Check          *  Thuban/UI/renderer.py (MapRenderer.draw_point_shape): Check
261          that there actually are points in the returned list of points          that there actually are points in the returned list of points
262          before trying to index into the list. The list may be empty if          before trying to index into the list. The list may be empty if
263          the shape is a Null Shape.          the shape is a Null Shape.

Legend:
Removed from v.587  
changed lines
  Added in v.636

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26