Author:admin

Date:2008-09-17T13:53:28.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@3 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-17 13:53:28 +00:00
parent 4fee9356ea
commit 2ee31ab9c7
763 changed files with 36576 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
[[Property:title|Browsing]]
[[Property:weight|1]]
* [[Searching|Searching]]
* [[Viewing information about a component|Viewing information about a component]]
* [[Opening new windows|Opening a new window]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Opening new windows]]
[[Property:weight|2]]
There are several ways to open a new window. First, you can use the pick and drop shortcut. Then, you can use new window menu items and the corresponding icons. There are three such commands:
* Clicking on '''New window''' in the '''File''' menu or on [[Image:new-window-icon]] make an new window appear. In this window, the editor and the context tool will be visible.
* Clicking on '''New editor window''' in the '''File''' menu or on [[Image:new-editor-icon]] does the same as the previous command but the context tool is minimized in the new window.
* Clicking on '''New context window''' in the '''File''' menu make this time a new window with a minimized editor appear.
<div> '''Note''': Icons mentioned above are droppable: instead of simply clicking on them, you can drop a stone on them. The tools in the new window will then be centered on the corresponding component. </div>

View File

@@ -0,0 +1,10 @@
[[Property:title|Searching]]
[[Property:weight|0]]
* [[Looking for a cluster|Looking for a cluster]]
* [[Looking for a class|Looking for a class]]
* [[Looking for a feature|Looking for a feature]]
* [[Looking for an expression in a text|Looking for an expression]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Looking for a class]]
[[Property:weight|1]]
There are two simple ways to find a class if you know its name or a part of it :
* You may use the [[Cluster tool: Introduction|cluster tool]] . This tool presents the entire universe of your project. By developing the [[System tree representation|cluster tree]] , you will be able to find what you are looking for. This method is quick if you already have an idea of where the class is in the universe.
* Using [[Address bars: Introduction|address bars]] will be quicker if you do not have this information or if the size of your project is important. If you type the name of the searched class (you can use wildcards, i.e."*" and "?") in the [[Main address bar|main address bar]] - and then select the right class in the displayed list if there are several possibilities - the editor will be centered on the class you are looking for. The information about the class location will be displayed in the title bar of the window. If you need more complete information about the class location, you can [[Pick-and-drop mechanism|pick]] the name of the class in the editor and drop it on the [[Locate command|view icon ]] [[Image:general-search-icon]] of the [[Cluster tool: Introduction|cluster tool]] . This tool will then show where the class is in the universe.

View File

@@ -0,0 +1,9 @@
[[Property:title|Looking for a cluster]]
[[Property:weight|0]]
If you know the name of a cluster but not where it is located in the system, there are two ways to find this out:
* You can try to find it in the [[Cluster tool: Introduction|cluster tool]] by expanding the cluster tree.
* In a window where the context tool is independent from the editor, you can type the name of the cluster in [[Context tool address bar|context tool address bar]] . You may use wildcards ("*" or "?") if you know only a part of the name. You can then locate the cluster in the system by [[Pick-and-drop mechanism|picking]] the cluster stone in the [[Context tool address bar|address bar]] and dropping it on the [[Locate command|view icon ]] [[Image:general-search-icon]] of the [[Cluster tool: Introduction|cluster tool]] .

View File

@@ -0,0 +1,13 @@
[[Property:title|Looking for an expression in a text]]
[[Property:link_title|Looking for an expression in text]]
[[Property:weight|3]]
To find a word or an expression in a text, you can use the [[Search tool|search tool]] . If it is not displayed, you can make it appear by clicking on its icon [[Image:tool-search-icon]] in the tool bar. This tool will allow you to search a word or a regular expression and to replace it if you want to. It can be case sensitive and look for isolated words.
'''Note''': The [[Search tool|search tool]] will look for the wanted word in the editor or in the context tool, depending on which one has the focus.
{{tip| '''Tip''': There are several accelerators that will make it even easier to perform a search. They are detailed in the [[Search functionality|editor help]] . }}
{{tip| '''Tip''': You can use the quicksearch to search in the current text. Press CTRL + F to get the quick search bar. }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Looking for a feature]]
[[Property:weight|2]]
There are many ways to find a feature in a class. In particular :
* You can use the [[Feature tool: Introduction|feature tool]] and search the tree by expanding feature clauses. This tool, however, displays only the features that are defined or redefined in the current class text. If you do not know if the feature is inherited or not, you may therefore not find what you are looking for with this method.
* You can also use the [[Class formatters: Introduction|class tab]] in the context tool. It will allow you to see all the [[Attributes| attributes]] or [[Routines|routines]] , or all the [[Exported features|public features]] for instance. If you do not know if the feature you seek is an attributes or a function and if it is public, this may not be the right method either.
* If you know the name or a part of the name of the feature you are looking for, the easier and faster way will probably be to use the [[Main address bar|address bar]] . If you type this name in the feature field of the bar (using "*" and "?" wildcards if you want to), the editor will be centered on the right class if necessary (i.e. if the feature is inherited) and scroll to the position of the text of the feature.

View File

@@ -0,0 +1,11 @@
[[Property:title|Centering tools on a component]]
[[Property:weight|0]]
There are three kind of tools directly available in a default development tool : [[Browsing tools: Introduction|browsing tools]] on the left, the [[EiffelStudio Editor Introduction|editor]] on the upper right and context tools on the lower right. No browsing tool, except the feature tool, displays information about a particular component. On the contrary, the editor and context tools display information about a given cluster, class or feature : they are centered on this component. There are several ways to center the editor on an element:
* use the [[Main address bar|address bar]] on the top of the editor. It allows you to set which class (and even which feature in the class) you want the editor to display. You may use wildcards ("?" or "*") as you type the names of these components.
* use [[Pick-and-drop mechanism|pick and drop]] . Pick a cluster, class or feature stone anywhere in EiffelStudio and drop it in the editor. It will center it on the component automatically.
* find it in the [[Cluster tool: Introduction|cluster]] , [[Feature tool: Introduction|feature]] or [[Favorites tool: Introduction|favorites]] tool and click it.
The context tool can be [[Change data share mode|independent]] from the editor. If it is not, both the editor and the context tool will be centered on the same component. If it is, there is a [[Context tool address bar|second address bar]] , in the context tool title bar. You may then center the context tool on a component by using the three methods described for the editor. You can also center the context tool on the same component as the editor ( the context tool remaining independent): Just click [[Image:context-sync-icon]] or select '''Send to the context''' tool in the '''View''' menu. <br/>
To make the context tool independent if it is not, click [[Image:context-link-icon]] or select '''Isolate context tool''' in the '''View''' menu. To do the opposite, click the same icon or select '''Merge context tool''' in the '''View''' menu.

View File

