/[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 993 by tkoester, Thu May 22 16:54:04 2003 UTC revision 1069 by bh, Tue May 27 15:02:48 2003 UTC
# Line 1  Line 1 
1    2003-05-27  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/messages.py (TABLE_REMOVED): New message.
4    
5            * Thuban/Model/session.py (Session.UnreferencedTables): New method
6            to return tables that are not referenced by other tables or shape
7            stores and can be removed.
8            (Session.RemoveTable): Issue a TABLE_REMOVED message after
9            removing the table
10    
11            * Thuban/UI/mainwindow.py: Remove unused imports
12            (MainWindow.TableClose): Implement.
13    
14            * Thuban/UI/tableview.py (TableFrame.__init__): Subscribe to some
15            messages so that the frame will be automatically closed when a new
16            session is opened or the table is removed.
17            (TableFrame.OnClose): Unsubscribe the Subscriptions made in
18            __init__
19            (TableFrame.close_on_session_replaced)
20            (TableFrame.close_on_table_removed): New. Subscribers that close
21            the window
22    
23            * test/test_session.py (TestSessionMessages.test_remove_table)
24            (TestSessionSimple.test_remove_table): Move the test to
25            TestSessionSimple and add test for the TABLE_REMOVED message
26            (TestSessionBase.setUp): Also subscribe to TABLE_REMOVED
27            (TestSessionSimple.test_unreferenced_tables) New. Test for the
28            UnreferencedTables method.
29            (UnreferencedTablesTests): New. Class with some more sophisticated
30            tests for UnreferencedTables.
31    
32    2003-05-27  Frank Koormann  <[email protected]>
33    
34            * Thuban/UI/tableview.py (QueryTableFrame.__init__): The "_S_election"
35            display has some unwanted side effects. Removed again.
36    
37    2003-05-27  Frank Koormann  <[email protected]>
38    
39            * Resources/Bitmaps/legend_icon_layer.xpm: New, icon for legend.
40    
41            * Thuban/UI/legend.py (LegendTree.__FillTree): Use "legend_icon_layer"
42    
43    2003-05-27  Jan-Oliver Wagner <[email protected]>
44    
45            * test/test_menu.py (MenuTest.test): Added test for
46            Menu.RemoveItem().
47    
48            * Thuban/UI/menu.py (Menu.RemoveItem): New. Remove an item from
49            the menu.
50    
51    2003-05-27  Frank Koormann  <[email protected]>
52            
53            Nonmodal dialogs without parent (i.e. they can fall behind the main
54            window)
55    
56            * Thuban/UI/mainwindow.py (MainWindow.OnClose): Explicitly destroy
57            all dialogs in the dialogs dictionary and the canvas.
58    
59            * Thuban/UI/dialogs.py (NonModalNonParentDialog): New class, without
60            parent, i.e. can fall behind other windows.
61            (NonModalDialog.OnClose): Check is dialog is in mainwindow.dialog
62            dictionary before removing it.
63    
64            * Thuban/UI/classifier.py: Dialog derived from NonModalNonParentDialog
65    
66            * Thuban/UI/projdialog.py: Dialog derived from NonModalNonParentDialog
67            * Thuban/UI/tableview.py: Dialog derived from NonModalNonParentDialog
68            * Thuban/UI/tree.py: Dialog derived from NonModalNonParentDialog
69    
70    2003-05-27  Bernhard Herzog  <[email protected]>
71    
72            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): New. Open a
73            tableview dialog
74            (MainWindow.TableShow): Use ShowTableView to open the dialogs.
75            Also, don't use the table's titles as the dialog names. The titles
76            aren't guaranteed to be unique.
77            (MainWindow.TableOpen): Open a table view dialog after opening the
78            table
79    
80    2003-05-27  Bernhard Herzog  <[email protected]>
81    
82            * Thuban/UI/mainwindow.py: Remove the Table/Hide menu item. Its
83            effect can be achieved by simply closing the window showing the
84            table.
85            (MainWindow.TableHide): Removed.
86            (main_menu): Removed "table_hide"
87    
88    2003-05-27  Frank Koormann  <[email protected]>
89    
90            Fix legend tree display problems under Win32
91    
92            * Thuban/UI/legend.py:  BMP_SIZE_W = 15
93            (LegendTree.__FillTree): Display "legend_icon_map.xpm" with layer title.
94            (LegendTree.__FillTreeLayer): Explicitely set SelectedImage.
95    
96            * Resources/Bitmaps/legend_icon_map.xpm: New icon for legend.
97    
98    2003-05-27  Jan-Oliver Wagner <[email protected]>
99    
100            * Thuban/UI/menu.py (Menu.InsertSeparator): Additional optional parameter
101            'after' now allows to insert separators almost anywhere in the menu.
102    
103    2003-05-27  Frank Koormann  <[email protected]>
104    
105            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Underline the
106            "S" of selection box label to hint on hot key (Alt-S). Works under
107            Win32 but is ignored under GTK.
108    
109    2003-05-26  Frank Koormann  <[email protected]>
110    
111            * Thuban/UI/projdialog.py (ProjFrame.__do_layout, ProjPanel._DoLayout):
112            Center Choices.
113    
114    2003-05-26  Bernhard Herzog  <[email protected]>
115    
116            Remove the Precision methods again. They're too DBF specific to be
117            part of the table interface and they're only used in table_to_dbf
118            anyway.
119            
120            * Thuban/Model/transientdb.py (TransientTableBase.Width):Use a
121            fixed precision of 12 for doubles.
122            (TransientTableBase.Precision): Removed
123            (AutoTransientTable.Width): Delegate to self.table.
124    
125            * Thuban/Model/table.py (DBFTable.Precision)
126            (MemoryTable.Precision): Removed.
127            (MemoryTable.Width): Use a fixed precision of 12 for doubles.
128            (table_to_dbf): Use a fixed precision of 12 for floats unless the
129            column object specifies something else.
130    
131            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): New.
132            test for table_to_dbf
133    
134    2003-05-26  Bernhard Herzog  <[email protected]>
135    
136            * test/test_transientdb.py
137            (TestTransientTable.run_iceland_political_tests): Fix a comment.
138    
139    2003-05-26  Bernhard Herzog  <[email protected]>
140    
141            * Thuban/UI/mainwindow.py (MainWindow.TableOpen): Real
142            implementation. Mark parts of the file format strings for
143            localization.
144    
145            * Thuban/Model/session.py (Session.OpenTableFile): New. Open a dbf
146            file and add the table to the tables managed by the session
147    
148            * test/test_session.py (TestSessionSimple.test_open_table_file):
149            New. test case for OpenTableFile
150    
151    2003-05-26  Jan-Oliver Wagner <[email protected]>
152    
153            * Thuban/UI/controls.py, Thuban/UI/identifyview.py, Thuban/UI/join.py,
154            Thuban/UI/labeldialog.py, Thuban/UI/mainwindow.py,
155            Thuban/UI/proj4dialog.py, Thuban/UI/tableview.py, Thuban/UI/view.py:
156            Replace the true/false of wxWindows by True/False of Python 2.2.1.
157    
158    2003-05-26  Jan-Oliver Wagner <[email protected]>
159    
160            * Thuban/UI/tableview.py (LayerTableFrame.__init__): If there is
161            already a selection present, update the grid accordingly.
162    
163            * Thuban/UI/mainwindow.py (MainWindow.TableShow): Make the dialog
164            resizeable and increase its initial size.
165    
166    2003-05-26  Frank Koormann  <[email protected]>
167    
168            Table export functionality
169    
170            * Thuban/Model/table.py (DBFTable.Width, MemoryTable.Width):
171            Return width (in characters) for a column.
172            (DBFTable.Precision, MemoryTable.Precision): Return decimal precision.
173            (table_to_dbf): Write table to dbf file.
174            (table_to_csv): Write table to csv file.
175    
176            * Thuban/Model/transientdb.py (TransientTableBase.Width,
177            TransientTableBase.Precision): Return column width and precision.
178    
179            * Thuban/UI/tableview.py (QueryTableFrame.OnSaveAs): Call table_to_dbf
180            or table_to_csv depending on file selection.
181    
182            * test/test_dbf_table.py:
183            Test table_to_dbf (extension of former part of test).
184    
185            * test/test_csv_table.py:
186            Test table_to_csv.
187    
188    2003-05-23  Jan-Oliver Wagner <[email protected]>
189    
190            * Thuban/UI/join.py (JoinDialog.OnJoin): Use _() for strings.
191            Use QueryTableFrame instead of TableFrame.
192    
193            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Prefix the
194            table window with 'Layer Table:' instead of 'Table:'.
195    
196    2003-05-23  Jan-Oliver Wagner <[email protected]>
197    
198            Give all tables a title via mix-in TitledObject.LayerShowTable
199    
200            * Thuban/Model/base.py (TitledObject.SetTitle): Call method 'issue'
201            only if it exists.
202    
203            * Thuban/Model/table.py (DBFTable, MemoryTable): mix-in TitledObject
204            and call its init-method with a default title. Remove Title() method.
205    
206            * Thuban/Model/transientdb.py (TransientTable, TransientJoinedTable,
207            AutoTransientTable): mix-in TitledObject and call its init-method with
208            a default title. Remove Title() method.
209    
210    2003-05-23  Bernhard Herzog  <[email protected]>
211    
212            * Thuban/Model/session.py (Session.AddShapeStore): Define
213            AddShapeStore analogously to AddTable.
214    
215            * test/test_session.py (TestSessionSimple.test_add_shapestore):
216            New. Test for AddShapeStore
217    
218    2003-05-23  Jan-Oliver Wagner <[email protected]>
219    
220            Introducing QueryTableFrame and a very coarse ShowTable implementation.
221    
222            * Thuban/UI/tableview.py (LayerTableFrame, QueryTableFrame): Split the
223            class LayerTableFrame into two classes, LayerTableFrame and QueryTableFrame.
224            The latter implements the selection GUI without dependency on a layer.
225            LayerTableFrame now is derived from QueryTableFrame and connects
226            to a layer.
227    
228            * Thuban/UI/mainwindow.py (MainWindow.TableShow): A very coarse
229            implementation that still needs work.
230    
231            * Thuban/Model/layer.py (Layer.TreeInfo): Added filename.
232    
233    2003-05-22  Frank Koormann  <[email protected]>
234    
235            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
236            Added "outer_join = False" as optional parameter.
237            (TransientJoinedTable.create): If outer join is true, perform a
238            "LEFT OUTER JOIN" instead of "JOIN", which preserves all records of
239            the left table. Records not matching are filled with 0 / None.
240    
241            * Thuban/UI/join.py (JoinDialog.__init__): Checkbox for outer join.
242            (JoinDialog.OnJoin): Consider outer join check box.
243    
244    2003-05-22  Bernhard Herzog  <[email protected]>
245    
246            * Thuban/UI/join.py (JoinDialog.OnJoin): Use exc_info in a
247            somewhat safer way. Storing the traceback in a local variable can
248            lead to memory leaks
249    
250    2003-05-22  Bernhard Herzog  <[email protected]>
251    
252            * Thuban/UI/join.py (JoinDialog.OnJoin): Make sure to really call
253            the wxMessageDialog's Destroy() method.
254    
255    2003-05-22  Frank Koormann  <[email protected]>
256    
257            * Thuban/UI/join.py (JoinDialog.__init__): Make use of
258            TransientTable.Title()
259    
260    2003-05-22  Frank Koormann  <[email protected]>
261    
262            Join Dialog, initial version.
263    
264            * Thuban/UI/mainwindow.py (MainWindow.TableJoin): Removed print.
265    
266            * Thuban/UI/join.py (JoinDialog): Functional implementation of
267            former framework. Renamed Table1/Table2 to LeftTable/RightTable
268            in all occurences.
269    
270            * Thuban/Model/transientdb.py (TransientJoinedTable.__doc__):
271            Typo fixed.
272    
273    2003-05-22  Bernhard Herzog  <[email protected]>
274    
275            Give the tables titles so that the GUI can display more meaningful
276            names. For now the titles are fixed but depend on e.g. filenames
277            or the titles of the joined tables.
278    
279            * Thuban/Model/transientdb.py (TransientTable.Title)
280            (TransientJoinedTable.Title, AutoTransientTable.Title): New.
281    
282            * Thuban/Model/table.py (DBFTable.Title, MemoryTable.Title): New.
283    
284            * test/test_transientdb.py
285            (TestTransientTable.test_auto_transient_table_title): New. Test
286            for the Title method
287            (TestTransientTable.test_transient_joined_table)
288            (TestTransientTable.test_transient_table): Add test for the Title
289            methods
290    
291            * test/test_memory_table.py (TestMemoryTable.test_title): New.
292            Test for the Title method
293    
294            * test/test_dbf_table.py (TestDBFTable.test_title): New. Test for
295            the Title method
296    
297    2003-05-22  Bernhard Herzog  <[email protected]>
298    
299            * test/test_layer.py (TestLayer.setUp, TestLayer.tearDown):
300            Provide a better way to destroy the layers
301            (TestLayer.test_base_layer, TestLayer.test_arc_layer)
302            (TestLayer.test_point_layer, TestLayer.test_empty_layer)
303            (TestLayer.test_polygon_layer, TestLayer.test_get_field_type): Use
304            the new way to destroy the layers.
305            (TestLayer.test_derived_store): New. Test for using a layer with a
306            DerivedShapeStore
307    
308            * Thuban/Model/layer.py (Layer.SetShapeStore): Only set the
309            filename if the shape store actually has one.
310    
311    2003-05-22  Bernhard Herzog  <[email protected]>
312    
313            * Thuban/Model/table.py (DBFTable.FileName): New. Accessor method
314            for the filename
315    
316            * test/test_dbf_table.py (TestDBFTable.test_filename): New. Test
317            for the FileName method
318            (TestDBFTableWriting.test_write): Fix spelling of filename
319    
320  2003-05-22  Thomas Koester  <[email protected]>  2003-05-22  Thomas Koester  <[email protected]>
321    
322          * Thuban/Model/range.py, test/test_range.py: Brought over new Range          * Thuban/Model/range.py, test/test_range.py: Brought over new Range

Legend:
Removed from v.993  
changed lines
  Added in v.1069

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26