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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 83 - (hide annotations)
Fri Feb 15 17:11:11 2002 UTC (23 years ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 14088 byte(s)
update ChangeLog

1 bh 83 2002-02-15 Bernhard Herzog <[email protected]>
2    
3     * Thuban/Model/layer.py (Layer.Shape): list append only takes one
4     argument (python <= 1.5.2 erroneously accepted multiuple
5     arguments)
6    
7 bh 81 2002-02-04 Bernhard Herzog <[email protected]>
8    
9     * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
10     RecordGrid in the identifyview.
11     (IdentifyView.__init__): Use IdentifyGridCtrl instead of
12     IdentifyListCtrl. The grid allows editing of the values.
13    
14     * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
15     implementing a grid for a single row of a thuban table.
16    
17     * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
18     layers by default. Easier to use than the previous default of only
19     searching through the select layer which meant that if no layer
20     was selected, you couldn't select a shape.
21    
22     * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
23    
24     * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
25     stroke_width attribute
26    
27     * Thuban/Model/save.py (save_session): Write the new stroke_width
28     attribute
29    
30     * Thuban/Model/load.py (ProcessSession.startElement): Read the
31     stroke_width attribute
32    
33     * Thuban/Model/layer.py (Layer.__init__): New parameter and
34     instance variable stroke_width
35     (Layer.SetStrokeWidth): Set the stroke_width.
36    
37 bh 72 2002-02-01 Bernhard Herzog <[email protected]>
38    
39     * extensions/thuban/wxproj.cpp (project_points): Fix two
40     off-by-one errors in the last loop that joins the various parts
41     together.
42    
43 bh 71 2002-01-14 Bernhard Herzog <[email protected]>
44    
45     * setup.py (data_dist.make_distribution): Fix some typos
46    
47 bh 70 2001-09-18 Bernhard Herzog <[email protected]>
48    
49     * README: Slight tweaking in preparation for the 0.1 release
50    
51     * setup.cfg: Add section for sdist to create both tgz and zip
52     archives
53    
54     * setup.py: increase version number to 0.1
55     (data_dist): New command class for data distribution
56    
57    
58 bh 64 2001-09-14 Bernhard Herzog <[email protected]>
59    
60 bh 70 * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
61     Handle the case of no layer (i.e. layer is None) properly.
62    
63     * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
64     Set the initial selection of the combo boxes to reflect the
65     projection we're starting with in a way that works on windows,
66     too.
67    
68 bh 64 * Thuban/Lib/connector.py (Connector.print_connections): Print the
69     puiblisher's ids in hex to make it easier to compare them to the
70     standard repr of python methods
71    
72     * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
73     messages
74    
75 bh 59 2001-09-13 Bernhard Herzog <[email protected]>
76    
77 bh 64 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
78     deselect the layer if no layer is selected
79    
80 bh 59 * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
81     idle time when there actually is something to draw. If there's
82     nothing to draw simply clear the window
83     (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
84     (MapCanvas.SetMap): force a redraw in all cases because
85     FitMapToWindow doesn't always do it.
86     (MapCanvas.ZoomFactor): Add an optional parameter, center, to
87     specify the point to move into the center of the window
88     (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
89     dragged, zoon in/out by a factor of 2
90 bh 64 (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
91     index, i.e. reversed drawing order) so that objects appearing to
92     be in from of others are selected first. This is probably mostly
93     relevant for point shapes where the symbols used may overlap
94 bh 59
95     * Thuban/Model/session.py (create_empty_session): Unset the
96     modified bit before returning it
97    
98     * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
99     create_empty_session session to create the new, empty session.
100    
101     * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
102     the tool bitmaps.
103     (MainWindow.OnClose, MainWindow.save_modified_session): Separate
104     the code that asks whether the session should be saved into the
105     new method save_modified_session.
106     (MainWindow.OpenSession, MainWindow.NewSession): Use the new
107     method to save modified session here too.
108    
109 bh 55 2001-09-11 Bernhard Herzog <[email protected]>
110    
111     * setup.py (InnoIconItem): fix typo
112    
113     (thuban_bdist_inno.run):
114     (bdist_inno.run): Move the decision not to create symlinks on
115     non-nt platforms to thuban_bdist_inno and do it unconditinally
116     since we never want to create the symlinks here
117    
118 bh 48 2001-09-10 Bernhard Herzog <[email protected]>
119    
120 bh 53 * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
121     identify view immediately
122    
123     * Thuban/UI/controls.py: New file with two classes RecordListCtrl
124     and SelectableRecordListCtrl that implement the code shared by the
125     identify view and the label dialog
126    
127     * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
128     new class RecordListCtrl
129    
130     * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
131     return value of GetValue is None instead of using it as a boolean
132     directly so that Zero numbers are handled properly.
133     (LabelListCtrl): Derive from the new class
134     SelectableRecordListCtrl
135    
136 bh 48 * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
137     (Proj4Dialog.dialogLayout): Make the window resizable and set the
138     size of the text control explicitly to make the sizers work on
139     both Windows and X.
140    
141 bh 44 2001-09-07 Bernhard Herzog <[email protected]>
142    
143     * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
144     that can limit the search to the currently selected layer.
145     (MapCanvas.SelectShapeAt): Make sure that the currently selected
146     layer stays selected even when no shape is found
147 bh 46 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
148     height do nothing (avoids zero division errors)
149 bh 44
150 bh 32 2001-09-06 Bernhard Herzog <[email protected]>
151    
152 bh 42 * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
153     Correct the spelling of SessionTreeCtrl. dabbrev is too damn
154     convenient :-)
155     (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
156     a new instvar layer_to_item to map layers to tree items
157     (SessionTreeCtrl.layer_selected): Select the appropriate tree item
158     to match the current selection in the interactor
159    
160 bh 40 * Thuban/UI/interactor.py (Interactor.SelectedLayer):
161     (Interactor.HasSelectedLayer): New methods to query the current
162     selection
163    
164     * Thuban/UI/mainwindow.py (MainWindow.current_layer):
165     (MainWindow.has_selected_layer): Simply call the appropriate
166     interactor method
167    
168     * Thuban/UI/mainwindow.py (MainWindow.__init__):
169     (MainWindow.LayerShowTable):
170     (MainWindow.identify_view_on_demand): Store the interactor in an
171     instvar and use that reference instead of going through main.app
172    
173     * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
174     * Thuban/UI/application.py (ThubanApplication.OnInit):
175     * Thuban/UI/main.py (main): Create the session tree view in main
176     with the new mainwindow method ShowSessionTree and not directly
177     the application's OnInit method
178    
179     * Thuban/UI/tree.py (myTreeCtrlPanel):
180     (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
181     TreeCtrl isntead of a panel. This affects most method since we now
182     refer to self instead of self.tree
183     (SessionTreeView): New class implementing a non-modal dialog
184     showing the session tree.
185    
186 bh 35 * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
187     layer to the tableview dialog.
188    
189     * Thuban/UI/tableview.py: Add some doc-strings
190     (TableGrid):
191     (TableGrid.OnRangeSelect):
192     (TableGrid.OnSelectCell):
193     (TableFrame.__init__):
194     (TableFrame.row_selected):
195     Selecting rows in the grid view now updates the selected shapes
196     through the TableFrame. To achieve this we derive TableGrid from
197     Publisher and introduce the message type ROW_SELECTED which the
198     TableFrame subscribes to and which is issued by OnRangeSelect and
199     OnSelectCell
200    
201     (DataTable.SelectRow): Removed because it's no longer needed in
202     the row/shape selection scheme
203    
204 bh 32 * Thuban/UI/dialogs.py: New file implementing common classes for
205     dialogs
206    
207     * Thuban/UI/tableview.py (TableGrid.__init__): Don't subscribe to
208     the SELECTED_SHAPE message anymore. This is now handled by the
209     parent.
210     (TableGrid.select_shape): Only update the selection if the shape
211     is not None.
212     (TableFrame): Inherit from the new NonModalDialog class.
213     (TableFrame.__init__, TableFrame.select_shape): Handle the
214     SELECT_SHAPE message.
215     (TableFrame.OnClose): Extend the inherited method to unsubscribe
216     SELECT_SHAPE
217    
218     * Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
219     (MainWindow.add_dialog):
220     (MainWindow.dialog_open):
221     (MainWindow.remove_dialog):
222     (MainWindow.get_open_dialog): New methods to maintain a dictionary
223     of opened non-modal dialogs.
224    
225     (MainWindow.__init__): Initialize the new non-modal dictionary
226     management code
227     (MainWindow.LayerShowTable): maintain separate dialogs for each
228     table using the non-modal dialog management code to only open a
229     view once for each table.
230    
231     (MainWindow.IdentifyTool):
232     (MainWindow.__init__):
233     (MainWindow.identify_view_on_demand): Don't open the identify view
234     in IdentifyTool anymore. This will be done automatically by the
235     new method identify_view_on_demand which handles the
236     SELECTED_SHAPE message so that the identify view will be opened on
237     demand
238    
239     * Thuban/UI/identifyview.py (IdentifyListCtrl.__init__): Remove
240     the interactor argument. The SELECTED_SHAPE message is now handled
241     by the parent.
242     (IdentifyView.__init__): Add the interactor argument so that we
243     can handle the SELECTED_SHAPE message here
244     (IdentifyView.selected_shape): New method to handle the
245     SELECTED_SHAPE messages
246    
247     * Thuban/UI/identifyview.py (IdentifyView): Derive from the new
248     NonModalDialog class
249     (IdentifyView.OnClose): Extend the inherited version to
250     unsubscribe SELECT_SHAPE
251    
252     * Thuban/Model/session.py (Session.UnsetModified): Remove debug prints
253    
254 bh 26 2001-09-05 Bernhard Herzog <[email protected]>
255    
256     * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
257    
258     * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
259     interactor to pass through to the MapCanvas
260    
261     * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
262     argument to the MainWindow constructor to get rid of the ugly hack
263     that made main.app available early just so that the mapcanvas
264     could access the interactor object.
265    
266 bh 19 2001-09-04 Bernhard Herzog <[email protected]>
267    
268 bh 22 * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): New method
269     that runs a modal message box
270     (MainWindow.OnClose): Use the new method
271     (MainWindow.RemoveLayer): Just do nothing in case no layer is
272     selected. The command should be grayed out anyway, so there's no
273     need to pop up a message box.
274     (MainWindow.AddLayer): Pop up a message box with an error message
275     if the shape file can't be opened
276    
277     * Thuban/Model/layer.py (Layer.__init__): Open the shapefile
278     immediately. This will cause an exception in case the file can't
279     be opened and we can display an appropriate message.
280    
281 bh 19 * MANIFEST.in: Add extensions/pyprojection/LICENSE
282    
283     * setup.py (thuban_bdist_rpm): New class implementing a Thuban
284     specific bdist_rpm command.
285    
286     * Thuban/UI/main.py: Catch ImportError exceptions when importing
287     the locale module because it may not be available on some
288     installations.
289    
290     * extensions/pyprojection/LICENSE: Copy of the license text in
291     Projection.i. Having it in a separate file makes it easier to
292     refer to license text in e.g. RPMs
293    
294 bh 18 2001-09-03 Bernhard Herzog <[email protected]>
295    
296 bh 19 * setup.py: use wx-config instead of wxgtk-config because it's
297     more generic
298    
299     * setup.py (ThubanInstall.get_outputs): Add the symlink in
300     <prefix>/bin to the outputs
301     (ThubanInstall.link_file): New method to link files. We need this
302     because the standard copy_files refuses to link non-existing
303     files.
304     (ThubanInstall.run): Remove the leading install root from the
305     script filename if an install root was specified and use the new
306     link_file method
307    
308 bh 18 * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
309     the window when the first layer is added to the map.
310    
311     * setup.py (ThubanInstall.run): Honor the build root (self.root)
312     when linking thuban.py to <prefix>/bin
313    
314 bh 16 2001-08-31 Bernhard Herzog <[email protected]>
315    
316     * setup.py: In the setup call, the install parameters shouldn't
317     have trailing slashes because distutils on non-posix platforms
318     doesn't like that. The same applies to other directories like
319     "Resources/Bitmaps"
320    
321     In the configuration section for nt, move the wxWindows directory
322     optins into the part clearly marked as editable.
323    
324     (InstallLocal.initialize_options):
325     (InstallLocal.user_options): remove the currently unused debug
326     flag
327     (thuban_build_py.find_all_modules): Add this method so that it
328     works for our case of having packages and modules in one
329     distribution as well.
330     (ThubanInstall.initialize_options):
331     (ThubanInstall.finalize_options):
332     (ThubanInstall.user_options):
333     (ThubanInstall.boolean_options): Add new options, do-symlink and
334     extra files. Since these are the first ThubanInstall specific
335     options, override user_options and boolean_options
336     (ThubanInstall.run): Honor the new do-symlink and extra-files
337     options.
338     (ThubanInstall.get_outputs): Add to override the base-class's
339     version and add the extra-files to the outputs
340     (bdist_inno): New class for windows distributions with Inno Setup
341     (InnoIconItem): Helper class for bdist_inno
342     (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
343     this together with the appropriate parameters, to the setup call.
344    
345     * setup.cfg (bdist_inno): added new section for the inno setup
346     installer
347    
348     * Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
349     changing_selection to avoid recursive selection events when
350     modifying the selection in response to a selection event.
351     (myTreeCtrlPanel.normalize_selection): Set the new inst var when
352     changing the tree's selection.
353     (myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
354     we're not being called indirectly from normalize_selection.
355    
356     * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): Call
357     event.Check only if the command is actuall checkable.
358     (MainWindow.__init__): Call the toolbar's Realize method to make
359     sure that the items are actually shown
360    
361 bh 7 2001-08-28 Bernhard Herzog <[email protected]>
362    
363 bh 9 * setup.py: Fix some doc strings
364    
365 bh 7 * ChangeLog: started
366    

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26