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

Legend:
Removed from v.370  
changed lines
  Added in v.445

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26