@@ -0,0 +1,10 @@
[[Property:title|Viewing information about a component]]
[[Property:weight|1]]
* [[Centering tools on a component|Centering tools on a component]]
* [[Viewing information about a cluster|Viewing information about a cluster]]
* [[Viewing information about a class|Viewing information about a class]]
* [[Viewing information about a feature|Viewing information about a feature]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Viewing information about a class]]
[[Property:weight|2]]
Once you [[Centering tools on a component|centered the editor]] on a class, you have access to its [[Class formatters: Basic text view|basic text]] . If the class is compiled, the [[Feature tool: Introduction|feature tool]] shows the list of the features that are defined or redefined in this text. You can also view [[Clickable view|clickable]] , [[Class formatters: Flat view|flat]] , [[Flat Contract view|flat contract]] and [[Contract view|contract]] views of the class in the editor. The class tab in the context tool can display more information. If the [[Centering tools on a component|context tool is independent]] , [[Centering tools on a component|center it]] on the wanted class and select this tab. You can then see information about the features ( [[Routines|routines]] , [[Attributes|attributes]] , [[Exported features|exported features, ]] [[Class views|etc.]] ..) of the class, its [[Ancestors|ancestors]] and [[Descendants|descendants]] or its [[Clients|clients]] and [[Suppliers|suppliers]] . <br/>
The [[Metric tool: Introduction|metric tool]] provides another kind of data. It allows you to compute a complete set of [[How to analyze a project: Introduction|measures ]] on your class.
{{seealso| '''See Also''' <br/>
[[Looking for a class|Looking for a class]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Viewing information about a cluster]]
[[Property:weight|1]]
To view information about a cluster, you have to center the context tool on this component. Then the [[Metric tool: Introduction|metric tool]] will provide a complete set of measures that you will able to compute.
{{seealso| '''See Also''' <br/>
[[Looking for a cluster|Looking for a cluster]] <br/>
[[How to analyze a project: Introduction|Analysing a project]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Viewing information about a feature]]
[[Property:weight|3]]
Once you [[Centering tools on a component|centered the editor]] on a feature, you have access to its text. The feature tab in the context tool can display more information. To have access to it, you have first to center the context tool on the wanted class and select the feature tab. You can then consult the different views of the text of the feature ( [[Feature formatters: Basic text view|basic text]] or [[Feature formatters: Flat view|flat]] ) and other information such as its [[Callers|callers]] or its [[Descendant versions|descendant]] versions. <br/>
The [[Metric tool: Introduction|metric tool]] provides another kind of data. It enables you to compute some [[How to analyze a project: Introduction|measures]] on your feature.
{{seealso| '''See Also''' <br/>
[[Looking for a feature|Looking for a feature]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Enabling the profiler]]
[[Property:weight|4]]
To profile an executable, the profiler must first be enabled. To enable the profiler:
* Open the [[General Target Options|Project Settings]] dialog.
* In the '''Target''' section, enable '''Profile'''.
* Click '''OK'''.
* You must [[Generating executables|recompile]] your project for the changes to take effect.
{{seealso| '''See Also''' <br/>
[[Profiler wizard: Introduction|Profiler reference]] }}

View File

@@ -0,0 +1,19 @@
[[Property:title|Generating executables]]
[[Property:weight|0]]
There are several ways to compile an executable with EiffelStudio.
Compilation modes include the following: melting, freezing and finalizing. To learn more about the compilation semantics in EiffelStudio, see the [[Compiler: introduction|compiler reference]] .
There is a command for all compilation modes in the '''Project''' menu, under the entries '''Compile''', '''Freeze''' and '''Finalize'''. There is also a
These commands are also available in the '''Project''' toolbar [[Image:project-melt-icon]] , [[Image:project-freeze-icon]] , [[Image:project-finalize-icon]] .
To solve the errors that occur during the Eiffel compilation, use the [[Error wizard|compilation error wizard]] . For errors occurring during the C compilation, check that the installation is not corrupted and refer to your C compiler documentation for more information.
{{seealso| '''See Also''' <br/>
[[Command line: Introduction|Command line options]] <br/>
[[Compiler: introduction|Compiler reference]] }}

View File

@@ -0,0 +1,32 @@
[[Property:title|Generating libraries]]
[[Property:weight|1]]
There are two main types of libraries in Eiffel: precompiled Eiffel libraries and C libraries. Both kinds of libraries can be created via EiffelStudio. The former can only be used in Eiffel projects, C libraries can be used either in Eiffel programs, or in standard C programs.
To generate an Eiffel precompiled library:
* Select the '''Precompilation Wizard''' in the '''Tools''' menu and follow the instructions,
or
* Launch a new EiffelStudio session,
* Select your project
* Change the action to '''Precompile''',
* Click '''Open'''
To generate a dynamically linked C library using Eiffel code:
* Generate a definition file for this library, via the [[Dynamic library builder|Dynamic library Builder]] ,
* Open the [[Advanced Options|Project Settings]] dialog,
* In the '''Advanced''' section, set the '''Shared Library Definition''',
* Enter the name of the definition you created in the first step(including the path if necessary),
* Compile the current project.
The generated C library should be located in the EIFGENs|target_name|W_code directory in the directory of your project.
To generate a C library from a C compiler, please refer to the documentation of your C compiler.
{{seealso| '''See Also''' <br/>
[[Using libraries|Using libraries]] <br/>
[[CECIL|CECIL library: calling Eiffel routines from C programs]] <br/>
[[Command line: Introduction|Command line options]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Compiling]]
[[Property:weight|3]]
* [[Generating executables|Generating executables]]
* [[Generating libraries|Generating libraries]]
* [[Setting the assertion level|Changing the assertion level]]
* [[Enabling the profiler|Enabling the profiler]]
* [[Using libraries|Using libraries]]
* [[Tuning a program|Tuning a program]]
* [[Using threads|Using threads]]

View File

@@ -0,0 +1,14 @@
[[Property:title|Setting the assertion level]]
[[Property:weight|2]]
To modify the assertion level in a generated binary (executable or library),
* Open the [[Assertion Options|Project Settings]] dialog.
* In the '''Target, Assertions'''section, select the assertions you want to check (among require, ensure, check, loop and class invariant).
* Click '''OK'''.
* You must [[Generating executables|recompile]] your project for the changes to take effect.
{{seealso| '''See Also''' <br/>
[[8 Design by Contract (tm), Assertions and Exceptions|Assertions in Eiffel]] }}

View File

@@ -0,0 +1,24 @@
[[Property:title|Tuning a program]]
[[Property:weight|6]]
The best way to speed up a program is of course to improve the algorithms and data structures you are using. Spotting the functions that slow down the execution and improving can change a lot in a program. [[Profiling|Profiling]] can be used for this.
Try to keep the number of classes and objects in your system as low as possible to ensure maximum efficiency. This should never hinder the design of the system, though.
You can also use the functionality provided by the [[ref:/libraries/base/reference/memory_chart|MEMORY]] class to tweak the garbage collector behavior according to your needs. However, be careful with this, since providing erroneous parameters might lead to memory leaks, huge memory consumption, or on the contrary a dramatic slow down of the application. If you are not entirely sure what a parameter is for, avoid changing it. The default values should fit for most standard applications.
On top of that, EiffelStudio provides powerful optimizations, some being done automatically, others being configurable. To obtain a maximum efficiency, it is recommended to [[Generating executables|Finalize]] your program from scratch and without using precompiled libraries.
In the [[Advanced Options|Project Settings dialog advanced section]] , try experimenting with the '''Inlining''' option, and setting the maximum size of features that should be inlined. Only Eiffel features are inlined by this option, to see how to inline the C functions you may be using in your program, please refer to your C compiler documentation.
In the [[Advanced Options|Project Settings dialog advanced section]] , enabling the '''Dead code removal''' will help produce smaller executables.
Removing the '''Execution Trace''' will optimize the executable in size and speed, but in case of crash no information will be available.
All these options are located in the [[Advanced Options|Project Settings]] dialog, in the '''Advanced''' section. They are only effective during finalizations.
{{seealso| '''See Also''' <br/>
[[Profiler wizard: Introduction|Profiler reference]] }}

View File

@@ -0,0 +1,26 @@
[[Property:title|Using libraries]]
[[Property:weight|5]]
There are two kinds of libraries in Eiffel: precompiled Eiffel libraries and C libraries.
To use an Eiffel precompiled library:
* Open the [[Group Options|Project Settings]] dialog.
* Add a new precompile group to your target.
* You must [[Generating executables|recompile]] your project from scratch for the changes to take effect.
{{note| '''Note''': You can only use one precompiled library at a time in a project. To use more than one, you should precompile all the libraries you want to use together in a single precompiled library. }}
To use a C library:
* Open the [[Externals Options|Project Settings]] dialog.
* Add an include external for the directory where the header files needed to use the library are.
* Add an object external for each object file needed to use the library. These files can be either library files (.lib, .a, etc) or object files (.obj, .o, etc)
* Click '''OK'''.
* You must [[Generating executables|recompile]] your project for the changes to take effect.
{{seealso| '''See Also''' <br/>
[[Generating libraries|Creating libraries]] <br/>
[[Adding a cluster|Adding classes and clusters from Eiffel libraries without precompiling the library]] <br/>
[[C externals|Making C calls in Eiffel]] }}

View File

@@ -0,0 +1,18 @@
[[Property:title|Using threads]]
[[Property:weight|7]]
Eiffel supports multithreaded programs. The [[EiffelThread Library|thread library]] provides ways to handle threads safely inside an Eiffel program. Make sure you [[Adding a library|add]] it to your project if you want to use threads.
To create a multithreaded program or library:
* Open the [[Advanced Options|Project Settings]] dialog.
* In the '''Advanced''' section, enable '''Multithreaded''' option.
* Click '''OK'''.
* You must [[Generating executables|recompile]] your project for the changes to take effect.
{{warning| '''Caution''': Make sure the external and precompiled libraries you use have also been compiled with support for threads. }}
{{seealso| '''See Also''' <br/>
[[Generating libraries|Creating libraries]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Changing the default history size]]
[[Property:weight|4]]
By default, there may not be more than 10 items in the history of a development window. It means that combo boxes in the [[Main address bar|address bar]] will let you choose between at most 10 possibilities. You can change this number.
To do so, use the [[Preference window overview|preference window]] : select '''Preferences''' in the '''Tools''' menu. Then in the preferences tree, select the "Browsing tools "sub-category in the "Tools" category. On the right part of the window, a list of preferences will appear, including "number of items displayed in the history combo boxes". Click on this item and enter the new value.
Click on '''save and exit''' to complete the change.
{{seealso| '''See Also''' <br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences: Introduction|Preferences reference]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Changing texts display]]
[[Property:weight|1]]
By modifying EiffelStudio [[EiffelStudio preferences: Introduction|preferences]] , you can change the font and the colors used to display texts in the editor. For more information, refer to EiffelStudio [[Interface|graphical preferences reference]] .
{{seealso| '''See Also''' <br/>
[[Customizing class text views|Customizing formatted output]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Choosing classes to be ignored in BON diagrams]]
[[Property:weight|5]]
Every class in your system inherits from <eiffel>ANY</eiffel>. <eiffel>INTEGER</eiffel>, like other classes that represent basic types, is very often a supplier of the classes the user wrote. It may therefore not be interesting to display classes such as <eiffel>ANY</eiffel> or <eiffel>INTEGER</eiffel> in [[Diagram tool: Introduction|BON diagrams]] .
EiffelStudio allows you to customize a list of classes that it has to ignore when it creates diagrams. This list is stored in the [[EiffelStudio preferences: Introduction|preferences]] . To modify it, first open the [[Preference window overview|preferences window]] by choosing '''Preferences...''' in the '''Tools''' menu. Select then the "context tool" sub-category of the "Tools" category in the preferences tree. On the right, you will then see a table of preferences, which includes "Show ALL classes in the diagram" and "Names of classes that should not appear in generated diagrams". If "Show ALL classes in the diagram" is not False, click on it and set it to False. Then click on "Names of classes that should not appear in generated diagrams" and edit the list. Class names must be separated by semicolons.
After modifying the list, click on '''save and exit''' to complete the change.
{{seealso| '''See Also''' <br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences: Introduction|Preferences reference]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Configuring an external editor]]
[[Property:weight|7]]
By clicking on, or by [[Pick-and-drop mechanism|dropping a pebble]] on the external editor toolbar button( [[Image:command-send-to-external-editor-icon]] ), you can launch an external editor. By default, this editor is VI on Unix and Notepad on Windows. You can tell EiffelStudio to launch another editor by editing the preferences.
To do so, first open the [[Preferences Reference|preferences window]] by choosing '''Preferences...''' in the '''Tools''' menu. Select then the "Global preferences" category in the preferences tree. Click on "Command used to launch an external editor" and modify the command line so that it calls your favorite editor. You can use keywords that represent the filename ($target)and the line number ($line) as is explained in the [[Preferences Reference|preferences reference]] .
After modifying the command line, click on '''save and exit''' to complete the change.
{{seealso| '''See Also''' <br/>
[[Preferences Reference|Preference window description]] <br/>
[[EiffelStudio preferences: Introduction|Preferences reference]] }}

View File

@@ -0,0 +1,17 @@
[[Property:title|Customizing class text views]]
[[Property:weight|6]]
It is possible in EiffelStudio to customize some properties of [[Formatters: Introduction|class text views]] (other than basic texts) displayed in the editor or class and feature tabs of the context tool. Besides [[Changing texts display|graphical appearance]] , you may modify:
* the order of feature clauses.
* the type of callers and suppliers displayed in the corresponding views.
* the views that are selected by default.
* the indexing clauses that should not be displayed.
These properties are set in the [[EiffelStudio preferences: Introduction|preferences]] . You can modify them in the [[Preference window overview|preferences window]] . To open this window, select '''Preferences...''' in the '''Tool''' menu. Then select the "Context tool" sub-category of the "Tools" category in the preferences tree. Click then on a preference on the right to modify its value.
Click on '''save and exit''' to complete the changes.
{{seealso| '''See Also''' <br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences: Introduction|Preferences reference]] }}

View File

@@ -0,0 +1,12 @@
[[Property:title|Customizing toolbars]]
[[Property:weight|2]]
There may be up to 26 buttons in the [[Main toolbars|standard toolbar]] and up to 17 in the [[Main toolbars|project toolbar]] . All those buttons are not shown by default though. Only 16 icons are displayed in the default standard toolbar for instance.
It is possible to choose which button are shown and in which order they appear in the toolbars. To do so, use [[Toolbar customization|toolbar customization]] windows. they appear when you choose '''Customize standard toolbar...''' or '''Customize project toolbar...''' in the toolbars sub-menu of the View menu or in the contextual menu of the toolbars (which is displayed when you right-click in the empty space on the right of the toolbars).
{{seealso| '''See Also''' <br/>
[[Main toolbars|The toolbars and their buttons]] <br/>
[[Toolbar customization|Toolbars customization windows]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Customizing EiffelStudio]]
[[Property:weight|8]]
* [[Setting the editor behavior|Setting the editor behavior]]
* [[Changing texts display|Changing texts display]]
* [[Customizing toolbars|Customizing toolbars]]
* [[Making the context tool independent from the editor|Making the context tool independent from the editor]]
* [[Changing the default history size|Changing the default history size]]
* [[Choosing classes to be ignored in BON diagrams|Choosing classes to be ignored in bon diagrams]]
* [[Customizing class text views|Customizing class text views]]
* [[Configuring an external editor|Configuring an external editor]]

View File

@@ -0,0 +1,15 @@
[[Property:title|Making the context tool independent from the editor]]
[[Property:weight|3]]
By default, [[EiffelStudio Editor Introduction|the editor]] and the [[EiffelStudio window overview|context tool]] are [[Centering tools on a component|centered]] on the same cluster, class or feature. It is possible to make the context tool independent from the editor. It has then its own address bar and can display information on a totally different component than the one on which the editor is centered.
To do so, click on or select '''Isolate context tool''' in the '''View''' menu. To go back to the previous configuration, click on the same icon again or select '''Merge context tool''' in the '''View''' menu.
You can also modify the [[EiffelStudio preferences: Introduction|preferences]] so that next time a window is opened, its context tool will be automatically independent: open the [[Preference window overview|preferences window]] by choosing '''Preferences...''' in the '''Tools''' menu. Select then the "context tool" sub-category in the "Tools" of the preferences tree. Lastly click on "Share addresses between the editor and the context tool" and set it to '''False'''. <br/>
Click on save and exit to complete the change.
{{seealso| '''See Also''' <br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences: Introduction|Preferences reference]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Setting the editor behavior]]
[[Property:weight|0]]
Some of [[EiffelStudio Editor Introduction|the editor]] properties are customizable. [[Automatic completion: Introduction|Automatic completion]] , for instance, can be partially or totally disabled, and inserted strings can be defined by the user. Some accelerators are customizable too. For more information, please refer to the [[Editor Preferences|editor preferences reference]] .
{{seealso| '''See Also''' <br/>
[[Changing texts display|Text colors and font customization.]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Creating a new class]]
[[Property:weight|0]]
* To create a new class pick from the '''Create a new class''' button. [[Image:16x16--new-class-icon]] Then drop on the diagram where you want to place the class bubble. A dialog now appears where you can enter a name and specify the cluster.
{{seealso|'''See Also'''<br/>
[[New class command|Creating a new class using the address bar]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Creating a new feature]]
[[Property:weight|1]]
To create a new feature just [[Creating client/supplier links|add a new client link]] in the diagram.
{{seealso| '''See Also''' <br/>
[[Adding a feature: Introduction|Creating a new feature]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Deleting items]]
[[Property:weight|6]]
* 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| '''Caution''': An action that deletes one or more files or directories cannot be undone! }}
{{tip| '''Tip''': Turn on '''Automatic backups'''. EiffelStudio will make a copy of each class file every time a compilation is done. }}
{{seealso|'''See also'''<br/>
[[Removing items from a view|Removing items from the view only]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Altering the system]]
[[Property:weight|2]]
* [[Creating a new class|Creating a new class]]
* [[Creating a new feature|Creating a new feature]]
* [[Refactoring|Refactoring]]
** [[Rename class|Class Rename]]
** [[Rename Feature|Feature Rename]]
** [[Pull up Feature|Feature Pull up]]
* [[Deleting items|Deleting items]]

View File

@@ -0,0 +1,11 @@
[[Property:title|Refactoring]]
[[Property:weight|2]]
There are several different refactorings available. Refactorings start with a compilation and also end with a compilation. Refactoring have a separate undo functionality which allows to undo a refactoring as long as no changes have been done to the classes that have been refactored.
* [[Rename class|Class Rename]]
* [[Rename Feature|Feature Rename]]
* [[Pull up Feature|Feature Pull up]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Pull up Feature]]
[[Property:weight|5]]
# Start pick-and-drop on the feature bubble which you want to pull up.
# Drop it in the '''Pull up Feature''' hole. [[Image:refactor-feature-up-icon]]
# After a compilation the '''Select Class''' dialog appears. You can choose the parent where to pull the feature.
# Click '''OK'''.

View File

@@ -0,0 +1,20 @@
[[Property:title|Rename class]]
[[Property:link_title|Rename Class]]
[[Property:weight|3]]
# Start pick-and-drop on the class bubble of which you want to change the name.
# Drop it in the '''Rename Feature/Class''' hole. [[Image:refactor-rename-icon]]
# After a compilation the '''Refactoring: Class Rename''' dialog appears. You can enter a new name.
# You can choose between these options:
#* '''Compiled Classes''': only to the refactoring in compiled classes.
#* '''All Classes''': do the refactoring in all classes, even in uncompiled classes.
#* '''Rename File''': rename the file of the class to correspond with the class name, if another file with this name already exists the file will not be renamed and a warning will be given.
#* '''Replace Name in Comments''': replace usage of the class name in comments that follow the '''{CLASSNAME}''' syntax.
#* '''Replace Name in Strings''': replace usage of the class name in strings that follow the '''{CLASSNAME}''' syntax.
# Click '''OK'''.

View File

@@ -0,0 +1,16 @@
[[Property:title|Rename Feature]]
[[Property:weight|4]]
# Start pick-and-drop on the feature bubble of which you want to change the name.
# Drop it in the '''Rename Feature/Class''' hole. [[Image:refactor-rename-icon]]
# After a compilation the '''Refactoring: Feature Rename''' dialog appears. You can enter a new name.
# You can choose between these options:
#* '''Replace Name in Comments''': replace usage of the feature name in comments that follow the '''`featurename'''' syntax.
#* '''Replace Name in Strings''': replace usage of the feature name in strings that follow the '''`featurename'''' syntax.
# Click '''OK'''.

View File

@@ -0,0 +1,8 @@
[[Property:title|Exporting a diagram to PNG image file]]
[[Property:weight|6]]
* To save the current diagram to an image file, click '''Export diagram to PNG'''. [[Image:diagram-export-to-png-icon]] <br/>
A dialog will pop up where you can specify a location for the generated file.

View File

@@ -0,0 +1,13 @@
[[Property:title|Designing a project]]
[[Property:weight|5]]
* [[Switching to the diagram tool|Switching to the diagram tool]]
* [[Undoing and redoing|Undoing and redoing]]
* [[Altering the system|Altering the system]]
* [[Managing links|Managing links]]
* [[Modifying the display|Modifying the display]]
* [[Managing views|Managing views]]
* [[Exporting a diagram to PNG image file|Exporting a diagram to PNG image file]]

View File

@@ -0,0 +1,15 @@
[[Property:title|Creating aggregate client/supplier links]]
[[Property:weight|2]]
# Select the button '''Create new aggregate client/supplier links'''. [[Image:new-aggregate-supplier-link-icon]]
# Start pick-and-drop on the class where the feature should be added.
# Drop on the desired supplier class.
# The '''Create feature''' dialog appears. See [[Adding an attribute|Creating an attribute]] or [[Adding a function|Creating a function]] using the feature wizard for more information.
{{seealso|'''See Also'''<br/>
[[Creating client/supplier links|Creating client/supplier links]] <br/>
[[Creating inheritance links|Creating Inheritance links]] <br/>
[[New feature dialog: Introduction|Feature wizard]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Creating client/supplier links]]
[[Property:weight|1]]
# Select the button '''Create new client/supplier links'''. [[Image:new-supplier-link-icon]]
# Start pick-and-drop on the class where the feature should be added.
# Drop on the desired supplier class.
# The '''Create feature''' dialog appears. See [[Adding an attribute|Creating an attribute]] or [[Adding a function|Creating a function]] using the feature wizard for more information.
{{seealso|'''See Also'''<br/>
[[Creating aggregate client/supplier links|Creating aggregate client/supplier links]] <br/>
[[Creating inheritance links|Creating Inheritance links]] <br/>
[[New feature dialog: Introduction|Feature wizard]] }}

View File

@@ -0,0 +1,6 @@
[[Property:title|Creating handles]]
[[Property:weight|4]]
Once you have created a link to show the relationship between the classes in your system you may wish to organize them. One technique for doing this easily is to create handles in the links. A handle is simply a point anywhere along the link that causes the link to change direction. To create a handle just click the mouse at the exact point on the link you wish to put the handle and then drag it to where you want the handle to be positioned in the overall diagram. You can create as many handles as you wish and use them to organize you diagram so that it is easier to interpret and so that links do not get too jumbled and become incoherent.

View File

@@ -0,0 +1,15 @@
[[Property:title|Creating inheritance links]]
[[Property:weight|0]]
# Select the button '''Create new inheritance links'''. [[Image:new-inheritance-link-icon]]
# Start pick-and-drop on the class where the parent should be added.
# Drop on the desired parent class.
{{note| '''Note''': This action will also add the parent in the class text. }}
{{seealso| '''See Also''' <br/>
[[Creating client/supplier links|Creating client/supplier links]] <br/>
}}

View File

@@ -0,0 +1,11 @@
[[Property:title|Managing links]]
[[Property:weight|3]]
* [[Creating inheritance links|Creating inheritance links]]
* [[Creating client/supplier links|Creating client/supplier links]]
* [[Creating aggregate client/supplier links|Creating aggregate client/supplier links]]
* [[Creating handles|Creating handles]]
* [[Using the link tool|Using the link tool]]

View File

@@ -0,0 +1,23 @@
[[Property:title|Using the link tool]]
[[Property:weight|3]]
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.
[[Image:link-tool]]
The combinations of handles you can apply to your link are:
#* Put handle left <br/>
[[Image:link-tool-left]]
#* Put handle right <br/>
[[Image:link-tool-right]]
#* Put two handles left <br/>
[[Image:link-tool-two-left]]
#* Put two handles right <br/>
[[Image:link-tool-two-right]]
#* 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.

View File

@@ -0,0 +1,13 @@
[[Property:title|Adding a view]]
[[Property:weight|0]]
# 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/>
[[Image:diagram-myview]]
# Press enter. The view is now created.
<br/>
<br/>

View File

@@ -0,0 +1,15 @@
[[Property:title|Deleting a view]]
[[Property:weight|1]]
# 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.
<br/>
<br/>
{{note| '''Note''': You cannot delete the view "DEFAULT". }}

View File

@@ -0,0 +1,8 @@
[[Property:title|Managing views]]
[[Property:weight|5]]
* [[Adding a view|Adding a view]]
* [[Deleting a view|Deleting a view]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Adjusting Physics Settings]]
[[Property:weight|11]]
* You can adjust the behavour of the physics mode by altering various parameters in the physics settings dialog. To disaply the physics setting dialog press this button [[Image:diagram-physics-settings-icon]] .
{{tip| '''Tip''': To see the effects of each parameter modify it whilst your diagram is in view and you will see the diagram adjust to the new settings dynamically. }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Anchoring]]
[[Property:weight|10]]
* You may anchor a class to the diagram by right clicking the figure and dropping it onto the anchor button [[Image:diagram-anchor-icon]] .
{{tip| '''Tip''': To see the effects of anchoring [[Turn on Physics Mode|turn on physics mode]] and then anchor a class as described above. Now [[Adjusting Physics Settings|open the physics settings dialog]] and adjust the sliders. In the diagram you will see all anchored classes do not move whilst those surrounding them adjust to the new settings. }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Change the Display Quality]]
[[Property:weight|7]]
* To change the display quality of the diagram press the Toggle Quality button [[Image:diagram-toggle-quality-icon]] .
{{tip| '''Tip''': Lower quality display is faster for drawing so is recommended for very large diagrams. }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Changing colors of classes]]
[[Property:weight|3]]
# Start pick-and-drop on the class bubble you want to change the color of.
# Drop it in the '''Change color''' hole. [[Image:diagram-choose-color-icon]]
# A color selection dialog appears. Select the color you want and click '''OK'''.
[[Image:color-dialog-windows]]

