/[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 972 by jonathan, Wed May 21 17:32:05 2003 UTC revision 1048 by jan, Tue May 27 08:05:14 2003 UTC
# Line 1  Line 1 
1    2003-05-27  Jan-Oliver Wagner <[email protected]>
2    
3            * Thuban/UI/menu.py (Menu.InsertSeparator): Additional optional parameter
4            'after' now allows to insert separators almost anywhere in the menu.
5    
6    2003-05-27  Frank Koormann  <[email protected]>
7    
8            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Underline the
9            "S" of selection box label to hint on hot key (Alt-S). Works under
10            Win32 but is ignored under GTK.
11    
12    2003-05-26  Frank Koormann  <[email protected]>
13    
14            * Thuban/UI/projdialog.py (ProjFrame.__do_layout, ProjPanel._DoLayout):
15            Center Choices.
16    
17    2003-05-26  Bernhard Herzog  <[email protected]>
18    
19            Remove the Precision methods again. They're too DBF specific to be
20            part of the table interface and they're only used in table_to_dbf
21            anyway.
22            
23            * Thuban/Model/transientdb.py (TransientTableBase.Width):Use a
24            fixed precision of 12 for doubles.
25            (TransientTableBase.Precision): Removed
26            (AutoTransientTable.Width): Delegate to self.table.
27    
28            * Thuban/Model/table.py (DBFTable.Precision)
29            (MemoryTable.Precision): Removed.
30            (MemoryTable.Width): Use a fixed precision of 12 for doubles.
31            (table_to_dbf): Use a fixed precision of 12 for floats unless the
32            column object specifies something else.
33    
34            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): New.
35            test for table_to_dbf
36    
37    2003-05-26  Bernhard Herzog  <[email protected]>
38    
39            * test/test_transientdb.py
40            (TestTransientTable.run_iceland_political_tests): Fix a comment.
41    
42    2003-05-26  Bernhard Herzog  <[email protected]>
43    
44            * Thuban/UI/mainwindow.py (MainWindow.TableOpen): Real
45            implementation. Mark parts of the file format strings for
46            localization.
47    
48            * Thuban/Model/session.py (Session.OpenTableFile): New. Open a dbf
49            file and add the table to the tables managed by the session
50    
51            * test/test_session.py (TestSessionSimple.test_open_table_file):
52            New. test case for OpenTableFile
53    
54    2003-05-26  Jan-Oliver Wagner <[email protected]>
55    
56            * Thuban/UI/controls.py, Thuban/UI/identifyview.py, Thuban/UI/join.py,
57            Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py,
58            Thuban/UI/proj4dialog.py, Thuban/UI/tableview.py, Thuban/UI/view.py:
59            Replace the true/false of wxWindows by True/False of Python 2.2.1.
60    
61    2003-05-26  Jan-Oliver Wagner <[email protected]>
62    
63            * Thuban/UI/tableview.py (LayerTableFrame.__init__): If there is
64            already a selection present, update the grid accordingly.
65    
66            * Thuban/UI/mainwindow.py (MainWindow.TableShow): Make the dialog
67            resizeable and increase its initial size.
68    
69    2003-05-26  Frank Koormann  <[email protected]>
70    
71            Table export functionality
72    
73            * Thuban/Model/table.py (DBFTable.Width, MemoryTable.Width):
74            Return width (in characters) for a column.
75            (DBFTable.Precision, MemoryTable.Precision): Return decimal precision.
76            (table_to_dbf): Write table to dbf file.
77            (table_to_csv): Write table to csv file.
78    
79            * Thuban/Model/transientdb.py (TransientTableBase.Width,
80            TransientTableBase.Precision): Return column width and precision.
81    
82            * Thuban/UI/tableview.py (QueryTableFrame.OnSaveAs): Call table_to_dbf
83            or table_to_csv depending on file selection.
84    
85            * test/test_dbf_table.py:
86            Test table_to_dbf (extension of former part of test).
87    
88            * test/test_csv_table.py:
89            Test table_to_csv.
90    
91    2003-05-23  Jan-Oliver Wagner <[email protected]>
92    
93            * Thuban/UI/join.py (JoinDialog.OnJoin): Use _() for strings.
94            Use QueryTableFrame instead of TableFrame.
95    
96            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Prefix the
97            table window with 'Layer Table:' instead of 'Table:'.
98    
99    2003-05-23  Jan-Oliver Wagner <[email protected]>
100    
101            Give all tables a title via mix-in TitledObject.LayerShowTable
102    
103            * Thuban/Model/base.py (TitledObject.SetTitle): Call method 'issue'
104            only if it exists.
105    
106            * Thuban/Model/table.py (DBFTable, MemoryTable): mix-in TitledObject
107            and call its init-method with a default title. Remove Title() method.
108    
109            * Thuban/Model/transientdb.py (TransientTable, TransientJoinedTable,
110            AutoTransientTable): mix-in TitledObject and call its init-method with
111            a default title. Remove Title() method.
112    
113    2003-05-23  Bernhard Herzog  <[email protected]>
114    
115            * Thuban/Model/session.py (Session.AddShapeStore): Define
116            AddShapeStore analogously to AddTable.
117    
118            * test/test_session.py (TestSessionSimple.test_add_shapestore):
119            New. Test for AddShapeStore
120    
121    2003-05-23  Jan-Oliver Wagner <[email protected]>
122    
123            Introducing QueryTableFrame and a very coarse ShowTable implementation.
124    
125            * Thuban/UI/tableview.py (LayerTableFrame, QueryTableFrame): Split the
126            class LayerTableFrame into two classes, LayerTableFrame and QueryTableFrame.
127            The latter implements the selection GUI without dependency on a layer.
128            LayerTableFrame now is derived from QueryTableFrame and connects
129            to a layer.
130    
131            * Thuban/UI/mainwindow.py (MainWindow.TableShow): A very coarse
132            implementation that still needs work.
133    
134            * Thuban/Model/layer.py (Layer.TreeInfo): Added filename.
135    
136    2003-05-22  Frank Koormann  <[email protected]>
137    
138            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
139            Added "outer_join = False" as optional parameter.
140            (TransientJoinedTable.create): If outer join is true, perform a
141            "LEFT OUTER JOIN" instead of "JOIN", which preserves all records of
142            the left table. Records not matching are filled with 0 / None.
143    
144            * Thuban/UI/join.py (JoinDialog.__init__): Checkbox for outer join.
145            (JoinDialog.OnJoin): Consider outer join check box.
146    
147    2003-05-22  Bernhard Herzog  <[email protected]>
148    
149            * Thuban/UI/join.py (JoinDialog.OnJoin): Use exc_info in a
150            somewhat safer way. Storing the traceback in a local variable can
151            lead to memory leaks
152    
153    2003-05-22  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/join.py (JoinDialog.OnJoin): Make sure to really call
156            the wxMessageDialog's Destroy() method.
157    
158    2003-05-22  Frank Koormann  <[email protected]>
159    
160            * Thuban/UI/join.py (JoinDialog.__init__): Make use of
161            TransientTable.Title()
162    
163    2003-05-22  Frank Koormann  <[email protected]>
164    
165            Join Dialog, initial version.
166    
167            * Thuban/UI/mainwindow.py (MainWindow.TableJoin): Removed print.
168    
169            * Thuban/UI/join.py (JoinDialog): Functional implementation of
170            former framework. Renamed Table1/Table2 to LeftTable/RightTable
171            in all occurences.
172    
173            * Thuban/Model/transientdb.py (TransientJoinedTable.__doc__):
174            Typo fixed.
175    
176    2003-05-22  Bernhard Herzog  <[email protected]>
177    
178            Give the tables titles so that the GUI can display more meaningful
179            names. For now the titles are fixed but depend on e.g. filenames
180            or the titles of the joined tables.
181    
182            * Thuban/Model/transientdb.py (TransientTable.Title)
183            (TransientJoinedTable.Title, AutoTransientTable.Title): New.
184    
185            * Thuban/Model/table.py (DBFTable.Title, MemoryTable.Title): New.
186    
187            * test/test_transientdb.py
188            (TestTransientTable.test_auto_transient_table_title): New. Test
189            for the Title method
190            (TestTransientTable.test_transient_joined_table)
191            (TestTransientTable.test_transient_table): Add test for the Title
192            methods
193    
194            * test/test_memory_table.py (TestMemoryTable.test_title): New.
195            Test for the Title method
196    
197            * test/test_dbf_table.py (TestDBFTable.test_title): New. Test for
198            the Title method
199    
200    2003-05-22  Bernhard Herzog  <[email protected]>
201    
202            * test/test_layer.py (TestLayer.setUp, TestLayer.tearDown):
203            Provide a better way to destroy the layers
204            (TestLayer.test_base_layer, TestLayer.test_arc_layer)
205            (TestLayer.test_point_layer, TestLayer.test_empty_layer)
206            (TestLayer.test_polygon_layer, TestLayer.test_get_field_type): Use
207            the new way to destroy the layers.
208            (TestLayer.test_derived_store): New. Test for using a layer with a
209            DerivedShapeStore
210    
211            * Thuban/Model/layer.py (Layer.SetShapeStore): Only set the
212            filename if the shape store actually has one.
213    
214    2003-05-22  Bernhard Herzog  <[email protected]>
215    
216            * Thuban/Model/table.py (DBFTable.FileName): New. Accessor method
217            for the filename
218    
219            * test/test_dbf_table.py (TestDBFTable.test_filename): New. Test
220            for the FileName method
221            (TestDBFTableWriting.test_write): Fix spelling of filename
222    
223    2003-05-22  Thomas Koester  <[email protected]>
224    
225            * Thuban/Model/range.py, test/test_range.py: Brought over new Range
226            from SciParam that now really is immutable.
227    
228    2003-05-22  Frank Koormann  <[email protected]>
229    
230            Layer Top/Bottom placement added to legend.
231    
232            * Thuban/UI/legend.py
233            (LegendPanel._OnMoveTop(), LayerPanel._OnMoveBottom): New, methods
234            bound to tool events.
235            (LegendTree.MoveCurrentItemTop(), LegendTree.MoveCurrentItemBottom):
236            New, methods binding the event methods with the map methods.
237    
238            * Thuban/Model/map.py (Map.TopLayer(), Map.BottomLayer()): New, place
239            layer at top/bottom of layer stack.
240    
241            * Resources/Bitmaps/top_layer.xpm: New button icon.
242    
243            * Resources/Bitmaps/bottom_layer.xpm: New button icon.
244    
245    2003-05-22  Bernhard Herzog  <[email protected]>
246    
247            * Thuban/Model/session.py (Session.RemoveTable): New method to
248            remove tables
249    
250            * test/test_session.py (TestSessionSimple.test_remove_table): New.
251            Test for RemoveTable
252    
253    2003-05-22  Thomas Koester  <[email protected]>
254    
255            * Thuban/Model/classgen.py: Added short module doc string and CVS id.
256            (ClassGenerator.GenUniformDistribution): Use new Range __init__, too.
257    
258    2003-05-22  Bernhard Herzog  <[email protected]>
259    
260            Implement a way to discover dependencies between tables and
261            shapestores.
262    
263            * Thuban/Model/transientdb.py (TransientTableBase.Dependencies)
264            (TransientJoinedTable.Dependencies)
265            (AutoTransientTable.SimpleQuery): New. Implement the dependencies
266            interface
267            (TransientJoinedTable.__init__): Keep tack of the original table
268            objects in addition to the corresponding transient tables.
269    
270            * Thuban/Model/table.py (DBFTable.Dependencies)
271            (MemoryTable.Dependencies): New. Implement the dependencies
272            interface
273    
274            * Thuban/Model/data.py (ShapeTable): New. Helper class for
275            ShapefileStore
276            (ShapefileStore.__init__): Use ShapeTable instead of
277            AutoTransientTable
278            (ShapefileStore.Table, ShapefileStore.Shapefile): Add doc-strings
279            (ShapefileStore.FileName, ShapefileStore.FileType): New. Accessor
280            methods for filename and type
281            (ShapefileStore.Dependencies): New. Implement the dependencies
282            interface
283            (DerivedShapeStore): New class to replace SimpleStore. The main
284            difference to SimpleStore is that it depends not on a shapefile
285            but another shapestore which expresses the dependencies a bit
286            better
287            (SimpleStore.__init__): Add deprecation warning.
288    
289            * test/test_dbf_table.py (TestDBFTable.test_dependencies): New.
290            Test for the Dependencies method.
291    
292            * test/test_memory_table.py (TestMemoryTable.test_dependencies):
293            New. Test for the Dependencies method.
294    
295            * test/test_transientdb.py
296            (TestTransientTable.test_auto_transient_table_dependencies): New.
297            Test for the Dependencies method.
298            (TestTransientTable.test_transient_joined_table): Add test for the
299            Dependencies method.
300    
301            * test/test_session.py (TestSessionSimple.setUp)
302            (TestSessionSimple.tearDown): New. Implement a better way to
303            destroy the sessions.
304            (TestSessionSimple.test_initial_state)
305            (TestSessionSimple.test_add_table): Bind session to self.session
306            so that it's destroyed by tearDown
307            (TestSessionSimple.test_open_shapefile): New. Test for
308            OpenShapefile and the object it returns
309    
310    2003-05-22  Bernhard Herzog  <[email protected]>
311    
312            * Thuban/Model/session.py (Session.AddTable): New method to
313            register tables with the session.
314            (Session.Tables): Return the tables registered with AddTable too.
315    
316            * test/test_session.py (TestSessionSimple.test_add_table): New.
317            Test case for the AddTable method
318    
319    2003-05-22  Frank Koormann  <[email protected]>
320    
321            UI polishing updates: Place main buttons (OK, Cancel, etc) in the
322            lower right corner, center labels for selections, initialize controls
323            in reasonable order for keyboard navigation.
324    
325            * Thuban/UI/projdialog.py (ProjFrame.__init__, ProjFrame.__doLayout)
326            (ProjFrame.__DoOnProjAvail): Determine position of current projection
327            using the wxListBox.FindString() method. Still a problem (#1886)
328    
329            * Thuban/UI/classifier.py
330            (Classifier.__init__, SelectPropertiesDialog.__init__)
331    
332            * Thuban/UI/classgen.py (ClassGenDialog.__init__,
333            (ClassGenDialog.__DoOnGenTypeSelect): Moved initialization of the
334            different classification types from here to __init__.
335            (GenUniquePanel.__init__): Set the column width of the first field
336            in the Field ListCtrl to the full width.
337    
338            * Thuban/UI/tableview.py (LayerTableFrame.__init__): Rename 'Save As'
339            Button to 'Export'. Center Buttons in Selection Box, set Focus to
340            Grid.
341            (LayerTableFrame.OnKeyDown()): New, bound to the grid with EVT_KEY_DOWN,
342            changes focus to the Selection when pressing "Alt-S".
343    
344            * Thuban/UI/legend.py (LegendTree.__SetVisibilityStyle): Only gray out
345            the text if not visible. The italic font sometimes exceeds the
346            rendering area.
347    
348    2003-05-21  Jonathan Coles   <[email protected]>
349    
350            * Thuban/UI/dock.py (DockFrame): Rename references to _OnClose
351            to OnClose so that Thuban closes correctly.
352    
353            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Call
354            DockFrame.OnClose, not DockFrame._OnClose.
355    
356  2003-05-21  Jonathan Coles   <[email protected]>  2003-05-21  Jonathan Coles   <[email protected]>
357    
358          * Thuban/Model/classgen.py (ClassGenerator.GenQuantiles): Remove          * Thuban/Model/classgen.py (ClassGenerator.GenQuantiles): Remove

Legend:
Removed from v.972  
changed lines
  Added in v.1048

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26