mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-06 18:19:25 +02:00
Author:admin
Date:2008-09-19T07:55:09.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@27 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Change data share mode]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|52206181-e002-0914-d98d-c817d32ec02e]]
|
||||
Located in the '''View''' menu, named either '''Link context tool''' or '''Unlink context tool''', this command allows you to switch between the two possible [[Address bars: Introduction|addressing modes]] . It is also accessible through the main toolbar ( [[Image:context-link-icon]] ).
|
||||
|
||||
{{note| '''Note''': This command only applies to the development window where it is invoked, and this setting is not automatically saved when exiting EiffelStudio. }}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Context tool address bar]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|1d68fcd1-8839-0b1e-a546-7ab51b3c0e74]]
|
||||
The address bar of the context tool has a different look from the [[Main address bar|main address bar]] , but provides the same functionality.
|
||||
|
||||
[[Image:context-address-bar]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Address bars]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|e145c4d3-afd3-653d-cf7c-14fd80f4d566]]
|
||||
* [[Address bars: Introduction|Introduction]]
|
||||
* [[Main address bar|Main address bar]]
|
||||
* [[Context tool address bar|Context tool address bar]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Main address bar]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|491b7b6d-4d7c-287f-8442-2b35d000a54b]]
|
||||
The main address bar is located in the top part of windows, between the two [[Main toolbars|main toolbars]] (when they are displayed).
|
||||
|
||||
[[Image:main-address-bar]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Favorites menu]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|8157cc25-a299-3af6-8218-e5dfd094793d]]
|
||||
The '''favorites''' menu is composed of two parts.
|
||||
|
||||
First, there are three commands:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Favorites tree]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|642c0a65-971e-b399-3e15-74af6dada046]]
|
||||
The favorites tree gives a graphical representation of the favorite classes of the system, as opposed to the favorites menu.
|
||||
|
||||
[[Image:favorites-tree]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Favorites tool]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|75cfeda2-3823-ef29-130a-39e686116f40]]
|
||||
* [[Favorites tool: Introduction|Introduction]]
|
||||
* [[Favorites tree|Tree representation]]
|
||||
* [[Favorites menu|Menu representation]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Create favorite folder command]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|a6d2f458-81ad-bc62-6476-2aabb3900a80]]
|
||||
This command [[Image:favorites-dialog-new-folder]] is accessible in the Organize favorites dialog. When clicked, a dialog is popped up that prompts for a name for the new folder:
|
||||
|
||||
[[Image:favorites-new-folder-dialog]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Organize Favorites dialog]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|3e47cb30-c974-b0f4-1624-4bba035bd906]]
|
||||
* [[Organize favorites dialog: Introduction|Introduction]]
|
||||
* [[New favorite class command|New Favorite Class command]]
|
||||
* [[Create favorite folder command|Create Folder command]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Move to Folder command]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|087439e6-dc0c-d394-b3ed-ffaaf5928b39]]
|
||||
The Move to Folder command [[Image:favorites-dialog-move-to]] , located in the [[Organize favorites dialog: Introduction|Organize Favorites dialog]] , makes it possible to move favorite items (classes and folders) to specific folders. It is enabled only when an item is selected in the left-hand tree in this dialog. The source is the selected item that could be moved. You can select a different source item by clicking it in the tree, or by using the keyboard.
|
||||
|
||||
When pressed, a dialog is popped up, that prompts for the favorite folder the selected item should be moved to.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|New favorite class command]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|18be5a70-d623-a45c-cf3d-45c1dc0a2ec5]]
|
||||
Located in the [[Organize favorites dialog: Introduction|Organize Favorites dialog]] , this command [[Image:favorites-dialog-new-class]] provides a way of adding a class to the favorites. When clicked, a new dialog is popped up, that allows to select a class among the clusters of the system:
|
||||
|
||||
[[Image:favorites-new-class-dialog]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Remove favorite command]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|c55daacd-a7f8-294b-6b2c-9d503e6a3969]]
|
||||
The Remove favorite command [[Image:favorites-dialog-remove]] discards a favorite item from the favorites. It is enabled whenever an item is selected in the left-hand tree of the [[Organize favorites dialog: Introduction|Organize favorites dialog]] .
|
||||
|
||||
Pressing it removes the selected item from the favorites.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Feature tree]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|6b5e1448-4547-2d4d-ef5d-165d5dbaedc1]]
|
||||
[[Image:feature-tree]]
|
||||
|
||||
The feature tree gives a summary of all the features of the currently edited class. They are in the same order as they are in the class file, and they are grouped by their feature clause.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|New feature command]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|3a670193-29dd-b829-0c90-eec8dd7e74b6]]
|
||||
The new feature command [[Image:new-feature-icon]] located in the [[Feature tool: Introduction|feature tool]] acts like the [[New feature dialog: Introduction|main new feature command]] . Clicking it pops up the same dialog, making it possible to add a new feature in the currently edited class.
|
||||
|
||||
This command is only available when the class currently in the editor is compiled, can be modified, and has a file on the disk (this may not be the case if the class is precompiled).
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Cluster tool]]
|
||||
[[Property:link_title|Groups tool]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|0baebaa5-a9c8-4c7c-6ace-c11d82804906]]
|
||||
* [[Cluster tool: Introduction|Introduction]]
|
||||
* [[System tree representation|System tree representation]]
|
||||
* [[New cluster command|New cluster command]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Locate command]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|10d2cf53-4e11-d44c-ee05-12fc1c6c354c]]
|
||||
The locate command ( [[Image:general-search-icon]] ), located in the [[Cluster tool: Introduction|cluster tool]] , provides an easy way to find a class or a cluster in the [[System tree representation|cluster tree]] .
|
||||
|
||||
Clicking it automatically expands the clusters containing the edited class or cluster and selects it.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|New class command]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|ca2a2b34-7bdf-52c7-c300-f780df40bca0]]
|
||||
The new class command ( [[Image:new-class-icon]] ) located in the cluster tool toolbar creates a class in the same fashion as the main new class command. The only difference is that when using the cluster tool command, the new class is by default located in the cluster selected in the [[System tree representation|cluster tree]] (or the parent cluster of the selected class, if a class is selected).
|
||||
|
||||
A dialog is then popped up in which it is possible to select the name of the new class, the name of the file it should be created in (by default ".e" is appended to the name of the new class to generate the file name), and the cluster in which the new class should be inserted. Only clusters that are not libraries are displayed in the list, since library clusters cannot be modified.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|New cluster command]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|8aa7c073-65dd-99d9-edba-73737d90fccf]]
|
||||
The new cluster command ( [[Image:new-cluster-icon]] ) located in the cluster tool toolbar creates a cluster in the same fashion as the main new cluster command. The only difference is that when using the cluster tool command, the new cluster is by default located in the cluster selected in the [[System tree representation|cluster tree]] (or the selected class's parent cluster, if a class is selected).
|
||||
|
||||
A dialog is then popped up in which it is possible to select the name of the new cluster and the cluster in which the new cluster should be inserted. Only clusters that are not libraries are displayed in the list.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|System tree representation]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|fc30ebd1-2a70-08ef-ae54-751ad834b489]]
|
||||
The cluster tool is mainly composed of a tree representation of the system.
|
||||
|
||||
[[Image:cluster-tree]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Browsing tools]]
|
||||
[[Property:weight|-13]]
|
||||
[[Property:uuid|b4e840c3-a635-b5dd-fbd2-0db69b3d6ce1]]
|
||||
* [[Browsing tools: Introduction|Introduction]]
|
||||
* [[Address bars|Address bars]]
|
||||
* [[Cluster tool|Cluster tool]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Search tool]]
|
||||
[[Property:weight|6]]
|
||||
[[Property:uuid|4d0cc8b3-2ffd-42d4-7855-672fa0c11cf8]]
|
||||
==Description and usage==
|
||||
|
||||
EiffelStudio includes a search tool which allows you to look for a word or a pattern in the editor, the class tool, the feature tool or the output tool, and to replace it by another word if you want. It is located in the left part of the development window, like the cluster tool or the favorites for instance.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Window list]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|95058f0f-7c1b-841d-03df-dde4494afaf4]]
|
||||
The window list is the main part of the [[Windows tool: Introduction|window tool]] .
|
||||
|
||||
[[Image:windows-tool]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Window menu]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|539ef2b0-ed6b-3cfb-5c9f-535fb25a987d]]
|
||||
The '''window''' menu is divided into two parts. The first one is composed of the [[Window related commands|window-related commands]] . The second one is the list of all opened development windows. Clicking any of these raises the selected development window, so that it becomes the top-level window.
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Window related commands]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|2c8c28d2-7690-dbe2-a264-798d5ad256f7]]
|
||||
A few commands give the possibility to manage the development windows globally. They are located both in the [[Window menu|Window menu]] and in the main toolbar.
|
||||
* '''New window''': this command ( [[Image:new-window-icon]] ) creates a new empty development window. Note that it is also possible to [[Pick-and-drop mechanism|drop]] a class or a feature on it to create a development window that is immediately centered on the dropped item.
|
||||
* '''Minimize all''': this command ( [[Image:windows-minimize-all-icon]] ) iconifies all development windows.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Batch compilation]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]]
|
||||
In order to launch a compilation without user intervention you need to specify the `-batch' switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations.
|
||||
|
||||
===Unix===
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Class menu]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|441d6cbb-2c48-5d44-8cb1-0884ade26b98]]
|
||||
The Class command (c or C) in the main menu will only work if the system has been successfully compiled, and will give you information based on the result of the last successful compilation. It produces the following menu:
|
||||
<code>
|
||||
(A) Ancestors : show the ancestors of a class.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Compile (and run) menu]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|58af783e-7fc4-9fa3-2374-4143204948bb]]
|
||||
The Compile command (i or I) in the main menu yields the following item menu:
|
||||
<code>
|
||||
(A) Arguments : set the arguments.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Documentation menu]]
|
||||
[[Property:weight|7]]
|
||||
[[Property:uuid|4ed93bc4-07eb-57ed-b339-4890b5f58fcc]]
|
||||
The Documentation Menu enables you to generate documentation about the classes of your system:
|
||||
<code>
|
||||
(I) Documentation (Flat/Short): Generate flat/short form of all classes in system.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Feature menu]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|a662251b-777d-5e28-0e52-ba4932195528]]
|
||||
The Feature Menu enables you to find properties of a feature:
|
||||
<code>
|
||||
(A) Ancestors : show the ancestor versions of a feature.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Command line interactive mode]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|3a0acea6-c6d1-c7b9-c2f9-88021cad26b6]]
|
||||
* [[Interactive command line: Introduction|Introduction]]
|
||||
* [[Compile (and run) menu|The Compile (and Run) menu]]
|
||||
* [[Class menu|The Class menu]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Profile menu]]
|
||||
[[Property:weight|6]]
|
||||
[[Property:uuid|09c424b0-8ba1-626c-0658-32e5d5e1f81b]]
|
||||
An execution of an instrumented system will generate a file that contains profiling information. This file (named profinfo) is located in the same directory as your compiled system. You must process it through a profile converter to produce the Execution Profile.
|
||||
The profile menu will enable you to produce the Execution profile and to extract information from it.
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|System menu]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|c1450c9b-a5d3-3709-1176-9c5c49def362]]
|
||||
The System Menu gives general information about the system:
|
||||
<code>
|
||||
(A) Config : show the config file.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|EiffelStudio: Command line options]]
|
||||
[[Property:link_title|Using command line options]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|a6b6a676-8660-ce2d-6f37-03de7f23a78e]]
|
||||
You may start ec through a command of the following form:
|
||||
<code>'''ec''' ''option'' ... [''class_name''][''feature_name'']</code>
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Command line]]
|
||||
[[Property:weight|-13]]
|
||||
[[Property:uuid|e1a93995-38bf-14fa-421e-e6fe1f07b9f6]]
|
||||
* [[Command line: Introduction|Introduction]]
|
||||
* [[EiffelStudio: Command line options|Command line options]]
|
||||
* [[Batch compilation|Batch compilation]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Assertions checking configuration changes]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|45e5cc54-cc3d-9f21-b73f-462430ae845e]]
|
||||
One of the major differences between 4.5 and 5.0 is how to specify the assertion checking in the ace file or in the project settings window. In 4.5, assertions of a certain type where checked if their level was below the requested level. Here is what the level hierarchy looked like:
|
||||
# require
|
||||
# ensure
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Compiler differences from 4.5 to 5.0]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|0937ae2f-0959-ca89-e851-2c8ccbf4f3aa]]
|
||||
==What's new==
|
||||
* Implementation of new external syntax.
|
||||
* Implementation of verbatim strings.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 4.5 and ISE Eiffel 5.0]]
|
||||
[[Property:link_title|5.0]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|82179716-24e3-0aa1-7562-bf0a87c05749]]
|
||||
* [[Assertions checking configuration changes|Assertions checking]]
|
||||
* [[Changes between 4.5 and 5.0|EiffelThread]]
|
||||
* [[Compiler differences from 4.5 to 5.0|Miscellaneous]]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.0 and ISE Eiffel 5.1]]
|
||||
[[Property:link_title|5.1]]
|
||||
[[Property:weight|-8]]
|
||||
[[Property:uuid|bdb0c46b-2774-f348-f8e8-9932cda47722]]
|
||||
==What's new==
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2]]
|
||||
[[Property:link_title|5.2]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|f08242d4-d472-142c-7f92-f2c043bc5fa6]]
|
||||
==What's new==
|
||||
* .NET generation now includes support for the following language features:
|
||||
** Support for multiple inheritance.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.2 and ISE Eiffel 5.3]]
|
||||
[[Property:link_title|5.3]]
|
||||
[[Property:weight|-10]]
|
||||
[[Property:uuid|c4a7cbf4-da42-791d-cc80-862692233ed9]]
|
||||
==What's new==
|
||||
* Finalized executable with option `exception trace' enabled will now display the instruction number (usually equivalent to the line number in the routine) being executed when a failure occurred. It was already displaying this information in workbench/melted mode, we have just extended this feature to finalize mode.
|
||||
* Incremental compilation is now available for .NET code generation. Meaning that if you modify one class, only this class is being recompiled. It dramatically improves development time when targeting .NET.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.3 and ISE Eiffel 5.4]]
|
||||
[[Property:link_title|5..4]]
|
||||
[[Property:weight|-11]]
|
||||
[[Property:uuid|2fa36c0f-5b6a-f3f8-67a6-6bd73f63732d]]
|
||||
==What's new==
|
||||
* Support for assertion checking on external routines.
|
||||
* Removed limitation about implementing or redefining a non-external routine by an external one and vice versa.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.4 and ISE Eiffel 5.5]]
|
||||
[[Property:link_title|5.5]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|1d8b9ba7-0609-b664-a4cf-16be1132b071]]
|
||||
==What's new==
|
||||
* Full support for new <code>convert</code> keyword.
|
||||
* Made <code>Void,</code> previously a feature of <eiffel>ANY</eiffel>, a keyword. This prevents the renaming of <eiffel>Void</eiffel> into <eiffel>not_void</eiffel> previously possible when it was a routine of <eiffel>ANY</eiffel>.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.5 and ISE Eiffel 5.6]]
|
||||
[[Property:link_title|5.6]]
|
||||
[[Property:weight|-13]]
|
||||
[[Property:uuid|c22fad22-3dce-cf2c-1d24-4e70fc29f3f3]]
|
||||
==What's new==
|
||||
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.6 and ISE Eiffel 5.7]]
|
||||
[[Property:link_title|5.7]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|fc50f98f-4dfd-0173-23d4-9db219dde0cf]]
|
||||
==What's new==
|
||||
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 5.7 and ISE Eiffel 6.0]]
|
||||
[[Property:link_title|6.0]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|83f6c19c-b0da-6acb-0333-a92d445cfe56]]
|
||||
==What's new==
|
||||
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 6.0 and ISE Eiffel 6.1]]
|
||||
[[Property:link_title|6.1]]
|
||||
[[Property:weight|-8]]
|
||||
[[Property:uuid|32beeca8-08df-4918-b231-8a14114fdd62]]
|
||||
==What's new==
|
||||
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Major changes between ISE Eiffel 6.1 and ISE Eiffel 6.2]]
|
||||
[[Property:link_title|6.2]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|20122f4c-22c6-d0ee-c38b-36908ca86ad2]]
|
||||
==What's new==
|
||||
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Compiler History]]
|
||||
[[Property:weight|-8]]
|
||||
[[Property:uuid|359395e7-4933-bb74-4397-353c8b6955cd]]
|
||||
* [[Major changes between ISE Eiffel 6.0 and ISE Eiffel 6.1|Major changes between ISE Eiffel 6.0 and ISE Eiffel 6.1]]
|
||||
* [[Major changes between ISE Eiffel 5.7 and ISE Eiffel 6.0|Major changes between ISE Eiffel 5.7 and ISE Eiffel 6.0]]
|
||||
* [[Major changes between ISE Eiffel 5.6 and ISE Eiffel 5.7|Major changes between ISE Eiffel 5.6 and ISE Eiffel 5.7]]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|Differences between ETL 2nd printing and Eiffel Software implementation]]
|
||||
[[Property:link_title|]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|fc1e73f4-5646-aa41-e7fe-97dc6f3ceb04]]
|
||||
{{seealso|See also: [[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
|
||||
==Added classes==
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Differences between standard ECMA-367 and Eiffel Software implementation]]
|
||||
[[Property:weight|-10]]
|
||||
[[Property:uuid|0eb58761-5b06-585f-ea92-cab2b8cd74b2]]
|
||||
==Kernel classes==
|
||||
{|
|
||||
|-
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Definition file]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|3a4b017c-ede1-7af1-2934-c7a28b303764]]
|
||||
The syntax is pretty simple when you understand what you need to export a feature: you need the name of the '''feature''', the name of the concerned '''class''', and the name of a '''creation procedure'''. What is optional is to specify an '''alias''', an '''index''' and a '''calling convention'''. The index and calling convention are mainly used to create a DLL for windows, and the alias to export the feature under a different name.
|
||||
|
||||
===Syntax===
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Dynamic library builder]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|e64cdcf2-6da1-98d5-8356-28b50d01374b]]
|
||||
In order to facilitate the creation of C dynamic libraries using EiffelStudio, a wizard helps generate the definition files used to define the contents of the shared library. If for some reason you need to override the wizard, the [[Definition file|syntactic rules]] of the definition files are available, but their knowledge is not necessary to use the generation of dynamic libraries in EiffelStudio.
|
||||
|
||||
The wizard is accessible in the '''Tools'''/ '''Dynamic library builder''' menu.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Dynamic library: Generated files]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|f3926dd7-eb68-7a82-39f0-b4f5ea891436]]
|
||||
Basically, once the Eiffel definition file is created, the compiler will generate a set of files and will compile them to generate the Dynamic library into the ''EIFGENs/target_name/W_code'' or ''EIFGENs/target_name/F_code'' directory.
|
||||
|
||||
{{note| '''Note''': To generate and compile these files, you have to indicate the definition file that should be used in the [[Advanced Options|advanced node of the project settings]] of your system. This way EiffelStudio will know which one to use. If you do not specify any definition file, nothing will be generated. }}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Dynamic library generation]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|201551d5-84af-f1ee-deed-b599d4f6e64a]]
|
||||
* [[Dynamic library generation: Introduction|Introduction]]
|
||||
* [[Dynamic library builder|Dynamic library builder]]
|
||||
* [[Definition file|Definition file]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Compiler]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|6ce8a6e1-5f44-8c47-fcf0-549d1ea0ffaf]]
|
||||
* [[Compiler: introduction|Introduction]]
|
||||
* [[Differences between ETL 2nd printing and Eiffel Software implementation|Differences between ETL 2nd printing and Eiffel Software implementation]]
|
||||
* [[Command line|Command line compiler]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Melting Ice Technology]]
|
||||
[[Property:weight|-15]]
|
||||
[[Property:uuid|17c5cf39-2bb3-67e4-11e3-2b6d021e5df1]]
|
||||
EiffelStudio relies on Melting Ice Technology, the proprietary compilation mechanism of Eiffel Software, which offers three forms of compilation:
|
||||
* ''melting'' for making a few changes. The fastest of the mechanisms, typically taking a few seconds after small changes. Melting time is proportional to the size of the changed parts and affected classes, while the time needed to freeze or finalize is partly proportional to the size of the whole system. As long as you do not include new external C/C++ code, a C/C++ compiler is not required. However, execution speed is not optimal. The generated executable is debuggable.
|
||||
* ''freezing'' generates C code from the active system, and then compiles it into machine code; you must have a C/C++ compiler installed. You need to use this option if you add new agents or external C/C++ calls. Unless you add external code, you can re-freeze every couple of days. The rest of the time, you can melt your software to receive immediate feedback. The speed is still slower than when finalizing, but the generated executable is still debuggable.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Supported C compilers]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|4d4a70fa-b6da-cecb-83e0-dcc18d6ed54a]]
|
||||
==Unix/Linux Users:==
|
||||
|
||||
EiffelStudio supports `gcc' on most platforms and the native`cc' compiler if it is an ANSI C compiler.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Console tool]]
|
||||
[[Property:weight|-4]]
|
||||
[[Property:uuid|bbc24d41-ce47-662a-16c3-4426b4c6e884]]
|
||||
The Console tool lets you run external commands from within EiffelStudio. The Console tool is shown in the following figure:
|
||||
[[Image:console1|Defining an input domain]]
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Breakpoint commands]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|3631e866-0acd-005d-b1f5-f43377b6e27f]]
|
||||
Located in the '''debug''' menu and the '''project''' toolbar, these three commands allow to change the state of set [[Breakpoints: Introduction|breakpoints]] in the system.
|
||||
|
||||
Enable breakpoints ( [[Image:16x16--breakpoints-enable-icon]] ), disable breakpoints ( [[Image:16x16--breakpoints-disable-icon]] ) and remove breakpoints ( [[Image:breakpoints-delete-icon]] ) have all global and local actions. Left-clicking on them has a global action: all set breakpoints of the system will be respectively enabled, disabled, or discarded. However, it is also possible to [[Pick-and-drop mechanism|drop]] a feature or a class onto them, in which case only set breakpoints of the feature/class will be affected.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Breakpoint menu]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|dd68a84b-9bb7-98d5-8aa3-7e16969086f1]]
|
||||
A condition breakpoint is a breakpoint in which debugger will stop if a certain condition is met. To set a conditional breakpoint use the [[Breakpoint editing|breakpoint menu]] and choose `Set conditional breakpoint':
|
||||
|
||||
[[Image:breakpoint-context-menu]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Breakpoints]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|6ed5890a-9b23-210a-5640-cee348d6e27e]]
|
||||
* [[Breakpoints: Introduction|Introduction]]
|
||||
* [[Breakpoint editing|Breakpoint menu]]
|
||||
* [[Image:16x16--breakpoints-enable-icon]] [[Image:16x16--breakpoints-disable-icon]] [[Image:breakpoints-delete-icon]] [[Breakpoint commands|Breakpoint commands]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Call stack tool: Interface]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|ff70f68f-31db-c5d1-4d68-7b0fc70b1dd7]]
|
||||
[[Image:call-stack-tool]]
|
||||
|
||||
The call stack tool gives information about the current call stack of a debugged application.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Information relative to a stack element]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|f78fca33-2e19-1021-70f4-fd262991da7a]]
|
||||
In addition to the [[Call stack tool: Interface|call stack tool]] that provides information concerning the call stack in its globality, some other debug tools give information concerning the [[Call stack tool: Interface|current call stack element]] .
|
||||
|
||||
In debug mode, the context tool is automatically switched to the feature tab in flat view, and displays the feature which corresponds to the current call stack element. In the left margin, a yellow arrow ( [[Image:bp-current-line-icon]] ) marks the execution line where the program is currently stopped, whereas a green arrow ( [[Image:bp-slot-other-frame-icon]] ) indicates the execution line that was attained in the feature in the current call stack element. Therefore, if a feature is recursive, and appears several times in the call stack, changing the current call stack element may cause green arrows to be displayed at different places in the same feature (if the different calls did not reach the same execution point). On the other hand, the yellow arrow can only appear at one place as long as the application is not started again.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Save call stack]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|495a2601-8e25-0b48-f86a-6cccf7099c1e]]
|
||||
It is possible to copy the current call stack to the clipboard ( [[Image:general-copy-icon]] ) or to a text file ( [[Image:general-save-icon]] ). This may be useful to indicate to other people of a team where an error occurred. After the button is clicked, a dialog is popped up that prompts for a place where to save the [[Call stack tool: Interface|call stack]] (if the selected file already exists, it is overwritten).
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Supported exceptions]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|f3b4498a-0772-32fb-041d-13428e258f52]]
|
||||
Here is a list of exceptions that may appear in the [[Call stack tool: Interface|call stack tool]] . When they are raised, a tag may be there to give more information, if necessary. All these exceptions are declared in <eiffel>EXCEPT_CONST</eiffel>.
|
||||
|
||||
'''Feature call on Void target''': An attempt was made to calla feature on an object that is Void. The tag indicates the name of the feature of the feature that could not be called. For instance if the code line is <eiffel>a.b.c</eiffel> and the tag is "c" then <eiffel>a.b</eiffel> was Void.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Debuggee's Object Storage]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|b26fb1b0-85ef-26b5-9b9d-6e3b8ad977c2]]
|
||||
This command can be accessed through the context menu, and from the objects tool, and watches tools thanks to the tool bar's button [ [[Image:execution-object-storage-icon]] ].
|
||||
|
||||
By Pick-and-Dropping a debuggee object onto the button [ [[Image:execution-object-storage-icon]] ], you raise the "save" dialog. Then you need to choose the target filename where we'll store the debuggee object.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Debugging limitations]]
|
||||
[[Property:weight|-2]]
|
||||
[[Property:uuid|4377d765-8664-ee0c-5d5b-e42fd7d172c3]]
|
||||
General limitations:
|
||||
* Watch expression: Agents are not supported (for instance "agent my_function" is not supported").
|
||||
* The debugger is still not very helpful when the execution is stopped inside an invariant.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Debugging preferences]]
|
||||
[[Property:weight|-4]]
|
||||
[[Property:uuid|05e820ff-917f-e41f-d921-990283ac886f]]
|
||||
Two main preferences are available for the debugger, in order to speed up the objects display :
|
||||
* Enable/disable the debug_output display (see [[Debug output|debug output]] )
|
||||
* Enable/disable the full generic type display (for instance see <eiffel>ARRAY [INTEGER] </eiffel>instead of only <eiffel>ARRAY</eiffel>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Debugging tips with the objects grid view]]
|
||||
[[Property:weight|-5]]
|
||||
[[Property:uuid|56b3c189-8fda-d78e-7e7c-c4cf4f786ff6]]
|
||||
General behavior
|
||||
* Double clicking on the grid's header separator will resize the corresponding column. If you hold the [SHIFT] key at the same time, it will resize according to the displayed cells.
|
||||
* Right clicking on the header's cell will popup a menu that enable or disable the auto resizing on the selected column. This can be useful to resize automatically the "name" column when inspecting an object value.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Exceptions handling tool]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|9a62611f-46ba-7d74-ba1c-989f6709074b]]
|
||||
This tool is used to precise whether the debugger stops or continues on specific exceptions.<br/>
|
||||
To show this tool, go to menu : '''Debug > Exception handling''' .<br/>
|
||||
Note: now that exception are object in Eiffel too, the mechanism is unified for classic and dotnet system using the Eiffel exception class names.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Execute one line at a time]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|7d4489b4-5f29-2b1c-af83-afc2b25c8f85]]
|
||||
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
|
||||
|
||||
If an application was stopped, it attempts to execute the instruction located on the execution line where the application is stopped. If this execution line does not contain an instruction, the execution stops at the next execution line.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Execution commands]]
|
||||
[[Property:weight|-15]]
|
||||
[[Property:uuid|098e4d2b-18c5-6933-fe42-2d55e427f5fa]]
|
||||
* [[Eiffel Debugger Execution: Introduction|Introduction]]
|
||||
* [[Image:debug-run-icon]] [[Run and stop at breakpoints|Run and debug]]
|
||||
* [[Image:debug-run-icon]] [[Run with arguments|Run with arguments]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Pause an application]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|846b52cb-6654-23be-3576-cc175a6fbf04]]
|
||||
This command stops the execution of a running debugged application.
|
||||
|
||||
This gives access to dynamic information concerning the application, such as the current [[Callstack tool: Introduction|call stack]] and the [[Objects tool: Introduction|state of objects]] in the system.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Run and stop at breakpoints]]
|
||||
[[Property:weight|-15]]
|
||||
[[Property:uuid|16310d6f-9ab8-e27c-5802-059d8fc80914]]
|
||||
This command launches an application compiled in Work Bench mode. The application will stop as soon as a [[Breakpoints: Introduction|breakpoint]] is encountered, or when an exception occurs.
|
||||
|
||||
It is accessible through the '''project''' toolbar ( [[Image:debug-run-icon]] ) or through the '''debug''' menu.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Run with arguments]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|0c8c089c-f953-3337-87dc-09a0c8150c21]]
|
||||
While working on a project, you may want to launch it with one or more arguments.
|
||||
|
||||
There are two ways to specify arguments for a program from EiffelStudio:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Run a finalized executable]]
|
||||
[[Property:weight|-11]]
|
||||
[[Property:uuid|a69ab49a-2bd1-a405-837c-b3e629fa5394]]
|
||||
As opposed to other execution commands, this command launches an application compiled in finalized mode. This has the same effect as running the application in the EIFGENs/target_name/F_code directory from a console prompt.
|
||||
|
||||
No debugging is possible with this command, but it lets you test the real speed of your program without any overhead.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Run without breakpoints]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|1f619bce-a3c7-5984-d3e6-4c5dceabf53d]]
|
||||
This command launches an application compiled in Workbench mode. The application will not stop when a [[Breakpoints: Introduction|breakpoint]] is encountered. However, it stops when an exception occurs.
|
||||
|
||||
It is accessible through the '''project''' toolbar ( [[Image:debug-run-without-breakpoint-icon]] ) or through the '''debug''' menu.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Step into a feature]]
|
||||
[[Property:weight|-10]]
|
||||
[[Property:uuid|a141505a-cc5a-afe1-6f8c-8e216bd7a232]]
|
||||
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
|
||||
|
||||
If an application was stopped, it attempts to enter the feature located on the execution line where the application is stopped. If this feature is an attribute, or another non debuggable feature, it simply executes the current execution line and stops at the next one.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Step out of a feature]]
|
||||
[[Property:weight|-8]]
|
||||
[[Property:uuid|4d3b068d-cbeb-be94-94c9-f73eb12b6c0e]]
|
||||
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
|
||||
|
||||
If an application was stopped, it attempts to exit the feature where the application is stopped.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Stop a debugged application]]
|
||||
[[Property:weight|-6]]
|
||||
[[Property:uuid|648fdd76-c393-982d-5367-1e9b02669248]]
|
||||
This command kills the debugged application, if any. This stops the debugging session.
|
||||
|
||||
It is accessible through the '''project''' toolbar ( [[Image:debug-stop-icon]] ) or through the '''debug''' menu.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Execution record and replay]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|5184f354-f954-49e2-d38f-15214dcd3d6b]]
|
||||
* [[Introduction to execution record and replay|Introduction]]
|
||||
* [[Record execution|Execution recording]]
|
||||
* [[Replay (recorded) execution|Execution replaying]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Record execution]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|1255beef-e115-b8ae-87f6-08e267fe3d8f]]
|
||||
For performance reason, the recording mechanism has a few parameters. For now there is no way to change them easily with the graphical debugger, however you can change those parameters by editing (and recompiling) <code>{RT_DBG_EXECUTION_PARAMETERS}.make</code>.
|
||||
* integer parameter: <code>{RT_DBG_EXECUTION_PARAMETERS}.'''maximum_record_count'''</code> (default: 1_000_000): <br/>
|
||||
the recording keeps only the last '''maximum_record_count''' object's records.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Replay (recorded) execution]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|13932252-4eca-7c71-d047-b0b011e50d60]]
|
||||
The replay functionality is graphically available on the Call stack tool, or though the "Execution" menu.
|
||||
|
||||
{{note|First, you must be sure execution recording is activated ([[Record execution|read how to record execution]] ).}}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Expression evaluation]]
|
||||
[[Property:weight|-10]]
|
||||
[[Property:uuid|e55442ac-7861-1995-d315-baeed6c49223]]
|
||||
* [[Expression evaluation: Introduction|Introduction]]
|
||||
* [[Evaluation tool or Watch tool|Evaluation tool (alias Watch tool)]]
|
||||
* [[New expression dialog|New expression dialog]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|New expression dialog]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|95a78497-434d-759f-fdce-f9025c891495]]
|
||||
Adding new expressions to the [[Evaluation tool or Watch tool|list of expressions]] that should be dynamically evaluated is performed via a dialog.
|
||||
|
||||
<center>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[[Property:title|EiffelStudio Debugger]]
|
||||
[[Property:link_title|Debugger]]
|
||||
[[Property:weight|-8]]
|
||||
[[Property:uuid|31c4857e-f19e-e9e3-b7db-d6c30515277f]]
|
||||
* [[Eiffel Debugger: Introduction|Introduction]]
|
||||
* [[Execution commands|Execution commands]]
|
||||
* [[Breakpoints|Breakpoint management]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Attribute symbols]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|6dfbde5d-3423-4f10-6569-30af2ba00dd1]]
|
||||
In both trees of the [[Objects tool: Introduction|object tool]] , objects are displayed. Two categories are made for each objects: its attributes (grouped under the `attributes' folder [[Image:feature-attribute-icon]] ) and its once routines (grouped under the `once routines' folder [[Image:feature-once-icon]] ).
|
||||
|
||||
All follow the following symbol scheme to describe the kind of each item:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Debug output]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|41544c3b-e1f1-53a5-ff63-e63224c32fa3]]
|
||||
In both grids of the [[Objects tool: Introduction|object tool]] , objects are displayed. For virtually all objects, it is possible to display a user-definable string value next to the object address.
|
||||
|
||||
To do so, inherit from the class <eiffel>DEBUG_OUTPUT</eiffel> in the classes that should let their objects display a string value, and implement the `debug_output' feature. At run-time, the debugger will automatically query the result of this feature on all objects that define it and display it in the object tool and the [[Expression evaluation|evaluation tool]] .
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Remove object command]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|42b5ea32-ef9c-207f-7dbe-c871a4515db3]]
|
||||
Located in the [[Objects tool: Introduction|object tool]] toolbar, this command [[Image:general-delete-icon]] discards an object from the [[Objects tool: Introduction|object tools]] . All top-level objects can be removed, except the first one, which is the object relative to the [[Callstack tool: Introduction|current call stack element]] .
|
||||
|
||||
Left-clicking on this button removes the selected object from the [[Objects tool: Introduction|object tools]] , if possible. It is also possible to [[Pick-and-drop mechanism|drop]] an object onto the button to remove the object.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Set slice size command]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|ce2469a3-cf00-554e-47bd-5e8b2fdbc783]]
|
||||
Located in the object tool toolbar, this command [[Image:debugger-set-sizes-icon]] changes the display size of special objects (i.e. objects whose class is [[ref:/libraries/base/reference/special_chart]] ).Since special objects may contain thousands of attributes, only the first fifty are displayed by default. If left-clicked, a dialog is popped up that sets the exploration indices of special objects that will be loaded in the future. <br/>
|
||||
This popup also shows the "Maximum displayed string size" in the grid ([[Objects tool: Introduction|objects tool]] , or the [[Expression evaluation|watch tools]] ).
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Stack overflow prevention]]
|
||||
[[Property:weight|-6]]
|
||||
[[Property:uuid|bd988599-a444-6090-c3c4-a5c7de20b294]]
|
||||
Accessible via the '''Debug/Overflow prevention...''' menu, this command makes it possible to detect stack overflows before they occur. Selecting it pops up a dialog that lets you decide at which call stack depth a warning should be issued.
|
||||
|
||||
[[Image:stack-overflow-dlg]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Contexts]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|6adec8c0-0eb4-d616-c7be-ef7480673b1c]]
|
||||
A diagram in the diagram tool is always the context of a certain class or cluster. Context means the direct relations up to a certain depth.
|
||||
|
||||
For clusters, the relations are:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Diagram tool: Code generation]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|f0ed7470-cc28-a0e3-df16-36a47d34f852]]
|
||||
All actions taken in the diagram tool that modify a part of the system are immediately reflected in the Eiffel system. Following is a summary of these actions.
|
||||
* When you create a new class, this is the generated empty class: <br/>
|
||||
<code>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Diagram toolbar]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|c0ea47ac-e616-0762-b1bf-53d87df8ce9f]]
|
||||
The toolbar of the diagram contains these buttons:
|
||||
* [[Image:diagram-target-cluster-or-class-icon]] Target to cluster or class <br/>
|
||||
Drop a class or a cluster on this icon to build the corresponding diagram.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Diagram tool]]
|
||||
[[Property:weight|-6]]
|
||||
[[Property:uuid|a3ca34e5-10e9-fac3-4795-9222074273a6]]
|
||||
* [[Diagram tool: Introduction|Introduction]]
|
||||
* [[Notation|Notation]]
|
||||
* [[Diagram toolbar|Diagram toolbar]]
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Notation]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|615baff7-4dbe-2f2f-9a02-c05b20143478]]
|
||||
The diagram tool uses the [http://bon-method.com BON] (Business Object Notation) to represent Eiffel systems. This article will give a summary of all components of an EiffelStudio diagram. For detailed information on BON, please read [http://bon-method.com/book.htm Seamless Object-Oriented Software Architecture] by Kim Walden and Jean-MarcNerson, Prentice Hall 1994.
|
||||
|
||||
==Class==
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Views]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|e31f55f4-907c-0df3-2144-3820765800a8]]
|
||||
Every class or cluster has one or more views. Every view shows the [[Contexts|context]] of a class or cluster, a subset of the Eiffel system. For example, for a certain cluster, you can show only the hierarchy of the classes in it, but you could have a second view that shows only a couple of classes in it, but with all relations between them.
|
||||
<div> [[Image:diagram-view-combo]] </div>
|
||||
The view combo box, as seen in the image above, can be used to add a view or switch to a previously added one. Every class and cluster has a view "DEFAULT" that is generated automatically. If you create a new view and move for example a class around in it, the "DEFAULT" view is unaffected.
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|Eiffel Scheme Syntax]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|503b260c-99c5-06fb-2953-8899866c1c51]]
|
||||
<code>'''eiffel:?<''eiffel-resource''>'''</code>
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|EIS incoming Examples]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|24adee5e-7ccf-3280-b009-8e183ab9279c]]
|
||||
The following are examples of EIS incoming URIs.
|
||||
* eiffel:?class=STRING_8&feature=is_equal
|
||||
* eiffel:?cluster=elks&class=STRING_8&feature=is_equal
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
[[Property:title|EIS: Incoming]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|cf25a603-5446-9964-892c-227c4077a829]]
|
||||
Incoming mechanism is based on URI, and introduces a new URI scheme: '''eiffel'''. By entering the URI into address of a browser, or clicking on the hyper link, an existing EiffelStudio instance or new EiffelStudio instance will try to resolve the URI and display corresponding resources.
|
||||
* [[Eiffel Scheme Syntax|Eiffel scheme Syntax]]
|
||||
* [[EIS incoming Examples|Examples]]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user