View File

@@ -0,0 +1,15 @@
[[Property:title|Changing system exploration depth]]
[[Property:weight|1]]
* 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:
[[Image:context-dialog-class]]
** Context is a cluster:
[[Image:context-dialog-cluster]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Iconifying and restoring a cluster]]
[[Property:weight|6]]
* If you do not want to hide the cluster, only its contents, iconify it by double clicking on the cluster label. Double clicking it again returns the cluster to its normal state.
{{tip| '''Tip''': If the entire cluster is of no relevance to your diagram, [[Removing items from a view|hide it from the view]] altogether. }}

View File

@@ -0,0 +1,19 @@
[[Property:title|Modifying the display]]
[[Property:weight|4]]
* [[Showing or hiding links and labels|Showing or hiding links and labels]]
* [[Changing system exploration depth|Changing system exploration depth]]
* [[Removing items from a view|Removing items from a view]]
* [[Changing colors of classes|Changing colors of classes]]
* [[Zooming a diagram|Zooming a diagram]]
* [[Retrieving all classes into a cluster|Retrieving all classes into a cluster]]
* [[Iconifying and restoring a cluster|Iconifying and restoring a cluster]]
* [[Change the Display Quality|Change the Display Quality]]
* [[Turn on Physics Mode|Turn on Physics Mode]]
* [[Switching between BON and UML View|Switching between BON and UML View]]
* [[Anchoring|Anchoring]]
* [[Adjusting Physics Settings|Adjusting Physics Settings]]
* [[Using the Cluster Legend|Using the Cluster Legend]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Removing items from a view]]
[[Property:weight|2]]
* 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| '''Note''': If you want to remove the item from the system, use the [[Deleting items|Delete]] hole. }}

