/[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 405 by bh, Fri Feb 14 17:40:41 2003 UTC revision 495 by jonathan, Mon Mar 10 10:54:26 2003 UTC
# Line 1  Line 1 
1    2003-03-10  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/classifier.py (Classifier): Use __SelectField()
4            to correctly set the table information and call this from
5            __init__ and from _OnFieldSelect so that all the information
6            is up to date when the dialog opens and when a field is changed.
7    
8    2003-03-10  Jonathan Coles   <[email protected]>
9    
10            * Thuban/Model/classification.py (Classification): Don't use
11            layer's message function directly, use the ClassChanged() method
12            when then classification changes. SetField/SetFieldType/SetLayer
13            must keep the information about field name and field type in
14            sync when an owning layer is set or removed.
15    
16            * Thuban/Model/layer.py: Added ClassChanged() so that the
17            classification can tell the layer when its data has changed.
18            (Layer.SetClassification): Accepts None as an arguement to
19            remove the current classification and correctly handles
20            adding a new classification.
21    
22            * Thuban/Model/load.py: Comment out print statement
23    
24            * test/test_classification.py, test/test_save.py: New and
25            improved tests.
26    
27    2003-03-07  Jonathan Coles   <[email protected]>
28    
29            * Thuban/Model/classification.py: Implemented __copy__ and
30            __deepcopy__ for ClassGroup* and ClassGroupProperites so
31            they can easily be copied by the classifier dialog.
32            (ClassGroupProperites.__init__): The default line color should
33            have been Color.Black.
34    
35            * Thuban/UI/classifier.py: Setting and Getting table values now
36            uses a consistent set of functions.
37            (Classifier): Now non-modal. Has field type label which changes
38            as the field changes. Keep track of buttons in a list so that
39            we can enable/disable the buttons when the None field is selected.
40            (SelectPropertiesDialog): Add buttons to make the colors transparent.
41    
42            * Thuban/UI/dialogs.py (NonModalDialog.Shutdown): New method which
43            does what OnClose did, but can be called by the application to
44            close a window. Needed when a session changes, and we have to
45            close the classifier windows.
46    
47            * Thuban/UI/mainwindow.py (MainWindow.prepare_new_session):
48            Shuts down open dialogs. Used when a new session is created
49            or a session is opened.
50            (MainWindow.SaveSession): Should only call application.SaveSession()
51            if we don't call SaveSessionAs first.
52            (MainWindow.Classify): Allow different classifier dialogs for
53            different layers.
54    
55            * Thuban/UI/tree.py (SessionTreeView): Remove OnClose and let
56            the parent class handle it. Add Shutdown() to unsubscibe from
57            event notification and call the parent Shutdown(). This was
58            necessary so the application can close the tree window.
59    
60    2003-03-06  Jonathan Coles   <[email protected]>
61    
62            * Thuban/Model/classification.py: Minor documentation changes,
63            Addition of __eq__ and __ne__ methods.
64            (Classification.SetLayer): prevent recursion between this method
65            and Layer.SetClassification().
66    
67            * Thuban/Model/color.py: Addition of __eq__ and __ne__ methods.
68    
69            * Thuban/Model/layer.py (SetClassification): prevent recursion
70            between this method and Classification.SetLayer().
71    
72            * test/test_classification.py, test/test_load.py,
73            test/test_session.py: Fixed and added tests for the classification
74            classes.
75    
76    2003-03-06  Bernhard Herzog  <[email protected]>
77    
78            * Thuban/UI/classifier.py (ClassGrid.__init__)
79            (ClassGrid.CreateTable): Move the SetSelectionMode call to
80            CreateTable because otherwise it triggers an assertion in
81            wxPython/wxGTK 2.4.
82    
83    2003-03-05  Jonathan Coles   <[email protected]>
84    
85            * Thuban/common.py: Move FIELDTYPE constants back to table.py.
86    
87            * Thuban/Model/load.py: import FIELDTYPE constants from table.
88    
89            * Thuban/UI/classifier.py: import FIELDTYPE constants from table.
90    
91            * Thuban/Model/table.py: Put FIELDTYPE constants back.
92    
93    2003-03-05  Jonathan Coles   <[email protected]>
94    
95            * Thuban/UI/classifier.py: Added class documentation.
96            Fixed RTbug #1713, #1714. Added Move[Up|Down] buttons.
97            Store just the groups in the table and generate the other
98            column information when it is requested. Add "None" field
99            to pull-down to select no classification.
100    
101            * Thuban/common.py: Moved FIELDTYPE constants from table.py
102            (Str2Num): Only catch ValueError exceptions.
103    
104            * Thuban/Model/classification.py: Class documentation. Renaming
105            of methods with Stroke to Line. Groups are stored in a single
106            list with the default as the first element. Groups are searched
107            in the order they appear in the list.
108    
109            * Thuban/Model/color.py: Documentation.
110    
111            * Thuban/Model/layer.py (Layer): Add GetFieldType to retreive
112            the kind of data represented by a field.
113    
114            * Thuban/Model/load.py (ProcessSession): Use proper string
115            conversion function; fixes RTbug #1713.
116    
117            * Thuban/Model/save.py (Saver): Store field type information.
118    
119            * Thuban/Model/table.py: Put FIELDTYPE constants in common.py.
120            (Table): Add field_info_by_name() to retrieve field information
121            by specifying the field name, not the number.
122    
123            * Thuban/UI/mainwindow.py: Function name changes.
124    
125            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Only
126            get the layer classification once. Don't try to classify
127            values when the field is None: just use the default properties.
128    
129            * Thuban/UI/view.py: Function name changes.
130    
131            * Doc/thuban.dtd: Add field_type attribute to a classification.
132    
133    2003-03-04  Bernhard Herzog  <[email protected]>
134    
135            * Doc/thuban.dtd: Use correct syntax for optional attributes. Make
136            the fill and stroke layer attributes optional with suitable
137            default values. Add the stroke_width layer attribute. Use correct
138            syntax for empty elements. Make the attribute list for labels
139            refer to the label element.
140    
141    2003-03-04  Bernhard Herzog  <[email protected]>
142    
143            * setup.py (thuban_build_py.build): Add a comment about distutils in
144            Python 2.3 containing some of the functionality we implement in
145            setup.py ourselves.
146    
147            * Thuban/UI/classifier.py (ClassGrid.__init__): Set the table
148            before the selection mode. Doing it the other way round triggers
149            an assertion in wxWindows.
150    
151            * Thuban/Model/save.py (escape): Fix typo in doc-string
152    
153            * Thuban/Model/classification.py: Remove unnecessary wxPython
154            import
155    
156    2003-03-04  Jonathan Coles   <[email protected]>
157    
158            * Thuban/Model/classification.py (ClassGroupRange.GetProperties):
159            Parameter 'value' should default to None.
160    
161            * Thuban/UI/mainwindow.py: Use Layer.GetClassification() since
162            the class attribute __classification is now private.
163    
164            * Thuban/UI/classifier.py (ClassGrid): Moved OnCellDClick() from
165            Classifier to ClassGrid. Added support for removing selected rows,
166            which including code for keeping track of when cells are selected,
167            and deselected.
168            (ClassTable): Support for added/removing rows. Fixed a problem
169            with __ParseInput whereby it would not allow strings (only numbers)
170            to be entered.
171            (Classifier): Added button and supporting code for removing
172            selected rows.
173    
174    2003-02-27  Jonathan Coles   <[email protected]>
175    
176            * Thuban/common.py: Moved color conversion functions into
177            Thuban/UI/common.py.
178            (Str2Num): Now converts the float (not the string) to a long/int
179            so that an exception isn't thrown.
180    
181            * Thuban/UI/common.py: Common functions used in several UI modules
182    
183            * Thuban/Model/classification.py: Changed the class hierarchy
184            so that a Classification consists of Groups which return
185            Properties when a value matches a Group.
186    
187            * Thuban/Model/layer.py: Fixed name resolution problem.
188    
189            * Thuban/Model/load.py: Use new Classification and Group functions.
190    
191            * Thuban/Model/save.py (Saver.write_attribs): Fixes a test case
192            failure.
193            (Saver.write_classification): Use new Classification and Group
194            functions.
195    
196            * Thuban/UI/classifier.py: Changes to use new Classification and Group
197            functions. Fix to create a tuple with a single value instead of
198            simply returning the value.
199    
200            * Thuban/UI/renderer.py: Use new Classification and Group functions.
201            Use common.py functions.
202    
203            * Thuban/UI/tree.py: Use common.py functions.
204            
205            * test/test_classification.py: Use new Classification and Group
206            classes.
207    
208    2003-02-24  Jonathan Coles   <[email protected]>
209    
210            * Thuban/common.py (Color2wxColour, wxColour2Color): Conversion
211            functions from Thuban color objects to wxWindow colour objects.
212    
213            * Thuban/Model/classification.py (Classification): Renamed
214            GetProperties() to GetClassData(). Used the new iterator
215            in TreeInfo().
216            (ClassIterator): Iterator implementation to iterate over the
217            ClassData objects in a classification object.
218    
219            * Thuban/Model/save.py (Saver.write_classificaton): Uses
220            the new iterator to save the classification information.
221    
222            * Thuban/UI/classifier.py (SelectPropertiesDialog): Support
223            for changing the stroke and fill colors and previewing the
224            changes.
225    
226            * Thuban/UI/mainwindow.py (MainWindow.OpenSession,
227            MainWindow.SaveSessionAs): Text string changes so the dialogs
228            have more meaningful titles.
229    
230            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Change
231            Classification method name from GetProperties to GetClassData.
232    
233            * Thuban/UI/view.py (MapCanvas.find_shape_at): Use method calls
234            instead of accessing now non-existent class variables.
235    
236    2003-02-24  Bernhard Herzog  <[email protected]>
237    
238            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Remove
239            unneeded Shape() call. Rendering is substantially faster without
240            it and it avoids some problems with broken shape files.
241    
242    2003-02-20  Frank Koormann   <[email protected]>
243    
244            Force minimal size of identify and label dialogs. The autosizing
245            looked too ugly.
246    
247            * Thuban/UI/controls.py (RecordListCtrl): Set minimal width for columns.
248            * Thuban/UI/labeldialog.py (LabelDialog.dialog_layout):
249            Set size of listctrl.
250            * Thuban/UI/identifyview.py (IdentifyView.__init__):
251            Set size of dialog.
252    
253    2003-02-19  Jonathan Coles   <[email protected]>
254    
255            * test/test_classification.py, test/test_layer.py,
256            test/test_load.py, test/test_map.py, test/test_session.py:
257            Updated the tests to use the new functions that are in the
258            respective classes.
259    
260            * Thuban/Model/classification.py (Classification):
261            Uses the new ClassData* classes. Modification messages are
262            passed up to the parent layer (if it exists).
263            (ClassData): New class to encapsulate the common data in each
264            classification property.
265            (ClassDataDefault): Represents the Default class. data.
266            (ClassDataPoint): Represents a single class. data point
267            (ClassDataRange): Represents a class. range
268            (ClassDataMap): Represents a class. map (unused).
269    
270            * Thuban/Model/color.py: Added Color.None to represent something
271            with no color. Color.Black represents the color black.
272            (NoColor): Helper class derived from Color to represent something
273            with no color.
274    
275            * Thuban/Model/layer.py (Layer): Removed references to fill, stroke,
276            stroke_width attributes. Made the 'classification' attribute private.
277            New methods for setting/getting the classification.
278    
279            * Thuban/Model/load.py (ProcessSession): Use new methods on Layer
280            to get the classifcation and use the new ClassData* classes to
281            hold the classification data. Use Str2Num to convert numbers
282            properly.
283    
284            * Thuban/Model/save.py (Saver): Use new Color and Classification
285            methods
286    
287            * Thuban/UI/classifier.py (ClassGrid): New class to represent a
288            custom grid.
289            (ClassTable): Support for editing Values and Labels and for
290            changing what type (point or range) of data is stored in each
291            property based on how the user enters the data.
292            (Classifier): Support for saving the new classifications and
293            launching the dialog to edit a property.
294            (SelectPropertiesDialog): New class for editing the visual
295            properties of a classification (stroke color, width, and fill color)
296            (ClassPreviewer): Took the Draw method from ClassRenderer and
297            made most of it into this new class. Intend to use this class in
298            the SelectPropertiesDialog for previewing changes.
299    
300            * Thuban/UI/renderer.py: Use new Color and Classification methods.
301    
302            * Thuban/UI/tree.py: Formatting changes.
303    
304            * Doc/thuban.dtd: Add 'label' element
305    
306            * Thuban/common.py: New. Contains common routines used throughout
307            the code.
308            (Str2Num): Takes a string and converts it to the "best" type of
309            number.
310    
311  2003-02-14  Bernhard Herzog  <[email protected]>  2003-02-14  Bernhard Herzog  <[email protected]>
312    
313          * Thuban/UI/view.py (MapCanvas.OnLeftUp): Make sure that the          * Thuban/UI/view.py (MapCanvas.OnLeftUp): Make sure that the

Legend:
Removed from v.405  
changed lines
  Added in v.495

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26