/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.992  
changed lines
  Added in v.1087

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26