View File

@@ -0,0 +1,7 @@
[[Property:title|Retrieving all classes into a cluster]]
[[Property:weight|5]]
* If you have a cluster in your view that is incomplete and you want to show all classes in it, drop the cluster into the '''Include all classes of cluster''' hole. [[Image:diagram-fill-cluster-icon]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Showing or hiding links and labels]]
[[Property:weight|0]]
* To toggle visibility of all client links, click '''Show/hide client-supplier links'''. [[Image:diagram-supplier-link-icon]]
* To toggle visibility of all inheritance links, click '''Show/hide inheritance links'''. [[Image:diagram-inheritance-link-icon]]
* To toggle visibility of all client link labels, click '''Show/hide labels'''. [[Image:diagram-show-labels-icon]]

View File

@@ -0,0 +1,7 @@
[[Property:title|Switching between BON and UML View]]
[[Property:weight|9]]
* You can switch the diagran between BON and UML views by pressing the BON/UML Toggle Button [[Image:diagram-view-uml-icon]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Turn on Physics Mode]]
[[Property:weight|8]]
* You can turn on and off physics to the diagram by pressing the physics mode button [[Image:diagram-toogle-physics-icon]]
{{tip| '''Tip''': The particular configuration of the classes in your system when using the physics mode is determined by the various settings in the [[Adjusting Physics Settings|Physics Setting Dialog]] . }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Using the Cluster Legend]]
[[Property:weight|12]]
* The cluster legend allows you to quickly determine which classes in the view belong to which clusters in the system by changing the colors to match those of cluster assigned ones. Pressing the legend button [[Image:diagram-show-legend-icon]] will display a list of all the clusters in the system for which at least one class is visible in the view. Next to each cluster name is a color, and pressing the top right color square will automatically set a unique color for each cluster and change the classes belonging to that cluster to match. Pressing again the legend button will hide it from view. The image below shows the legend in use and the classes colored.
[[Image:cluster-legend]]
{{tip|'''Tip:''' Use the cluster legend also to quickly see sub-cluster organization within your overall cluster design.}}

