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:
jfiat
2008-09-19 10:22:25 +00:00
parent c7f7178710
commit 4087eb614e
367 changed files with 390 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
[[Property:title|Error wizard]]
[[Property:weight|2]]
[[Property:uuid|0c9686a0-2b9b-291f-4f01-930d9017810b]]
More often than wanted, Eiffel compilations are not successful. The good point is that when an error is detected by the compiler, it will not be a problem at run-time. The bad point is that you have to fix compilation errors before being able to launch and debug your system.
When an error occurs during an Eiffel compilation in EiffelStudio, the '''Output''' tab of the context tool displays a description of the error and its location, which looks more or less like this:

View File

@@ -1,5 +1,6 @@
[[Property:title|External commands editor dialog]]
[[Property:weight|4]]
[[Property:uuid|9f8de904-3d17-7ce2-1df8-f4824fab5ae3]]
From EiffelStudio, you can define up to 10 external commands. Those commands will have their output redirected in the output pane of the context tool. You can execute them through the Tools menu. A typical usage is to use those external commands to integrate with your source control management solution (e.g. CVS, Visual SourceSafe,...)
To define your own command, select "External commands..." in the Tools menu. Then the following dialog will appear:

View File

@@ -1,5 +1,6 @@
[[Property:title|Dialogs]]
[[Property:weight|1]]
[[Property:uuid|5d543cd3-8e54-e090-44d4-ee3b51009fe6]]
* [[New feature dialog|New feature dialog]]
* [[Error descriptor|Error descriptor]]
* [[External commands editor dialog|External commands editor]]

View File

@@ -1,5 +1,6 @@
[[Property:title|New feature dialog]]
[[Property:weight|0]]
[[Property:uuid|deb4901a-7b5a-f669-802e-de1efefcc1a0]]
* [[New feature dialog: Introduction|Introduction]]
* [[New feature dialog overview|Overview]]
* [[New procedure layout|Procedure layout]]

View File

