/[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 81 by bh, Mon Feb 4 19:53:25 2002 UTC revision 199 by jan, Thu Jun 20 15:25:36 2002 UTC
# Line 1  Line 1 
1    2002-06-20      Jan-Oliver Wagner <[email protected]>
2    
3            * Thuban/Model/extension.py: new module to handle extension objects.
4            * Thuban/Model/messages.py: new messages for extensions.
5            * Thuban/Model/session.py (Session.Extensions, Session.HasExtensions,
6            Session.AddExtension): new for handling extensions.
7            Also some other minor changes to round up extension handling.
8            * Thuban/UI/tree.py (SessionTreeCrtl:update_tree): Added visualization
9            of Extension titles and title and names of its objects.
10    
11    2002-05-29  Bernhard Herzog  <[email protected]>
12    
13            * Thuban/UI/mainwindow.py (MainWindow.bind_command_events): Bind
14            the events for a comnmand.
15            (MainWindow.add_toolbar_command, MainWindow.add_menu_command):
16            Call bind_command_events to bind the events. add_toolbar_command
17            can now bind events too so that it's possible to have commands
18            that are only available through the toolbar.
19            (MainWindow.init_ids): New instance variable events_bound to keep
20            track of for which commands events have been bound.
21    
22    2002-05-28  Bernhard Herzog  <[email protected]>
23    
24            * Thuban/UI/menu.py: New module to build and manage menus.
25    
26            * Thuban/UI/mainwindow.py: Remove some unused imports.
27            (MainWindow.__init__, main_menu): move the definition of the main
28            menu from __init__ to the Menu instance main_menu.
29            (MainWindow.build_menu_bar, MainWindow.build_menu): New methods to
30            build the menu bar and sub-menus from a menu description.
31    
32            * Thuban/UI/application.py (ThubanApplication.OnInit): Read the
33            startup file
34            (ThubanApplication.read_startup_files): New method to run
35            ~/.thuban/thubanstart.py
36    
37            * Thuban/UI/mainwindow.py (MainWindow.__init__, main_toolbar):
38            Move the toolbar definition to the Menu instance main_toolbar.
39            (MainWindow.build_toolbar): New method to build the toolbar
40            similar to the build_menu methods
41    
42    2002-05-23  Bernhard Herzog  <[email protected]>
43    
44            * Thuban/UI/mainwindow.py (MainWindow.__init__): Fix spelling of
45            layer_outline_color. Fix it in the definition of the command too.
46    
47            * Thuban/UI/command.py (Command): Fix typo in doc string
48    
49    2002-05-22  Bernhard Herzog  <[email protected]>
50    
51            * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Fix a typo
52            in the docstring
53    
54    2002-05-15  Bernhard Herzog  <[email protected]>
55    
56            * Thuban/Model/layer.py (Layer.open_shapefile): Set bbox to None
57            when the shapefile is empty.
58            (Layer.BoundingBox, Layer.LatLongBoundingBox): Both methods may
59            now return None for empty shapefiles. Update doc-strings.
60    
61            * Thuban/Model/map.py (Map.BoundingBox): Add doc-string. Deal with
62            the layer's bbox being None.
63    
64            * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
65            layer's bbox being None.
66    
67            * Thuban/UI/view.py (MapCanvas.shape_selected): Only redraw when
68            necessary.
69            (MapCanvas.__init__): New instance variables, last_selected_layer
70            and last_selected_shape to determine how the selection has
71            changed.
72    
73            * Thuban/UI/tableview.py (TableGrid.__init__): Do not call
74            AutoSizeColumns because it will cause a traversal of the entire
75            table which for large .dbf files will take a very long time.
76    
77    2002-05-14  Bernhard Herzog  <[email protected]>
78    
79            * Thuban/Model/layer.py (Layer.open_shapefile): Choose a better
80            maximum depth for the tree than shapelib does by default.
81    
82    2002-05-10  Bernhard Herzog  <[email protected]>
83    
84            * setup.py (py_modules): The shptree modules doesn't have a
85            wrapper, so don't include it in the py_modules
86    
87    2002-05-08  Bernhard Herzog  <[email protected]>
88    
89            * extensions/shapelib/shptree.c (compare_ints): Make arguments
90            const void * as in the qsort prototype
91            (SHPTreeFindLikelyShapes): Remove some unused variables.
92    
93            * Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
94            maintains to redraw the window during a drag.
95            (MapCanvas.unprojected_rect_around_point): New method to determine
96            a small region around a point for hit-testing.
97            (MapCanvas.find_shape_at): Only test the shapes in a small region
98            around the point.
99    
100            * setup.py: Increment the version to 0.1.2
101    
102            * Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
103            debug print and set session to None after unsubscribing
104    
105    2002-05-07  Bernhard Herzog  <[email protected]>
106    
107            * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
108            the file to have a .thuban extension.
109    
110            * Thuban/UI/tree.py (session_channels): New class constant with
111            all the session channels to subscribe to to update the tree
112            (SessionTreeCtrl.session_changed): Remember the session so that we
113            can unsubscribe properly. Use the new class constant to
114            unsubscribe from the old session and subscribe to the new one.
115            (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
116            subscriptions of the SessionTreeCtrl.
117            (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
118    
119            * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
120            Session Tree" command to the file menu.
121    
122            * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
123            as update_region to the renderer.
124    
125            * Thuban/UI/renderer.py
126            (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
127            update box is now directly a tuple, not a wxRect anymore.
128    
129            * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
130            prints.
131    
132    2002-05-07  Bernhard Herzog  <[email protected]>
133    
134            * setup.py: Add the shptree extension module. See
135            extensions/pyshapelib/ChangeLog for more details.
136    
137            * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
138            extensions/shapelib/dbfopen.c: Really update to the versions of
139            shapelib 1.2.9. For some reason it wasn't really done on
140            2002-04-11.
141    
142            * extensions/shapelib/shptree.c: Modified version of shptree.c of
143            shapelib 1.2.9. The only real difference is the use of qsort
144            instead of a bubble sort implementation
145    
146            * Thuban/Model/layer.py (Layer.__init__): New instance variable
147            shapetree to hold the shapelib quadtree for the shapefile
148            (Layer.open_shapefile): Create the quad tree.
149            (Layer.ShapesInRegion): New method to return the ids of shapes in
150            a given region using the quad tree.
151    
152            * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
153            comment
154            (draw_polygon_shape): Accept both arcs and polygons.
155            (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
156            the api.
157    
158            * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
159            return the shape ids to be rendered in a given layer.
160            (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
161            ids. Use draw_polygon_shape to draw arc shapes as well.
162            (ScreenRenderer.RenderMap): New parameter for the rectangle that
163            has to be updated
164            (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
165            calling it's ShapesInRegion method.
166    
167            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
168            update_region for the update region.
169            (MapCanvas.OnPaint): Maintain the update region
170            (MapCanvas.do_redraw): Pass the bounding box of the update_region
171            to the renderer when drawing the bitmap. Reset the update_region.
172    
173    2002-05-03  Bernhard Herzog  <[email protected]>
174    
175            * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
176            MainWindow.OpenSession): Change the file extension of the session
177            files to .thuban
178    
179            * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
180            Move the map channels to be forwarded by the session into the
181            class constant with forwarded_channels. Also add
182            LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
183            forwarded_channels
184    
185            * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
186            typo and some rewording).
187    
188    2002-05-02  Bernhard Herzog  <[email protected]>
189    
190            * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
191            around to speed up most redraws:
192            (MapCanvas.__init__): New instance variable bitmap which holds the
193            bitmap
194            (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
195            self.bitmap to draw.
196            (MapCanvas.full_redraw): New method to force a full redraw
197            including the bitmap
198            (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
199            make sure the bitmap is redrawn.
200            (MapCanvas.projection_changed, MapCanvas.set_view_transform,
201            MapCanvas.shape_selected): Call full_redraw instead of readraw to
202            make sure the bitmap is redrawn.
203            (MapCanvas.OnSize): New method to handle size events so that the
204            bitmap can be redrawn.
205    
206    2002-04-29  Bernhard Herzog  <[email protected]>
207    
208            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
209            canvas' VIEW_POSITION event
210            (MainWindow.view_position_changed): Handler for VIEW_POSITION.
211            Update the text in the status-bar accordingly.
212    
213            * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
214            (MapCanvas.__del__): Implement because Publisher.__del__ has to be
215            called.
216            (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
217            current_position
218            (MapCanvas.set_current_position): New method to set
219            current_position. Issue a VIEW_POSITION event
220            (MapCanvas.CurrentPosition): New public method to return the value
221            of current_position. Should be called when the VIEW_POSITION event
222            is processed.
223            (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
224            Update the position.
225            (MapCanvas.OnLeaveWindow): Set the position to None.
226    
227            * Thuban/UI/messages.py (VIEW_POSITION): New message for the
228            position in the statusbar
229    
230    2002-04-26      Frank Koormann <[email protected]>
231    
232            * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
233    
234    2002-04-24      Frank Koormann <[email protected]>
235            
236            * Resources/Bitmaps/identify.xpm: shadow added
237    
238            * Resources/Bitmaps/fullextent.xpm: new
239            
240    2002-04-22      Jan-Oliver Wagner <[email protected]>
241    
242            * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
243    
244    2002-04-21      Jan-Oliver Wagner <[email protected]>
245    
246            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
247    
248            * Thuban/UI/tree.py (update_tree): added added map extent
249    
250            * Thuban/UI/mainwindow.py (_method_command): extended by parameter
251            icon; added map_full_extend as tool
252    
253    2002-04-19      Jan-Oliver Wagner <[email protected]>
254    
255            * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
256            saving _new_ sessions
257    
258            * Thuban/Model/session.py (create_empty_session): new session
259            don't have a filename (set to None)
260    
261            * Thuban/UI/tree.py (update_tree): added filename and modified flag
262    
263            * Thuban/Model/load.py (ProcessSession): convert projection
264            parameters from unicode to regular string
265    
266            * Data/iceland_sample.session: Added UTM Zone 26 projection.
267    
268    2002-04-11  Bernhard Herzog  <[email protected]>
269    
270            * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
271            extensions/shapelib/dbfopen.c: Update to the versions of shapelib
272            1.2.9
273    
274            * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
275            the pyshapelib directoy into the list of include dirs, so that
276            pyshapelib_api.h can be found.
277    
278            * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
279            holds the pyshapelib C-API
280            (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
281            pyshapelib_api to access the shapelib functions.
282            (initwxproj): Import the c_api from the shapelib module and
283            initialize pyshapelib_api.
284    
285    2002-04-04  Bernhard Herzog  <[email protected]>
286    
287            * setup.py (thuban_bdist_rpm.initialize_options): Use
288            initialize_options to create the scripts for the rpm.
289    
290            * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
291    
292    2002-04-03  Bernhard Herzog  <[email protected]>
293    
294            * setup.py: Increment version to 0.1.1
295    
296            * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
297            Layer" and "Remove Layer" commands from the layer menu to the map
298            menu
299    
300    2002-02-15  Bernhard Herzog  <[email protected]>
301    
302            * Thuban/Model/layer.py (Layer.Shape): list append only takes one
303            argument (python <= 1.5.2 erroneously accepted multiuple
304            arguments)
305    
306  2002-02-04  Bernhard Herzog  <[email protected]>  2002-02-04  Bernhard Herzog  <[email protected]>
307    
308          * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a          * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a

Legend:
Removed from v.81  
changed lines
  Added in v.199

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26