View File

@@ -0,0 +1,11 @@
[[Property:title|Zooming a diagram]]
[[Property:weight|4]]
* To enlarge the diagram, click '''Zoom in'''. [[Image:diagram-zoom-in-icon]] <br/>
* To shrink the diagram, click '''Zoom out'''. [[Image:diagram-zoom-out-icon]] <br/>
* To enlarge and shrink the diagram to a specific size use the Zoom combo box, enter the percentage size and press the Enter key.

View File

@@ -0,0 +1,9 @@
[[Property:title|Switching to the diagram tool]]
[[Property:weight|0]]
* In order to switch from coding to designing, click the '''Diagram''' tab in the '''Context''' tool. Open the context tool by checking menu item '''View | Explorer Bar |Context'''.
{{tip| '''Tip''': To make sure all your changes are in the diagram, perform a compilation. }}

View File

@@ -0,0 +1,18 @@
[[Property:title|Undoing and redoing]]
[[Property:weight|1]]
Almost all actions in the diagram tool are undoable. Every action that can be undone, can also be redone. For advanced undoing, open the history tool.
{{tip| '''Tip''': Undo actions cannot be undone. Use redo to undo an undo action. }}
* To undo the last action, click '''Undo last action'''. [[Image:general-undo-icon]]
* To redo the last action, click '''Redo last action'''. [[Image:general-redo-icon]]
* To undo all actions up until a specific action:
*# Click the '''History tool''' button. [[Image:general-undo-history-icon]]
*# The '''History tool''' dialog appears with a list of all undoable actions. By clicking on one of the actions, the diagram returns to the state it was in just after you performed this action. <br/>
[[Image:history-tool]]
{{note| '''Note''': When an action is performed that cannot be undone, the history tool is emptied. }}

View File

