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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 64 - (show annotations)
Fri Sep 14 12:20:21 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 11894 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26