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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26