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

Legend:
Removed from v.9  
changed lines
  Added in v.59

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26