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

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

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

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

Legend:
Removed from v.22  
changed lines
  Added in v.100

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26