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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26