/[eiffelstudio]/trunk/Delivery/newdocs/libraries/vision2/content/0-_revisions/index.html
ViewVC logotype

Contents of /trunk/Delivery/newdocs/libraries/vision2/content/0-_revisions/index.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 34683 - (show annotations)
Thu Oct 24 00:54:46 2002 UTC (17 years, 4 months ago) by rogers
File MIME type: text/html
File size: 17145 byte(s)
Added details of interface change to EV_BUTTON.

1 <!DOCTYPE HTML public "-//W3C//DTD HTML 4.0 Frameset//EN"><html>
2
3 <head>
4 <title>Revisions</title>
5 <link rel="StyleSheet" href="../../../../default.css">
6 <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
7 <meta name="ProgId" content="FrontPage.Editor.Document">
8 <style>ul.circle{list-style:circle;}</style>
9 <style>ul.square{list-style:square;}</style>
10 </head>
11
12 <body>
13
14 <h1>Revisions and bug fixes</h1>
15 <p>This document contains details of modifications and bug fixes to the vision2
16 library listed by the release version of EiffelStudio. All bug fixes and
17 modifications are relative to the previously released version.</p>
18 <h2>Eiffel Studio 5.3</h2>
19 <p><b>Interface modifications</b></p>
20 <ul class=circle>
21 <li><B>EV_TITLED_WINDOW_ACTION_SEQUENCES</b> added which is inherited only by EV_TITLED_WINDOW and provides three new action sequences :- `minimize_actions', `maximize_actions' and `restore_actions'.</li>
22 <li><b>EV_TITLED_WINDOW</b>
23 <ul class=square>
24 <li>You may now only call `maximize' and `minimize' if `is_show_requested'.</li>
25 <li>When minimized, `is_displayed' now returns False.</li>
26 </ul>
27 <li><B>EV_BUTTON</B> now inherits EV_FONTABLE, allowing you to modify the font displayed.</li>
28 </ul>
29 <p><b>Bug fixes</b></p>
30 <ul>
31 <li><b>Platform independent</b>
32 <ul>
33 <li><b>EV_WIDGET</b> - `pointer_style' now correctly returns the Ibeam cursor for textable widgets.</li>
34 </ul>
35 <li><b>Windows</b>
36 <ul>
37 <li><b>EV_PIXMAP</b> - Setting a tile with `set_tile' followed by a call to a fill routine would crash the implementation.</li>
38 <li><b>EV_COMBO_BOX</b> - Implemented pick and drop.</li>
39 <li><b>EV_TEXT_FIELD</b> - Implemented pick and drop.</li>
40 <li><b>EV_PASSWORD_FIELD</b> - Implemented pick and drop.</li>
41 <li><b>EV_TEXT</b> - Implemented pick and drop.</li>
42 <li><b>EV_DRAWABLE</b> - Fixed bug when you performed the following: drew a filled shape, called `set_tile' and then drew another filled shape. The tile would not be used on the second fill.</li>
43 <li><b>EV_COLOR_DIALOG</b> - Querying `color' after a used had cancelled the dialog would previously crash a system, if `set_color' had never been called.</li>
44 <li><b>EV_COLOR_IMP</b> - Fixed `set_rgb_with_24_bit' which would fail when called.</li>
45 <li><b>EV_BUTTON, EV_TOGGLE_BUTTON</b> - The buttons now correctly display a text, pixmap and background color simultaneously. Previously, the background color was never displayed, and either the pixmap or text would be displayed, not both.</li>
46 </ul>
47 <li><b>Gtk</b>
48 </ul>
49 <h2>Eiffel Studio 5.2</h2>
50 <p><b>Interface modifications</b></p>
51 <ul class=circle>
52 <li><b>EV_TEXTABLE</b> - `align_text_left', `align_text_right' and `align_text_center'
53 have been extracted into a new class, EV_TEXT_ALIGNABLE which inherits
54 EV_TEXTABLE. All previous descendents of EV_TEXTABLE now inherit
55 EV_TEXT_ALIGNABLE, except EV_TREE_NODE, EV_MENU_ITEM, EV_LIST_ITEM and
56 EV_TOOL_BAR_BUTTON
57 <li><b>EV_TEXT_COMPONENT</b> - Now inherits EV_TEXTABLE.
58 <li><b>EV_TEXT_ALIGNMENT_CONSTANTS</b> - New class added to support
59 EV_TEXT_ALIGNABLE.
60 <li><b>EV_MENU_ITEM_LIST</b> - `parent' is now of type EV_ANY, instead of
61 EV_MENU_ITEM_LIST as it did not hold for EV_MENU_BAR. The renaming of
62 `parent' to `old_parent' in EV_MENU_BAR has now been removed.
63 <li><b>EV_VIEWPORT</b> - added `set_item_width', `set_item_height' and `set_item_size'.
64 <li><b>EV_TABLE</b>
65 <ul class=square>
66 <li>redefined `prunable' to `True' and implemented `prune'.</li>
67 <li>Added the following features - `set_item_span', `set_item_position', `set_item_span_and_position', `area_clear_excluding_widget', `item_row_span', `item_column_span', `item_row_position' and `item_column_position'.</li>
68 </ul></li>
69 <li><b>EV_WIDGET</b> - Changed type of `focus_in_actions' and `focus_out_actions'
70 from EV_FOCUS_ACTION_SEQUENCE to EV_NOTIFY_ACTION_SEQUENCE. `is_parent_recursive' is no longer available. It has been moved to EV_CONTAINER. This was necessary to fix a catcall encountered using vision2 under .NET. The problem manifested with widgets that held items.</li>
71 <li><b>EV_FIGURE</b> - `proximity_in_actions' and `proximity_out_actions' are
72 now obsolete.</li>
73 <li><b>EV_FONTABLE</b> - `set_font' now sets a copy of the font internally.</li>
74 <LI><b>EV_TREE</b> - `ensure_item_visible' and `has_recursively' now take an EV_TREE_NODE as arguments, instead of an EV_TREE_ITEM.</li>
75 <li><b>EV_TEXT</b> - `put_new_line' is now obsolete. Use `set_text ("%N") instead.</li>"
76 <li><b>EV_APPLICATION_ACTION_SEQUENCES</b> - Added `cancel_actions', fired when a pick and drop is cancelled, and `pnd_motion_actions' fired while the pointer moves during a pick and drop.</li>
77 <li><b>EV_TREE_NODE_LIST</b>
78 <ul class=square>
79 <li>`find_item_recursively_by_data', `has_recursively' and `recursive_do_all' are now implemented in this class, instead of both EV_TREE and EV_TREE_NODE which are descendents.</li>
80 <li>Added `retrive_items_recursively_by_data' and `retrieve_item_recursively_by_data' which allow you to specify a comparison criterion, and due to this addition, `find_item_recursively_by_data' has now been made obsolete.</li>
81 </ul></li>
82 <li><b>EV_DYNAMIC_LIST</b> - Added `retrieve_item_by_data' and `retrieve_items_by_data'.</li>
83 <li><b>EV_ITEM_LIST</b> - Made `item_by_data' obsolete, as you should now use `retrieve_item_by_data' added in EV_DYNAMIC_LIST.</li>
84 <li><b>EV_DIALOG</b> - Added `is_relative' and defined `is_modal' in this class, instead of inheriting it from EV_WINDOW.</li>
85 </ul>
86 <p><b>Bug fixes</b>
87 <ul>
88 <li><b>Platform independent</b>
89 <ul>
90 <li><b>EV_FIGURE_POLYLINE</b> - Fixed `start_angle' and `end_angle' so that they are computed relative to the first and last polyline segments. This also fixes the start and end arrows, so that when displayed, they now actually point in the direction of their respective line segments.</li>
91 <li><b>EV_TREE and EV_TREE_NODE</b> - Fixed `find_item_recursively_by_data' which failed on the `index_not_changed' postcondition. Note that these features are now defined in EV_TREE_NODE_LIST.</li>
92 <li><b>EV_DYNAMIC_TREE_ITEM</b> - Fixed invariant violation from EV_ITEM_LIST, when created with `default_create'.</li>
93 </ul>
94 <li><b>Windows</b>
95 <ul>
96 <li><b>EV_RADIO_BUTTON</b> - The default minimum height after `default_create'
97 is now enough to display the widget correctly.
98 <li><b>EV_CHECK_BUTTON</b> - The default minimum height after `default_create'
99 is now enough to display the widget correctly.
100 <li><b>EV_NOTEBOOK</b> - When removing a widget from a notebook, it is now
101 visible. Previously, the widget would be hidden.
102 <li><b>EV_LIST, EV_MULTI_COLUMN_LIST, EV_TREE</b> - Fixed `set_foreground_color'
103 and `set_background_color'. Previously, calling these features did
104 nothing.
105 <li><b>EV_BOX</b> - If a widget was not`is_item_expanded', then adding a
106 new widget to the box before that widget would sometimes cause a
107 different widget to become `is_item_expanded'.
108 <li><b>EV_TOOL_BAR_RADIO_BUTTON</b> - The currently selected button in
109 `peers' was unselected when the button was pressed, and not when it was
110 really selected. This bug made it possible to make `selected_peer' Void,
111 which caused an invariant to fail.
112 <li><b>EV_LIST_ITEM</b> - Calling `enable_select' when parented in an
113 EV_LIST now also sets the item as focused in the parent. This corrects
114 bugs in keyboard navigation when selecting an item programatically.
115 <li><b>EV_FIXED</b> - The minimum size is constrained by the positions and
116 sizes of the children (They must be completely displayed), although when
117 the positions of the children were reduced, the minimum allowable size
118 was not recomputed. This meant that the widget would be enlarged when
119 the positions of the children increased, but could never be reduced in
120 size when the positions of the children were decreased.
121 <li><b>EV_MENU and EV_MENU_ITEM</b> - `set_pixmap' has been implemented as
122 previously, it did nothing.
123 <li><b>EV_TABLE</b> - re-implemented resizing calculations to fix numerous
124 problems when children had minimum sizes. The minimum size now also
125 includes the border width when empty.
126 <li><b>EV_NOTEBOOK</b> - `selection_actions' were called when you selected
127 an item through `select_item', even if the item was already selected. `selection_actions'
128 are now only fired when the selection changes.</li>
129 <li><b>EV_TREE_ITEM</b> - calling `set_pixmap' twice successively with the same EV_PIXMAP caused a postcondition failure.</LI>
130 <li><b>EV_TEXT</b> - Fixed `put_new_line', although it has been made obsolete, as you should just use `append_text ("%N") instead.</li>
131 <li><b>EV_SPLIT_AREA</b> - Fixed crash reproducable by inserting an EV_PIXMAP directly into the split area.</li>
132 <li><b>EV_CONTAINER</b> - Fixed `propagate_foreground_color' and `propagate_background_color' which failed when one of the children was a descendent of EV_CELL.</li>
133 <li><b>EV_APPLICATION_ACTION_SEQUENCES</b> - `drop_actions' was being fired even when the pick and drop was cancelled.</li>
134 <li><b>EV_PIXMAP</b> - Previously, if you were to add an agent to an action sequence of the pixmap, before it was parented, the agent would be removed during the parenting.</li>
135 <li><b>EV_MENU</b>
136 <ul>
137 <li>Pruning an EV_MENU_SEPARATOR when one or more EV_RADIO_MENU_ITEM were still contained in the menu would cause occasional crashes.</li>
138 <li>Previously, when adding an EV_MENU_SEPARATOR, followed by multiple EV_RADIO_MENU_ITEMS, all the items were being selected.</li>
139 <li>Fixed bug in `destroy' which was causing postcondition failures.</li>
140 </ul></li>
141 <li><b>EV_TITLED_WINDOW</b> - Fixed a GDI leak, manifesting when a window was destroyed.</li>
142 <li><b>EV_DIALOG</b>
143 <ul>
144 <li>Fixed `is_modal' which was previously always returned `False'.</li>
145 <li>Fixed bug with `background_color' and `foreground_color' which was not taken into account if the dialog was shown relative or modally to another window.</li>
146 <li>If a dialog with a default cancel button was displayed using `show', then minimizing the dialog would cause the system to fail internally.</li>
147 <li>Fix bug in `show_relative_to_window' which would cause any associated menus to be removed.</li>
148 <li>Fixed bug in `show', as if the dialog had already been shown modelessly to a window, then calling `show' did not show it independently, but still modelessly.</li>
149 <LI>Fixed bug with `show_actions' which would be wiped out if you called `show_modal_to_window' and then `hide'.</li>
150 <LI>`set_pixmap' will now actually display the pixmap, whereas before, no pixmap was displayed.</LI>
151 </ul></li>
152 <li><b>EV_TEXT_COMPONENT</b> - Fixed `text_length' which was returning incorrect value for all descendents.</li>
153 <li><b>EV_TEXT</b> - Fixed `line_count' which was previously returning the correct result + 1.</li>
154 <li><b>EV_SCROLLABLE_AREA</b> - Fixed crash which occurred when you attempted to use `set_x_offset' or `set_y_offset' before the area had been parented or displayed.</li>
155 <li><b>EV_FONTABLE</b> - Fixed bug when `font' was queried, `preferred_families' was not returned correctly, and would always be empty.</li>
156 <li><b>EV_CONTAINER</b> - `set_background_pixmap' was not correctly cloning the image of the pixmap, and the displayed image could then be modified after setting, by changing the image of the original pixmap.</li>
157 </ul>
158 <li><b>Gtk</b>
159 <ul>
160 <li><strong>EV_WIDGET</strong>&nbsp;- Focus in/out actions are now
161 correctly called for widgets that do not occupy their entire space
162 allocation such as EV_TEXT_FIELD.
163 <li><strong>EV_DRAWABLE_IMP</strong> - Polylines now display correctly on
164 big-endian machines (Sparc, PowerPC).</li>
165 </ul>
166 </li>
167 </ul>
168 <p>&nbsp;</p>
169
170
171
172
173
174
175
176
177 <h2>Eiffel Studio 5.1</h2>
178 <p><b>Interface modifications</b></p>
179 <ul class=circle>
180 <li><b>EV_TEXTABLE and EV_TEXT_COMPONENT</b> - `text' no longer returns Void
181 when empty.
182 <li><b>EV_WINDOW</b> - `title' no longer returns `Void' when empty.
183 <li><b>EV_TOOLTIPABLE</b> - `tooltip' no longer returns `Void' when empty. If
184 empty, no tooltip is displayed.
185 <li><b>EV_TITLED_WINDOW</b> - `icon_name' no longer returns `Void' when empty.
186 <li><b>EV_CLIPBOARD</b> - `text' no longer returns `Void' when empty.
187 <li><b>EV_MESSAGE_DIALOG</b> - `text' no longer returns `Void' when empty.
188 <li><b>EV_FILE_DIALOG</b> - `file_name' no longer returns `Void' when the
189 &quot;Cancel&quot; button was pressed, `Result' is empty instead.
190 <li><b>EV_DIRECTORY_DIALOG</b> - `directory' no longer returns `Void when the
191 &quot;Cancel&quot; button was pressed, `Result' is empty instead.
192 <li><b>EV_CONTAINER</b> - has three new features `set_background_pixmap', `background_pixmap'
193 and `remove_background_pixmap'. `background_pixmap' will be tessellated to
194 cover complete background area.
195 <li><b>EV_TREE and EV_TREE_NODE</b> - Added `recursively_do_all'.
196 <li><b>EV_STANDARD_DIALOGS</b>
197 <ul class=square>
198 <li>`ok_actions' have been renamed in descendents where appropriate. e.g. in EV_PRINT_DIALOG, they are renamed to `print_actions' to match the texts of the associated buttons. Where renamed, `ok_actions' are still available but obsolete.</li>
199 <li>Selected button now also returns the correct text of the button (Previously it was always &quot;Ok&quot;).</li>
200 </ul>
201 <li><b>EV_DIALOG_CONSTANTS</b> - Added new constants required for the above
202 change to EV_STANDARD_DIALOGS.
203 <li><b>EV_DRAWABLE</b> - `draw_straight_line' now has a precondition to ensure
204 the points are not identical.
205 <li><b>EV_SPLIT_AREA</b> - seperated `put' from `extend'. They were defined as
206 synonyms, but have different behaviour.
207 <li><b>EV_DYNAMIC_TREE_ITEM</b> - Added `remove_subtree_function'. Item now
208 only shows as expandable if there is a subtree function.
209 <li><b>EV_WINDOW</b> - Added `maximum_dimension' which is the greatest value
210 allowed for `width' and `height'. This is also the default value for `width'
211 and `height'.
212 <li><b>EV_OPTION_BUTTON</b> - This class has been made obsolete. It will be
213 removed at the next release.
214 <li><b>EV_PICK_AND_DROPABLE_ACTION_SEQUENCES</b> - Added `pick_ended_actions'
215 which are called when a pick ends.
216 <li><b>EV_WIDGET</b> - `set_minimum_height', `set_minimum_width' and `set_minimum_size'
217 now all allow 0 as an argument. Previously, 1 was the minimum valid
218 dimension.
219 <li><b>EV_MULTI_COLUMN_LIST</b> - `clear_selection' is now obsolete. Use `remove_selection'
220 instead.</li>
221 </ul>
222 <p><b>Bug fixes</b>
223 <ul>
224 <li><b>Platform independent</b>
225 <ul>
226 <li><b>EV_FIXED</b> - Corrected `set_item_height', which was failing.
227 <li><b>EV_SELECTABLE</b> - Corrected postcondition of `is_selected'.
228 <li><b>EV_PND_ACTION_SEQUENCE</b> -- `veto_pebble_function' is now only
229 called when its argument conforms to the transported pebble.</li>
230 </ul>
231 <li><b>Windows</b>
232 <ul>
233 <li><b>EV_RANGE</b> - The `maximum_value' could not be set greater than
234 32,000. The full range of an INTEGER may now be set.
235 <li><b>`focused_widget' from `EV_APPLICATION'</b> - was incorrect if an
236 EV_CONTAINER had just received the focus.
237 <li><b>EV_PICK_AND_DROPABLE</b>
238 <ul>
239 <li>Ending a pick and drop on an EV_TOOL_BAR_BUTTON which has a non `void' pebble no longer starts a transport from the button.</li>
240 <li>Reduced flicker on cursor when picking from an EV_TREE_ITEM or EV_LIST_ITEM.</li>
241 <li>`pebble_function' would previously be called twice during a pick and drop.</li>
242 </ul></li>
243 <li><b>EV_FIXED</b> - Items contained are now drawn correctly dependent on
244 their z order.
245 <li><b>EV_DRAWABLE</b>
246 <ul>
247 <li>`Remove_clip_area' did not remove the clip_area correctly, but set
248 it to the current size. This meant that if you then enlarged the
249 widget, clipping would be applied.
250 <li>Fixed problems with ordering of calls to certain features which
251 would cause postcondition violations in the implementation.
252 <li>`draw_pie_slice', `fill_pie_slice' and `draw_arc' now have divide
253 by 0 protection in the implementation.</li>
254 </ul></li>
255 <li><b>EV_TEXT</b> - `set_background_color' now correctly sets the color
256 of the whole background. Previously only the area containing text was
257 modified.
258 <li><b>EV_CLIPBOARD</b> - Our implementation would sometimes query `text'
259 when not allowed by Windows, thus causing postcondition failures.
260 <li><b>EV_BUTTON</b> - The result of `text_alignment' after default_create
261 was incorrect.</li>
262 </ul>
263 <li><b>Gtk</b>
264 <ul>
265 <li>Gtk version of Studio released (including Vision2), so no fixes from
266 5.0</li>
267 </ul>
268 </li>
269 </ul>
270 <p>&nbsp;</p>
271
272 </body>
273
274 </html>

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.23