/[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 396 by jonathan, Mon Feb 10 15:28:17 2003 UTC revision 447 by jonathan, Thu Feb 27 16:05:51 2003 UTC
# Line 1  Line 1 
1    2003-02-27  Jonathan Coles   <[email protected]>
2    
3            * Thuban/common.py: Moved color conversion functions into
4            Thuban/UI/common.py.
5            (Str2Num): Now converts the float (not the string) to a long/int
6            so that an exception isn't thrown.
7    
8            * Thuban/UI/common.py: Common functions used in several UI modules
9    
10            * Thuban/Model/classification.py: Changed the class hierarchy
11            so that a Classification consists of Groups which return
12            Properties when a value matches a Group.
13    
14            * Thuban/Model/layer.py: Fixed name resolution problem.
15    
16            * Thuban/Model/load.py: Use new Classification and Group functions.
17    
18            * Thuban/Model/save.py (Saver.write_attribs): Fixes a test case
19            failure.
20            (Saver.write_classification): Use new Classification and Group
21            functions.
22    
23            * Thuban/UI/classifier.py: Changes to use new Classification and Group
24            functions. Fix to create a tuple with a single value instead of
25            simply returning the value.
26    
27            * Thuban/UI/renderer.py: Use new Classification and Group functions.
28            Use common.py functions.
29    
30            * Thuban/UI/tree.py: Use common.py functions.
31            
32            * test/test_classification.py: Use new Classification and Group
33            classes.
34    
35    2003-02-24  Jonathan Coles   <[email protected]>
36    
37            * Thuban/common.py (Color2wxColour, wxColour2Color): Conversion
38            functions from Thuban color objects to wxWindow colour objects.
39    
40            * Thuban/Model/classification.py (Classification): Renamed
41            GetProperties() to GetClassData(). Used the new iterator
42            in TreeInfo().
43            (ClassIterator): Iterator implementation to iterate over the
44            ClassData objects in a classification object.
45    
46            * Thuban/Model/save.py (Saver.write_classificaton): Uses
47            the new iterator to save the classification information.
48    
49            * Thuban/UI/classifier.py (SelectPropertiesDialog): Support
50            for changing the stroke and fill colors and previewing the
51            changes.
52    
53            * Thuban/UI/mainwindow.py (MainWindow.OpenSession,
54            MainWindow.SaveSessionAs): Text string changes so the dialogs
55            have more meaningful titles.
56    
57            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Change
58            Classification method name from GetProperties to GetClassData.
59    
60            * Thuban/UI/view.py (MapCanvas.find_shape_at): Use method calls
61            instead of accessing now non-existent class variables.
62    
63    2003-02-24  Bernhard Herzog  <[email protected]>
64    
65            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Remove
66            unneeded Shape() call. Rendering is substantially faster without
67            it and it avoids some problems with broken shape files.
68    
69    2003-02-20  Frank Koormann   <[email protected]>
70    
71            Force minimal size of identify and label dialogs. The autosizing
72            looked too ugly.
73    
74            * Thuban/UI/controls.py (RecordListCtrl): Set minimal width for columns.
75            * Thuban/UI/labeldialog.py (LabelDialog.dialog_layout):
76            Set size of listctrl.
77            * Thuban/UI/identifyview.py (IdentifyView.__init__):
78            Set size of dialog.
79    
80    2003-02-19  Jonathan Coles   <[email protected]>
81    
82            * test/test_classification.py, test/test_layer.py,
83            test/test_load.py, test/test_map.py, test/test_session.py:
84            Updated the tests to use the new functions that are in the
85            respective classes.
86    
87            * Thuban/Model/classification.py (Classification):
88            Uses the new ClassData* classes. Modification messages are
89            passed up to the parent layer (if it exists).
90            (ClassData): New class to encapsulate the common data in each
91            classification property.
92            (ClassDataDefault): Represents the Default class. data.
93            (ClassDataPoint): Represents a single class. data point
94            (ClassDataRange): Represents a class. range
95            (ClassDataMap): Represents a class. map (unused).
96    
97            * Thuban/Model/color.py: Added Color.None to represent something
98            with no color. Color.Black represents the color black.
99            (NoColor): Helper class derived from Color to represent something
100            with no color.
101    
102            * Thuban/Model/layer.py (Layer): Removed references to fill, stroke,
103            stroke_width attributes. Made the 'classification' attribute private.
104            New methods for setting/getting the classification.
105    
106            * Thuban/Model/load.py (ProcessSession): Use new methods on Layer
107            to get the classifcation and use the new ClassData* classes to
108            hold the classification data. Use Str2Num to convert numbers
109            properly.
110    
111            * Thuban/Model/save.py (Saver): Use new Color and Classification
112            methods
113    
114            * Thuban/UI/classifier.py (ClassGrid): New class to represent a
115            custom grid.
116            (ClassTable): Support for editing Values and Labels and for
117            changing what type (point or range) of data is stored in each
118            property based on how the user enters the data.
119            (Classifier): Support for saving the new classifications and
120            launching the dialog to edit a property.
121            (SelectPropertiesDialog): New class for editing the visual
122            properties of a classification (stroke color, width, and fill color)
123            (ClassPreviewer): Took the Draw method from ClassRenderer and
124            made most of it into this new class. Intend to use this class in
125            the SelectPropertiesDialog for previewing changes.
126    
127            * Thuban/UI/renderer.py: Use new Color and Classification methods.
128    
129            * Thuban/UI/tree.py: Formatting changes.
130    
131            * Doc/thuban.dtd: Add 'label' element
132    
133            * Thuban/common.py: New. Contains common routines used throughout
134            the code.
135            (Str2Num): Takes a string and converts it to the "best" type of
136            number.
137    
138    2003-02-14  Bernhard Herzog  <[email protected]>
139    
140            * Thuban/UI/view.py (MapCanvas.OnLeftUp): Make sure that the
141            dragging flag is always set to 0 even when the tool implementation
142            raises an exception
143    
144    2003-02-11  Bernhard Herzog  <[email protected]>
145    
146            * Thuban/UI/application.py (ThubanApplication.splash_screen): New
147            method to create a splash screen.
148            (ThubanApplication.ShowMainWindow): New. Show the main window.
149            Needed so the splash screen can display the mainwindow
150            (ThubanApplication.OnInit): Call the
151            new splash_screen method to determine whether the application
152            should display a splash screen. If it displays a splash screen do
153            not immediately show the main window.
154    
155    2003-02-11  Jonathan Coles  <[email protected]>
156    
157            * Thuban/Model/classification.py: Added import line to fix
158            feature conflicts between running on python2.2 and python2.1.
159    
160            * Thuban/UI/classifier.py (ClassTable): Didn't need to hang
161            onto the clinfo parameter, so removed the deepcopy().
162    
163  2003-02-10  Jonathan Coles  <[email protected]>  2003-02-10  Jonathan Coles  <[email protected]>
164    
165          * Thuban/Model/save.py (Saver.open_element, Saver.close_element):          * Thuban/Model/save.py (Saver.open_element, Saver.close_element):
166          Added element_open variable to track opening and closing of tags          Added element_open variable to track opening and closing of tags
167          so that tags that don't span more than one line are closed with          so that tags that don't span more than one line are closed with
168          /> instead of </tag_name>. Use the GetDefault*() methods of          /> instead of </tag_name>. Use the GetDefault*() methods of
# Line 13  Line 175 
175          (ClassData): New class to encapsulate the classification data          (ClassData): New class to encapsulate the classification data
176    
177          * Thuban/Model/layer.py (Layer): Remove the          * Thuban/Model/layer.py (Layer): Remove the
178          Set[Fill|Stroke|StrokeWidth]() methods. Code should call the          Set[Fill|Stroke|StrokeWidth]() methods. Code should call the
179          SetDefault*() methods on the layer's classification object.          SetDefault*() methods on the layer's classification object.
180          (Layer.__init__): Use the new SetDefault*() methods in the          (Layer.__init__): Use the new SetDefault*() methods in the
181          Classification class.          Classification class.
182    
183          * Thuban/Model/load.py (ProcessSession): Use the new ClassData          * Thuban/Model/load.py (ProcessSession): Use the new ClassData
184          object instead of a dictionary.          object instead of a dictionary.
185    
186          * Thuban/UI/classifier.py (ClassRenderer): New class to          * Thuban/UI/classifier.py (ClassRenderer): New class to
187          draw the classifications in the dialog box's table.          draw the classifications in the dialog box's table.
188          (Classifier): Modified to use the ClassRenderer class.          (Classifier): Modified to use the ClassRenderer class.
189    
190          * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()          * Thuban/UI/mainwindow.py (MainWindow): Use the SetDefault*()
191          methods of the Classification class.              methods of the Classification class.
192    
193          * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods          * Thuban/UI/renderer.py (MapRenderer): Use the Get*() methods
194          of the ClassData class.          of the ClassData class.
# Line 49  Line 211 
211  2003-01-28  Jonathan Coles  <[email protected]>  2003-01-28  Jonathan Coles  <[email protected]>
212    
213          * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.          * Thuban/UI/classifier.py (Classifier): Resolved merging conflicts.
214          Fixed crashing problem on some systems. Dialog box shows          Fixed crashing problem on some systems. Dialog box shows
215          classification data.          classification data.
216    
217          * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing          * Thuban/UI/tree.py (SessionTreeCtrl.add_items): Handle drawing
# Line 62  Line 224 
224          function to add information about the classification into the          function to add information about the classification into the
225          tree view.          tree view.
226    
227  2003-01-27      Jan-Oliver Wagner <[email protected]>  2003-01-27  Jan-Oliver Wagner <[email protected]>
228    
229          * Thuban/__init__.py (_): New.          * Thuban/__init__.py (_): New.
230    
231          * Thuban/Model/classification.py, Thuban/Model/extension.py,          * Thuban/Model/classification.py, Thuban/Model/extension.py,
232          Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,          Thuban/Model/layer.py, Thuban/Model/load.py, Thuban/Model/map.py,
233          Thuban/Model/session.py, Thuban/UI/application.py, Thuban/UI/classifier.py,          Thuban/Model/session.py, Thuban/UI/application.py,
234          Thuban/UI/context.py, Thuban/UI/controls.py, Thuban/UI/identifyview.py,          Thuban/UI/classifier.py, Thuban/UI/context.py, Thuban/UI/controls.py,
235          Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py, Thuban/UI/menu.py,          Thuban/UI/identifyview.py, Thuban/UI/labeldialog.py,
236          Thuban/UI/proj4dialog.py, Thuban/UI/renderer.py, Thuban/UI/tree.py,          Thuban/UI/mainwindow.py, Thuban/UI/menu.py, Thuban/UI/proj4dialog.py,
237          Thuban/Lib/connector.py, Thuban/Lib/fileutil.py:          Thuban/UI/renderer.py, Thuban/UI/tree.py, Thuban/Lib/connector.py,
238          Replace user string by _() for i18n.          Thuban/Lib/fileutil.py: Replace user string by _() for i18n.
239    
240  2003-01-27  Jonathan Coles  <[email protected]>  2003-01-27  Jonathan Coles  <[email protected]>
241    
242    * Thuban/Model/layer.py: Classification initialization calls.          * Thuban/Model/layer.py: Classification initialization calls.
243    
244    * Thuban/Model/classification.py: Created class to encapsulate          * Thuban/Model/classification.py: Created class to encapsulate
245    a layer classification. Supports specific data points and          a layer classification. Supports specific data points and
246    ranges.          ranges.
247    
248    * Thuban/Model/load.py: Added support for loading classification          * Thuban/Model/load.py: Added support for loading classification
249    information.          information.
250    
251    * Thuban/Model/save.py: Added support for saving classification          * Thuban/Model/save.py: Added support for saving classification
252    information.          information.
253    
254    * Thuban/UI/classifier.py: Initial class for a dialog box for          * Thuban/UI/classifier.py: Initial class for a dialog box for
255    specifying classification information.          specifying classification information.
256    
257    * Thuban/UI/mainwindows.py: Support for opening the classifier          * Thuban/UI/mainwindows.py: Support for opening the classifier
258    dialog.          dialog.
259    
260    * Thuban/UI/renderer.py: Support for drawing a layer with the          * Thuban/UI/renderer.py: Support for drawing a layer with the
261    classification information.          classification information.
262    
263    * Data/iceland_sample_class.thuban: iceland_sample with          * Data/iceland_sample_class.thuban: iceland_sample with
264    classification data.          classification data.
265    
266    * test/test_classification: Tests for the Classification class.          * test/test_classification: Tests for the Classification class.
267    
268  2002-12-09  Bernhard Herzog  <[email protected]>  2002-12-09  Bernhard Herzog  <[email protected]>
269    
# Line 137  Line 299 
299          * Thuban/UI/mainwindow.py: Altered the order of tools in the          * Thuban/UI/mainwindow.py: Altered the order of tools in the
300          toolbar: First now are all navigation tools (Zoom In/Out, Pan,          toolbar: First now are all navigation tools (Zoom In/Out, Pan,
301          Full Extent).          Full Extent).
302        
303  2002-10-23  Bernhard Herzog  <[email protected]>  2002-10-23  Bernhard Herzog  <[email protected]>
304    
305          * setup.py (setup call): version now 0.1.3          * setup.py (setup call): version now 0.1.3
# Line 248  Line 410 
410          * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe          * Thuban/UI/mainwindow.py (MainWindow.OnClose): Unsubscribe
411          VIEW_POSITION          VIEW_POSITION
412    
413  2002-09-04  Frank Koormann   <[email protected]>  2002-09-04  Frank Koormann  <[email protected]>
414    
415          * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")          * Resources/Bitmaps/fullextent.xpm: Updated Icon (removed "potatoe")
416    
# Line 335  Line 497 
497    
498          * Thuban/Model/table.py (Table.write_record): New method to write          * Thuban/Model/table.py (Table.write_record): New method to write
499          records.          records.
500          (Table.__init__): Open the DBF file for writing too.          (Table.__init__): Open the DBF file for writing too.
501    
502          * Thuban/UI/controls.py (RecordTable.SetValue): Write the value          * Thuban/UI/controls.py (RecordTable.SetValue): Write the value
503          into the underlying table.          into the underlying table.
# Line 373  Line 535 
535          * setup.py (ThubanInstall.run): Don't repr install_lib_orig          * setup.py (ThubanInstall.run): Don't repr install_lib_orig
536          because thubaninit_contents will do it for us.          because thubaninit_contents will do it for us.
537    
538  2002-08-16      Jan-Oliver Wagner <[email protected]>  2002-08-16  Jan-Oliver Wagner <[email protected]>
539    
540          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if          * Thuban/UI/mainwindow.py: menu item 'show session tree' now disable if
541          tree window already open          tree window already open
# Line 501  Line 663 
663          * Thuban/UI/tree.py: We can now simply subscribe to the session's          * Thuban/UI/tree.py: We can now simply subscribe to the session's
664          CHANGED channel to be informed of changes.          CHANGED channel to be informed of changes.
665          (SessionTreeCtrl.session_channels): Not needed any longer.          (SessionTreeCtrl.session_channels): Not needed any longer.
666          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):          (SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
667          Only have to (un)subscribe CHANGED          Only have to (un)subscribe CHANGED
668    
669          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.          * Thuban/Model/map.py (Map.TreeInfo): Deal better with empty maps.
# Line 562  Line 724 
724          * Thuban/Model/layer.py (Layer.TreeInfo),          * Thuban/Model/layer.py (Layer.TreeInfo),
725          Thuban/Model/extension.py (Extension.TreeInfo),          Thuban/Model/extension.py (Extension.TreeInfo),
726          Thuban/Model/map.py (Map.TreeInfo),          Thuban/Model/map.py (Map.TreeInfo),
727          Thuban/Model/session.py (Session.TreeInfo):          Thuban/Model/session.py (Session.TreeInfo):
728          Add TreeInfo methods to implement the new tree view update scheme          Add TreeInfo methods to implement the new tree view update scheme
729    
730  2002-07-16  Bernhard Herzog  <[email protected]>  2002-07-16  Bernhard Herzog  <[email protected]>
# Line 643  Line 805 
805          * setup.py: In the setup call, make sure that the library          * setup.py: In the setup call, make sure that the library
806          directories are under $prefix/lib not directly under $prefix.          directories are under $prefix/lib not directly under $prefix.
807    
808  2002-06-20      Jan-Oliver Wagner <[email protected]>  2002-06-20  Jan-Oliver Wagner <[email protected]>
809    
810          * Thuban/Model/extension.py: new module to handle extension objects.          * Thuban/Model/extension.py: new module to handle extension objects.
811          * Thuban/Model/messages.py: new messages for extensions.          * Thuban/Model/messages.py: new messages for extensions.
# Line 872  Line 1034 
1034          * Thuban/UI/messages.py (VIEW_POSITION): New message for the          * Thuban/UI/messages.py (VIEW_POSITION): New message for the
1035          position in the statusbar          position in the statusbar
1036    
1037  2002-04-26      Frank Koormann <[email protected]>  2002-04-26  Frank Koormann <[email protected]>
1038    
1039          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data          * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
1040    
1041  2002-04-24      Frank Koormann <[email protected]>  2002-04-24  Frank Koormann <[email protected]>
1042            
1043          * Resources/Bitmaps/identify.xpm: shadow added          * Resources/Bitmaps/identify.xpm: shadow added
1044    
1045          * Resources/Bitmaps/fullextent.xpm: new          * Resources/Bitmaps/fullextent.xpm: new
           
 2002-04-22      Jan-Oliver Wagner <[email protected]>  
1046    
1047          * Thuban/UI/tree.py (update_tree): added test for None on map bounding box  2002-04-22  Jan-Oliver Wagner <[email protected]>
1048    
1049            * Thuban/UI/tree.py (update_tree): added test for None on map bounding
1050            box
1051    
1052  2002-04-21      Jan-Oliver Wagner <[email protected]>  2002-04-21  Jan-Oliver Wagner <[email protected]>
1053    
1054          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new          * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
1055    
1056          * Thuban/UI/tree.py (update_tree): added added map extent          * Thuban/UI/tree.py (update_tree): added added map extent
1057    
1058          * Thuban/UI/mainwindow.py (_method_command): extended by parameter          * Thuban/UI/mainwindow.py (_method_command): extended by parameter
1059          icon; added map_full_extend as tool          icon; added map_full_extend as tool
1060    
1061  2002-04-19      Jan-Oliver Wagner <[email protected]>  2002-04-19  Jan-Oliver Wagner <[email protected]>
1062    
1063          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for          * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
1064          saving _new_ sessions          saving _new_ sessions
# Line 997  Line 1160 
1160    
1161          * setup.py: increase version number to 0.1          * setup.py: increase version number to 0.1
1162          (data_dist): New command class for data distribution          (data_dist): New command class for data distribution
           
1163    
1164  2001-09-14  Bernhard Herzog  <[email protected]>  2001-09-14  Bernhard Herzog  <[email protected]>
1165    
1166          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):          * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
1167          Handle the case of no layer (i.e. layer is None) properly.          Handle the case of no layer (i.e. layer is None) properly.
1168    
1169          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):          * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
1170          Set the initial selection of the combo boxes to reflect the          Set the initial selection of the combo boxes to reflect the
1171          projection we're starting with in a way that works on windows,          projection we're starting with in a way that works on windows,
1172          too.          too.
# Line 1114  Line 1276 
1276          (MainWindow.identify_view_on_demand): Store the interactor in an          (MainWindow.identify_view_on_demand): Store the interactor in an
1277          instvar and use that reference instead of going through main.app          instvar and use that reference instead of going through main.app
1278    
1279          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):          * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
1280          * Thuban/UI/application.py (ThubanApplication.OnInit):          * Thuban/UI/application.py (ThubanApplication.OnInit):
1281          * Thuban/UI/main.py (main): Create the session tree view in main          * Thuban/UI/main.py (main): Create the session tree view in main
1282          with the new mainwindow method ShowSessionTree and not directly          with the new mainwindow method ShowSessionTree and not directly
1283          the application's OnInit method          the application's OnInit method
# Line 1131  Line 1293 
1293          layer to the tableview dialog.          layer to the tableview dialog.
1294    
1295          * Thuban/UI/tableview.py: Add some doc-strings          * Thuban/UI/tableview.py: Add some doc-strings
1296          (TableGrid):          (TableGrid):
1297          (TableGrid.OnRangeSelect):          (TableGrid.OnRangeSelect):
1298          (TableGrid.OnSelectCell):          (TableGrid.OnSelectCell):
1299          (TableFrame.__init__):          (TableFrame.__init__):
# Line 1198  Line 1360 
1360  2001-09-05  Bernhard Herzog  <[email protected]>  2001-09-05  Bernhard Herzog  <[email protected]>
1361    
1362          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.          * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
1363            
1364          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument          * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
1365          interactor to pass through to the MapCanvas          interactor to pass through to the MapCanvas
1366            
1367          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new          * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
1368          argument to the MainWindow constructor to get rid of the ugly hack          argument to the MainWindow constructor to get rid of the ugly hack
1369          that made main.app available early just so that the mapcanvas          that made main.app available early just so that the mapcanvas
# Line 1248  Line 1410 
1410          (ThubanInstall.run): Remove the leading install root from the          (ThubanInstall.run): Remove the leading install root from the
1411          script filename if an install root was specified and use the new          script filename if an install root was specified and use the new
1412          link_file method          link_file method
1413            
1414          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to          * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
1415          the window when the first layer is added to the map.          the window when the first layer is added to the map.
1416    
# Line 1285  Line 1447 
1447          (InnoIconItem): Helper class for bdist_inno          (InnoIconItem): Helper class for bdist_inno
1448          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added          (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
1449          this together with the appropriate parameters, to the setup call.          this together with the appropriate parameters, to the setup call.
1450            
1451          * setup.cfg (bdist_inno): added new section for the inno setup          * setup.cfg (bdist_inno): added new section for the inno setup
1452          installer          installer
1453    

Legend:
Removed from v.396  
changed lines
  Added in v.447

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26