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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (hide annotations)
Mon Feb 4 19:53:25 2002 UTC (23 years, 1 month ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 13901 byte(s)
update changelog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26