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

Legend:
Removed from v.971  
changed lines
  Added in v.1030

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26