/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Annotation of /branches/greater-ms3/thuban/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 89 - (hide annotations)
Thu Apr 4 14:22:49 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 14429 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26