@@ -0,0 +1,18 @@
[[Property:title|Adding a class]]
[[Property:weight|2]]
A dialog window is dedicated to the creation of new classes.
[[Image:new-class-dialog]]
A list of all the clusters of the system lets you to choose in which one the new class will be inserted. The name of the new class and the name of the corresponding file can be set thank to two text fields above the list. It is also possible to define whether the class should be deferred or expanded, what its creation feature is (if any), what its parents are and whether the default feature clauses should be generated.
{{tip| '''Tip''': You can change the class text that is generated by default by editing the following files:$ISE_EIFFEL\studio\help\defaults\$ISE_PLATFORM\full.cls (with default feature clauses) and ...\empty.cls (without default feature clauses). }}
To make the window appear, you can:
* Click [[Image:16x16--new-class-icon]] in the [[Main toolbars|standard toolbar]] .
* Select '''New class''' in the '''Tools''' menu.
* Type the name of the new class in the class field of the [[Main address bar|main address bar]] or the [[Context tool address bar|context tool address bar]] . The current cluster will then be preselected.
* Use the [[Diagram tool: Introduction|diagram tool]] : Pick the icon [[Image:16x16--new-class-icon]] and drop it on the diagram in the right cluster. This will make the dialog window appear with the chosen cluster selected.
{{seealso| '''See Also''' <br/>
[[Removing a class|Removing a class]] }}

View File

@@ -0,0 +1,22 @@
[[Property:title|Adding a cluster]]
[[Property:weight|0]]
It is possible to create new clusters from EiffelStudio. A dialog window has been designed to help you do so.
[[Image:new-cluster-dialog]]
There are three ways to make this window appear. You can:
* Click [[Image:16x16--new-cluster-icon]] in the [[Main toolbars|standard toolbar]] .
* Click [[Image:new-cluster-icon]] in the [[Cluster tool: Introduction|Cluster tool]] .
* Select '''New cluster''' in the '''Tools''' menu.
Using this dialog, you can either create a subcluster of an existing cluster or a top-level cluster.
If you decide to create a top-level cluster, you should give it a name and a path (if the selected path does not exist, it will be created). You can also choose if it should be recursive or not..
If you want to create a subcluster, give it a name and select its parent in the list of available clusters. Giving it a path is not required. If you do not set a path for a new subcluster, it will be located by default in a subdirectory of its parent cluster, named after the subcluster name. This is the recommended way of creating a subcluster (since its path in the configuration file will be automatically relative to the parent), but it is not compulsory.
To import an existing cluster, you can also go to the '''Groups''' section in the [[Group Options|Project Settings dialog]] and click '''Add cluster'''. Although this solution may be slightly more tedious, it gives access to more options.
{{seealso| '''See Also''' <br/>
[[Removing a cluster|Removing a cluster]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Adding an attribute]]
[[Property:weight|4]]
Once [[Opening the new feature dialog|the new feature dialog]] is displayed and '''attribute''' selected in '''feature type''', follow the following steps:
# [[Feature clauses|Choose a feature clause]]
# [[Name field|Type a name]]
# [[Type selection|Select the type]]
# [[Header comment|Type a header comment]]
# [[Invariant field|Select a class invariant]]
# [[Set-procedure|Select to create a set-procedure]]

View File

@@ -0,0 +1,13 @@
[[Property:title|Adding a function]]
[[Property:weight|3]]
Once [[Opening the new feature dialog|the new feature dialog]] is displayed and '''function''' selected in '''feature type''', follow the following steps:
# [[Feature clauses|Choose a feature clause]]
# [[Name field|Type a name]]
# [[Argument list|Select formal parameters]]
# [[Type selection|Select the type]]
# [[Header comment|Type a header comment]]
# Enter [[Precondition|precondition]] , [[Local variable|local variable]] , [[Feature body|body]] and [[Postcondition|postcondition]]

View File

@@ -0,0 +1,12 @@
[[Property:title|Adding a procedure]]
[[Property:weight|2]]
Once [[Opening the new feature dialog|the new feature dialog]] is displayed and '''procedure''' selected in '''feature type''', follow the following steps:
# [[Feature clauses|Choose a feature clause]]
# [[Name field|Type a name]]
# [[Argument list|Select formal parameters]]
# [[Header comment|Type a header comment]]
# Enter [[Precondition|precondition]] , [[Local variable|local variable]] , [[Feature body|body]] and [[Postcondition|postcondition]]

View File

@@ -0,0 +1,11 @@
[[Property:title|Adding a feature]]
[[Property:weight|3]]
* [[Adding a feature: Introduction|Introduction]]
* [[Opening the new feature dialog|Opening the new feature dialog]]
* [[Adding a procedure|Creating a procedure]]
* [[Adding a function|Creating a function]]
* [[Adding an attribute|Creating an attribute]]

View File

@@ -0,0 +1,11 @@
[[Property:title|Opening the new feature dialog]]
[[Property:weight|1]]
To make the [[New feature dialog overview|new feature window]] appear, you can:
* Click [[Image:16x16--new-feature-icon]] in the [[Main toolbars|standard toolbar]] .
* Select '''New feature''' in the '''Tools''' menu.
* Use the [[Diagram tool: Introduction|diagram tool]] : First, select '''create new client-supplier links''' by clicking on [[Image:new-supplier-link-icon]] .Then, pick the class to which you want to add the new feature. Lastly, drop the pebble on the class that corresponds to the type returned by the new feature.<br/>
This last method does not allow you to create procedures.
The first thing to do when the dialog is displayed is to choose the kind of feature you want to create. The rest of the process depends on what you selected : [[Adding a procedure|procedure]] , [[Adding a function|function]] or [[Adding an attribute|attribute]] .

View File

@@ -0,0 +1,12 @@
[[Property:title|Adding a library]]
[[Property:weight|1]]
A dialog window has been designed to help you to add a library to your project.
[[Image:new-library-dialog]]
There are two ways to make this window appear. You can:
* Click [[Image:new-library-icon]] in the [[Cluster tool: Introduction|Cluster tool]] .
* Select '''Add library''' in the '''Tools''' menu.
Using this dialog, you can either choose a library from a list or select your own library.

View File

@@ -0,0 +1,11 @@
[[Property:title|Changing project parameters]]
[[Property:weight|8]]
A tool has been designed to help you to modify the settings of your project. To make the Project configuration tool appear, there are two possibilities:
* Click [[Image:tool-config-icon]] in the [[Main toolbars|standard toolbar]] .
* Select '''Project settings...''' in the '''Project''' menu.
This tool will allow you, for instance, to add or remove clusters, set the assertion level or activate debug clauses.
For more complete information, please refer to the [[EiffelStudio: Project settings window|Project configuration tool help]] .

View File

@@ -0,0 +1,15 @@
[[Property:title|Editing a project]]
[[Property:weight|2]]
* [[Adding a cluster|Adding a cluster]]
* [[Adding a library|Adding a library]]
* [[Adding a class|Adding a class]]
* [[Adding a feature|Adding a feature]]
* [[Removing a cluster|Removing a cluster]]
* [[Removing a class|Removing a class]]
* [[Removing a feature|Removing a feature]]
* [[Moving a class|Moving a class]]
* [[Changing project parameters|Changing project parameters]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Moving a class]]
[[Property:weight|7]]
To move a class from a cluster to another one, you have to use the [[Diagram tool: Introduction|Diagram tool]] . First, [[Centering tools on a component|center the tool]] on the cluster that contains the class you want to move. Then, if the destination cluster is not shown on the diagram, [[Pick-and-drop mechanism|pick]] it in the [[Cluster tool: Introduction|cluster tool]] and drop it in the [[Diagram tool: Introduction|diagram]] . Once both clusters are displayed, you just have to drag the class to its destination.
{{seealso| '''See Also''' <br/>
[[Looking for a class|Find where a class is]] <br/>
[[Looking for a cluster|Find where a cluster is]] }}

View File

