Author:halw

Date:2009-01-06T21:31:01.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@153 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2009-01-06 21:31:01 +00:00
parent 2fa0e9a0ae
commit 8805352e2a
16 changed files with 117 additions and 129 deletions

View File

@@ -6,7 +6,8 @@ EiffelStudio first comes up with a window and a dialog on top of it; the dialog
[[Image:index-2]]
As this is our first project we want to <code> Add Project. </code> We could also
As this is our first project we want to <code>Add Project</code> . We could also
* "<code lang="c">Create project</code>", which would let you select one among the common schemes -- basic application, graphical Windows application, graphical multi-platform application, Microsoft .NET application -- and set up everything for you.
* "<code>Open project</code>", which would let you open a previously added project..
@@ -17,12 +18,13 @@ Right now you first have to add the project, so click on <code>Add Project</code
$ISE_EIFFEL\examples\studio\tour\simple.ecf
</code>
remember that <code> $ISE_EIFFEL </code> stands for the location of the Eiffel installation, such as <code> C:\Eiffel50 </code> ; ECF files are normally marked by the <code> .ecf </code> file extension).
remember that <code>$ISE_EIFFEL</code> stands for the location of the Eiffel installation, such as <code>C:\Eiffel63</code> ; ECF files are normally marked by the <code>.ecf</code> file extension).
Use the File Explorer to go to the directory <code>$ISE_EIFFEL/examples/studio/tour/</code> and select the appropriate file. You will then be back on the startup dialog.
[[Image:index-3]]
Click <code>Open</code> to confirm. This starts compilation of your project.
During Eiffel compilation, a progress bar displays the successive compilation steps, or "degrees". The bulk of our little project is the EiffelBase library, which the EiffelStudio installation procedure has precompiled; so just now there's only a few extra classes to compile, and the process is almost instantaneous on a state-of-the-art computer. Even if you had to compile the EiffelBase classes, EiffelStudio compilation is so fast that you would hardly have the time to read the "degree" messages; you can see them later in compilations of bigger classes and systems.
@@ -48,6 +50,7 @@ This little application doesn't use graphics or anything fancy but simply create
[[Image:index-6]]
The message "<code>Press Return to finish the execution</code>" would not appear if you executed the system from outside of EiffelStudio, for example from a command line. Its purpose within EiffelStudio is clear: to let you see the console output; without it, the console would go away at the end of execution. (None of this applies to Unix/Linux/OpenVMS since there is no new console window to get rid of.)
If before closing the console window you look at the main EiffelStudio window (by moving away the console window) you will notice that it looks different from before, since it now shows the fields useful in monitoring execution and debugging. But we'll look at this later. For the moment just dismiss the console by following the advice to "<code>Press Return</code>": hit the Return or Enter key.

View File

