/[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 1186 by jonathan, Thu Jun 12 16:46:37 2003 UTC revision 1407 by frank, Mon Jul 14 08:41:23 2003 UTC
# Line 1  Line 1 
1  2003-06-12  Jonathan Coles   <[email protected]>  2003-07-08  Bernhard Herzog  <[email protected]>
2    
3            Backport from HEAD
4    
5            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
6            constants in the column objects are the standard ones defined in
7            the table module.
8    
9            * test/test_transientdb.py
10            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
11            exporting transient tables as DBF works. This should catch the bug
12            just fixed in TransientTableBase.Width.
13    
14    2003-07-04  Bernhard Herzog  <[email protected]>
15    
16            Backport from HEAD
17    
18            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
19            function for table_to_dbf
20            (table_to_dbf): Deal with names longer than the 10 character limit
21    
22            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
23            doc-string
24            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
25            long column names
26    
27    2003-07-03  Bernhard Herzog  <[email protected]>
28    
29            Backport from HEAD
30    
31            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
32            Update doc-string
33            (TransientJoinedTable.create): Do not modify the column objects of
34            the input tables in place and copy all columns of the input tables
35            into the joined table after all.
36    
37            * test/test_transientdb.py
38            (TestTransientTable.test_transient_joined_table_same_column_name):
39            Update to reflect the new behavior
40            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
41            Update to reflect the new behavior
42            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
43            New test case for a bug which modified the column objects in place
44    
45    2003-07-01  Frank Koormann   <[email protected]>
46    
47            Partly backport from HEAD
48    
49            * test/test_transientdb.py
50            (TestTransientTable.test_transient_joined_table_same_column_name):
51            New. Test whether joining on columns with the same names in both
52            tables works.
53            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
54            New. Test join of two tables with partly equal column names.
55    
56            * Thuban/Model/transientdb.py (TransientJoinedTable.create): Make
57            sure to use the right internal names even when joining on field
58            with the same names in both tables. Also, detect duplicate names
59            in the joined table correctly.
60            If duplicates are found, append '_' (underscores) to the name
61            until it is unique.
62            Create always new internal names for the resulting table and reference
63            columns in the join statement with <table>.<column>
64    
65    2003-07-01  Frank Koormann   <[email protected]>
66    
67            Backport from HEAD
68    
69            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
70            Reverse List of layers to render in same order as in desktop legend.
71    
72    2003-06-25  Jonathan Coles   <[email protected]>
73    
74            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
75            of the SelectPropertiesDialog should be self so the window
76            appears on top.
77            (ClassGroupPropertiesCtrl.DoEdit): The parent
78            of the SelectPropertiesDialog should be self so the window
79            appears on top.
80    
81    2003-06-18  Frank Koormann  <[email protected]>
82    
83            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Apply conversion to
84            scale if projection is latlong to get better estimate.
85    
86    2003-06-17  Jonathan Coles   <[email protected]>
87                                                                                                                                                                    
88            Backport from HEAD.
89    
90            The view should respond to layer projection
91            changed events to update the display. Changes to a projection
92            should not cause the map to be set to full extent.
93    
94            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
95            current_map_proj to remember the current map projection so that
96            when the projection changes we know what the previous projection
97            was.
98            (MapCanvas.SetMap): Unsubscribe and subscribe to
99            LAYER_PROJECTION_CHANGED events.
100            (MapCanvas.projection_changed): Split into two methods that respond
101            to map and layer projection changes.
102            (MapCanvas.map_projection_changed): New. Takes the current view and
103            projects it using the new projection. This does not cause the
104            map to be redrawn at full extent.
105            (MapCanvas.layer_projection_changed): New. Cause a redraw which
106            will draw each layer in its new projection.
107    
108    2003-06-16  Frank Koormann  <[email protected]>
109    
110            Fix problem of hidden properties dialog under windows after double
111            click on layer tree:
112            The tree control always gets an Expanded / Collapsed event after
113            the ItemActivated  on double click, which raises the main window again.         We add a second ItemActivated event to the queue, which simply
114            raises the already displayed window.
115    
116            * Thuban/UI/legend.py (LegendTree.__init__): Instance variable
117            raiseProperties initialized to prevent endless loops
118            (LegendTree._OnItemActivated): Depending on self.raiseProperties
119            simply raise the properties or open the dialog and issue a second
120            event.
121    
122    2003-06-16  Frank Koormann  <[email protected]>
123    
124            * Thuban/UI/view.py (MapCanvas.set_view_transform): Set max_scale to
125            2147483648.0 / max_len (which is sufficient for GREAT-ER).
126            For HEAD in the future a more flexible concept has to be developed
127            determining the rendering of "large" objects.
128    
129    2003-06-16  Jonathan Coles   <[email protected]>
130    
131            Backport from HEAD.
132    
133        Fix a problem under Windows whereby if the user double-clicks on a
134        layer in the legend that tree item will expand or collapse as well
135        as open the layer properties dialog. The state of the tree item
136        should not be affected.
137    
138        * Thuban/UI/legend.py (LegendTree.__init__): Add instance variable
139        preventExpandCollapse and subscribe to expanding and collapsing
140        events.
141        (LegendTree.OnItemExpandCollapse): New. Responds to expanding and
142        collapsing events and will veto the event if it has been triggered
143        by the user double clicking on a layer.
144        (LegendTree._OnItemActivated): Set preventExpandCollapse to indicate
145        that an expanding/collapsing event should be vetoed.
146            
147    2003-06-13  Bernhard Herzog  <[email protected]>
148    
149            Backport from HEAD.
150    
151            * Thuban/UI/classifier.py (Classifier.map_layers_removed)
152            (Classifier.layer_shapestore_replaced, Classifier.OnClose):
153            Unsubscribe the messages in OnClose and not in map_layers_removed
154            or layer_shapestore_replaced to make sure it always happens when
155            the dialog is closed.
156    
157    2003-06-13  Jonathan Coles   <[email protected]>
158    
159            [NOTE: This is a back-port from the current CVS head]
160    
161            This puts back a fix for Windows where a panel is needed so that
162            the background of the table view appears correctly.
163    
164            * Thuban/UI/tableview.py (TableFrame.__init__): Add a panel
165            object that can be used by derived classes to place any
166            controls (including the grid) onto.
167            (QueryTableFrame.__init__): Use the panel as the parent window
168            for all the controls. Reparent the grid so that the panel is
169            the parent. Call UpdateStatusText() to correctly initialize
170            the status bar.
171    
172            * Thuban/UI/dialogs.py (ThubanFrame): New: a class that inherits
173            from wxFrame (as opposed to wxDialog like the other classes)
174            but otherwise behaves like the other classes. This is needed
175            for the TableView which isn't really a dialog and needs to
176            have a status bar and control buttons.
177    
178            [NOTE: This is a back-port from the current CVS head]
179    
180            * Thuban/UI/tableview.py (TableGrid.__init__): Create an
181            instance variable to keep track of how many rows are selected.
182            Subscribe once to the the events we are interested in.
183            (ThubanGrid.OnRangeSelect): Only handle event if event handling
184            hasn't been turned off.
185            (ThubanGrid.OnSelectCell): Only handle event if event handling
186            hasn't been turned off.
187            (ThubanGrid.ToggleEventListeners): Rather than subscribe None
188            as an event listener (which changes the event handler stack)
189            simply set an instance variable to False. This is checked in
190            the event handlers.
191            (ThubanGrid.GetNumberSelected): Return the number of currently
192            selected rows.
193            (TableFrame): Inherit from ThubanFrame so we can have a
194            status bar and control buttons.
195            (QueryTableFrame.__init__): Create a status bar. Fixes RTbug #1942.
196            Explicitly set which items are selected in the operator choice and
197            action choice so there is always a valid selection. Fixes RTbug #1941.
198            Subscribe to grid cell selection events so we can update the
199            status bar.
200            (QueryTableFrame.UpdateStatusText): Update the status bar with
201            how many rows are in the grid, how many columns, and how many
202            rows are selected.
203            (QueryTableFrame.OnGridSelectRange, QueryTableFrame.OnGridSelectCell):
204            Call UpdateStatusText when cells are (de)selected.
205            (QueryTableFrame.OnQuery): Use the string value in the value
206            combo if either the selected item index is 0 or if the string
207            cannot be found in the predefined list (this happens if the
208            user changes the text). Fixes RTbug #1940.
209            Only turn off the grid event listeners if there a query comes
210            back with a none empty list of ids. in the case that the list
211            is empty this causes a grid.ClearSelection() call to actually
212            clear the grid selection which causes the selected items in
213            the map to be deselected. Fixes RTbug #1939.
214    
215    2003-06-13  Bernhard Herzog  <[email protected]>
216    
217            * Thuban/UI/identifyview.py (IdentifyView.__init__): Call
218            self.selected_shape with the current selection to make sure the
219            contents of the dialog are up to date when it's shown for the
220            first time.
221            The dialog used to work without this by luck. The recent fix to
222            the connector module 'broke' a 'feature' the identify view was
223            relying on, i.e that subscribing to a message in response to
224            receiving a message of that type would mean that the new
225            subscriber would also be called for the same message.
226    
227    2003-06-12  Jonathan Coles   <[email protected]>
228    
229          * Thuban/UI/legend.py (ScaleBarBitmap.__SetScale): Don't draw          * Thuban/UI/legend.py (ScaleBarBitmap.__SetScale): Don't draw
230          the scalebar if the current map has no projection set.          the scalebar if the current map has no projection set.
231                                                                                    
232          * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): Set the          * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): Set the
233          projfilepath label to just the basename of the projection file          projfilepath label to just the basename of the projection file
234          rather than include the entire path.          rather than include the entire path.
235                                                                                    
236  2003-06-11  Frank Koormann  <[email protected]>  2003-06-11  Frank Koormann  <[email protected]>
237    
238          * Thuban/Lib/fileutil.py (get_application_dir): Minor stability          * Thuban/Lib/fileutil.py (get_application_dir): Minor stability

Legend:
Removed from v.1186  
changed lines
  Added in v.1407

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26