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

Legend:
Removed from v.997  
changed lines
  Added in v.1077

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26