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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26