@@ -6,7 +6,7 @@ Before we proceed with the facilities of the environment, let's take a look at t
With EiffelStudio, you build projects. Most projects yield an executable system, although you can also build a project just to define a library for use by such systems.
Every session is relative to a project; you can start a new project from within EiffelStudio by going to the <code> File </code> <code> --> </code> <code> New Project </code> menu, but please '''don't select that menu entry now''' as we have many more things to do with our current project first.
Every session is relative to a project; you can start a new project from within EiffelStudio by going to the <code>File --> New Project</code> menu, but please '''don't select that menu entry now''' as we have many more things to do with our current project first.
Every project has a '''project directory''' which will contain the files generated and managed by EiffelStudio. The project directory may also host some of the source files containing your Eiffel classes, the ECF (eiffel configurationl file), and external software written in other languages, but that is not required; the source files and ecf may reside anywhere. Some users, in fact, like to put nothing else than the EiffelStudio-generated files in the project directory; this separates user-managed and system-managed files, and can facilitate configuration management, backups and porting.
@@ -15,8 +15,8 @@ In this simple Tour, things have been set up so that all the files of interest,
[[Image:index-7]]
The contents of this <code>YOURDIR</code> directory include the following:
* First you see a number of files with the extension <span>.</span> <code> e </code>, for "Eiffel": <code> heir.e </code>, <code> invalid.e </code> and others. These are the Eiffel source files, each containing one class. The recommended convention is to store a class of name <code> CLASS_NAME </code> into a file of name <code> class_name </code> <code> .e </code>, where <code> class_name </code> is the lower-case version of <code> CLASS_NAME </code> ; here, file <code> heir.e </code> contains the class <code> HEIR </code> and so on. As you may remember, Eiffel is case-insensitive, but the standard convention for class names is to write them in all upper case. Calling the file <code> class_name </code> <code> .e </code> is only a recommendation, not an obligation; but you <span>are</span> required to store one class per file. This keeps things simple and facilitates project and configuration management.
* You also notice a file with an <code> ecf </code> extension. This is the configuration file that specifies this project. As you remember, the ECF file for this example was available as part of the delivery; we used it to compile the project. In most practical cases, however, you won't need to build an ECF; if you use the " <code> Create project </code>" option of EiffelStudio, EiffelStudio will build the ECF for you; if you change the Project Settings during a session, EiffelStudio will update the ECF. ECF are written in a xml notation.
* First you see a number of files with the extension <code>.e</code> , for "Eiffel": <code>heir.e </code>, <code> invalid.e </code> and others. These are the Eiffel source files, each containing one class. The recommended convention is to store a class of name <code>CLASS_NAME</code> into a file of name <code>class_name.e </code>, where <code>class_name</code> is the lower-case version of <code>CLASS_NAME</code> ; here, file <code>heir.e</code> contains the class <code>HEIR</code> and so on. As you may remember, Eiffel is case-insensitive, but the standard convention for class names is to write them in all upper case. Calling the file <code>class_name.e</code> is only a recommendation, not an obligation; but you <span>are</span> required to store one class per file. This keeps things simple and facilitates project and configuration management.
* You also notice a file with an <code>ecf</code> extension. This is the configuration file that specifies this project. As you remember, the ECF file for this example was available as part of the delivery; we used it to compile the project. In most practical cases, however, you won't need to build an ECF; if you use the "Create project" option of EiffelStudio, EiffelStudio will build the ECF for you; if you change the Project Settings during a session, EiffelStudio will update the ECF. ECF are written in a xml notation.
* Finally you will notice a subdirectory called <code>EIFGENs</code>, for "<code>EIF</code>fel <code>GEN</code>eration<code>s</code>". <code>EIFGENs</code> is created and maintained by the compiler to store information about your project, including generated code for execution. EiffelStudio manages your project in such a way that <code>EIFGENs</code> can always be re-generated if need be; this means in particular that if things go wrong for any reason and you want to make a fresh start you can always delete this directory and recompile your system. This also means that you should not add any files into this directory, or modify any of its files, since a later compilation is free to change or regenerate whatever it chooses in <code>EIFGENs</code>.
Later on, we will see that EiffelStudio may generate three more subdirectories of the project directory: <code>Diagrams</code>, if you produce graphical system diagrams; <code>Documentation</code>, if you request system documentation, for example HTML; and <code>Metrics</code>, if you perform measurements on your system. Other than these directories, <code>EIFGENs</code> EiffelStudio will not touch anything in the project directory, so you may safely add and change whatever files and subdirectories you like.

View File

@@ -13,17 +13,5 @@
[[Removing items from a view|Removing items from the view only]] }}
* Pick-and-drop the item you want to remove in the '''Delete''' hole. [[Image:16x16--general-delete-icon]] For links, the associated Eiffel code will be removed from the class text. Clusters and classes will be deleted from disk!
{{warning|An action that deletes one or more files or directories cannot be undone! }}
{{tip|Turn on '''Automatic backups'''. EiffelStudio will make a copy of each class file every time a compilation is done. }}
{{seealso|<br/>
[[Removing items from a view|Removing items from the view only]] }}

View File

@@ -2,22 +2,24 @@
[[Property:weight|3]]
[[Property:uuid|2ab61f4c-fb5a-901c-f2b3-3ee680f48569]]
If you do not want straight arrows, you can insert handles on them. It is recommended that you use the link tool to do this, because it inserts the handles so that the angles in the line are exactly 90 degrees.
# To apply straight angles to a link, drop it in the '''Put handles on a link''' hole. [[Image:diagram-force-right-angles-icon]]
# The '''Link tool''' appears. Select the type of angle(s) you want for the link.
* To apply straight angles to a link, drop it in the '''Put handles on a link''' hole. [[Image:diagram-force-right-angles-icon]]
* The '''Link tool''' appears. Select the type of angle(s) you want for the link.
[[Image:link-tool]]
The combinations of handles you can apply to your link are:
#* Put handle left <br/>
* Put handle left <br/>
[[Image:link-tool-left]]
#* Put handle right <br/>
* Put handle right <br/>
[[Image:link-tool-right]]
#* Put two handles left <br/>
* Put two handles left <br/>
[[Image:link-tool-two-left]]
#* Put two handles right <br/>
* Put two handles right <br/>
[[Image:link-tool-two-right]]
#* Remove handles <br/>
* Remove handles <br/>
[[Image:link-tool-no-handles]]
# Click '''OK''' when you are satisfied with the result, pressing '''Cancel''' will put the link back the way it was.
* Click '''OK''' when you are satisfied with the result, pressing '''Cancel''' will put the link back the way it was.

