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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 87 - (hide annotations)
Wed Apr 3 19:02:32 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 14316 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26