/[eiffelstudio]/branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/tools/eb_tool_manager.e
ViewVC logotype

Contents of /branches/Eiffel_57_docking/Src/Eiffel/interface/new_graphical/tools/eb_tool_manager.e

Parent Directory Parent Directory | Revision Log Revision Log


Revision 61955 - (show annotations)
Sun Jul 30 06:02:31 2006 UTC (13 years, 4 months ago) by manus
File size: 22499 byte(s)
EiffelStudio docking branch. It only contains modified classes needed to get the docking version of EiffelStudio.
1 indexing
2 description : "Window containing several tools"
3 legal: "See notice at end of class."
4 status: "See notice at end of class."
5 date : "$Date$"
6 revision : "$Revision$"
7 author : "Arnaud PICHERY [ aranud@mail.dotcom.fr ]"
8
9 deferred class
10 EB_TOOL_MANAGER
11
12 inherit
13 EB_WINDOW
14 rename
15 destroy_recyclable_items as recycle
16 redefine
17 make,
18 build_menus,
19 build_menu_bar,
20 destroy_imp,
21 recycle
22 end
23
24 EB_EXPLORER_BAR_MANAGER
25 undefine
26 default_create
27 end
28
29 EB_SHARED_DEBUG_TOOLS
30 undefine
31 default_create
32 end
33
34 EB_HISTORY_OWNER
35 undefine
36 default_create
37 redefine
38 recycle
39 end
40
41 EB_SHARED_PREFERENCES
42 undefine
43 default_create
44 end
45
46 ES_TOOLBAR_PREFERENCE
47 undefine
48 default_create
49 end
50
51 feature {NONE} -- Initialization
52
53 make is
54 -- Create a new development window.
55 do
56 Precursor {EB_WINDOW}
57 initialized := False -- Reset the flag since initializion is not yet complete.
58
59 initialized := True
60 end
61
62 init_tools_list is
63 -- Create and set up the list of tools that can be put on the left
64 -- and on the bottom-right.
65 do
66 -- create left_tools.make (7)
67 -- create bottom_tools.make (4) Ted
68 create left_tools.make (6)
69 create bottom_tools.make (5)
70 end
71
72 feature {EB_TOOL_MANAGER} -- Initialization
73
74 build_interface is
75 -- Build system widget.
76 local
77 cell: EV_CELL
78 new_split_position: INTEGER
79 min_split_position: INTEGER
80 stb: EV_STATUS_BAR
81 do
82 -- Build widgets -------------------------------------------
83
84 -- Set up the favorites, the history, ...
85 create favorites_manager.make (Current)
86 set_favorites_manager (favorites_manager)
87 -- The favorites manager is already collected by the favorites tool.
88 add_recyclable (favorites_manager)
89 create cluster_manager.make (Current)
90 set_cluster_manager (cluster_manager)
91 add_recyclable (cluster_manager)
92
93 -- Set up the name of the window.
94 set_title (Interface_names.t_Empty_development_window)
95 set_minimized_title (Interface_names.t_Empty_development_window)
96
97 -- Create the main container and the left + right panels.
98 create container
99 window.extend (container)
100 create right_panel.make (Current, False, True)
101 right_panel.enable_top_widget_resizing
102 right_panel.set_maximize_pixmap (pixmaps.mini_pixmaps.toolbar_maximize_icon)
103 right_panel.set_minimize_pixmap (pixmaps.mini_pixmaps.toolbar_minimize_icon)
104 right_panel.set_restore_pixmap (pixmaps.mini_pixmaps.toolbar_restore_icon)
105 right_panel.set_close_pixmap (pixmaps.mini_pixmaps.toolbar_close_icon)
106 create left_panel.make (Current, preferences.development_window_data.left_panel_use_explorer_style, False)
107 left_panel.set_maximize_pixmap (pixmaps.mini_pixmaps.toolbar_maximize_icon)
108 left_panel.set_minimize_pixmap (pixmaps.mini_pixmaps.toolbar_minimize_icon)
109 left_panel.set_restore_pixmap (pixmaps.mini_pixmaps.toolbar_restore_icon)
110 left_panel.set_close_pixmap (pixmaps.mini_pixmaps.toolbar_close_icon)
111 left_panel.enable_top_widget_resizing
112 create panel
113 -- As the side on which panels are displayed may be swapped,
114 -- this must be taken into account.
115 if editor_left_side_cell.item then
116 panel.extend (right_panel)
117 panel.extend (left_panel)
118 else
119 panel.extend (left_panel)
120 panel.extend (right_panel)
121 end
122 update_expanded_state_of_panel
123
124 -- Create the status bar.
125 create status_bar.make
126 add_recyclable (status_bar)
127
128 -- Build all tools that can take place in this window.
129 init_tools_list
130 build_tools
131
132 -- Build the layout -------------------------------------------
133
134 -- Add the content of the window (left bar + right cell).
135 container.extend (panel)
136
137 new_split_position := preferences.development_window_data.left_panel_width
138 min_split_position := panel.minimum_split_position
139 splitter_position := new_split_position
140 -- panel.set_split_position (splitter_position.max (min_split_position))
141
142 -- Add a cell for spacing (we cannot use padding: there are toolbars coming).
143 create cell
144 cell.set_minimum_height (2)
145 container.extend (cell)
146 container.disable_item_expand (cell)
147
148 -- And the status bar.
149 stb := status_bar.widget
150 container.extend (stb)
151 container.disable_item_expand (stb)
152 end
153
154 feature {NONE} -- Initialization
155
156 build_tools is
157 -- Build all tools that can take place in this window and put them
158 -- in `left_tools' or `bottom_tools'.
159 deferred
160 ensure
161 tools_initialized: tools_initialized
162 end
163
164 build_toolbars_area is
165 -- Set up the toolbars area (general toolbar, address toolbar, ...).
166 do
167 create toolbars_area
168 toolbars_area.set_padding (1)
169
170 build_general_toolbar
171 toolbars_area.extend (general_toolbar)
172 toolbars_area.disable_item_expand (general_toolbar)
173
174 build_address_toolbar
175 toolbars_area.extend (address_toolbar)
176 toolbars_area.disable_item_expand (address_toolbar)
177
178 build_project_toolbar
179 toolbars_area.extend (project_toolbar)
180 toolbars_area.disable_item_expand (project_toolbar)
181
182 build_refactoring_toolbar
183 toolbars_area.extend (refactoring_toolbar)
184 toolbars_area.disable_item_expand (refactoring_toolbar)
185
186 view_menu.put_front (build_toolbar_menu)
187 end
188
189 build_general_toolbar is
190 -- Set up the general toolbar (New, Save, Search, Shell, Undo, Redo, ...).
191 deferred
192 end
193
194 build_address_toolbar is
195 -- Set up the address toolbar (Back, Forward, Current, Class name, feature name, ...).
196 deferred
197 end
198
199 build_project_toolbar is
200 -- Build toolbar corresponding to the project options bar.
201 deferred
202 end
203
204 build_refactoring_toolbar is
205 -- Build toolbar for the refactorings.
206 deferred
207 end
208
209
210 feature {NONE} -- Menus initializations
211
212 build_menus is
213 -- Build all menus.
214 do
215 -- Build the favorites menu.
216 build_favorites_menu
217 build_view_menu
218
219 -- Build the other menus and the menu bar.
220 Precursor
221 end
222
223 build_favorites_menu is
224 -- Create and build `favorites_menu'.
225 local
226 conv_cst: CLASSI_STONE
227 do
228 favorites_menu := favorites_manager.menu
229 conv_cst ?= stone
230 -- We update the state of the `Add to Favorites' command.
231 if conv_cst /= Void then
232 favorites_menu.first.enable_sensitive
233 else
234 favorites_menu.first.disable_sensitive
235 end
236 -- The favorites menu is already collected by the favorites manager.
237 add_recyclable (favorites_menu)
238 ensure
239 favorites_menu_created: favorites_menu /= Void
240 end
241
242 build_view_menu is
243 -- Create and build `view_menu'.
244 require
245 tools_initialized: tools_initialized
246 local
247 menu_sep: EV_MENU_SEPARATOR
248 do
249 create view_menu.make_with_text (Interface_names.m_View)
250
251 -- Toolbars
252 --view_menu.extend (build_toolbar_menu)
253
254 -- Explorer Bar
255 view_menu.extend (build_explorer_bar_menu)
256
257 -- Separator
258 create menu_sep
259 view_menu.extend (menu_sep)
260 ensure
261 view_menu_created: view_menu /= Void
262 end
263
264 build_toolbar_menu: EV_MENU is
265 -- Create and build a sub menu `toolbar_menu'.
266 local
267 menu_sep: EV_MENU_SEPARATOR
268 menu_item: EV_MENU_ITEM
269 command_menu_item: EB_COMMAND_CHECK_MENU_ITEM
270 do
271 create Result.make_with_text (Interface_names.m_Toolbars)
272
273 -- Available toolbars
274 from
275 show_toolbar_commands.start
276 until
277 show_toolbar_commands.after
278 loop
279 command_menu_item := show_toolbar_commands.item.new_menu_item
280 command_menu_item.select_actions.extend (agent save_toolbar_state)
281 add_recyclable (command_menu_item)
282 Result.extend (command_menu_item)
283
284 show_toolbar_commands.forth
285 end
286
287 -- Separator ---------------------------
288 create menu_sep
289 Result.extend (menu_sep)
290
291 -- Customize.
292 create menu_item.make_with_text (Interface_names.m_Customize_general)
293 menu_item.select_actions.extend (agent general_customizable_toolbar.customize)
294 menu_item.select_actions.extend (agent save_general_toolbar)
295 Result.extend (menu_item)
296
297 create menu_item.make_with_text (Interface_names.m_Customize_project)
298 menu_item.select_actions.extend (agent project_customizable_toolbar.customize)
299 menu_item.select_actions.extend (agent save_project_toolbar)
300 Result.extend (menu_item)
301
302 create menu_item.make_with_text (Interface_names.m_Customize_refactoring)
303 menu_item.select_actions.extend (agent refactoring_customizable_toolbar.customize)
304 menu_item.select_actions.extend (agent save_refactoring_toolbar)
305 Result.extend (menu_item)
306 end
307
308 build_explorer_bar_menu: EV_MENU is
309 -- Build toolbar corresponding to available left panels.
310 local
311 menu_sep: EV_MENU_SEPARATOR
312 do
313 create Result.make_with_text (Interface_names.m_Explorer_bar)
314
315 -- Left tools
316 fill_explorer_bar_menu_with_list (Result, left_tools)
317
318 -- Separator
319 create menu_sep
320 Result.extend (menu_sep)
321
322 -- Bottom Tools
323 fill_explorer_bar_menu_with_list (Result, bottom_tools)
324 end
325
326 build_menu_bar is
327 -- Build the menu bar and put it into the window.
328 local
329 menu_bar: EV_MENU_BAR
330 do
331 create menu_bar
332 menu_bar.extend (file_menu)
333 menu_bar.extend (edit_menu)
334 menu_bar.extend (view_menu)
335 menu_bar.extend (tools_menu)
336 menu_bar.extend (favorites_menu)
337 menu_bar.extend (window_menu)
338 menu_bar.extend (help_menu)
339
340 window.set_menu_bar (menu_bar)
341 end
342
343 feature -- Access
344
345 left_tools: ARRAYED_LIST [EB_EXPLORER_BAR_ITEM]
346 -- Tools under management that can be put in the left bar.
347
348 bottom_tools: ARRAYED_LIST [EB_EXPLORER_BAR_ITEM]
349 -- Tools under management that can be put on the right, below
350 -- the editor.
351
352 status_bar: EB_DEVELOPMENT_WINDOW_STATUS_BAR
353 -- Status bar.
354
355 feature -- Status setting
356
357 hide_tools is
358 -- Hide all tools.
359 --| Used for optimization purposes, to avoid computing a lot
360 --| when changing completely the display of the window.
361 do
362 status_bar.widget.hide
363 panel.hide
364 end
365
366 show_tools is
367 -- Show all tools.
368 do
369 panel.show
370 status_bar.widget.show
371 end
372
373 feature -- Memory management
374
375 destroy_imp is
376 -- Recycle `Current', and leave it in an unstable state,
377 -- so that we know whether we are really not referenced any more.
378 do
379 toolbars_area.wipe_out
380 -- view_menu.wipe_out
381 panel.wipe_out
382 container.wipe_out
383 -- All these components are automatically recycled through add_recyclable.
384 -- favorites_manager.recycle
385 -- cluster_manager.recycle
386 -- favorites_menu.recycle
387 general_customizable_toolbar.recycle
388 project_customizable_toolbar.recycle
389 refactoring_customizable_toolbar.recycle
390 -- Recycle the history manager.
391 -- This is called polymorphically by EV_WINDOW.
392 -- recycle
393 -- history_manager.recycle
394 view_menu.destroy
395 Precursor {EB_WINDOW}
396 refactoring_toolbar.destroy
397 toolbars_area.destroy
398 panel.destroy
399 container.destroy
400
401 address_toolbar := Void
402 project_toolbar := Void
403 refactoring_toolbar := Void
404 end
405
406 feature {EB_DEBUGGER_MANAGER} -- Explorer bars
407
408 left_panel: EB_EXPLORER_BAR
409 -- Left panel: contains one of the item of `left_tools': the favorites,
410 -- the clusters tree, the features tree, ... or Void if it
411 -- contains nothing and is not displayed.
412
413 right_panel: EB_EXPLORER_BAR
414 -- Right panel: typically contains the editor and the context area.
415 -- The right panel is always displayed and is therefore never Void
416 -- (see invariant).
417
418 panel: EV_HORIZONTAL_SPLIT_AREA
419 -- Main panel. It can be either a EV_HORIZONTAL_SPLIT_AREA or an EV_CELL.
420 -- It depends whether the left explorer bar is displayed or not.
421 --
422 -- Panel contains `left_panel' and `right_panel' if it's a split area,
423 -- `right_panel' only if it's a cell.
424
425 feature {NONE} -- Vision2 architechture
426
427 container: EV_VERTICAL_BOX
428 -- Main container. It contains everything that appears in the window:
429 -- The toolbars area and the panel.
430
431 toolbars_area: EV_VERTICAL_BOX
432 -- Area where toolbars will be displayed.
433
434 general_toolbar: EV_VERTICAL_BOX
435 -- General toolbar (Edit operation, compile operation, selectors, ...).
436
437 general_customizable_toolbar: EB_TOOLBAR
438 -- Customizable part of `general_toolbar'.
439
440 project_customizable_toolbar: EB_TOOLBAR
441 -- Customizable part of `project_toolbar'.
442
443 refactoring_customizable_toolbar: EB_TOOLBAR
444 -- Customizable part of `refactoring_toolbar'.
445
446 address_toolbar: EV_VERTICAL_BOX
447 -- Address toolbar (Back, forth, Class name, feature name, format type).
448 -- The vertical box contains the separator and then the toolbar.
449
450 project_toolbar: EV_VERTICAL_BOX
451 -- Project toolbar
452 -- The vertical box contains the separator and then the toolbar.
453
454 refactoring_toolbar: EV_VERTICAL_BOX
455 -- Refactoring toolbar
456 -- The vertical box contains the separator and then the toolbar.
457
458 feature {NONE} -- Menus.
459
460 favorites_menu: EB_FAVORITES_MENU
461 -- Menu representing the favorites.
462
463 view_menu: EV_MENU
464 -- Menu representing the different selectable views.
465
466 feature -- Favorites & History handling.
467
468 favorites_manager: EB_FAVORITES_MANAGER
469 -- Graphical manager for favorites, contains the favorites
470 -- tree (`favorites_window') and the favorites menu.
471
472 cluster_manager: EB_CLUSTER_MANAGER
473 -- Graphical manager for clusters and classes, contains the cluster tree.
474
475 set_favorites_manager (a_favorites_manager: EB_FAVORITES_MANAGER) is
476 -- Set `favorites_manager' to `a_favorites_manager'.
477 do
478 favorites_manager := a_favorites_manager
479 end
480
481 set_cluster_manager (a_cluster_manager: EB_CLUSTER_MANAGER) is
482 -- Set `cluster_manager' to `a_cluster_manager'.
483 do
484 cluster_manager := a_cluster_manager
485 end
486
487 feature -- Explorer bar handling.
488
489 splitter_position: INTEGER
490 -- Position of the main splitter.
491
492 display_bar (a_bar: EB_EXPLORER_BAR) is
493 -- Switch the current view to `a_bar'.
494 do
495 if
496 (a_bar.parent = Void) and
497 (not other_bar (a_bar).is_maximized) and
498 a_bar.is_show_requested
499 then
500 if a_bar = left_panel then
501 if Editor_left_side_cell.item then
502 panel.set_second (left_panel)
503 else
504 panel.set_first (left_panel)
505 end
506 else
507 if Editor_left_side_cell.item then
508 panel.set_first (right_panel)
509 else
510 panel.set_second (right_panel)
511 end
512 end
513
514 if panel.full then
515 update_expanded_state_of_panel
516 panel.set_split_position (splitter_position.max (panel.minimum_split_position))
517 end
518 end
519 end
520
521 force_display_bar (a_bar: EB_EXPLORER_BAR) is
522 -- Switch the current view to `a_bar', even if the other bar is maximized.
523 do
524 if
525 (a_bar.parent = Void) and
526 (other_bar (a_bar).is_maximized)
527 then
528 -- Unmaximize the other bar.
529 other_bar (a_bar).unmaximize
530 end
531 if
532 (a_bar.parent /= Void) and
533 (a_bar.is_maximized)
534 then
535 a_bar.unmaximize
536 end
537 if
538 (a_bar.parent = Void) and
539 a_bar.is_show_requested
540 then
541 if a_bar = left_panel then
542 if Editor_left_side_cell.item then
543 panel.set_second (left_panel)
544 else
545 panel.set_first (left_panel)
546 end
547 else
548 if Editor_left_side_cell.item then
549 panel.set_first (right_panel)
550 else
551 panel.set_second (right_panel)
552 end
553 end
554 if panel.full then
555 update_expanded_state_of_panel
556 panel.set_split_position ((splitter_position.max (panel.minimum_split_position)).min (panel.maximum_split_position))
557 end
558 end
559 end
560
561 update_expanded_state_of_panel is
562 -- If `panel' `is_full', update expanded status of widgets
563 -- based on `editor_left_side_cell'. This must be performed
564 -- after insertions or updates to `panel', ensuring that the
565 -- non editor side does not resize when `panel' is enlarged.
566 do
567 if panel.full then
568 if editor_left_side_cell.item then
569 panel.enable_item_expand (panel.first)
570 panel.disable_item_expand (panel.second)
571 else
572 panel.enable_item_expand (panel.second)
573 panel.disable_item_expand (panel.first)
574 end
575 end
576 end
577
578 close_bar (a_bar: EB_EXPLORER_BAR) is
579 -- An explorer bar asks to be closed.
580 do
581 if (a_bar.parent /= Void) then
582 if other_bar (a_bar).parent /= Void then
583 splitter_position := panel.split_position
584 end
585 panel.prune_all (a_bar)
586 end
587 end
588
589 close_all_bars_except (a_bar: EB_EXPLORER_BAR) is
590 -- An explorer bar item asks to be maximized.
591 do
592 close_bar (other_bar (a_bar))
593 end
594
595 restore_bars is
596 -- A maximized item has been restored.
597 do
598 -- Do not force the bar to be shown if it is empty, as
599 -- in that state it should be hidden.
600 if left_panel.parent = Void and left_panel.count /= 0 then
601 display_bar (left_panel)
602 end
603 if right_panel.parent = Void and right_panel.count /= 0 then
604 display_bar (right_panel)
605 end
606 end
607
608 other_bar (a_bar: EB_EXPLORER_BAR): EB_EXPLORER_BAR is
609 -- If `a_bar' is `left_panel', return `right_panel' and vice versa.
610 do
611 if left_panel = a_bar then
612 Result := right_panel
613 else
614 Result := left_panel
615 end
616 end
617
618 feature {NONE} -- Implementation
619
620 fill_explorer_bar_menu_with_list (a_menu: EV_MENU; a_list: ARRAYED_LIST [EB_EXPLORER_BAR_ITEM]) is
621 -- Fill `a_menu' with the list of explorer bar iten `a_list'.
622 local
623 menu_item: EB_COMMAND_CHECK_MENU_ITEM
624 bar_item: EB_EXPLORER_BAR_ITEM
625 do
626 from
627 a_list.start
628 until
629 a_list.after
630 loop
631 bar_item := a_list.item
632 -- We only generate an entry for closeable explorer bars
633 -- (the editor is not closeable and has no entry).
634 if bar_item.is_closeable then
635 menu_item ?= a_list.item.associated_command.new_menu_item
636 if menu_item /= Void then
637 add_recyclable (menu_item)
638 a_menu.extend (menu_item)
639 end
640 end
641 a_list.forth
642 end
643 end
644
645 feature {NONE} -- Implementation / Commands
646
647 show_tool_commands: ARRAYED_LIST [EB_SHOW_TOOL_COMMAND]
648 -- Commands to show/hide a tool.
649
650 show_toolbar_commands: ARRAYED_LIST [EB_SHOW_TOOLBAR_COMMAND]
651 -- Commands to show/hide a toolbar.
652
653 show_general_toolbar_command: EB_SHOW_TOOLBAR_COMMAND
654 -- Command to show/hide the general toolbar.
655
656 show_project_toolbar_command: EB_SHOW_TOOLBAR_COMMAND
657 -- Command to show/hide the project toolbar.
658
659 show_refactoring_toolbar_command: EB_SHOW_TOOLBAR_COMMAND
660 -- Command to show/hide the refactoring toolbar.
661
662 show_address_toolbar_command: EB_SHOW_TOOLBAR_COMMAND
663 -- Command to show/hide the address toolbar.
664
665 save_general_toolbar is
666 -- Save the apparence of the general toolbar in the registry (or in .es5rc)
667 do
668 if general_customizable_toolbar.changed then
669 preferences.development_window_data.general_toolbar_layout_preference.set_value (save_toolbar (general_customizable_toolbar))
670 preferences.development_window_data.show_general_toolbar_preference.set_value (show_general_toolbar_command.is_visible)
671 preferences.development_window_data.show_text_in_general_toolbar_preference.set_value (general_customizable_toolbar.is_text_important)
672 preferences.development_window_data.show_all_text_in_general_toolbar_preference.set_value (general_customizable_toolbar.is_text_displayed)
673 end
674 end
675
676 save_project_toolbar is
677 -- Save the apparence of the project toolbar in the registry (or in .es5rc)
678 do
679 if project_customizable_toolbar.changed then
680 Eb_debugger_manager.save_interface (project_customizable_toolbar)
681 end
682 end
683
684 save_refactoring_toolbar is
685 -- Save the apparence of the refactoring toolbar.
686 do
687 if refactoring_customizable_toolbar.changed then
688 preferences.development_window_data.refactoring_toolbar_layout_preference.set_value (save_toolbar (refactoring_customizable_toolbar))
689 preferences.development_window_data.show_refactoring_toolbar_preference.set_value (show_refactoring_toolbar_command.is_visible)
690 preferences.development_window_data.show_text_in_refactoring_toolbar_preference.set_value (refactoring_customizable_toolbar.is_text_important)
691 preferences.development_window_data.show_all_text_in_refactoring_toolbar_preference.set_value (refactoring_customizable_toolbar.is_text_displayed)
692 end
693 end
694
695
696 save_toolbar_state is
697 -- Write in the preferences whether to display the toolbars or not.
698 do
699 preferences.development_window_data.show_general_toolbar_preference.set_value (show_general_toolbar_command.is_visible)
700 preferences.development_window_data.show_address_toolbar_preference.set_value (show_address_toolbar_command.is_visible)
701 preferences.development_window_data.show_project_toolbar_preference.set_value (show_project_toolbar_command.is_visible)
702 preferences.development_window_data.show_refactoring_toolbar_preference.set_value (show_refactoring_toolbar_command.is_visible)
703 -- preference.preferences.save
704 end
705
706 feature {NONE} -- Initialization flags
707
708 tools_initialized: BOOLEAN
709 -- Are the tools initialized?
710
711 recycle is
712 -- Destroy `Current'.
713 do
714 Precursor {EB_HISTORY_OWNER}
715 Precursor {EB_WINDOW}
716 end
717
718 feature {NONE} -- Constants
719
720 Frame_constants: EV_FRAME_CONSTANTS is
721 -- Default constants for Frame look.
722 once
723 create Result
724 end
725
726 Default_colors: EV_STOCK_COLORS is
727 -- Default Vision2 colors.
728 once
729 create Result
730 end
731
732 editor_left_side_cell: CELL [BOOLEAN] is
733 -- Is Editor and associated tools displayed on left side of window?
734 once
735 create Result.put (preferences.misc_data.editor_left_side)
736 end
737
738 indexing
739 copyright: "Copyright (c) 1984-2006, Eiffel Software"
740 license: "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
741 licensing_options: "http://www.eiffel.com/licensing"
742 copying: "[
743 This file is part of Eiffel Software's Eiffel Development Environment.
744
745 Eiffel Software's Eiffel Development Environment is free
746 software; you can redistribute it and/or modify it under
747 the terms of the GNU General Public License as published
748 by the Free Software Foundation, version 2 of the License
749 (available at the URL listed under "license" above).
750
751 Eiffel Software's Eiffel Development Environment is
752 distributed in the hope that it will be useful, but
753 WITHOUT ANY WARRANTY; without even the implied warranty
754 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
755 See the GNU General Public License for more details.
756
757 You should have received a copy of the GNU General Public
758 License along with Eiffel Software's Eiffel Development
759 Environment; if not, write to the Free Software Foundation,
760 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
761 ]"
762 source: "[
763 Eiffel Software
764 356 Storke Road, Goleta, CA 93117 USA
765 Telephone 805-685-1006, Fax 805-685-6869
766 Website http://www.eiffel.com
767 Customer support http://support.eiffel.com
768 ]"
769
770 end -- class EB_TOOL_MANAGER

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.23