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

Legend:
Removed from v.7  
changed lines
  Added in v.70

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26