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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 165 - (show annotations)
Fri May 10 09:35:06 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 22243 byte(s)
update ChangeLog

1 2002-05-10 Bernhard Herzog <[email protected]>
2
3 * setup.py (py_modules): The shptree modules doesn't have a
4 wrapper, so don't include it in the py_modules
5
6 2002-05-08 Bernhard Herzog <[email protected]>
7
8 * extensions/shapelib/shptree.c (compare_ints): Make arguments
9 const void * as in the qsort prototype
10 (SHPTreeFindLikelyShapes): Remove some unused variables.
11
12 * Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
13 maintains to redraw the window during a drag.
14 (MapCanvas.unprojected_rect_around_point): New method to determine
15 a small region around a point for hit-testing.
16 (MapCanvas.find_shape_at): Only test the shapes in a small region
17 around the point.
18
19 * setup.py: Increment the version to 0.1.2
20
21 * Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
22 debug print and set session to None after unsubscribing
23
24 2002-05-07 Bernhard Herzog <[email protected]>
25
26 * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
27 the file to have a .thuban extension.
28
29 * Thuban/UI/tree.py (session_channels): New class constant with
30 all the session channels to subscribe to to update the tree
31 (SessionTreeCtrl.session_changed): Remember the session so that we
32 can unsubscribe properly. Use the new class constant to
33 unsubscribe from the old session and subscribe to the new one.
34 (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
35 subscriptions of the SessionTreeCtrl.
36 (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
37
38 * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
39 Session Tree" command to the file menu.
40
41 * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
42 as update_region to the renderer.
43
44 * Thuban/UI/renderer.py
45 (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
46 update box is now directly a tuple, not a wxRect anymore.
47
48 * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
49 prints.
50
51 2002-05-07 Bernhard Herzog <[email protected]>
52
53 * setup.py: Add the shptree extension module. See
54 extensions/pyshapelib/ChangeLog for more details.
55
56 * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
57 extensions/shapelib/dbfopen.c: Really update to the versions of
58 shapelib 1.2.9. For some reason it wasn't really done on
59 2002-04-11.
60
61 * extensions/shapelib/shptree.c: Modified version of shptree.c of
62 shapelib 1.2.9. The only real difference is the use of qsort
63 instead of a bubble sort implementation
64
65 * Thuban/Model/layer.py (Layer.__init__): New instance variable
66 shapetree to hold the shapelib quadtree for the shapefile
67 (Layer.open_shapefile): Create the quad tree.
68 (Layer.ShapesInRegion): New method to return the ids of shapes in
69 a given region using the quad tree.
70
71 * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
72 comment
73 (draw_polygon_shape): Accept both arcs and polygons.
74 (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
75 the api.
76
77 * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
78 return the shape ids to be rendered in a given layer.
79 (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
80 ids. Use draw_polygon_shape to draw arc shapes as well.
81 (ScreenRenderer.RenderMap): New parameter for the rectangle that
82 has to be updated
83 (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
84 calling it's ShapesInRegion method.
85
86 * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
87 update_region for the update region.
88 (MapCanvas.OnPaint): Maintain the update region
89 (MapCanvas.do_redraw): Pass the bounding box of the update_region
90 to the renderer when drawing the bitmap. Reset the update_region.
91
92 2002-05-03 Bernhard Herzog <[email protected]>
93
94 * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
95 MainWindow.OpenSession): Change the file extension of the session
96 files to .thuban
97
98 * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
99 Move the map channels to be forwarded by the session into the
100 class constant with forwarded_channels. Also add
101 LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
102 forwarded_channels
103
104 * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
105 typo and some rewording).
106
107 2002-05-02 Bernhard Herzog <[email protected]>
108
109 * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
110 around to speed up most redraws:
111 (MapCanvas.__init__): New instance variable bitmap which holds the
112 bitmap
113 (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
114 self.bitmap to draw.
115 (MapCanvas.full_redraw): New method to force a full redraw
116 including the bitmap
117 (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
118 make sure the bitmap is redrawn.
119 (MapCanvas.projection_changed, MapCanvas.set_view_transform,
120 MapCanvas.shape_selected): Call full_redraw instead of readraw to
121 make sure the bitmap is redrawn.
122 (MapCanvas.OnSize): New method to handle size events so that the
123 bitmap can be redrawn.
124
125 2002-04-29 Bernhard Herzog <[email protected]>
126
127 * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
128 canvas' VIEW_POSITION event
129 (MainWindow.view_position_changed): Handler for VIEW_POSITION.
130 Update the text in the status-bar accordingly.
131
132 * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
133 (MapCanvas.__del__): Implement because Publisher.__del__ has to be
134 called.
135 (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
136 current_position
137 (MapCanvas.set_current_position): New method to set
138 current_position. Issue a VIEW_POSITION event
139 (MapCanvas.CurrentPosition): New public method to return the value
140 of current_position. Should be called when the VIEW_POSITION event
141 is processed.
142 (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
143 Update the position.
144 (MapCanvas.OnLeaveWindow): Set the position to None.
145
146 * Thuban/UI/messages.py (VIEW_POSITION): New message for the
147 position in the statusbar
148
149 2002-04-26 Frank Koormann <[email protected]>
150
151 * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
152
153 2002-04-24 Frank Koormann <[email protected]>
154
155 * Resources/Bitmaps/identify.xpm: shadow added
156
157 * Resources/Bitmaps/fullextent.xpm: new
158
159 2002-04-22 Jan-Oliver Wagner <[email protected]>
160
161 * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
162
163 2002-04-21 Jan-Oliver Wagner <[email protected]>
164
165 * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
166
167 * Thuban/UI/tree.py (update_tree): added added map extent
168
169 * Thuban/UI/mainwindow.py (_method_command): extended by parameter
170 icon; added map_full_extend as tool
171
172 2002-04-19 Jan-Oliver Wagner <[email protected]>
173
174 * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
175 saving _new_ sessions
176
177 * Thuban/Model/session.py (create_empty_session): new session
178 don't have a filename (set to None)
179
180 * Thuban/UI/tree.py (update_tree): added filename and modified flag
181
182 * Thuban/Model/load.py (ProcessSession): convert projection
183 parameters from unicode to regular string
184
185 * Data/iceland_sample.session: Added UTM Zone 26 projection.
186
187 2002-04-11 Bernhard Herzog <[email protected]>
188
189 * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
190 extensions/shapelib/dbfopen.c: Update to the versions of shapelib
191 1.2.9
192
193 * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
194 the pyshapelib directoy into the list of include dirs, so that
195 pyshapelib_api.h can be found.
196
197 * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
198 holds the pyshapelib C-API
199 (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
200 pyshapelib_api to access the shapelib functions.
201 (initwxproj): Import the c_api from the shapelib module and
202 initialize pyshapelib_api.
203
204 2002-04-04 Bernhard Herzog <[email protected]>
205
206 * setup.py (thuban_bdist_rpm.initialize_options): Use
207 initialize_options to create the scripts for the rpm.
208
209 * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
210
211 2002-04-03 Bernhard Herzog <[email protected]>
212
213 * setup.py: Increment version to 0.1.1
214
215 * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
216 Layer" and "Remove Layer" commands from the layer menu to the map
217 menu
218
219 2002-02-15 Bernhard Herzog <[email protected]>
220
221 * Thuban/Model/layer.py (Layer.Shape): list append only takes one
222 argument (python <= 1.5.2 erroneously accepted multiuple
223 arguments)
224
225 2002-02-04 Bernhard Herzog <[email protected]>
226
227 * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
228 RecordGrid in the identifyview.
229 (IdentifyView.__init__): Use IdentifyGridCtrl instead of
230 IdentifyListCtrl. The grid allows editing of the values.
231
232 * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
233 implementing a grid for a single row of a thuban table.
234
235 * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
236 layers by default. Easier to use than the previous default of only
237 searching through the select layer which meant that if no layer
238 was selected, you couldn't select a shape.
239
240 * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
241
242 * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
243 stroke_width attribute
244
245 * Thuban/Model/save.py (save_session): Write the new stroke_width
246 attribute
247
248 * Thuban/Model/load.py (ProcessSession.startElement): Read the
249 stroke_width attribute
250
251 * Thuban/Model/layer.py (Layer.__init__): New parameter and
252 instance variable stroke_width
253 (Layer.SetStrokeWidth): Set the stroke_width.
254
255 2002-02-01 Bernhard Herzog <[email protected]>
256
257 * extensions/thuban/wxproj.cpp (project_points): Fix two
258 off-by-one errors in the last loop that joins the various parts
259 together.
260
261 2002-01-14 Bernhard Herzog <[email protected]>
262
263 * setup.py (data_dist.make_distribution): Fix some typos
264
265 2001-09-18 Bernhard Herzog <[email protected]>
266
267 * README: Slight tweaking in preparation for the 0.1 release
268
269 * setup.cfg: Add section for sdist to create both tgz and zip
270 archives
271
272 * setup.py: increase version number to 0.1
273 (data_dist): New command class for data distribution
274
275
276 2001-09-14 Bernhard Herzog <[email protected]>
277
278 * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
279 Handle the case of no layer (i.e. layer is None) properly.
280
281 * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
282 Set the initial selection of the combo boxes to reflect the
283 projection we're starting with in a way that works on windows,
284 too.
285
286 * Thuban/Lib/connector.py (Connector.print_connections): Print the
287 puiblisher's ids in hex to make it easier to compare them to the
288 standard repr of python methods
289
290 * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
291 messages
292
293 2001-09-13 Bernhard Herzog <[email protected]>
294
295 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
296 deselect the layer if no layer is selected
297
298 * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
299 idle time when there actually is something to draw. If there's
300 nothing to draw simply clear the window
301 (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
302 (MapCanvas.SetMap): force a redraw in all cases because
303 FitMapToWindow doesn't always do it.
304 (MapCanvas.ZoomFactor): Add an optional parameter, center, to
305 specify the point to move into the center of the window
306 (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
307 dragged, zoon in/out by a factor of 2
308 (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
309 index, i.e. reversed drawing order) so that objects appearing to
310 be in from of others are selected first. This is probably mostly
311 relevant for point shapes where the symbols used may overlap
312
313 * Thuban/Model/session.py (create_empty_session): Unset the
314 modified bit before returning it
315
316 * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
317 create_empty_session session to create the new, empty session.
318
319 * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
320 the tool bitmaps.
321 (MainWindow.OnClose, MainWindow.save_modified_session): Separate
322 the code that asks whether the session should be saved into the
323 new method save_modified_session.
324 (MainWindow.OpenSession, MainWindow.NewSession): Use the new
325 method to save modified session here too.
326
327 2001-09-11 Bernhard Herzog <[email protected]>
328
329 * setup.py (InnoIconItem): fix typo
330
331 (thuban_bdist_inno.run):
332 (bdist_inno.run): Move the decision not to create symlinks on
333 non-nt platforms to thuban_bdist_inno and do it unconditinally
334 since we never want to create the symlinks here
335
336 2001-09-10 Bernhard Herzog <[email protected]>
337
338 * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
339 identify view immediately
340
341 * Thuban/UI/controls.py: New file with two classes RecordListCtrl
342 and SelectableRecordListCtrl that implement the code shared by the
343 identify view and the label dialog
344
345 * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
346 new class RecordListCtrl
347
348 * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
349 return value of GetValue is None instead of using it as a boolean
350 directly so that Zero numbers are handled properly.
351 (LabelListCtrl): Derive from the new class
352 SelectableRecordListCtrl
353
354 * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
355 (Proj4Dialog.dialogLayout): Make the window resizable and set the
356 size of the text control explicitly to make the sizers work on
357 both Windows and X.
358
359 2001-09-07 Bernhard Herzog <[email protected]>
360
361 * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
362 that can limit the search to the currently selected layer.
363 (MapCanvas.SelectShapeAt): Make sure that the currently selected
364 layer stays selected even when no shape is found
365 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
366 height do nothing (avoids zero division errors)
367
368 2001-09-06 Bernhard Herzog <[email protected]>
369
370 * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
371 Correct the spelling of SessionTreeCtrl. dabbrev is too damn
372 convenient :-)
373 (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
374 a new instvar layer_to_item to map layers to tree items
375 (SessionTreeCtrl.layer_selected): Select the appropriate tree item
376 to match the current selection in the interactor
377
378 * Thuban/UI/interactor.py (Interactor.SelectedLayer):
379 (Interactor.HasSelectedLayer): New methods to query the current
380 selection
381
382 * Thuban/UI/mainwindow.py (MainWindow.current_layer):
383 (MainWindow.has_selected_layer): Simply call the appropriate
384 interactor method
385
386 * Thuban/UI/mainwindow.py (MainWindow.__init__):
387 (MainWindow.LayerShowTable):
388 (MainWindow.identify_view_on_demand): Store the interactor in an
389 instvar and use that reference instead of going through main.app
390
391 * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
392 * Thuban/UI/application.py (ThubanApplication.OnInit):
393 * Thuban/UI/main.py (main): Create the session tree view in main
394 with the new mainwindow method ShowSessionTree and not directly
395 the application's OnInit method
396
397 * Thuban/UI/tree.py (myTreeCtrlPanel):
398 (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
399 TreeCtrl isntead of a panel. This affects most method since we now
400 refer to self instead of self.tree
401 (SessionTreeView): New class implementing a non-modal dialog
402 showing the session tree.
403
404 * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
405 layer to the tableview dialog.
406
407 * Thuban/UI/tableview.py: Add some doc-strings
408 (TableGrid):
409 (TableGrid.OnRangeSelect):
410 (TableGrid.OnSelectCell):
411 (TableFrame.__init__):
412 (TableFrame.row_selected):
413 Selecting rows in the grid view now updates the selected shapes
414 through the TableFrame. To achieve this we derive TableGrid from
415 Publisher and introduce the message type ROW_SELECTED which the
416 TableFrame subscribes to and which is issued by OnRangeSelect and
417 OnSelectCell
418
419 (DataTable.SelectRow): Removed because it's no longer needed in
420 the row/shape selection scheme
421
422 * Thuban/UI/dialogs.py: New file implementing common classes for
423 dialogs
424
425 * Thuban/UI/tableview.py (TableGrid.__init__): Don't subscribe to
426 the SELECTED_SHAPE message anymore. This is now handled by the
427 parent.
428 (TableGrid.select_shape): Only update the selection if the shape
429 is not None.
430 (TableFrame): Inherit from the new NonModalDialog class.
431 (TableFrame.__init__, TableFrame.select_shape): Handle the
432 SELECT_SHAPE message.
433 (TableFrame.OnClose): Extend the inherited method to unsubscribe
434 SELECT_SHAPE
435
436 * Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
437 (MainWindow.add_dialog):
438 (MainWindow.dialog_open):
439 (MainWindow.remove_dialog):
440 (MainWindow.get_open_dialog): New methods to maintain a dictionary
441 of opened non-modal dialogs.
442
443 (MainWindow.__init__): Initialize the new non-modal dictionary
444 management code
445 (MainWindow.LayerShowTable): maintain separate dialogs for each
446 table using the non-modal dialog management code to only open a
447 view once for each table.
448
449 (MainWindow.IdentifyTool):
450 (MainWindow.__init__):
451 (MainWindow.identify_view_on_demand): Don't open the identify view
452 in IdentifyTool anymore. This will be done automatically by the
453 new method identify_view_on_demand which handles the
454 SELECTED_SHAPE message so that the identify view will be opened on
455 demand
456
457 * Thuban/UI/identifyview.py (IdentifyListCtrl.__init__): Remove
458 the interactor argument. The SELECTED_SHAPE message is now handled
459 by the parent.
460 (IdentifyView.__init__): Add the interactor argument so that we
461 can handle the SELECTED_SHAPE message here
462 (IdentifyView.selected_shape): New method to handle the
463 SELECTED_SHAPE messages
464
465 * Thuban/UI/identifyview.py (IdentifyView): Derive from the new
466 NonModalDialog class
467 (IdentifyView.OnClose): Extend the inherited version to
468 unsubscribe SELECT_SHAPE
469
470 * Thuban/Model/session.py (Session.UnsetModified): Remove debug prints
471
472 2001-09-05 Bernhard Herzog <[email protected]>
473
474 * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
475
476 * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
477 interactor to pass through to the MapCanvas
478
479 * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
480 argument to the MainWindow constructor to get rid of the ugly hack
481 that made main.app available early just so that the mapcanvas
482 could access the interactor object.
483
484 2001-09-04 Bernhard Herzog <[email protected]>
485
486 * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): New method
487 that runs a modal message box
488 (MainWindow.OnClose): Use the new method
489 (MainWindow.RemoveLayer): Just do nothing in case no layer is
490 selected. The command should be grayed out anyway, so there's no
491 need to pop up a message box.
492 (MainWindow.AddLayer): Pop up a message box with an error message
493 if the shape file can't be opened
494
495 * Thuban/Model/layer.py (Layer.__init__): Open the shapefile
496 immediately. This will cause an exception in case the file can't
497 be opened and we can display an appropriate message.
498
499 * MANIFEST.in: Add extensions/pyprojection/LICENSE
500
501 * setup.py (thuban_bdist_rpm): New class implementing a Thuban
502 specific bdist_rpm command.
503
504 * Thuban/UI/main.py: Catch ImportError exceptions when importing
505 the locale module because it may not be available on some
506 installations.
507
508 * extensions/pyprojection/LICENSE: Copy of the license text in
509 Projection.i. Having it in a separate file makes it easier to
510 refer to license text in e.g. RPMs
511
512 2001-09-03 Bernhard Herzog <[email protected]>
513
514 * setup.py: use wx-config instead of wxgtk-config because it's
515 more generic
516
517 * setup.py (ThubanInstall.get_outputs): Add the symlink in
518 <prefix>/bin to the outputs
519 (ThubanInstall.link_file): New method to link files. We need this
520 because the standard copy_files refuses to link non-existing
521 files.
522 (ThubanInstall.run): Remove the leading install root from the
523 script filename if an install root was specified and use the new
524 link_file method
525
526 * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
527 the window when the first layer is added to the map.
528
529 * setup.py (ThubanInstall.run): Honor the build root (self.root)
530 when linking thuban.py to <prefix>/bin
531
532 2001-08-31 Bernhard Herzog <[email protected]>
533
534 * setup.py: In the setup call, the install parameters shouldn't
535 have trailing slashes because distutils on non-posix platforms
536 doesn't like that. The same applies to other directories like
537 "Resources/Bitmaps"
538
539 In the configuration section for nt, move the wxWindows directory
540 optins into the part clearly marked as editable.
541
542 (InstallLocal.initialize_options):
543 (InstallLocal.user_options): remove the currently unused debug
544 flag
545 (thuban_build_py.find_all_modules): Add this method so that it
546 works for our case of having packages and modules in one
547 distribution as well.
548 (ThubanInstall.initialize_options):
549 (ThubanInstall.finalize_options):
550 (ThubanInstall.user_options):
551 (ThubanInstall.boolean_options): Add new options, do-symlink and
552 extra files. Since these are the first ThubanInstall specific
553 options, override user_options and boolean_options
554 (ThubanInstall.run): Honor the new do-symlink and extra-files
555 options.
556 (ThubanInstall.get_outputs): Add to override the base-class's
557 version and add the extra-files to the outputs
558 (bdist_inno): New class for windows distributions with Inno Setup
559 (InnoIconItem): Helper class for bdist_inno
560 (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
561 this together with the appropriate parameters, to the setup call.
562
563 * setup.cfg (bdist_inno): added new section for the inno setup
564 installer
565
566 * Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
567 changing_selection to avoid recursive selection events when
568 modifying the selection in response to a selection event.
569 (myTreeCtrlPanel.normalize_selection): Set the new inst var when
570 changing the tree's selection.
571 (myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
572 we're not being called indirectly from normalize_selection.
573
574 * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): Call
575 event.Check only if the command is actuall checkable.
576 (MainWindow.__init__): Call the toolbar's Realize method to make
577 sure that the items are actually shown
578
579 2001-08-28 Bernhard Herzog <[email protected]>
580
581 * setup.py: Fix some doc strings
582
583 * ChangeLog: started
584

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26