/[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 22 by bh, Tue Sep 4 16:45:57 2001 UTC revision 64 by bh, Fri Sep 14 12:20:21 2001 UTC
# Line 1  Line 1 
1    2001-09-14  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Lib/connector.py (Connector.print_connections): Print the
4            puiblisher's ids in hex to make it easier to compare them to the
5            standard repr of python methods
6    
7            * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
8            messages
9    
10    2001-09-13  Bernhard Herzog  <[email protected]>
11    
12            * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
13            deselect the layer if no layer is selected
14    
15            * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
16            idle time when there actually is something to draw. If there's
17            nothing to draw simply clear the window
18            (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
19            (MapCanvas.SetMap): force a redraw in all cases because
20            FitMapToWindow doesn't always do it.
21            (MapCanvas.ZoomFactor): Add an optional parameter, center, to
22            specify the point to move into the center of the window
23            (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
24            dragged, zoon in/out by a factor of 2
25            (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
26            index, i.e. reversed drawing order) so that objects appearing to
27            be in from of others are selected first. This is probably mostly
28            relevant for point shapes where the symbols used may overlap
29    
30            * Thuban/Model/session.py (create_empty_session): Unset the
31            modified bit before returning it
32    
33            * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
34            create_empty_session session to create the new, empty session.
35    
36            * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
37            the tool bitmaps.
38            (MainWindow.OnClose, MainWindow.save_modified_session): Separate
39            the code that asks whether the session should be saved into the
40            new method save_modified_session.
41            (MainWindow.OpenSession, MainWindow.NewSession): Use the new
42            method to save modified session here too.
43    
44    2001-09-11  Bernhard Herzog  <[email protected]>
45    
46            * setup.py (InnoIconItem): fix typo
47    
48            (thuban_bdist_inno.run):
49            (bdist_inno.run): Move the decision not to create symlinks on
50            non-nt platforms to thuban_bdist_inno and do it unconditinally
51            since we never want to create the symlinks here
52    
53    2001-09-10  Bernhard Herzog  <[email protected]>
54    
55            * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
56            identify view immediately
57    
58            * Thuban/UI/controls.py: New file with two classes RecordListCtrl
59            and SelectableRecordListCtrl that implement the code shared by the
60            identify view and the label dialog
61    
62            * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
63            new class RecordListCtrl
64    
65            * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
66            return value of GetValue is None instead of using it as a boolean
67            directly so that Zero numbers are handled properly.
68            (LabelListCtrl): Derive from the new class
69            SelectableRecordListCtrl
70    
71            * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
72            (Proj4Dialog.dialogLayout): Make the window resizable and set the
73            size of the text control explicitly to make the sizers work on
74            both Windows and X.
75    
76    2001-09-07  Bernhard Herzog  <[email protected]>
77    
78            * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
79            that can limit the search to the currently selected layer.
80            (MapCanvas.SelectShapeAt): Make sure that the currently selected
81            layer stays selected even when no shape is found
82            (MapCanvas.FitRectToWindow): If the rect has zero with or zero
83            height do nothing (avoids zero division errors)
84    
85    2001-09-06  Bernhard Herzog  <[email protected]>
86    
87            * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
88            Correct the spelling of SessionTreeCtrl. dabbrev is too damn
89            convenient :-)
90            (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
91            a new instvar layer_to_item to map layers to tree items
92            (SessionTreeCtrl.layer_selected): Select the appropriate tree item
93            to match the current selection in the interactor
94    
95            * Thuban/UI/interactor.py (Interactor.SelectedLayer):
96            (Interactor.HasSelectedLayer): New methods to query the current
97            selection
98    
99            * Thuban/UI/mainwindow.py (MainWindow.current_layer):
100            (MainWindow.has_selected_layer): Simply call the appropriate
101            interactor method
102    
103            * Thuban/UI/mainwindow.py (MainWindow.__init__):
104            (MainWindow.LayerShowTable):
105            (MainWindow.identify_view_on_demand): Store the interactor in an
106            instvar and use that reference instead of going through main.app
107    
108            * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
109            * Thuban/UI/application.py (ThubanApplication.OnInit):
110            * Thuban/UI/main.py (main): Create the session tree view in main
111            with the new mainwindow method ShowSessionTree and not directly
112            the application's OnInit method
113    
114            * Thuban/UI/tree.py (myTreeCtrlPanel):
115            (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
116            TreeCtrl isntead of a panel. This affects most method since we now
117            refer to self instead of self.tree
118            (SessionTreeView): New class implementing a non-modal dialog
119            showing the session tree.
120    
121            * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
122            layer to the tableview dialog.
123    
124            * Thuban/UI/tableview.py: Add some doc-strings
125            (TableGrid):
126            (TableGrid.OnRangeSelect):
127            (TableGrid.OnSelectCell):
128            (TableFrame.__init__):
129            (TableFrame.row_selected):
130            Selecting rows in the grid view now updates the selected shapes
131            through the TableFrame. To achieve this we derive TableGrid from
132            Publisher and introduce the message type ROW_SELECTED which the
133            TableFrame subscribes to and which is issued by OnRangeSelect and
134            OnSelectCell
135    
136            (DataTable.SelectRow): Removed because it's no longer needed in
137            the row/shape selection scheme
138    
139            * Thuban/UI/dialogs.py: New file implementing common classes for
140            dialogs
141    
142            * Thuban/UI/tableview.py (TableGrid.__init__): Don't subscribe to
143            the SELECTED_SHAPE message anymore. This is now handled by the
144            parent.
145            (TableGrid.select_shape): Only update the selection if the shape
146            is not None.
147            (TableFrame): Inherit from the new NonModalDialog class.
148            (TableFrame.__init__, TableFrame.select_shape): Handle the
149            SELECT_SHAPE message.
150            (TableFrame.OnClose): Extend the inherited method to unsubscribe
151            SELECT_SHAPE
152    
153            * Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
154            (MainWindow.add_dialog):
155            (MainWindow.dialog_open):
156            (MainWindow.remove_dialog):
157            (MainWindow.get_open_dialog): New methods to maintain a dictionary
158            of opened non-modal dialogs.
159    
160            (MainWindow.__init__): Initialize the new non-modal dictionary
161            management code
162            (MainWindow.LayerShowTable): maintain separate dialogs for each
163            table using the non-modal dialog management code to only open a
164            view once for each table.
165    
166            (MainWindow.IdentifyTool):
167            (MainWindow.__init__):
168            (MainWindow.identify_view_on_demand): Don't open the identify view
169            in IdentifyTool anymore. This will be done automatically by the
170            new method identify_view_on_demand which handles the
171            SELECTED_SHAPE message so that the identify view will be opened on
172            demand
173    
174            * Thuban/UI/identifyview.py (IdentifyListCtrl.__init__): Remove
175            the interactor argument. The SELECTED_SHAPE message is now handled
176            by the parent.
177            (IdentifyView.__init__): Add the interactor argument so that we
178            can handle the SELECTED_SHAPE message here
179            (IdentifyView.selected_shape): New method to handle the
180            SELECTED_SHAPE messages
181    
182            * Thuban/UI/identifyview.py (IdentifyView): Derive from the new
183            NonModalDialog class
184            (IdentifyView.OnClose): Extend the inherited version to
185            unsubscribe SELECT_SHAPE
186    
187            * Thuban/Model/session.py (Session.UnsetModified): Remove debug prints
188    
189    2001-09-05  Bernhard Herzog  <[email protected]>
190    
191            * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
192            
193            * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
194            interactor to pass through to the MapCanvas
195            
196            * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
197            argument to the MainWindow constructor to get rid of the ugly hack
198            that made main.app available early just so that the mapcanvas
199            could access the interactor object.
200    
201  2001-09-04  Bernhard Herzog  <[email protected]>  2001-09-04  Bernhard Herzog  <[email protected]>
202    
203          * 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.64

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26