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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 85 - (hide annotations)
Wed Apr 3 15:21:58 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 14275 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26