@@ -0,0 +1,16 @@
[[Property:title|Removing a class]]
[[Property:weight|5]]
To remove a class, you can:
* [[Centering tools on a component|Center the editor on the component]] , and click [[Image:16x16--general-delete-icon]] in the [[Main toolbars|standard toolbar]] or select '''Remove current item''' in the '''Tools''' menu.
* [[Pick-and-drop mechanism|Drop a pebble]] of this component on [[Image:16x16--general-delete-icon]] in the [[Main toolbars|standard toolbar]] or in the [[Diagram tool: Introduction|Diagram tool]] [[Diagram toolbar|toolbar]] .
{{warning| '''Caution''': Removing a class from the system implies the deletion of the corresponding file on disk. }}
{{warning| '''Caution''': Picking a feature and dropping it on the delete icon, or calling '''Remove current item''' as the editor is centered on a feature, will not remove the feature but the class to which it belongs. }}
{{seealso| '''See Also''' <br/>
[[Adding a class|Adding a class]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Removing a cluster]]
[[Property:weight|4]]
To remove clusters, you can:
* [[Centering tools on a component|Center the editor on the component]] , and click [[Image:16x16--general-delete-icon]] in the [[Main toolbars|standard toolbar]] or select '''Remove current item''' in the '''Tools''' menu.
* [[Pick-and-drop mechanism|Drop a pebble]] of this component on [[Image:16x16--general-delete-icon]] in the [[Main toolbars|standard toolbar]] or in the [[Diagram tool: Introduction|Diagram tool]] [[Diagram toolbar|toolbar]] .
* Use the cluster tab in the project configuration window.
{{seealso| '''See also''' <br/>
[[Adding a cluster|Adding a cluster]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Removing a feature]]
[[Property:weight|6]]
To remove a feature, you may of course delete the corresponding lines in the class text. You can also use the Diagram tool if it is an attribute or a function. To do so, make sure that supplier links are shown in the diagram (if [[Image:diagram-supplier-link-icon]] is not pressed, click it). Pick the link that correspond to the feature you want to remove and drop the pebble on [[Image:16x16--general-delete-icon]] .
{{seealso| '''See Also''' <br/>
[[Adding a feature: Introduction|Adding a feature]] }}

View File

@@ -0,0 +1,20 @@
[[Property:title|EiffelStudio: Creating a new project]]
[[Property:weight|0]]
The first thing to do to start Eiffeling is to create a project. Most commands are disabled when no project is created.
When opening EiffelStudio, by default a dialog is popped up that proposes to create or open a project:
[[Image:startup-dialog]]
Under '''Create project''', several options are offered, which depend on the platform you are on.
* '''Basic application''' is the most basic new project that can be generated. It only includes the [[EiffelBase Library|base library]] and by default only creates the frame of the project. This is the ideal choice to start a textual (console) application, or to discover Eiffel. Indeed, the project is very light and includes only things that are essential in any project. It is available on all platforms.
* '''.NET application''' has by default all essential components to start a project targeting the Microsoft .NET platform. Of course, it is only available on Windows, and only if you have chosen to install the .NET support during the installation.
* '''Vision2 application''' creates a new project that includes the [[EiffelVision Introduction|Eiffel Vision2 library]] . This is the perfect choice to start a platform-independent graphic application, or even any graphic application, since EiffelVision2 is easier to use than platform-specific libraries. This option is available on all platforms.
* '''WEL application''' generates a project using the [[WEL Library|Windows Eiffel Library(WEL)]] . This option is recommended for projects needing advanced Windows features, or Windows applications that are time-critical, since the graphic functionality provided by WEL is more efficient than the one provided by Vision2, which on the other hand provides a platform-independent abstract interface. This wizard is only available on Windows.
All those options are also available in the ''' File'''/ '''New project...''' menu. This pops up a dialog with all the options to generate a new project: [[Image:create-a-project]]
{{tip| '''Tip''': If you checked the "Don't show this dialog at startup" checkbox in the start-up dialog but want to get it back, you can use the [[Discardable dialogs|Preferences dialog]] to reset the default value. }}
{{seealso| '''See Also''' <br/>
[[Retrieving a project from a configuration file|Retrieving a project from an configuration file]] }}

View File

@@ -0,0 +1,8 @@
[[Property:title|EiffelStudio: Starting a project]]
[[Property:weight|0]]
* [[EiffelStudio: Creating a new project|Creating a new project]]
* [[Retrieving a project from a configuration file|Retrieving a project from a configuration file]]

View File

@@ -0,0 +1,14 @@
[[Property:title|Retrieving a project from a configuration file]]
[[Property:weight|1]]
If you have already designed a project and want to retrieve it, or if you want to open a project created by someone else (such as the examples of the libraries which are shipped with EiffelStudio), you can either directly select it from the list of last opened projects or use the '''Add Project''' button to open the configuration file.
This dialog also allows you to select which target to compile and you can also specify your own location where the project will be compiled. The '''action''' describes what should be done and the optional '''clean''' removes the compiled files of a previous compilation before doing the action.
'''Reset user settings''' removes all stored custom information about the project (but not the configuration of the project itself). For example last used target, locations where this project has been compiled, arguments and working directory.
{{seealso| '''See Also''' <br/>
[[EiffelStudio: Creating a new project|Creating a new project]] }}

View File

@@ -0,0 +1,42 @@
[[Property:title|Generating multi-format documentation]]
[[Property:weight|0]]
EiffelStudio can generate documentation for a system using many different formats.
The '''Documentation Wizard''', which helps you to get the documentation you want, is available in the '''Project''' menu, under the entry '''Generate Documentation'''.
The first page of the Documentation Wizard lets you choose between the available formats for the documentation:
[[Image:doc-wizard-filter-selection]]
{{tip| '''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| '''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| '''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| '''See Also''' <br/>
[[Generating XMI documentation|Generating XMI documentation]] }}

View File

@@ -0,0 +1,20 @@
[[Property:title|Generating XMI documentation]]
[[Property:weight|1]]
EiffelStudio can generate an '''XMI''' description of a system; '''XMI''' (XML Metadata Interchange) format is the new industry standard way to describe and exchange object-oriented systems, further information can be found [http://www.omg.org/technology/xml/ here] .
The '''XMI Export wizard''' is available in the '''Project''' menu, under the entry '''Export XMI'''.
The first page of the wizard lets you select the clusters you want to produce documentation for:
[[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]]
{{seealso| '''See Also''' <br/>
[[Generating multi-format documentation|Generating multi-format documentation]] }}

View File

@@ -0,0 +1,8 @@
[[Property:title|Generating documentation]]
[[Property:weight|7]]
* [[Generating multi-format documentation|Generating multi-format documentation]]
* [[Generating XMI documentation|Generating XMI]]

View File

@@ -0,0 +1,24 @@
[[Property:title|Evaluating a measure]]
[[Property:weight|1]]
To evaluate a metric over a scope:
# Select the '''Metric Evaluation''' tab from the Metric tool.
# Define the scope by adding either groups, classes or features to the input domain list.
# Select a metric from the list of available metrics.
# Click the '''Run selected metric''' button and the result will appear in the '''Value''' text field.
You can get more information about the evaluated metric. See [[Viewing measure details|detailing a measure]] .
{{warning| '''Caution''': When calculated, a measure is not saved. }}
{{seealso| '''See Also''' <br/>
[[Saving a measure|Saving a measure]] <br/>
[[Viewing measure details|Detailing a measure]] <br/>
}}
<br/>
<br/>

View File

@@ -0,0 +1,10 @@
[[Property:title|Computing a measure]]
[[Property:weight|1]]
* [[Computing a measure: Introduction|Introduction]]
* [[Evaluating a measure|Evaluating a measure]]
* [[Saving a measure|Saving a measure]]
* [[Viewing measure details|Detailing a measure]]

View File

@@ -0,0 +1,16 @@
[[Property:title|Saving a measure]]
[[Property:weight|2]]
To save the result of evaluation of a metric:
# Select the '''Metric Archive''' tab of the Metric tool.
# Select the input domain as described in [[Evaluating a measure|Evaluating a measure]] and the metrics you want to compute and save over the selected scope
# Select a file to use to store the results. If you specify a non-existing file, it will be created, if you specify an existing file it will be overriden. The selection of the file can be done by clicking on the button with the three dots in the '''Archive Management''' frame.
# Click the '''Start metric archive evaluation'''.
{{seealso| '''See Also''' <br/>
[[Evaluating a measure|Evaluating a measure]] <br/>
[[Viewing measure details|Detailing measures]] <br/>
}}

View File

@@ -0,0 +1,16 @@
[[Property:title|Viewing measure details]]
[[Property:weight|3]]
It is possible to have some details when evaluating a metric.
# Select the '''Metric Evaluation''' tab of the metric tool.
# [[Evaluating a measure|Evaluate a metric]] .
# Click the '''Run selected metric and show detailed result''' button and the result will appear in the '''Detailed Result''' tab of the metric tool.
# To come back to the main interface click again on '''Metric Evaluation''' tab of the metric tool.
{{seealso| '''See Also''' <br/>
[[Evaluating a measure|Evaluating a measure]] <br/>
[[Saving a measure|Saving measures]] <br/>
}}

View File

@@ -0,0 +1,14 @@
[[Property:title|Comparing to an archive]]
[[Property:weight|2]]
The main goal of archives is comparing archives one to another. In order to compare your project to an archived file, you must select the '''Metric archive''' tab of the metric tool.
The goal is to load the archive of a (preferably different) project, to compare the archived measures to the system's. You can select your current archive or any other archive, against a reference archive file.
Once the archives are selected, click the '''Compare''' button to start the comparison. It will bring you to the '''Detailed Result''' tab.
{{seealso| '''See Also''' <br/>
[[Creating an archive|Creating an archive]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Creating an archive]]
[[Property:weight|1]]
Users may want to archive the result of the system they are working on. To create an archive is basically the same as [[Saving a measure|saving a measure]] .
{{seealso| '''See Also''' <br/>
[[Comparing to an archive|Comparing to an archive]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Handling archives]]
[[Property:weight|3]]
* [[Handling archives: introduction|Introduction]]
* [[Creating an archive|Creating an archive]]
* [[Comparing to an archive|Comparing to an archive]]

View File

@@ -0,0 +1,20 @@
[[Property:title|Defining derived metrics]]
[[Property:weight|1]]
To define a derived metric, you must select the''' Metric Definition''' tab and click the '''New metric''' button. A menu appears asking you the kind of metric you want to define. Select '''Basic metric''' and then the type of the results you are looking for (i.e. Class, Feature, Line, ...). Once done, you can perform the following steps:
# Enter a name for the metric in the "Name" field. Next to the field you will see the type of metric as well as the unit for this metric.
# Enter a description for the metric. The description is shown as a tooltip when you navigate the list of available metrics.
# Choose your criteria by selecting the item with ... in the '''Criterion definition''' list. Once selected you can press Ctrl+Space to see the list of available criterion. Once the criterion is set, you can add some properties (e.g. a property could be <eiffel>STRING</eiffel> if the criterion you have is to look for descendants of the <eiffel>STRING</eiffel> class).
# Once you have completed the metric definition you need to save your metric by clicking on the Save button.
# If you want to define another derived metric, repeat all the previous steps.
For more information about criterion, read the [[Criterion References|Managing criterion]] section.
A summary of the metric you just defined appears in a textual representation in the '''Expression''' text field.
{{seealso| '''See Also''' <br/>
[[Managing new metrics: Introduction|Managing metrics]] <br/>
[[Criterion References|Managing criterion]] }}

View File

@@ -0,0 +1,19 @@
[[Property:title|Defining linear metrics]]
[[Property:weight|2]]
To define a linear metric, you must select the '''Metric Definition''' tab and click the '''New metric''' button. A menu appears asking you the kind of metric you want to define. Select '''Linear metric''' and then the type of the results you are looking for (i.e. Class, Feature, Line, ...). Once done, you can perform the following steps:
# Enter a name for the metric in the "Name" field. Next to the field you will see the type of metric as well as the unit for this metric.
# Enter a description for the metric. The description is shown as a tooltip when you navigate the list of available metrics.
# Define a single term by choosing a metric from the combo box that appears when selecting the '''Metrics''' column, and then choose a coefficent in the '''Coefficient''' column of the metric definition list.
# To add other terms, repeat operation 3 as many times as needs.
# Once you have completed the metric definition you need to save your metric by clicking on the Save button.
# If you want to define another linear metric, repeat all the previous steps.
A summary of the metric you just defined appears in a textual representation in the '''Expression''' text field.
{{seealso| '''See Also''' <br/>
[[Managing new metrics: Introduction|Managing metrics]] <br/>
}}

View File

@@ -0,0 +1,20 @@
[[Property:title|Defining ratio metrics]]
[[Property:weight|3]]
To define a ratio metric, you must select the '''Metric Definition''' tab and click the '''New metric''' button. A menu appears asking you the kind of metric you want to define. Select '''Ratio metric'''. Once done, you can perform the following steps:
# Enter a name for the metric in the "Name" field. Next to the field you will see the type of metric as well as the unit for this metric.
# Enter a description for the metric. The description is shown as a tooltip when you navigate the list of available metrics.
# Select a metric for numerator in the "Metric" combo box of the "Numerator" frame to change the numerator in the "Ratio" field.
# Select a metric for denominator in the "Metric" combo box of the "Denominator" frame to change the denominator in the "Ratio" field.
# If you want to change again either numerator or denominator repeat operations 3. or 4. as many times as needed.
# Once you have completed the metric definition you need to save your metric by clicking on the Save button.
# If you want to define another ratio metric, repeat all the previous steps.
A summary of the metric you just defined appears in a textual representation in the '''Expression''' text field.
{{seealso| '''See Also''' <br/>
[[Managing new metrics: Introduction|Managing metrics]] <br/>
}}

View File

@@ -0,0 +1,10 @@
[[Property:title|Defining new metrics]]
[[Property:weight|1]]
* [[Defining new metrics: introduction|Introduction]]
* [[Defining derived metrics|Derived metrics]]
* [[Defining linear metrics|Linear metrics]]
* [[Defining ratio metrics|Ratio metrics]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Handling new metrics]]
[[Property:weight|2]]
* [[Handling new metrics: Introduction|Introduction]]
* [[Defining new metrics|Defining new metrics]]
* [[Managing new metrics|Managing metrics]]

View File

@@ -0,0 +1,7 @@
[[Property:title|Managing new metrics]]
[[Property:weight|2]]
* [[Managing new metrics: Introduction|Introduction]]

View File

@@ -0,0 +1,10 @@
[[Property:title|How to analyze a project]]
[[Property:weight|6]]
* [[How to analyze a project: Introduction|Introduction]]
* [[Computing a measure|Computing a measure]]
* [[Handling new metrics|Handling new metrics]]
* [[Handling archives|Handling archives]]

View File

@@ -0,0 +1,15 @@
[[Property:title|EiffelStudio How To's]]
[[Property:weight|-1]]
* [[EiffelStudio: Starting a project|Starting a project]]
* [[Browsing|Browsing]]
* [[Editing a project|Editing a project]]
* [[Compiling|Compiling]]
* [[Running and debugging|Running and debugging]]
* [[Designing a project|Designing a project]]
* [[How to analyze a project|Analysing a project]]
* [[Generating documentation|Generating documentation]]
* [[Customizing EiffelStudio|Customizing]]

View File

@@ -0,0 +1,19 @@
[[Property:title|Exploring an application dynamic state]]
[[Property:weight|2]]
To view the dynamic state of a debugged application, just stop it at the point where you want to see its context. The debugger tools will automatically be popped up then, yielding the call stack of the application, as well as the state of the objects located in the object tree, which include at least the object corresponding to the level of the call stack where the call stack cursor [[Image:callstack-active-arrow-icon]] is.
To see at which point the features in the call stack have stopped, just click the feature on which you want this information in the call stack. Doing this will change the cursor position in the call stack and display the flat view of the feature in the context tool.
To follow an object state between pauses of the application, pick and drop it into the object tree, which will make it stay in it.
You can also query features dynamically by using the evaluation tool, which can be very useful to have glimpses of the C memory of the system, for instance.
{{seealso| '''See Also''' <br/>
[[Interrupting an application|Pausing an application]] <br/>
[[Callstack tool: Introduction|Call stack tool]] <br/>
[[Objects tool: Introduction|Object tool]] <br/>
[[Expression evaluation: Introduction|Evaluation tool]] }}

Some files were not shown because too many files have changed in this diff Show More