/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.18  
changed lines
  Added in v.89

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26