/[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 554 by jonathan, Tue Mar 25 16:20:51 2003 UTC revision 626 by jonathan, Wed Apr 9 10:08:27 2003 UTC
# Line 1  Line 1 
1    2003-04-09  Jonathan Coles   <[email protected]>
2    
3            * Thuban/Model/classification.py (Classification.__deepcopy__):
4            Need to copy over field and fieldType attributes.
5    
6            * Thuban/Model/table.py (Table.field_range): New. Retrive the
7            maximum and minimum values over the entire table for a given
8            field.
9            (Table.GetUniqueValues): New. Retrieve all the unique values
10            in the table for a given field.
11    
12            * Thuban/UI/classgen.py: Renamed GenRangePanel to GenUniformPanel.
13            (GenUniquePanel): New. Controls to allow the user to select
14            which unique field values they would like in the classification.
15            (CustomRampPanel): Code that was in ClassGenDialog that allows
16            the user to select the properties for a custom ramp.
17            (ClassGenerator.GenUniformDistribution): Was called GenerateRanges.
18    
19            * Thuban/UI/classifier.py: Removed a lot of debugging code.
20            (Classifier._SetClassification): Callback method so that the
21            class generator can set the classification in the grid.
22            (ClassGroupPropertiesCtrl): New. Encapsulates the drawing and
23            editing of a group properties class into a wxWindows control.
24    
25            * Thuban/UI/dock.py: It was decided that if the user closes
26            a dockable window the window should simply hide itself. That
27            way if the user wants to show the dock again it appears in the
28            same place as it was when it was closed.
29            (DockableWindow.Destroy): Call renamed method OnDockDestroy().
30            (DockableWindow._OnButtonClose): Hide the window instead of
31            destroying it.
32            (DockableWindow._OnClose): Hide the window instead of
33            destroying it.
34    
35            * Thuban/UI/legend.py (LegendTree): Use a private method to
36            consistently set the font and style of the text. Fixes RTbug #1786.
37    
38            * Thuban/UI/mainwindow.py: Import just the Classifier class.
39    
40    2003-04-07  Bernhard Herzog  <[email protected]>
41    
42            * Thuban/UI/mainwindow.py (main_menu): Move the toggle_legend item
43            to the map module
44    
45    2003-04-07  Bernhard Herzog  <[email protected]>
46    
47            * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree): Removed in
48            favor of ToggleSessionTree
49            (MainWindow.ToggleSessionTree): New method to toggle visibility of
50            the session tree.
51            (MainWindow.SessionTreeShown): New method to return whether the
52            session tree is currently shown.
53            (MainWindow.ToggleLegend): New method to toggle visibility of the
54            legend
55            (MainWindow.ShowLegend): Implement in terms of ToggleLegend and
56            LegendShown
57            (MainWindow.LegendShown): New method to return whether the legend
58            is currently shown.
59            (_method_command): Add checked parameter so we can define check
60            menu items
61            (_has_tree_window_shown, _has_legend_shown): Use the appropriate
62            mainwindow methods.
63            (show_session_tree, show_legend commands): Removed.
64            (toggle_session_tree, toggle_legend commands): New commands to
65            toggle the visibility of the dialogs
66    
67    2003-04-07  Jonathan Coles   <[email protected]>
68    
69            * Thuban/UI/classgen.py: Fix Windows problem.
70    
71            * Thuban/UI/dock.py: Fix Windows problem.
72    
73            * Thuban/UI/mainwindow.py: Use False instead of false.
74            (MainWindow.ShowLegend): Remove unnecessary switch parameter.
75    
76    2003-04-07  Jonathan Coles   <[email protected]>
77    
78            Since we now say that the order of the groups in a classification
79            matters, it makes sense to be able to manipulate that order. Most
80            of the changes to Thuban/Model/classification.py are to that end.
81    
82            * Thuban/Model/classification.py (Classification.AppendGroup,
83            Classification.InsertGroup, Classification.ReplaceGroup,
84            Classification.RemoveGroup, Classification.GetGroup): Do as the
85            names imply.
86            (Classification.FindGroup): This was called GetGroup, but GetGroup
87            takes an index, while FindGroup takes a value.
88            (Classification.__deepcopy__): Copy all the groups, BUT NOT THE LAYER
89            REFERENCE. Currently there is a cyclic reference between the layer
90            and its classification. If the classification doesn't need to know
91            its owning layer we can change this, since it may make sense to be
92            able to use the same classification with different layers.
93    
94            * Thuban/Model/load.py: Use Classification.AppendGroup(), not AddGroup()
95    
96            * Thuban/UI/classgen.py: Use Classification.AppendGroup(),
97            not AddGroup()
98    
99            * Thuban/UI/classifier.py: Now that we can depend on the order in
100            a Classification and have methods to manipulate that order we don't
101            need to use our own data structures in the grid. We can simply make
102            the grid/table access the information they need from a copy of
103            the classification object.
104            (Classifier._OnCloseBtn): Event handler for when the user clicks
105            'Close'. This is needed so if the user applies changes and then
106            continues to change the table the user has the option of discarding
107            the most recent changes and keeping what they applied.
108    
109            * Thuban/UI/mainwindow.py: Put "Show Legend" and "Show Session Tree"
110            into the same group.
111    
112            * extensions/thuban/wxproj.cpp (check_version): If Thuban is compiled
113            with a really old version of proj, PJ_VERSION won't even be defined.
114            If it isn't defined then just compile so that the function always
115            returns Py_False.
116    
117            * test/test_classification.py: Fix tests to use the renamed methods.
118            Still need to write tests for the new methods.
119    
120    2003-04-04  Jonathan Coles   <[email protected]>
121    
122            * Thuban/UI/classifier.py (Classifier.__SelectField): Move the
123            call to SetSelection out of the method and before the call
124            to __SelectField in __init__. This prevents a recursion of events
125            when _OnFieldSelect is triggered by the user.
126    
127    2003-04-04  Jonathan Coles   <[email protected]>
128    
129            * Thuban/Model/classification.py: Rename Color.None to
130            Color.Transparent.
131            (ClassGroupProperties.SetLineColori, ClassGroupProperties.SetFill):
132            Don't bother copying the color, since Colors are immutable.
133    
134            * Thuban/Model/color.py, Thuban/Model/layer.py, Thuban/Model/load.py,
135            Thuban/UI/classifier.py, Thuban/UI/mainwindow.py,
136            Thuban/UI/renderer.py, Thuban/UI/view.py:
137            Rename Color.None to Color.Transparent.
138        
139            * test/test_classification.py, test/test_load.py: Rename Color.None
140            to Color.Transparent.
141    
142    2003-04-04  Jonathan Coles   <[email protected]>
143    
144            * Thuban/Model/classification.py: Fix assert calls.
145            (ClassGroupProperties.SetLineColor, ClassGroupProperties.SetFill):
146            Copy the color parameter rather than hold onto a reference.
147    
148            * Thuban/Model/color.py (Color.__copy__, Color.__deepcopy): Copy
149            the color object.
150            (NoColor.__copy__, NoColor.__deepcopy): Return 'self' so that we
151            are sure there exists only one refernce to Color.None in the system.
152            This allows us to use 'is' rather than the comparision functions.
153            
154            * Thuban/Model/save.py: Fix assert calls.
155            
156            * Thuban/UI/classifier.py: Fix assert calls.
157            (ClassGrid._OnCellDClick): Call up to the classifier to open the
158            dialog to edit the groups properties.
159            (ClassGrid._OnCellResize): Make sure that the scollbars are drawn
160            correctly if a cell is resized.
161            (ClassTable.SetClassification): New. Changes the classification
162            that is in the table.
163            (ClassTable.__SetRow): Allow groups to be prepended.
164            (Classifier): New code for opening the EditProperties and
165            GenerateRanges dialogs.
166            (SelectPropertiesDialog.__GetColor): Only set the color in the
167            color dialog if the current color is not None.
168            
169            * Thuban/UI/dock.py: Fix assert calls.
170            
171            * Thuban/UI/legend.py: Fix assert calls.
172            
173            * Thuban/UI/renderer.py: Fix assert calls.
174            
175            * Thuban/UI/classgen.py (ClassGenDialog): Dialog for generating
176            classifications.
177            (GenRangePanel): Panel specific to range generation.
178            (GenSingletonPanel): Panel specific to singleton generation.
179            (ClassGenerator): Class responsible for actually generating
180            the classification from the data gathered in the dialog box.
181            (PropertyRamp): Generates properties whose values range from
182            a starting property to an ending property.
183    
184    2003-04-03  Bernhard Herzog  <[email protected]>
185    
186            * test/support.py (print_garbage_information): New function that
187            prints information about still connected messages and memory
188            leaks.
189            (run_suite): Removed.
190            (run_tests): New function for use as a replacement of
191            unittest.main in the test_* files. This one calls
192            print_garbage_information at the end.
193    
194            * test/runtests.py (main): Use support.print_garbage_information
195    
196            * test/test_layer.py: Use support.run_tests instead of
197            unittest.main so we get memory leak information
198            (TestLayer.test_arc_layer, TestLayer.test_polygon_layer)
199            (TestLayer.test_point_layer, TestLayer.test_empty_layer)
200            (TestLayerLegend.test_visibility): Call the layer's Destroy method
201            to fix a memory leak.
202    
203            * test/test_classification.py: Use support.run_tests instead of
204            unittest.main so we get memory leak information
205            (TestClassification.test_classification): Call the layer's Destroy
206            method to fix a memory leak.
207    
208    2003-04-02  Bernhard Herzog  <[email protected]>
209    
210            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
211            Handle the reference counts of the return value and errors in
212            PyArg_ParseTuple correctly.
213    
214            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
215            sure the filename is absolute to avoid problems when saving the
216            session again
217    
218            * Thuban/Model/table.py: Remove unnecessary import. Fix a typo.
219    
220    2003-04-01  Jonathan Coles   <[email protected]>
221    
222            *  Thuban/UI/renderer.py (MapRenderer.draw_point_shape): Check
223            that there actually are points in the returned list of points
224            before trying to index into the list. The list may be empty if
225            the shape is a Null Shape.
226    
227    2003-04-01  Bernhard Herzog  <[email protected]>
228    
229            * test/test_map.py: Don't use from <module> import *
230    
231    2003-04-01  Jonathan Coles   <[email protected]>
232    
233            * Thuban/Model/session.py: Use LAYER_CHANGED instead of
234            LAYER_LEGEND_CHANGED
235    
236            * Thuban/UI/dock.py (DockableWindow._OnButtonClose): Call
237            self.Destroy() to close the window after yesterday's changes.
238    
239            * test/test_map.py, test/test_session.py: Fix messages that
240            are sent from maps and layers.
241    
242    2003-03-31  Jonathan Coles   <[email protected]>
243    
244            * Thuban/UI/classifier.py: Commented out some debugging statements.
245            (ClassDataPreviewer.Draw): Draw rectangles for polygon layers per
246            RTbug #1769.
247    
248            * Thuban/UI/dock.py (DockableWindow.UnDock): Restore size and
249            position (although position doesn't work yet under GTK).
250            (DockableWindow.Destroy): New. Called when the window must be
251            closed. Namely needed when the DockFrame closes and must close
252            its children.
253            (DockFrame): Listen for EVT_CLOSE and destroy all children.
254    
255            * Thuban/UI/legend.py (LegendPanel.Destroy): New. Cleans up
256            when then window is told to close.
257            (LegendTree._OnMsgLayerChanged): Fixes a seg fault bug. See
258            comment in source for more info.
259    
260            * Thuban/UI/main.py: Show the legend by default when Thuban starts.
261    
262            * Thuban/UI/mainwindow.py: Renamed OnClose to _OnClose for
263            symmetry with other such methods.
264            (MainWindow.ShowLegend): Show the legend docked by default.
265    
266    2003-03-28  Jonathan Coles   <[email protected]>
267    
268            * Thuban/UI/classifier.py: Support for highlighting a specific
269            group within the grid when the classification dialog is opened.
270            Also contains a lot of debugging printouts which will later
271            be removed.
272    
273            * Thuban/UI/dock.py: Complete rework on the dock code so that
274            that it is fairly removed from the rest of the Thuban application.
275            It is easy to add new docks which the rest of the program having
276            to be aware of them.
277    
278            * Thuban/UI/legend.py: Modifications to support selecting a
279            specific group in the classification dialog. Changed how layers
280            are drawn when the layer is visible/invisible.
281    
282            * Thuban/UI/mainwindow.py: Removed legend specific code and
283            replaced it with calls to the new dock code.
284    
285            * Thuban/UI/renderer.py (MapRenderer.__init__): Added assert
286            to check if scale > 0. Trying to track down a divide by zero.
287    
288    2003-03-26  Jonathan Coles   <[email protected]>
289    
290            * Thuban/UI/legend.py: Removed unnecessary LegendDialog class.
291            (LegendPanel): Removed _OnDock()/_OnUnDock() methods which are
292            now part of DockableWindow.
293            (LegendPanel.DoOnSelChanged): Select the current layer in the
294            map.
295            (LegendTree._OnSelChanged): Call LegendPanel.DoOnSelChanged()
296            with the selected layer and/or group.
297    
298    2003-03-26  Jonathan Coles   <[email protected]>
299    
300            This putback contains the code for dockable windows. There is
301            no support in wxWindows as of this date for windows that can
302            attach themselves to other windows.
303    
304            The current model contains a DockableWindow which has a parent
305            window for when it is detached and a dock window that it puts
306            its contents in when it is docked. The contents of a DockableWindow
307            must be a DockPanel. DockPanel itself derives from wxPanel.
308    
309            * Thuban/Model/layer.py (Layer.ClassChanged): Send a LAYER_CHANGED
310            message, not a LAYER_LEGEND_CHANGED message.
311    
312            * Thuban/Model/map.py (Map): Forward LAYER_CHANGED messages.
313    
314            * Thuban/UI/classifier.py (Classifier.__init__): Use wxADJUST_MINSIZE
315            as one of the style properties for the fieldTypeText item to
316            be sure that its size is correct when the text changes.
317    
318            * Thuban/UI/dock.py: New. Classes for the DockPanel and
319            DockableWindow.
320    
321            * Thuban/UI/legend.py: Added some more buttons and made the
322            LegendPanel a DockPanel.
323    
324            * Thuban/UI/mainwindow.py: Added sash windows to the main window
325            and supporting functions for manipulating the sashes.
326            (MainWindow.ShowLegend): Create a DockableWindow with the
327            LegendPanel as the contents.
328    
329            * Thuban/UI/messages.py: Added DOCKABLE_* messages
330    
331            * Thuban/UI/view.py (MapCanves.SetMap): Listen for LAYER_CHANGED,
332            not LAYER_LEGEND_CHANGED, messages.
333    
334  2003-03-25  Jonathan Coles   <[email protected]>  2003-03-25  Jonathan Coles   <[email protected]>
335    
336          * setup.py: Added custom script bdist_rpm_build_script so that          * setup.py: Added custom script bdist_rpm_build_script so that

Legend:
Removed from v.554  
changed lines
  Added in v.626

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26