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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 120 - (hide annotations)
Fri Apr 26 09:32:50 2002 UTC (22 years, 10 months ago) by frank
Original Path: trunk/thuban/ChangeLog
File size: 16336 byte(s)
Thuban/UI/mainwindow.py: Dialo title: s/session/data

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26