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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26