View File

@@ -1,9 +1,9 @@
[[Property:title|Adding a view]]
[[Property:weight|0]]
[[Property:uuid|28444f17-3f20-72b5-dd5b-d812154a219f]]
# To add a view of the current class or cluster, select the view you want to duplicate to the new one using the '''View''' combo box. <br/>
* To add a view of the current class or cluster, select the view you want to duplicate to the new one using the '''View''' combo box. <br/>
[[Image:diagram-defaultview]]
# Enter the name of the new view in the '''View''' combo box. <br/>
* Enter the name of the new view in the '''View''' combo box. <br/>
[[Image:diagram-myview]]
# Press enter. The view is now created.
* Press enter. The view is now created.

View File

@@ -1,15 +1,6 @@
[[Property:title|Deleting a view]]
[[Property:weight|1]]
[[Property:uuid|4e53dcce-8b05-823e-6911-ac85b226a511]]
* To delete a view, select the view you want to remove using the '''View''' combo box. <br/>
[[Image:diagram-defaultview]]
* Click the '''Delete current view''' button. [[Image:16x16--general-delete-icon]] <br/>
*If you choose to confirm, the view has been deleted, and the "DEFAULT" view is selected.
{{note| '''Note''': You cannot delete the view "DEFAULT". }}
*To delete a view, select the view you want to remove using the '''View''' combo box. <br/>
[[Image:diagram-defaultview]]

View File

@@ -2,10 +2,12 @@
[[Property:weight|1]]
[[Property:uuid|edb48c11-23fb-65d2-28c2-75cda5659dd8]]
* If you want to change the context of the current cluster or class in the diagram, click the '''Select depth of relations''' button. [[Image:diagram-depth-of-relations-icon]] <br/>
The '''Context''' dialog appears. The layout depends on whether the current context is one of a class or cluster.
** Context is a class:
* The '''Context''' dialog appears. The layout depends on whether the current context is one of a class or cluster.
* Context is a class:
[[Image:context-dialog-class]]
** Context is a cluster:
* Context is a cluster:
[[Image:context-dialog-cluster]]

View File

@@ -6,9 +6,4 @@
{{note|If you want to remove the item from the system, use the [[Deleting items|Delete]] hole. }}
* To remove an class, cluster, or link from the current view, use pick-and-drop to drop it in the '''Remove figure''' hole. [[Image:general-reset-icon]] . To remove a link handle you can also the same technique
{{note|If you want to remove the item from the system, use the [[Deleting items|Delete]] hole. }}

View File

@@ -11,30 +11,36 @@ The first page of the Documentation Wizard lets you choose between the available
{{tip|The nicest output is produced by the '''html-stylesheet''' format. }}
Now the wizard asks you to select the clusters you want to produce documentation for:
[[Image:doc-wizard-cluster-selection]]
In the next page you can specify indexing items on which HTML metatags will be based:
[[Image:doc-wizard-indexing-selection]]
{{note|This page is only available for HTML documentation. }}
You can then pick the formats you need among those available. For example, you might need a file containing the '''Cluster hierarchy''' of your system or, for each class, a file containing the '''Contracts''' of that class. At this point you can also decide to generate BON diagrams for the clusters selected in the previous page.
[[Image:doc-wizard-format-selection]]
If you have checked '''Cluster diagrams''' in the previous page, you will now be able to choose a view for each diagram that is going to be generated. You have the choice between an automatically arranged view and all of the [[Views|views ]] you may have manually arranged with the [[Diagram tool|Diagram Tool]] .
[[Image:doc-wizard-view-selection]]
{{note|Cluster diagrams are only available for HTML documentation. }}
Here comes the last page; you can choose the directory where the documentation is going to be generated:
[[Image:doc-wizard-path-selection]]
{{seealso|<br/>
[[Generating XMI documentation|Generating XMI documentation]] }}

View File

@@ -9,6 +9,7 @@ The first page of the wizard lets you select the clusters you want to produce do
[[Image:xmi-wizard-cluster-selection]]
On the second and last page, you can choose the directory where the XML file is going to be generated:
[[Image:doc-wizard-path-selection]]

View File

@@ -3,7 +3,7 @@
[[Property:uuid|78e0273d-525e-a338-dfe4-d5fc27cd06d3]]
Eiffel provides ways to add debug code to features to help during their debugging. You may think of it as the well-known C construct: <code></code>
<code>#ifdef MY_DEBUG_FLAG/* Debug code is here */ #endif</code>
<code lang=c>#ifdef MY_DEBUG_FLAG/* Debug code is here */ #endif</code>
The corresponding construct in Eiffel is provided by the debug keyword. It is possible to wrap code inside a debug clause like this: