/[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 55 by bh, Tue Sep 11 11:45:27 2001 UTC revision 154 by bh, Tue May 7 17:18:45 2002 UTC
# Line 1  Line 1 
1    2002-05-07  Bernhard Herzog  <[email protected]>
2    
3            * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
4            the file to have a .thuban extension.
5    
6            * Thuban/UI/tree.py (session_channels): New class constant with
7            all the session channels to subscribe to to update the tree
8            (SessionTreeCtrl.session_changed): Remember the session so that we
9            can unsubscribe properly. Use the new class constant to
10            unsubscribe from the old session and subscribe to the new one.
11            (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
12            subscriptions of the SessionTreeCtrl.
13            (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
14    
15            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
16            Session Tree" command to the file menu.
17    
18            * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
19            as update_region to the renderer.
20    
21            * Thuban/UI/renderer.py
22            (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
23            update box is now directly a tuple, not a wxRect anymore.
24    
25            * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
26            prints.
27    
28    2002-05-07  Bernhard Herzog  <[email protected]>
29    
30            * setup.py: Add the shptree extension module. See
31            extensions/pyshapelib/ChangeLog for more details.
32    
33            * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
34            extensions/shapelib/dbfopen.c: Really update to the versions of
35            shapelib 1.2.9. For some reason it wasn't really done on
36            2002-04-11.
37    
38            * extensions/shapelib/shptree.c: Modified version of shptree.c of
39            shapelib 1.2.9. The only real difference is the use of qsort
40            instead of a bubble sort implementation
41    
42            * Thuban/Model/layer.py (Layer.__init__): New instance variable
43            shapetree to hold the shapelib quadtree for the shapefile
44            (Layer.open_shapefile): Create the quad tree.
45            (Layer.ShapesInRegion): New method to return the ids of shapes in
46            a given region using the quad tree.
47    
48            * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
49            comment
50            (draw_polygon_shape): Accept both arcs and polygons.
51            (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
52            the api.
53    
54            * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
55            return the shape ids to be rendered in a given layer.
56            (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
57            ids. Use draw_polygon_shape to draw arc shapes as well.
58            (ScreenRenderer.RenderMap): New parameter for the rectangle that
59            has to be updated
60            (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
61            calling it's ShapesInRegion method.
62    
63            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
64            update_region for the update region.
65            (MapCanvas.OnPaint): Maintain the update region
66            (MapCanvas.do_redraw): Pass the bounding box of the update_region
67            to the renderer when drawing the bitmap. Reset the update_region.
68    
69    2002-05-03  Bernhard Herzog  <[email protected]>
70    
71            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
72            MainWindow.OpenSession): Change the file extension of the session
73            files to .thuban
74    
75            * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
76            Move the map channels to be forwarded by the session into the
77            class constant with forwarded_channels. Also add
78            LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
79            forwarded_channels
80    
81            * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
82            typo and some rewording).
83    
84    2002-05-02  Bernhard Herzog  <[email protected]>
85    
86            * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
87            around to speed up most redraws:
88            (MapCanvas.__init__): New instance variable bitmap which holds the
89            bitmap
90            (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
91            self.bitmap to draw.
92            (MapCanvas.full_redraw): New method to force a full redraw
93            including the bitmap
94            (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
95            make sure the bitmap is redrawn.
96            (MapCanvas.projection_changed, MapCanvas.set_view_transform,
97            MapCanvas.shape_selected): Call full_redraw instead of readraw to
98            make sure the bitmap is redrawn.
99            (MapCanvas.OnSize): New method to handle size events so that the
100            bitmap can be redrawn.
101    
102    2002-04-29  Bernhard Herzog  <[email protected]>
103    
104            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
105            canvas' VIEW_POSITION event
106            (MainWindow.view_position_changed): Handler for VIEW_POSITION.
107            Update the text in the status-bar accordingly.
108    
109            * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
110            (MapCanvas.__del__): Implement because Publisher.__del__ has to be
111            called.
112            (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
113            current_position
114            (MapCanvas.set_current_position): New method to set
115            current_position. Issue a VIEW_POSITION event
116            (MapCanvas.CurrentPosition): New public method to return the value
117            of current_position. Should be called when the VIEW_POSITION event
118            is processed.
119            (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
120            Update the position.
121            (MapCanvas.OnLeaveWindow): Set the position to None.
122    
123            * Thuban/UI/messages.py (VIEW_POSITION): New message for the
124            position in the statusbar
125    
126    2002-04-26      Frank Koormann <[email protected]>
127    
128            * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
129    
130    2002-04-24      Frank Koormann <[email protected]>
131            
132            * Resources/Bitmaps/identify.xpm: shadow added
133    
134            * Resources/Bitmaps/fullextent.xpm: new
135            
136    2002-04-22      Jan-Oliver Wagner <[email protected]>
137    
138            * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
139    
140    2002-04-21      Jan-Oliver Wagner <[email protected]>
141    
142            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
143    
144            * Thuban/UI/tree.py (update_tree): added added map extent
145    
146            * Thuban/UI/mainwindow.py (_method_command): extended by parameter
147            icon; added map_full_extend as tool
148    
149    2002-04-19      Jan-Oliver Wagner <[email protected]>
150    
151            * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
152            saving _new_ sessions
153    
154            * Thuban/Model/session.py (create_empty_session): new session
155            don't have a filename (set to None)
156    
157            * Thuban/UI/tree.py (update_tree): added filename and modified flag
158    
159            * Thuban/Model/load.py (ProcessSession): convert projection
160            parameters from unicode to regular string
161    
162            * Data/iceland_sample.session: Added UTM Zone 26 projection.
163    
164    2002-04-11  Bernhard Herzog  <[email protected]>
165    
166            * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
167            extensions/shapelib/dbfopen.c: Update to the versions of shapelib
168            1.2.9
169    
170            * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
171            the pyshapelib directoy into the list of include dirs, so that
172            pyshapelib_api.h can be found.
173    
174            * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
175            holds the pyshapelib C-API
176            (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
177            pyshapelib_api to access the shapelib functions.
178            (initwxproj): Import the c_api from the shapelib module and
179            initialize pyshapelib_api.
180    
181    2002-04-04  Bernhard Herzog  <[email protected]>
182    
183            * setup.py (thuban_bdist_rpm.initialize_options): Use
184            initialize_options to create the scripts for the rpm.
185    
186            * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
187    
188    2002-04-03  Bernhard Herzog  <[email protected]>
189    
190            * setup.py: Increment version to 0.1.1
191    
192            * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
193            Layer" and "Remove Layer" commands from the layer menu to the map
194            menu
195    
196    2002-02-15  Bernhard Herzog  <[email protected]>
197    
198            * Thuban/Model/layer.py (Layer.Shape): list append only takes one
199            argument (python <= 1.5.2 erroneously accepted multiuple
200            arguments)
201    
202    2002-02-04  Bernhard Herzog  <[email protected]>
203    
204            * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
205            RecordGrid in the identifyview.
206            (IdentifyView.__init__): Use IdentifyGridCtrl instead of
207            IdentifyListCtrl. The grid allows editing of the values.
208    
209            * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
210            implementing a grid for a single row of a thuban table.
211    
212            * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
213            layers by default. Easier to use than the previous default of only
214            searching through the select layer which meant that if no layer
215            was selected, you couldn't select a shape.
216    
217            * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
218    
219            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
220            stroke_width attribute
221    
222            * Thuban/Model/save.py (save_session): Write the new stroke_width
223            attribute
224    
225            * Thuban/Model/load.py (ProcessSession.startElement): Read the
226            stroke_width attribute
227    
228            * Thuban/Model/layer.py (Layer.__init__): New parameter and
229            instance variable stroke_width
230            (Layer.SetStrokeWidth): Set the stroke_width.
231    
232    2002-02-01  Bernhard Herzog  <[email protected]>
233    
234            * extensions/thuban/wxproj.cpp (project_points): Fix two
235            off-by-one errors in the last loop that joins the various parts
236            together.
237    
238    2002-01-14  Bernhard Herzog  <[email protected]>
239    
240            * setup.py (data_dist.make_distribution): Fix some typos
241    
242    2001-09-18  Bernhard Herzog  <[email protected]>
243    
244            * README: Slight tweaking in preparation for the 0.1 release
245    
246            * setup.cfg: Add section for sdist to create both tgz and zip
247            archives
248    
249            * setup.py: increase version number to 0.1
250            (data_dist): New command class for data distribution
251            
252    
253    2001-09-14  Bernhard Herzog  <[email protected]>
254    
255            * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
256            Handle the case of no layer (i.e. layer is None) properly.
257    
258            * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
259            Set the initial selection of the combo boxes to reflect the
260            projection we're starting with in a way that works on windows,
261            too.
262    
263            * Thuban/Lib/connector.py (Connector.print_connections): Print the
264            puiblisher's ids in hex to make it easier to compare them to the
265            standard repr of python methods
266    
267            * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
268            messages
269    
270    2001-09-13  Bernhard Herzog  <[email protected]>
271    
272            * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
273            deselect the layer if no layer is selected
274    
275            * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
276            idle time when there actually is something to draw. If there's
277            nothing to draw simply clear the window
278            (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
279            (MapCanvas.SetMap): force a redraw in all cases because
280            FitMapToWindow doesn't always do it.
281            (MapCanvas.ZoomFactor): Add an optional parameter, center, to
282            specify the point to move into the center of the window
283            (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
284            dragged, zoon in/out by a factor of 2
285            (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
286            index, i.e. reversed drawing order) so that objects appearing to
287            be in from of others are selected first. This is probably mostly
288            relevant for point shapes where the symbols used may overlap
289    
290            * Thuban/Model/session.py (create_empty_session): Unset the
291            modified bit before returning it
292    
293            * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
294            create_empty_session session to create the new, empty session.
295    
296            * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
297            the tool bitmaps.
298            (MainWindow.OnClose, MainWindow.save_modified_session): Separate
299            the code that asks whether the session should be saved into the
300            new method save_modified_session.
301            (MainWindow.OpenSession, MainWindow.NewSession): Use the new
302            method to save modified session here too.
303    
304  2001-09-11  Bernhard Herzog  <[email protected]>  2001-09-11  Bernhard Herzog  <[email protected]>
305    
306          * setup.py (InnoIconItem): fix typo          * setup.py (InnoIconItem): fix typo

Legend:
Removed from v.55  
changed lines
  Added in v.154

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26