/[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 32 by bh, Thu Sep 6 13:32:55 2001 UTC revision 129 by bh, Fri May 3 14:46:11 2002 UTC
# Line 1  Line 1 
1    2002-05-03  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
4            Move the map channels to be forwarded by the session into the
5            class constant with forwarded_channels.
6    
7            * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
8            typo and some rewording).
9    
10    2002-05-02  Bernhard Herzog  <[email protected]>
11    
12            * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
13            around to speed up most redraws:
14            (MapCanvas.__init__): New instance variable bitmap which holds the
15            bitmap
16            (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
17            self.bitmap to draw.
18            (MapCanvas.full_redraw): New method to force a full redraw
19            including the bitmap
20            (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
21            make sure the bitmap is redrawn.
22            (MapCanvas.projection_changed, MapCanvas.set_view_transform,
23            MapCanvas.shape_selected): Call full_redraw instead of readraw to
24            make sure the bitmap is redrawn.
25            (MapCanvas.OnSize): New method to handle size events so that the
26            bitmap can be redrawn.
27    
28    2002-04-29  Bernhard Herzog  <[email protected]>
29    
30            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
31            canvas' VIEW_POSITION event
32            (MainWindow.view_position_changed): Handler for VIEW_POSITION.
33            Update the text in the status-bar accordingly.
34    
35            * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
36            (MapCanvas.__del__): Implement because Publisher.__del__ has to be
37            called.
38            (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
39            current_position
40            (MapCanvas.set_current_position): New method to set
41            current_position. Issue a VIEW_POSITION event
42            (MapCanvas.CurrentPosition): New public method to return the value
43            of current_position. Should be called when the VIEW_POSITION event
44            is processed.
45            (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
46            Update the position.
47            (MapCanvas.OnLeaveWindow): Set the position to None.
48    
49            * Thuban/UI/messages.py (VIEW_POSITION): New message for the
50            position in the statusbar
51    
52    2002-04-26      Frank Koormann <[email protected]>
53    
54            * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
55    
56    2002-04-24      Frank Koormann <[email protected]>
57            
58            * Resources/Bitmaps/identify.xpm: shadow added
59    
60            * Resources/Bitmaps/fullextent.xpm: new
61            
62    2002-04-22      Jan-Oliver Wagner <[email protected]>
63    
64            * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
65    
66    2002-04-21      Jan-Oliver Wagner <[email protected]>
67    
68            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
69    
70            * Thuban/UI/tree.py (update_tree): added added map extent
71    
72            * Thuban/UI/mainwindow.py (_method_command): extended by parameter
73            icon; added map_full_extend as tool
74    
75    2002-04-19      Jan-Oliver Wagner <[email protected]>
76    
77            * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
78            saving _new_ sessions
79    
80            * Thuban/Model/session.py (create_empty_session): new session
81            don't have a filename (set to None)
82    
83            * Thuban/UI/tree.py (update_tree): added filename and modified flag
84    
85            * Thuban/Model/load.py (ProcessSession): convert projection
86            parameters from unicode to regular string
87    
88            * Data/iceland_sample.session: Added UTM Zone 26 projection.
89    
90    2002-04-11  Bernhard Herzog  <[email protected]>
91    
92            * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
93            extensions/shapelib/dbfopen.c: Update to the versions of shapelib
94            1.2.9
95    
96            * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
97            the pyshapelib directoy into the list of include dirs, so that
98            pyshapelib_api.h can be found.
99    
100            * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
101            holds the pyshapelib C-API
102            (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
103            pyshapelib_api to access the shapelib functions.
104            (initwxproj): Import the c_api from the shapelib module and
105            initialize pyshapelib_api.
106    
107    2002-04-04  Bernhard Herzog  <[email protected]>
108    
109            * setup.py (thuban_bdist_rpm.initialize_options): Use
110            initialize_options to create the scripts for the rpm.
111    
112            * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
113    
114    2002-04-03  Bernhard Herzog  <[email protected]>
115    
116            * setup.py: Increment version to 0.1.1
117    
118            * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
119            Layer" and "Remove Layer" commands from the layer menu to the map
120            menu
121    
122    2002-02-15  Bernhard Herzog  <[email protected]>
123    
124            * Thuban/Model/layer.py (Layer.Shape): list append only takes one
125            argument (python <= 1.5.2 erroneously accepted multiuple
126            arguments)
127    
128    2002-02-04  Bernhard Herzog  <[email protected]>
129    
130            * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
131            RecordGrid in the identifyview.
132            (IdentifyView.__init__): Use IdentifyGridCtrl instead of
133            IdentifyListCtrl. The grid allows editing of the values.
134    
135            * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
136            implementing a grid for a single row of a thuban table.
137    
138            * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
139            layers by default. Easier to use than the previous default of only
140            searching through the select layer which meant that if no layer
141            was selected, you couldn't select a shape.
142    
143            * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
144    
145            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
146            stroke_width attribute
147    
148            * Thuban/Model/save.py (save_session): Write the new stroke_width
149            attribute
150    
151            * Thuban/Model/load.py (ProcessSession.startElement): Read the
152            stroke_width attribute
153    
154            * Thuban/Model/layer.py (Layer.__init__): New parameter and
155            instance variable stroke_width
156            (Layer.SetStrokeWidth): Set the stroke_width.
157    
158    2002-02-01  Bernhard Herzog  <[email protected]>
159    
160            * extensions/thuban/wxproj.cpp (project_points): Fix two
161            off-by-one errors in the last loop that joins the various parts
162            together.
163    
164    2002-01-14  Bernhard Herzog  <[email protected]>
165    
166            * setup.py (data_dist.make_distribution): Fix some typos
167    
168    2001-09-18  Bernhard Herzog  <[email protected]>
169    
170            * README: Slight tweaking in preparation for the 0.1 release
171    
172            * setup.cfg: Add section for sdist to create both tgz and zip
173            archives
174    
175            * setup.py: increase version number to 0.1
176            (data_dist): New command class for data distribution
177            
178    
179    2001-09-14  Bernhard Herzog  <[email protected]>
180    
181            * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
182            Handle the case of no layer (i.e. layer is None) properly.
183    
184            * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
185            Set the initial selection of the combo boxes to reflect the
186            projection we're starting with in a way that works on windows,
187            too.
188    
189            * Thuban/Lib/connector.py (Connector.print_connections): Print the
190            puiblisher's ids in hex to make it easier to compare them to the
191            standard repr of python methods
192    
193            * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
194            messages
195    
196    2001-09-13  Bernhard Herzog  <[email protected]>
197    
198            * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
199            deselect the layer if no layer is selected
200    
201            * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
202            idle time when there actually is something to draw. If there's
203            nothing to draw simply clear the window
204            (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
205            (MapCanvas.SetMap): force a redraw in all cases because
206            FitMapToWindow doesn't always do it.
207            (MapCanvas.ZoomFactor): Add an optional parameter, center, to
208            specify the point to move into the center of the window
209            (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
210            dragged, zoon in/out by a factor of 2
211            (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
212            index, i.e. reversed drawing order) so that objects appearing to
213            be in from of others are selected first. This is probably mostly
214            relevant for point shapes where the symbols used may overlap
215    
216            * Thuban/Model/session.py (create_empty_session): Unset the
217            modified bit before returning it
218    
219            * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
220            create_empty_session session to create the new, empty session.
221    
222            * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
223            the tool bitmaps.
224            (MainWindow.OnClose, MainWindow.save_modified_session): Separate
225            the code that asks whether the session should be saved into the
226            new method save_modified_session.
227            (MainWindow.OpenSession, MainWindow.NewSession): Use the new
228            method to save modified session here too.
229    
230    2001-09-11  Bernhard Herzog  <[email protected]>
231    
232            * setup.py (InnoIconItem): fix typo
233    
234            (thuban_bdist_inno.run):
235            (bdist_inno.run): Move the decision not to create symlinks on
236            non-nt platforms to thuban_bdist_inno and do it unconditinally
237            since we never want to create the symlinks here
238    
239    2001-09-10  Bernhard Herzog  <[email protected]>
240    
241            * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
242            identify view immediately
243    
244            * Thuban/UI/controls.py: New file with two classes RecordListCtrl
245            and SelectableRecordListCtrl that implement the code shared by the
246            identify view and the label dialog
247    
248            * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
249            new class RecordListCtrl
250    
251            * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
252            return value of GetValue is None instead of using it as a boolean
253            directly so that Zero numbers are handled properly.
254            (LabelListCtrl): Derive from the new class
255            SelectableRecordListCtrl
256    
257            * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
258            (Proj4Dialog.dialogLayout): Make the window resizable and set the
259            size of the text control explicitly to make the sizers work on
260            both Windows and X.
261    
262    2001-09-07  Bernhard Herzog  <[email protected]>
263    
264            * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
265            that can limit the search to the currently selected layer.
266            (MapCanvas.SelectShapeAt): Make sure that the currently selected
267            layer stays selected even when no shape is found
268            (MapCanvas.FitRectToWindow): If the rect has zero with or zero
269            height do nothing (avoids zero division errors)
270    
271  2001-09-06  Bernhard Herzog  <[email protected]>  2001-09-06  Bernhard Herzog  <[email protected]>
272    
273            * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
274            Correct the spelling of SessionTreeCtrl. dabbrev is too damn
275            convenient :-)
276            (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
277            a new instvar layer_to_item to map layers to tree items
278            (SessionTreeCtrl.layer_selected): Select the appropriate tree item
279            to match the current selection in the interactor
280    
281            * Thuban/UI/interactor.py (Interactor.SelectedLayer):
282            (Interactor.HasSelectedLayer): New methods to query the current
283            selection
284    
285            * Thuban/UI/mainwindow.py (MainWindow.current_layer):
286            (MainWindow.has_selected_layer): Simply call the appropriate
287            interactor method
288    
289            * Thuban/UI/mainwindow.py (MainWindow.__init__):
290            (MainWindow.LayerShowTable):
291            (MainWindow.identify_view_on_demand): Store the interactor in an
292            instvar and use that reference instead of going through main.app
293    
294            * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
295            * Thuban/UI/application.py (ThubanApplication.OnInit):
296            * Thuban/UI/main.py (main): Create the session tree view in main
297            with the new mainwindow method ShowSessionTree and not directly
298            the application's OnInit method
299    
300            * Thuban/UI/tree.py (myTreeCtrlPanel):
301            (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
302            TreeCtrl isntead of a panel. This affects most method since we now
303            refer to self instead of self.tree
304            (SessionTreeView): New class implementing a non-modal dialog
305            showing the session tree.
306    
307            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
308            layer to the tableview dialog.
309    
310            * Thuban/UI/tableview.py: Add some doc-strings
311            (TableGrid):
312            (TableGrid.OnRangeSelect):
313            (TableGrid.OnSelectCell):
314            (TableFrame.__init__):
315            (TableFrame.row_selected):
316            Selecting rows in the grid view now updates the selected shapes
317            through the TableFrame. To achieve this we derive TableGrid from
318            Publisher and introduce the message type ROW_SELECTED which the
319            TableFrame subscribes to and which is issued by OnRangeSelect and
320            OnSelectCell
321    
322            (DataTable.SelectRow): Removed because it's no longer needed in
323            the row/shape selection scheme
324    
325          * Thuban/UI/dialogs.py: New file implementing common classes for          * Thuban/UI/dialogs.py: New file implementing common classes for
326          dialogs          dialogs
327    

Legend:
Removed from v.32  
changed lines
  Added in v.129

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26