/[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 1112 by bh, Fri May 30 09:55:04 2003 UTC revision 1151 by frank, Wed Jun 11 10:46:18 2003 UTC
# Line 1  Line 1 
1    2003-06-11  Frank Koormann  <[email protected]>
2    
3            * Thuban/Lib/fileutil.py (get_application_dir): New function to
4            determine the absolute .thuban/thuban directory under
5            "posix" (os.expanduser) and "nt" (read AppData registry key).
6    
7            * Thuban/Model/resource.py: Use get_application_dir
8    
9            * Thuban/UI/application.py (ThubanApplication.read_startup_files):
10            Use get_application_dir.
11    
12    2003-06-10  Bernhard Herzog  <[email protected]>
13    
14            * Thuban/UI/tableview.py (LayerTableFrame.__init__): Subscribe to
15            the messages MAP_LAYERS_REMOVED messages
16            (LayerTableFrame.OnClose): Unsubscribe from it.
17            (LayerTableFrame.map_layers_removed): New. Receiver for
18            MAP_LAYERS_REMOVED. Close the dialog when the layer whose the
19            dialog is showing is removed.
20    
21    2003-06-10  Bernhard Herzog  <[email protected]>
22    
23            * Thuban/Lib/connector.py (Connector.Issue): Iterate over a copy
24            of the receivers list so that unsubscribing in a receiver doesn't
25            modify it while iterating over it.
26    
27            * test/test_connector.py
28            (ConnectorTest.test_disconnect_in_receiver): New. Test whether
29            unsubscribing in a receiver works correctly. See docstring for
30            details
31    
32    2003-06-10  Bernhard Herzog  <[email protected]>
33    
34            * Thuban/Model/messages.py (LAYER_SHAPESTORE_REPLACED): New
35            message.
36    
37            * Thuban/Model/layer.py (Layer.SetShapeStore): Send
38            LAYER_SHAPESTORE_REPLACED when the shapestore changes. A
39            LAYER_CHANGED will still be sent if the classification changes.
40    
41            * Thuban/UI/classifier.py (Classifier.__init__): Add the map as
42            parameter so we can subscribe to some of its messages
43            (Classifier.__init__): Subscribe to the map's MAP_LAYERS_REMOVED
44            and the layer's LAYER_SHAPESTORE_REPLACED
45            (Classifier.unsubscribe_messages): New. Unsubscribe from message
46            subscribed to in __init__
47            (Classifier.map_layers_removed)
48            (Classifier.layer_shapestore_replaced): receivers for the messages
49            subscribed to in __init__. Unsubscribe and close the dialog
50    
51            * Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): Pass
52            the map to the Classifier dialog
53    
54            * test/test_layer.py (SetShapeStoreTests): Derive from
55            SubscriberMixin as well so we can test messages
56            (SetShapeStoreTests.setUp): Subscribe to some of the layer's
57            messages
58            (SetShapeStoreTests.tearDown): Clear the messages again
59            (SetShapeStoreTests.test_sanity): Expand the doc-string and check
60            for the modified flag too
61            (SetShapeStoreTests.test_set_shape_store_modified_flag): New test
62            to check whether SetShapeStore sets the modified flag
63            (SetShapeStoreTests.test_set_shape_store_different_field_name)
64            (SetShapeStoreTests.test_set_shape_store_same_field)
65            (SetShapeStoreTests.test_set_shape_store_same_field_different_type):
66            Add tests for the messages. This checks both the new
67            LAYER_SHAPESTORE_REPLACED and the older LAYER_CHANGED
68    
69    2003-06-06  Jan-Oliver Wagner <[email protected]>
70    
71            * Thuban/UI/mainwindow.py: Improved and partly added help texts for
72            the menu items.
73    
74    2003-06-05  Frank Koormann  <[email protected]>
75    
76            * Thuban/UI/identifyview.py (IdentifyView.__init__):
77            Layout reimplemented without panel. Make life easier to fit the list
78            in the dialog.
79    
80    2003-06-05  Frank Koormann  <[email protected]>
81    
82            * Thuban/UI/projdialog.py (ProjFrame.__init__): Fill the projchoice
83            once on initialisation (Former implementation resulted in multiple
84            entries for each projection).
85            (ProjFrame.__FillAvailList): selectProj as second optional parameter,
86            if set, select the projection found under the specified name. This
87            overwrites any other selection estimate.
88            Removed projchoice filling from this method.
89            (ProjFrame._OnSave, ProjFrame._OnAddToList):
90            Updated call of ProjFrame.__FillAvailList
91            (LCCPanel._DoLayout): Moved parameter controls in more common order.
92    
93            * Resources/Projections/defaults.proj: Extended defaults representing
94            various common European projections.
95    
96    2003-06-05  Frank Koormann  <[email protected]>
97    
98            * Thuban/UI/identifyview.py (IdentifyView.__init__):
99            Use ListCtrl instead of GridCtrl
100    
101            * Thuban/Model/resource.py:
102            Guess location of .thuban directory from tempdir parent directory.
103    
104            * Thuban/UI/application.py (ThubanApplication.read_startup_files):
105            Guess location of .thuban directory from tempdir parent directory.
106    
107    2003-06-04  Bernhard Herzog  <[email protected]>
108    
109            Do not cache the values returned by the tree widget's
110            GetFirstChild and GetNextChild methods because it led to lots of
111            segfaults. The new way requires more brute force but is more
112            reliable.
113    
114            * Thuban/UI/legend.py (LegendTree.__init__): Remove instance
115            variable layer2id
116            (LegendTree.find_layer): New method to do with brute force what
117            layer2id tried to accomplish
118            (LegendTree._OnMsgLayerChanged)
119            (LegendTree._OnMsgLayerTitleChanged, LegendTree.__ShowHideLayer):
120            Use find_layer instead of layer2id
121            (LegendTree.__RemoveLayer, LegendTree.__AddLayer): No need to
122            update layer2id anymore
123            (LegendTree._OnMsgMapLayersRemoved)
124            (LegendTree._OnMsgMapLayersAdded): Get by without layer2id.
125    
126    2003-06-03  Thomas Koester  <[email protected]>
127    
128            * Thuban/Model/classgen.py (GenQuantiles0): New function.
129    
130    2003-06-02  Bernhard Herzog  <[email protected]>
131    
132            * Thuban/UI/mainwindow.py (layer_rename command, table_rename command):
133            New commands.
134            (main_menu): Add the new commands.
135            (MainWindow.TableRename): New. Implementation of the table_rename
136            command.
137            (MainWindow.RenameLayer): New. Implementation of the layer_rename
138            command.
139    
140            * Thuban/Model/session.py (Session.AddTable): call self.changed to
141            set the modified flag
142    
143            * test/test_session.py (TestSessionSimple.test_add_table): Test
144            whether the modified flag is set properly
145    
146            * Thuban/Model/base.py (TitledObject.SetTitle): Call changed
147            instead of issue so that the modified flags get updated.
148    
149            * test/test_base.py (SomeTitledObject): Derive from Modifiable
150            instead of Publisher to reflect reality better and to accomodate
151            the fact that SetTitle now calls changed instead of issue
152    
153    2003-06-02  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/classgen.py (GenQuantilesPanel.GetList): Resource
156            acquisition has to happen before the try in a try-finally.
157    
158    2003-06-02  Bernhard Herzog  <[email protected]>
159    
160            * Thuban/UI/legend.py (LegendTree._OnMsgMapLayersRemoved): It's
161            possible that a layer is removed that is not currently selected in
162            the legend so don't check for this.
163    
164    2003-05-30  Bernhard Herzog  <[email protected]>
165    
166            * Thuban/Model/layer.py (Layer.Destroy): Set all instance
167            variables to None that have direct or indirect references to
168            shapefiles or dbf files to make sure that they do go away and the
169            files are closed.
170    
171    2003-05-30  Bernhard Herzog  <[email protected]>
172    
173            * Thuban/UI/legend.py (LegendTree.GetRootItem): Reset
174            availImgListIndices when a new image list is created
175            
176    2003-05-30  Bernhard Herzog  <[email protected]>
177    
178            * Thuban/UI/legend.py (LegendTree.__init__): New instance variable
179            changing_selection to indicate whether the LegendTree code itself
180            is currently changing the selection
181            (LegendTree.normalize_selection): New method to normalize the
182            selection by selecting the layer item even if the user clicked on
183            the classification.
184            (LegendTree._OnSelChanged): normalize the selection. This works
185            around a bug in wx which doesn't keep track of the selection
186            properly when subtrees are deleted.
187    
188  2003-05-30  Bernhard Herzog  <[email protected]>  2003-05-30  Bernhard Herzog  <[email protected]>
189    
190          * Thuban/UI/view.py (MapCanvas.set_view_transform): Limit the          * Thuban/UI/view.py (MapCanvas.set_view_transform): Limit the

Legend:
Removed from v.1112  
changed lines
  Added in v.1151

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26