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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 72 - (show annotations)
Fri Feb 1 17:21:18 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 12803 byte(s)
* extensions/thuban/wxproj.cpp (project_points): Fix two
off-by-one errors in the last loop that joins the various parts
together.

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26