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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26