@@ -1,5 +1,6 @@
[[Property:title|New attribute layout]]
[[Property:weight|4]]
[[Property:uuid|b13c9004-c8a0-6628-5c70-42c3e2617c10]]
<div> [[Image:feature-wizard-attribute]] </div>
When clicking '''Attribute''', the window changes to the attribute layout. It has the following components:
* [[Feature clauses|Feature clause selection]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Argument list]]
[[Property:weight|2]]
[[Property:uuid|f2d63c29-6be2-b3d9-a735-b18e08c5a678]]
For functions and procedures, you can build a formal argument list. You can do this by clicking on the '''New argument''' button as many times as you need arguments.
{{note| '''Note''': Even though this dialog always shows parentheses, they are not generated if the list is empty (Eiffel's command-query separation (CQS) principle). }}

View File

@@ -1,5 +1,6 @@
[[Property:title|Feature body]]
[[Property:weight|6]]
[[Property:uuid|8f9f0b70-e884-73f1-e270-f1b51ef672c6]]
What goes into the feature body field is dependent on what kind of feature you wish to generate.
* '''do''': this is the normal procedure type. Enter in the field below '''do''' a body for your feature.
<code>

View File

@@ -1,5 +1,6 @@
[[Property:title|Feature clauses]]
[[Property:weight|0]]
[[Property:uuid|019ea318-e0e0-dae9-a818-e12232aa8431]]
The feature you create will be inserted in the feature clause you specified. If the feature clause was not already in your class, or not in the right place, EiffelStudio adds the feature clause to the class text based on the feature clause order specified in the [[Preferences Reference|preferences]] . By default, this is the order used by the Eiffel Software libraries, such as EiffelBase.
==Export status==
The export status is the class the feature is accessible for. Usually, this is <eiffel>ANY</eiffel> for public features, or <eiffel>NONE</eiffel> for implementation features, but you can specify any class here.

View File

@@ -1,5 +1,6 @@
[[Property:title|Header comment]]
[[Property:weight|3]]
[[Property:uuid|45ecda88-003d-fe59-5d4c-3a84d488b6a2]]
In the header comment field you can type a description of the feature. For style guidelines in writing a header comment, see: [http://www.eiffel.com/doc/oosc/ Object-Oriented Software Construction, Second Edition] , paragraph 26.4. The description should be informative, clear and terse.
For example, suppose you have an attribute <eiffel>count</eiffel>. You can enter the following header comment:

View File

@@ -1,5 +1,6 @@
[[Property:title|New feature dialog: feature properties modification]]
[[Property:weight|5]]
[[Property:uuid|60825ef4-7bc2-d472-8b09-25769689bb34]]
* [[Feature clauses|Feature clauses]]
* [[Name field|Name field]]
* [[Argument list|Argument list]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Invariant field]]
[[Property:weight|9]]
[[Property:uuid|9f7ec967-0a45-4ad6-4393-521097467192]]
When creating an attribute, you can optionally enter or select an invariant for that feature. That invariant will be added to the end of the existing invariant clause. If the invariant clause did not exist before, it is now created.
<div> [[Image:feature-wizard-invariant]] </div>
If the attribute is of a reference type, you may select the invariant that the attribute may never be void. If it is of a basic expanded type, some other standard options may be chosen. For example, for <eiffel>INTEGER</eiffel> you may select that it should always be positive.

View File

@@ -1,5 +1,6 @@
[[Property:title|Local variable]]
[[Property:weight|5]]
[[Property:uuid|423aa67d-99f4-0f81-3709-161a6be43af9]]
Enter a local variable in the <code> local </code> field. A local variable clause will be added to the feature:
<code>
...

View File

@@ -1,5 +1,6 @@
[[Property:title|Name field]]
[[Property:weight|1]]
[[Property:uuid|850bd867-5cbf-34d0-f94c-97a75bfa244b]]
The feature name field is a text box that lets you enter a name for the feature. For help on how to choose the right name for a feature, see: [http://www.eiffel.com/doc/oosc/ Object-Oriented Software Construction, Second Edition] , paragraph 26.2.
{{warning| '''Warning''': EiffelStudio performs no validation on the name you choose. For example if you type a space in it, it will generate the code, and detect a syntax error only when compiling. }}

View File

@@ -1,5 +1,6 @@
[[Property:title|Postcondition]]
[[Property:weight|7]]
[[Property:uuid|b8196d6c-2a0f-c06e-855f-d9fe23cbe950]]
Enter a postcondition in the <code> ensure </code> field. A postcondition clause will be added to the feature:
<code>...
ensure

View File

@@ -1,5 +1,6 @@
[[Property:title|Precondition]]
[[Property:weight|4]]
[[Property:uuid|29b32f9e-799d-de91-d62d-79bdb509144b]]
Enter a precondition in the <code> require </code> field. A precondition clause will be added to the feature:
<code>
...

View File

@@ -1,5 +1,6 @@
[[Property:title|Set-procedure]]
[[Property:weight|10]]
[[Property:uuid|46b84038-099b-070c-15d7-2b7884a50e01]]
When creating an attribute, it is common that you will also need a set-procedure for it. For example, for attribute <eiffel>property</eiffel> you need a procedure <eiffel>set_property</eiffel> to set it. This feature takes one argument of the same type as <eiffel>property</eiffel> or is anchored to it. The only thing you have to do with the feature wizard is check the button '''Generate set procedure'''.
<div> [[Image:feature-wizard-setprocedure]] </div>
The feature that is generated in addition to the attribute itself is placed in feature clause <code> Element change </code> and is exported to all classes. If you have selected or entered an invariant, the precondition will protect this invariant. Example of a generated set-procedure:

View File

@@ -1,5 +1,6 @@
[[Property:title|Type selection]]
[[Property:weight|8]]
[[Property:uuid|b2bd8280-a738-dae4-73aa-c1e232245022]]
Whenever you need to give a type of something in the dialog, the type selection component is used. The type selection lets you type any class name or you can pick one from the list.
<div> [[Image:feature-wizard-typeselection]] </div>
When you select a class that is in the system and has formal generic parameters, the type selection component lets you specify an actual generic parameter in another type selection.

View File

@@ -1,5 +1,6 @@
[[Property:title|New feature dialog overview]]
[[Property:weight|1]]
[[Property:uuid|c0708842-e5e0-5d5c-5746-0507d1709a3e]]
There are two parts in the window. The upper part allows you to choose what type of feature you want to create, a procedure, a function or an attribute.
[[Image:feature-wizard]]
The rest of the window is used to set the characteristics of the new feature. Information you will be asked depends on the type you chose. For more information, click on one of the links below:

View File

@@ -1,5 +1,6 @@
[[Property:title|New function layout]]
[[Property:weight|3]]
[[Property:uuid|ae292b6e-7274-47a5-59f1-0f625493474f]]
<div> [[Image:feature-wizard-function]] </div>
When clicking '''Function''', the dialog changes to the function layout. It has the following components:
* [[Feature clauses|Feature clause selection]]

View File

@@ -1,5 +1,6 @@
[[Property:title|New procedure layout]]
[[Property:weight|2]]
[[Property:uuid|586fd664-1be4-f588-5350-c7c703145c11]]
<div> [[Image:feature-wizard-procedure]] </div>
When clicking '''Procedure''', the window changes to the procedure layout. It has the following components:
* [[Feature clauses|Feature clause selection]]