create 19.12 branch

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2229 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2019-12-28 20:04:57 +00:00
parent 4e06893808
commit 8ce4fd738c
2943 changed files with 62386 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
[[Property:title|Browsing]]
[[Property:weight|1]]
[[Property:uuid|62242eb2-a02d-32f0-e357-6ed0e3966066]]

View File

@@ -0,0 +1,13 @@
[[Property:title|Opening new windows]]
[[Property:weight|2]]
[[Property:uuid|1d3066d2-f1ad-9287-ecd2-5341d3c24b61]]
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.
{{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.}}

View File

@@ -0,0 +1,5 @@
[[Property:title|Searching]]
[[Property:weight|0]]
[[Property:uuid|655fd717-159f-43f0-00ec-9a804790283f]]

View File

@@ -0,0 +1,7 @@
[[Property:title|Looking for a class]]
[[Property:weight|1]]
[[Property:uuid|d3f517bc-46a8-2181-e9fb-ce0430e04261]]
There are two simple ways to find a class if you know its name or a part of it :
* You may use the [[Groups tool|groups 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|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 [[Groups tool|groups tool]] . This tool will then show where the class is in the universe.

View File

@@ -0,0 +1,7 @@
[[Property:title|Looking for a cluster]]
[[Property:weight|0]]
[[Property:uuid|95175328-cc1b-0b0f-974d-5be7fde40e92]]
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 [[Groups tool|groups 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 [[Groups tool|groups tool]] .

View File

@@ -0,0 +1,14 @@
[[Property:title|Looking for an expression in text]]
[[Property:weight|3]]
[[Property:uuid|d71e4302-3f44-5cd8-7a26-365af4a6ecf6]]
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|There are several accelerators that will make it even easier to perform a search. They are detailed in the [[Search functionality|editor help]] . }}
{{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,8 @@
[[Property:title|Looking for a feature]]
[[Property:weight|2]]
[[Property:uuid|5ea97cae-9001-7d9d-2dbb-2b632b05fb75]]
There are many ways to find a feature in a class. In particular :
* You can use the [[Features tool|Features 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 [[Viewing Classes|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,10 @@
[[Property:title|Centering tools on a component]]
[[Property:weight|0]]
[[Property:uuid|513b0d4a-78b6-30c3-fdde-b00c3072d8d3]]
There are three kind of tools directly available in a default development tool : [[Browsing tools]] on the right, the [[EiffelStudio Editor]] on the upper left and context tools on the lower left. 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 [[Groups tool|groups]], [[Features tool|features]], or [[Favorites tool|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 '''Synchronize Context Tool''' tool in the '''View''' menu. <br/>
To make the context tool independent if it is not, click [[Image:context-link-icon]] or select '''Unlink/Link 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,5 @@
[[Property:title|Viewing information about a component]]
[[Property:weight|1]]
[[Property:uuid|58f7ce9a-b5c3-77ab-d7a7-d834bb6d3b58]]

View File

@@ -0,0 +1,12 @@
[[Property:title|Viewing information about a class]]
[[Property:weight|2]]
[[Property:uuid|6ec8ca83-fbe0-e02c-2570-68b5f3931083]]
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 [[Features tool|features 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 [[Metrics tool|metric tool]] provides another kind of data. It allows you to compute a complete set of [[How to analyze a project|measures]] on your class.
{{seealso|<br/>
[[Looking for a class|Looking for a class]] }}

View File

@@ -0,0 +1,12 @@
[[Property:title|Viewing information about a cluster]]
[[Property:weight|1]]
[[Property:uuid|daff6cb5-89bd-4281-4c1e-cf031391a34b]]
To view information about a cluster, you have to center the context tool on this component. Then the [[Metrics tool|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]] }}

View File

@@ -0,0 +1,12 @@
[[Property:title|Viewing information about a feature]]
[[Property:weight|3]]
[[Property:uuid|0151eab9-ee25-210a-bed9-b2709e9fa5f0]]
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 [[Feature formatters: Callers|callers]] or its [[Feature formatters: Descendant versions|descendant]] versions. <br/>
The [[Metrics tool|metric tool]] provides another kind of data. It enables you to compute some [[How to analyze a project|measures]] on your feature.
{{seealso|<br/>
[[Looking for a feature|Looking for a feature]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Clean compile]]
[[Property:weight|8]]
[[Property:uuid|095a89c1-6043-3184-bedc-a42e10ee183d]]
Doing a '''clean compile''', sometimes called a '''compile from scratch''', is occasionally necessary as you develop systems. For example, if you change certain project settings or add, remove, or change a precompiled library, you will have to do a clean compile.
The process first involves cleaning, that is, removing any of the previously generated intermediate compile information (the EIFGENs folder). Cleaning is followed by a fresh compile which regenerates the EIFGENs anew.
You can only do a clean compile by closing EiffelStudio on your project, then restarting it and requesting the clean compile when EiffelStudio reopens.
So, for example, if you need to change precompiled libraries, you would open project settings, remove the old precompiled library, and add the new one. Then you would quit EiffelStudio and restart it. When the EiffelStudio dialog appears, select your project and '''Action: Compile''' and check the '''Clean''' box, as shown in the figure below. When you click '''Open''' EiffelStudio will do a clean compile of your project.
[[Image:clean compile dialog]]

View File

@@ -0,0 +1,15 @@
[[Property:title|Enabling the profiler]]
[[Property:weight|4]]
[[Property:uuid|62732b12-c41f-c87e-f798-8839664dc118]]
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|<br/>
[[Profiler wizard]] }}

View File

@@ -0,0 +1,27 @@
[[Property:title|Generating executables]]
[[Property:weight|0]]
[[Property:uuid|d089f44a-9d01-41cf-9ba5-a58570ca5365]]
There are several ways to compile an executable with EiffelStudio.
The most essential compilation modes are: '''melting''', '''freezing''', and '''finalizing'''. To learn more about the compilation semantics in EiffelStudio, see the documentation of [[Melting Ice Technology|Eiffel's compilation technology]].
There is a command for each compilation mode in the '''Project''' menu, under the entries '''Compile''', '''Freeze''' and '''Finalize'''.
The "drop-down" option of the Compile button ([[Image:compile-button]]) on the '''Project''' toolbar also offers these choices as shown in the image below.
[[Image:compile-button-dropdown]]
If you need the compilation options even handier than this, you can customize the '''Project''' toolbar by adding icons for each of the options: [[Image:project-melt-icon]] , [[Image:project-freeze-icon]] , [[Image:project-finalize-icon]] . [[Toolbar customization|Here's how]]. Or you can use the keyboard shortcuts that are shown in the Compile button's drop-down menu.
To help resolve 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|<br/>
[[Command line|Command line options]] <br/>
[[Compiler|Compiler]] }}

View File

@@ -0,0 +1,33 @@
[[Property:title|Generating libraries]]
[[Property:weight|1]]
[[Property:uuid|a2862dd7-1702-50b6-2505-74f9e1ac4b70]]
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|<br/>
[[Using libraries|Using libraries]] <br/>
[[CECIL|CECIL library: calling Eiffel routines from C programs]] <br/>
[[Command line|Command line options]] }}

View File

@@ -0,0 +1,5 @@
[[Property:title|Compiling]]
[[Property:weight|3]]
[[Property:uuid|30b06b72-4988-48a0-2dae-fcf7c2e5c838]]

View File

@@ -0,0 +1,15 @@
[[Property:title|Setting the assertion level]]
[[Property:weight|2]]
[[Property:uuid|af3a030c-2970-2e07-7bd4-9e9333a8a8c3]]
To modify the assertion level in a generated binary (executable or library),
* Open the [[Assertion Options|Project Settings]] dialog.
* In the '''Target --> Assertions''' section, set a value of "True" for the assertion types you want to have checked at runtime (among require, ensure, check, loop and class invariant).
* Click '''OK'''.
* You must [[Generating executables|recompile]] your project for the changes to take effect.
{{seealso|<br/>
[[ET: Design by Contract (tm), Assertions and Exceptions|Assertions in Eiffel]] }}

View File

@@ -0,0 +1,37 @@
[[Property:title|Setting the syntax variant]]
[[Property:weight|3]]
[[Property:uuid|e265de3f-ea49-3062-ff0c-f1c296748d3e]]
The specification of the Eiffel programming language has remained largely static over its life, arguably due to its sound initial design. Still, on occasion there will be significant value in evolving Eiffel and adapting it to new challenges. To accommodate this evolution, the Eiffel Software compiler provides a set of compilation variants which offer a balance of syntax support. This starts with compatibility with previously valid syntax, moves through the latest standard, and forward to language features which are currently supported but not yet etched into the standard.
EiffelStudio project settings supports four of these syntax compilation variants:
# '''Obsolete syntax'''
# '''Transitional syntax'''
# '''Standard syntax'''
# '''Provisional syntax'''
Because the language, and by necessity the compilation technology too, may at times be a moving target, it is difficult to give precise definitions of what these variants mean at any given time. Today's valid identifier is tomorrow's keyword and vice versa.
{{Recommended|It's always a good idea to check the [[EiffelStudio release notes]] and [[Differences between standard ECMA-367 and Eiffel Software implementation]] when you install a new version to see if new language elements are supported or existing ones have been made obsolete. <br/><br/>Additionally, you can see more detail on how these variants effect certain words in a particular version by checking the [[Syntax level variant settings by version|syntax level variant settings by version.]]}}
Even so, we can use an example from a particular point in time to show the basic idea. At one time, the word '''indexing''' was a keyword, and the word '''note''' was available for use as a valid identifier. But there came a time that due to a consensus of opinion within the Eiffel standards committee, the role of the keyword <code>indexing</code> was replaced by a new keyword <code>note</code>. This meant two things. First that if you had used the keyword <code>indexing</code> in your classes (and who hadn't?), then at some point you would want to change those occurrences to <code>note</code>. Second, if you had used the word '''note''' as an identifier, then at some point you would have to change your code to use a different identifier it its place.
The Eiffel compiler is savvy enough in some cases to delay the necessity of these changes by considering code in its current context. For example, if a particular keyword is not appropriate in a certain context, then it is only reasonable that when the word is used in that context, it is used as an identifier. But sometimes ambiguities arise that the compiler cannot resolve by analyzing context. It is in these cases that the syntax variants are useful.
So, considering the transition from '''indexing''' to '''note''', here are the effects of the first three variants:
:If '''Obsolete syntax''' is selected, then '''indexing''' is used as a keyword. '''note''' is allowed as an identifier, but with the warning that it will become a keyword in the future.
:If '''Transitional syntax''' is selected, both '''indexing''' and '''note''' are recognized as keywords, and a warning is issued that '''indexing''' is an obsolete keyword and should be replaced with '''note'''.
:If '''Standard syntax''' is selected, then '''indexing''' is free to be used as an identifier, and '''note''' is recognized as a keyword.
When '''Provisional syntax''' is selected, it allows the use of certain language constructs which, although supported by the Eiffel Software compiler, may not yet be stamped into the standard (or at least approved for the standard by a consensus of the standard committee). For example, version 6.6 of EiffelStudio includes support for the [[ET: Instructions#A closer look at the iteration form|iteration form]] of the Eiffel loop construct, which at the time of the release is not yet approved for inclusion in the ISO/ECMA standard ... although it is expected, with reasonable confidence, to become standard in the future. Of course, there is always the risk that, once standardized, the syntax may change some, so selecting '''Provisional syntax''' is an acknowledgment of this risk when non-standard language elements are being used.
To set the syntax variant, open [[General Target Options|Project Settings]]. Then find the general setting '''Syntax''' for the target or group of interest. The value field for '''Syntax''' will give you a choice of the available variants when clicked. Select the appropriate variant, then, click '''OK'''.

View File

@@ -0,0 +1,25 @@
[[Property:title|Tuning a program]]
[[Property:weight|6]]
[[Property:uuid|74d7c168-c9c1-2d43-fb76-4854cf4b69c7]]
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|<br/>
[[Profiler wizard]] }}

View File

@@ -0,0 +1,27 @@
[[Property:title|Using libraries]]
[[Property:weight|5]]
[[Property:uuid|443320fa-8e5c-fd13-ed20-66e49094f3d5]]
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|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|<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,19 @@
[[Property:title|Using threads]]
[[Property:weight|7]]
[[Property:uuid|9f53d641-093a-38cb-50bb-568aaadfeb34]]
Eiffel supports multithreaded programs. The [[EiffelThreads|EiffelThread]] 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|Make sure the external and precompiled libraries you use have also been compiled with support for threads. }}
{{seealso|<br/>
[[Generating libraries|Creating libraries]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Changing the default history size]]
[[Property:weight|4]]
[[Property:uuid|d83e13f7-bdc7-a938-e979-da67e0e521d4]]
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|<br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Changing texts display]]
[[Property:weight|1]]
[[Property:uuid|b7c1cbac-975b-c6e6-050b-e48b61732a57]]
By modifying [[EiffelStudio 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|<br/>
[[Customizing class text views|Customizing formatted output]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Choosing classes to be ignored in BON diagrams]]
[[Property:weight|5]]
[[Property:uuid|18dcc14f-2ad0-3f3b-4b2e-fc9251035b6f]]
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|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]] . 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|<br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Configuring an external editor]]
[[Property:weight|7]]
[[Property:uuid|15ecd536-139b-e880-d199-9c54aa88c892]]
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|<br/>
[[Preferences Reference|Preference window description]] <br/>
[[EiffelStudio preferences]] }}

View File

@@ -0,0 +1,18 @@
[[Property:title|Customizing class text views]]
[[Property:weight|6]]
[[Property:uuid|386c40f1-3427-cf1c-1043-46aeac1bc3c5]]
It is possible in EiffelStudio to customize some properties of [[Formatted information about compiled classes and features|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 <code>feature</code> clauses.
* the type of callers and suppliers displayed in the corresponding views.
* the views that are selected by default.
* the <code>note</code> clauses that should not be displayed.
These properties are set in the [[EiffelStudio 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|<br/>
[[Preference window overview|Preference window description]] <br/>
[[EiffelStudio preferences]] }}

View File

@@ -0,0 +1,103 @@
[[Property:title|Customizing EiffelStudio for Subversion commands]]
[[Property:weight|8]]
[[Property:uuid|83a8ca76-d714-db60-f697-ae48b161161a]]
==Overview==
By configuring external commands, you can set up EiffelStudio to execute a few basic commands for Subversion or other source code management (SCM) systems. Source code management systems, sometimes called revision control or version control systems are often used as part of a software configuration management strategy to track and control changes to software and its supporting documents.
==Defining external commands==
You can define external commands by using the [[External commands editor dialog|external commands editor dialog]]. Then you can execute those commands through the '''Tools''' menu or with keyboard shortcuts.
===Defining a Subversion command===
{{note|The notation used in the examples on this page will work for Microsoft Windows. Other platforms may require different command formats.}}
Suppose that you want to add an external command to EiffelStudio to Subversion's ''update'' command (''update'' brings your working copy up-to-date with the repository). You can define a command with an appropriate name, say ''svn update'', as shown below.
[[Image:subversion-update-command-01|define svn update]]
The command line:
<code /lang="text">
svn up $file_name
</code>
invokes Subversion and executes the ''update'' command. The placeholder '''$file_name''' substitutes the name of the file associated with the class currently targeted in the editor pane. So if you were editing class <code>MY_CLASS</code> which exists in file <code>my_class.e</code>, then that file name would be used in the Subversion update command executed.
Once the command is defined, it will be accessible through EiffelStudio's Tools menu, either by selecting it explicitly or by using its associated keyboard short cut, <code>Alt+0</code>, in the case of this example.
[[Image:subversion-update-in-tools-menu|Subversion update command in the tools menu]]
===Other Subversion commands===
You can use this same technique to add external commands for other Subversion commands that require only a basic form. For example, to create a command that will add the file for the currently edited class to the repository, add a new external command with the command line:
<code lang="text">
svn add $file_name
</code>
or, to revert local changes to the file associated with the class which is currently the target of the editor:
<code lang="text">
svn revert $file_name
</code>
===The option to confirm execution of a command===
It's possible that in some cases, for example that of ''svn revert'', you might want to have the command provide you with a chance to back out of the deal before the command actually executes. You can do this by adding a little more to the command line:
[[Image:subversion-update-command-02|Confirmable svn update command]]
Here the command line:
<code /lang="text">
echo Revert changes to $class_name? && pause && svn revert $file_name
</code>
first asks for confirmation before executing the command.
When you execute this command you will see the confirmation prompt in EiffelStudio's [[Console tool|Console tool]]:
[[Image:subversion-update-console-tool|Subversion update command with confirmation]]
If you choose to execute the command, then just press <code>return</code>. If you have second thoughts and want to cancel the command, then do so by clicking the Console tool's stop button ( [[Image:metrics-tool--debug-stop-icon|Stop command]] ).
==Defining commands for TortoiseSVN==
If you are using the TortoiseSVN GUI client for Subversion on Microsoft Windows, you may prefer to have TortoiseSVN execute the Subversion commands for you from EiffelStudio. You can do this by starting '''tortoiseproc.exe''', and providing the specifics for each command as shown in [http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-automation.html Appendix D of the TortoiseSVN documentation].
Some common Subversion command invocations are shown with their respective command lines below:
{| border="1"
|-
| '''Subversion command'''
| '''Command line'''
|-
| revert
| start tortoiseproc /command:revert /path:"$file_name" /notempfile
|-
| commit
| start tortoiseproc /command:commit /path:"$file_name" /notempfile
|-
| log
| start tortoiseproc /command:log /path:"$file_name" /notempfile
|-
| diff
| start tortoiseproc /command:diff /path:"$file_name" /notempfile
|}

View File

@@ -0,0 +1,13 @@
[[Property:title|Customizing toolbars]]
[[Property:weight|2]]
[[Property:uuid|583811a0-abcc-e26f-60e9-0cd6d4f9a8a8]]
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|<br/>
[[Main toolbars|The toolbars and their buttons]] <br/>
[[Toolbar customization|Toolbars customization windows]] }}

View File

@@ -0,0 +1,5 @@
[[Property:title|Customizing EiffelStudio]]
[[Property:weight|8]]
[[Property:uuid|6f4b9558-38bc-1350-ce61-5f58d7032646]]

View File

@@ -0,0 +1,19 @@
[[Property:title|Making the context tool independent from the editor]]
[[Property:weight|3]]
[[Property:uuid|895ca03f-b14c-e0c5-f3e7-6757b47f5bc3]]
{{UpdateNeeded}}
By default, the [[EiffelStudio 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]] 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|<br/>
[[Preference window overview]] <br/>
[[EiffelStudio preferences]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Setting the editor behavior]]
[[Property:weight|0]]
[[Property:uuid|ff77b886-4a47-2ba4-eac7-ae051934a3f5]]
Some of the [[EiffelStudio Editor]] properties are customizable. [[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|<br/>
[[Changing texts display|Text colors and font customization.]] }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Creating a new class]]
[[Property:weight|0]]
[[Property:uuid|a1d33a03-a691-d7ea-c081-55c2c991e77f]]
* 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|<br/>
[[New class command|Creating a new class using the address bar]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Creating a new feature]]
[[Property:weight|1]]
[[Property:uuid|f9b79d1c-6ca7-d0a3-1374-e71a8b450644]]
To create a new feature just [[Creating client-supplier links|add a new client link]] in the diagram.
{{seealso|
[[Adding a feature]] }}

View File

@@ -0,0 +1,17 @@
[[Property:title|Deleting items]]
[[Property:weight|6]]
[[Property:uuid|fc702c4e-2e14-7eca-8a61-3acee97f4a26]]
* 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

@@ -0,0 +1,5 @@
[[Property:title|Altering the system]]
[[Property:weight|2]]
[[Property:uuid|89337378-9070-68c5-1e29-e6325c292118]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Refactoring]]
[[Property:weight|2]]
[[Property:uuid|08099f7b-aaf4-b629-17f6-b637c4efd63a]]
Refactoring actions include renaming classes and features, and relocating features to an ancestor class. Refactoring actions start with a compilation and also end with a compilation. Refactoring has a separate undo functionality which allows you to undo a refactoring action as long as no changes have been made to the classes that have been refactored.
The [[Main toolbars|Refactoring toolbar]] contains holes for both the '''Rename''' ([[Image:refactor-rename-icon]]) and '''Pull up''' ([[Image:refactor-feature-up-icon]]) refactoring actions. So, if the Refactoring toolbar is visible, you can "pick" a feature, for example, and drop it onto one of the refactoring holes. If the Refactoring toolbar is not visible, you can [[Main toolbars|make it visible]] or you can access refactoring actions through the context menu associated with a class or feature name (right-click to see the context menu, or shift-right-click if you are in "pick-and-drop by default" mode).

View File

@@ -0,0 +1,9 @@
[[Property:title|Pull up Feature]]
[[Property:weight|5]]
[[Property:uuid|445f93dc-b81a-29ea-440b-42e394038c53]]
# Start the '''Pull up feature''' refactoring action by either:
## Selecting '''Refactor->Pull up''' from the context menu associated with the feature you want to relocate.
## Picking the feature and dropping its pebble in the '''Pull up''' hole ([[Image:refactor-feature-up-icon]]) on the [[Main toolbars|refactoring toolbar]].
# 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,16 @@
[[Property:title|Rename Class]]
[[Property:weight|3]]
[[Property:uuid|e70f2760-389a-4c54-ed10-b731dc70e952]]
# Start the '''Rename''' refactoring action by either:
## Selecting '''Refactor->Rename''' from the context menu associated with the class you want to rename.
## Picking the class and dropping its pebble into the '''Rename''' hole ([[Image:refactor-rename-icon]]) on the [[Main toolbars|refactoring toolbar]].
# 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.
#* '''Reuse existing name''': allow two or more classes to have the same name during refactoring (note: the compiler will still report an error, if there are two or more classes conflicting with same name, but this option could be use to merge two classes).
# Click '''OK'''.

View File

@@ -0,0 +1,13 @@
[[Property:title|Rename Feature]]
[[Property:weight|4]]
[[Property:uuid|03a8b4de-3c7b-0f9e-ecd2-48ff2035eaf9]]
# Start the '''Rename feature''' refactoring action by either:
## Selecting '''Refactor->Rename''' from the context menu associated with the feature you want to rename.
## Picking the feature and dropping its pebble into the '''Rename''' hole ([[Image:refactor-rename-icon]]) on the [[Main toolbars|refactoring toolbar]].
# 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.
#* '''Reuse existing name''': allow two or more features to have the same name during refactoring (note: the compiler will still report an error, if there are two or more features with same name, but this option could be use to merge two features).
# Click '''OK'''.

View File

@@ -0,0 +1,9 @@
[[Property:title|Exporting a diagram to PNG image file]]
[[Property:weight|6]]
[[Property:uuid|be2bc19d-29fb-8dda-7b25-b627c5eaff2d]]
* 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,5 @@
[[Property:title|Designing a project]]
[[Property:weight|5]]
[[Property:uuid|e025afd9-0fcf-8300-2ef5-b3711397f773]]

View File

@@ -0,0 +1,16 @@
[[Property:title|Creating aggregate client-supplier links]]
[[Property:weight|2]]
[[Property:uuid|824aa764-3d36-022e-e2c5-8e6c61b0b91d]]
# 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|<br/>
[[Creating client-supplier links|Creating client/supplier links]] <br/>
[[Creating inheritance links|Creating Inheritance links]] <br/>
[[New feature dialog]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Creating client-supplier links]]
[[Property:weight|1]]
[[Property:uuid|dea329a5-0b78-8423-a0a0-a8e2516c36e7]]
# 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|<br/>
[[Creating aggregate client-supplier links|Creating aggregate client/supplier links]] <br/>
[[Creating inheritance links|Creating Inheritance links]] <br/>
[[New feature dialog]] }}

View File

@@ -0,0 +1,5 @@
[[Property:title|Creating handles]]
[[Property:weight|4]]
[[Property:uuid|0e393d9e-88ec-6855-1f38-9f8fbd57489a]]
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,16 @@
[[Property:title|Creating inheritance links]]
[[Property:weight|0]]
[[Property:uuid|eb5649b8-0f9a-2f9f-2785-84c28a2127ca]]
# 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|This action will also add the parent in the class text. }}
{{seealso|<br/>
[[Creating client-supplier links|Creating client/supplier links]] <br/>
}}

View File

@@ -0,0 +1,5 @@
[[Property:title|Managing links]]
[[Property:weight|3]]
[[Property:uuid|dddd0495-e341-c851-c364-e22d6100401b]]

View File

@@ -0,0 +1,26 @@
[[Property:title|Using the link tool]]
[[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.
[[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,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/>
[[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.

View File

@@ -0,0 +1,15 @@
[[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|You cannot delete the view "DEFAULT". }}

View File

@@ -0,0 +1,5 @@
[[Property:title|Managing views]]
[[Property:weight|5]]
[[Property:uuid|55423866-e62b-ad1f-73ef-1b05fbf3ea3f]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Adjusting Physics Settings]]
[[Property:weight|11]]
[[Property:uuid|b46746cc-28e9-0db6-7d26-7aa553605e00]]
* 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|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,10 @@
[[Property:title|Anchoring]]
[[Property:weight|10]]
[[Property:uuid|a30d39b6-67a6-6456-f409-e26f5e870629]]
* 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|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,10 @@
[[Property:title|Change the Display Quality]]
[[Property:weight|7]]
[[Property:uuid|70e4813e-84b5-48e7-dddb-0e7f601125e3]]
* To change the display quality of the diagram press the Toggle Quality button [[Image:diagram-toggle-quality-icon]] .
{{tip|Lower quality display is faster for drawing so is recommended for very large diagrams. }}

View File

@@ -0,0 +1,8 @@
[[Property:title|Changing colors of classes]]
[[Property:weight|3]]
[[Property:uuid|0fe16da8-7d57-d32c-291a-4a05ee9a599e]]
# 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,13 @@
[[Property:title|Changing system exploration depth]]
[[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:
[[Image:context-dialog-class]]
* Context is a cluster:
[[Image:context-dialog-cluster]]

View File

@@ -0,0 +1,10 @@
[[Property:title|Iconifying and restoring a cluster]]
[[Property:weight|6]]
[[Property:uuid|2a40c334-b223-3dbf-8c85-abf19a72213f]]
* 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|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,5 @@
[[Property:title|Modifying the display]]
[[Property:weight|4]]
[[Property:uuid|a5bcb642-d18e-8d03-da28-6042cffa153a]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Removing items from a view]]
[[Property:weight|2]]
[[Property:uuid|537ce4ac-5993-4b8f-af4a-55a2c6193da2]]
* 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

@@ -0,0 +1,5 @@
[[Property:title|Retrieving all classes into a cluster]]
[[Property:weight|5]]
[[Property:uuid|4f0cffc5-0be9-1dc6-0cd5-25688ad8acef]]
* 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,7 @@
[[Property:title|Showing or hiding links and labels]]
[[Property:weight|0]]
[[Property:uuid|8a59eb22-a428-0248-65cf-70a3dfda07ff]]
* 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,8 @@
[[Property:title|Switching between BON and UML View]]
[[Property:weight|9]]
[[Property:uuid|26db4526-db63-7b76-200f-dfac974de8ad]]
* 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,10 @@
[[Property:title|Turn on Physics Mode]]
[[Property:weight|8]]
[[Property:uuid|03910ac4-6236-0a1d-667e-3a7c25b10c78]]
* You can turn on and off physics to the diagram by pressing the physics mode button [[Image:diagram-toogle-physics-icon]]
{{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,12 @@
[[Property:title|Using the Cluster Legend]]
[[Property:weight|12]]
[[Property:uuid|b0d3dc3e-35e7-2668-533e-fefc3acef987]]
* 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|Use the cluster legend also to quickly see sub-cluster organization within your overall cluster design.}}

View File

@@ -0,0 +1,9 @@
[[Property:title|Zooming a diagram]]
[[Property:weight|4]]
[[Property:uuid|df6e1cb1-b955-84c1-d0ba-42c720be8cde]]
* 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,10 @@
[[Property:title|Switching to the diagram tool]]
[[Property:weight|0]]
[[Property:uuid|87528ee4-72c4-57c3-81f0-8d5bda425276]]
* 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|To make sure all your changes are in the diagram, perform a compilation. }}

View File

@@ -0,0 +1,19 @@
[[Property:title|Undoing and redoing]]
[[Property:weight|1]]
[[Property:uuid|35cb87d8-14c9-f3ce-5275-83c1ec61d746]]
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|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.
[[Image:history-tool|center]]
{{note|When an action is performed that cannot be undone, the history tool is emptied. }}

View File

@@ -0,0 +1,30 @@
[[Property:title|Adding a class]]
[[Property:weight|2]]
[[Property:uuid|592f9c3a-4533-d849-a0d7-5c00864e5c26]]
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|You can change the class text that is generated by default by editing the following files: <br/><br/>
$ISE_EIFFEL\studio\help\defaults\$ISE_PLATFORM\full.cls (with default feature clauses) and <br/><br/>
$ISE_EIFFEL\studio\help\defaults\$ISE_PLATFORM\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]] : 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|<br/>
[[Removing a class|Removing a class]] }}

View File

@@ -0,0 +1,27 @@
[[Property:title|Adding a cluster]]
[[Property:weight|0]]
[[Property:uuid|76a118a9-270e-fbc4-567d-e2ce031585d4]]
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 [[Groups tool|groups 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|<br/>
[[Removing a cluster|Removing a cluster]] }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Adding an attribute]]
[[Property:weight|4]]
[[Property:uuid|091387a6-2dda-aff4-7741-b44ade4857cb]]
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,11 @@
[[Property:title|Adding a function]]
[[Property:weight|3]]
[[Property:uuid|1175bdb8-b8a0-e4c4-c083-3d624ae1e501]]
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,10 @@
[[Property:title|Adding a procedure]]
[[Property:weight|2]]
[[Property:uuid|220515f7-5c16-2648-fcad-74d3fb1583da]]
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,5 @@
[[Property:title|Adding a feature]]
[[Property:weight|3]]
[[Property:uuid|c65b3fd0-05fb-9b16-79b9-d4207bf42769]]
To add a feature to a class, you can directly edit its text of course. EiffelStudio offers you other ways to do so. A dialog window has been designed to help you to add features. Once you make it appear, the [[Opening the new feature dialog|new feature dialog]] allows you to choose what kind of feature you want to create and to set most of its characteristics. The process of creating the new feature is different if it is a [[Adding a procedure|procedure]] , a [[Adding a function|function]] or an [[Adding an attribute|attribute]] .

View File

@@ -0,0 +1,10 @@
[[Property:title|Opening the new feature dialog]]
[[Property:weight|1]]
[[Property:uuid|98d1f7e1-3fca-5884-83fc-f44475a3f364]]
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]]: 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,21 @@
[[Property:modification_date|Mon, 09 Jul 2018 15:02:54 GMT]]
[[Property:publication_date|Mon, 09 Jul 2018 14:41:19 GMT]]
[[Property:title|Adding a library]]
[[Property:weight|1]]
[[Property:uuid|6d711ed5-7cd4-481f-1ea3-7bc0eb4e1730]]
A dialog window has been designed to help you to add a library to your project.
[[Image:new-library-dialog]]
To bring up this dialog:
* go to Project -> Project Settings and either:
** Select the "Add Library" icon [[Image:new-library-icon]] in the top icon bar (or use the keyboard shortcut, normally CTRL-L).
** On a "Target" or "Group" node of the tree, right-click "Libraries" and click "Add Library".
* or also, go to the [[Groups tool|groups tool]] and click on the small toolbar button [[Image:new-library-icon]] .
Using this dialog, you can either choose a library from a list or select your own library.

View File

@@ -0,0 +1,12 @@
[[Property:title|Changing project parameters]]
[[Property:weight|8]]
[[Property:uuid|54b1b86c-ce04-e634-ca1d-3546e14736f9]]
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,5 @@
[[Property:title|Editing a project]]
[[Property:weight|2]]
[[Property:uuid|d04c152e-1749-9e9f-0503-ec505478471e]]

View File

@@ -0,0 +1,11 @@
[[Property:title|Moving a class]]
[[Property:weight|7]]
[[Property:uuid|10947266-61c8-ddd5-445e-9eb0de61cd05]]
To move a class from a cluster to another one, you have to use the [[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 [[Groups tool|groups tool]] and drop it in the [[Diagram tool|diagram]]. Once both clusters are displayed, you just have to drag the class to its destination.
{{seealso|<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,17 @@
[[Property:title|Removing a class]]
[[Property:weight|5]]
[[Property:uuid|f975b6e2-7f81-874b-82f2-e76db588ff5e]]
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]] [[Diagram toolbar|toolbar]].
{{warning|Removing a class from the system implies the deletion of the corresponding file on disk. }}
{{warning|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|<br/>
[[Adding a class|Adding a class]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Removing a cluster]]
[[Property:weight|4]]
[[Property:uuid|aebcf24c-758b-7c03-4130-533cf34650f5]]
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]] [[Diagram toolbar|toolbar]].
* Use the cluster tab in the project configuration window.
{{seealso|<br/>
[[Adding a cluster|Adding a cluster]] }}

View File

@@ -0,0 +1,10 @@
[[Property:title|Removing a feature]]
[[Property:weight|6]]
[[Property:uuid|8779bb5f-44d4-48fa-7320-d3c02c3dc176]]
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|<br/>
[[Adding a feature]] }}

View File

@@ -0,0 +1,32 @@
[[Property:title|EiffelStudio: Creating a new project]]
[[Property:weight|0]]
[[Property:uuid|e73ed6ac-47ba-7e08-a352-0b1cca4ddc62]]
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|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|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.
* '''EiffelWeb application''' creates a new project based on the EiffelWeb framework (EWF). This is the choice to build a platform-independent web server application on top of various solution (CGI, libFCGI, or standalone EiffelWeb server). This option is available on all platforms.
* This list of wizards is not definitive, and may change in the future, to bring new solutions.
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|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| [[Retrieving a project from a configuration file|Retrieving a project from an configuration file]] }}

View File

@@ -0,0 +1,5 @@
[[Property:title|EiffelStudio: Starting a project]]
[[Property:weight|0]]
[[Property:uuid|d3d6bae9-7a93-2c02-1fab-4759341419d6]]

View File

@@ -0,0 +1,16 @@
[[Property:title|Retrieving a project from a configuration file]]
[[Property:weight|1]]
[[Property:uuid|eef8cf02-0ed0-3e3e-3204-56541df18d37]]
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. A target may be selected from the drop down list by clicking the black triangle. 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|<br/>
[[EiffelStudio: Creating a new project|Creating a new project]] }}

View File

@@ -0,0 +1,49 @@
[[Property:title|Generating multi-format documentation]]
[[Property:weight|0]]
[[Property:uuid|37a81bfb-004f-a1f9-7cc8-140639e96e9f]]
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:index-37]]
{{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:index-38]]
In the next page you can specify indexing items on which HTML metatags will be based:
[[Image:index-39]]
{{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:index-40]]
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:index-41]]
{{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:index-42]]
{{seealso|<br/>
[[Generating XMI documentation|Generating XMI documentation]] }}

View File

@@ -0,0 +1,22 @@
[[Property:title|Generating XMI documentation]]
[[Property:weight|1]]
[[Property:uuid|a6aa8b26-6ce4-90d5-7204-014c5fee0267]]
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:xmi-wizard-path-selection]]
{{seealso|<br/>
[[Generating multi-format documentation|Generating multi-format documentation]] }}

View File

@@ -0,0 +1,5 @@
[[Property:title|Generating documentation]]
[[Property:weight|7]]
[[Property:uuid|18c19156-899a-33fd-92f0-3065267f30f0]]

View File

@@ -0,0 +1,22 @@
[[Property:title|Evaluating a measure]]
[[Property:weight|1]]
[[Property:uuid|533ec807-ad3d-5338-3955-aa2f8601976e]]
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|When calculated, a measure is not saved. }}
{{seealso|<br/>
[[Saving a measure|Saving a measure]] <br/>
[[Viewing measure details|Detailing a measure]] <br/>
}}

View File

@@ -0,0 +1,9 @@
[[Property:title|Computing a measure]]
[[Property:weight|1]]
[[Property:uuid|cff91cf0-1280-f79d-440a-69801b213dac]]
The metric interface allows users to analyze their projects. It provides a set of metrics that could be evaluated over various scopes to obtain quantitative information about systems.
Thanks to the metric interface, users can evaluate metrics over different scopes, get some detailed information when possible, save the pertinent measures, delete the useless ones, and update the values of previously recorded metrics.
Below is the list of operations you can perform.

View File

@@ -0,0 +1,17 @@
[[Property:title|Saving a measure]]
[[Property:weight|2]]
[[Property:uuid|d967fde4-5dea-a855-50ec-b0d8f1473cf2]]
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|<br/>
[[Evaluating a measure|Evaluating a measure]] <br/>
[[Viewing measure details|Detailing measures]] <br/>
}}

View File

@@ -0,0 +1,17 @@
[[Property:title|Viewing measure details]]
[[Property:weight|3]]
[[Property:uuid|570feb7a-4650-0a7d-ae45-1336c5429cfb]]
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|<br/>
[[Evaluating a measure|Evaluating a measure]] <br/>
[[Saving a measure|Saving measures]] <br/>
}}

View File

@@ -0,0 +1,15 @@
[[Property:title|Comparing to an archive]]
[[Property:weight|2]]
[[Property:uuid|eb13a2c4-623d-8a35-6175-40a43486beb8]]
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|<br/>
[[Creating an archive|Creating an archive]] }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Creating an archive]]
[[Property:weight|1]]
[[Property:uuid|d8bd6d77-a5dc-df38-a796-6fa8a07ddf29]]
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|<br/>
[[Comparing to an archive|Comparing to an archive]] }}

View File

@@ -0,0 +1,7 @@
[[Property:title|Handling archives]]
[[Property:weight|3]]
[[Property:uuid|1a2bc120-2f9d-0cc3-4883-a98c5999b12d]]
The archive file for a system contains all the values of measures resulting from evaluating selected metrics. It also contains the definitions of non elementary metrics (the one user has [[Defining new metrics|defined]]) in order to be sure of what is being measured.
The archive files are entitled to achieve comparisons between systems. And then, user can compare systems to evaluate their own projects.

View File

@@ -0,0 +1,21 @@
[[Property:title|Defining derived metrics]]
[[Property:weight|1]]
[[Property:uuid|d9c9037a-7b87-3810-c5c8-d34523cdad7b]]
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|<br/>
[[Managing new metrics|Managing metrics]] <br/>
[[Criterion References|Managing criterion]] }}

View File

@@ -0,0 +1,20 @@
[[Property:title|Defining linear metrics]]
[[Property:weight|2]]
[[Property:uuid|bfcfffff-08ec-8e18-fed4-3f39ac3772da]]
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|<br/>
[[Managing new metrics|Managing metrics]] <br/>
}}

View File

@@ -0,0 +1,21 @@
[[Property:title|Defining ratio metrics]]
[[Property:weight|3]]
[[Property:uuid|40394359-600c-5392-8609-6f994920a3b1]]
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|<br/>
[[Managing new metrics|Managing metrics]] <br/>
}}

View File

@@ -0,0 +1,13 @@
[[Property:title|Defining new metrics]]
[[Property:weight|1]]
[[Property:uuid|7f36c01c-40f4-be23-dfcd-d92bf2bbd535]]
The metric interface provides by default a set of basic metrics. However, user may want to define other metrics, such as linear sums or different ratios, or combining some criteria... This is possible thanks to the '''Metric Definition''' tab of the metric tool.
New metrics are increasingly added to the list of metrics which is ordered by unit type, and are available for [[Evaluating a measure|calculation]] .
{{seealso|<br/>
[[Evaluating a measure|Evaluating a measure]] <br/>
[[Managing new metrics]] }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Handling new metrics]]
[[Property:weight|2]]
[[Property:uuid|1ca7a8cf-f446-6cbc-59e1-0455e633ce44]]
The metric tool ("Metric" tab of the context tool) provides by default a set of metrics that can be used to make some measurements over various scopes in order to evaluate a project.
This set of metrics is certainly not complete, users may probably want to define other metrics regarding their own needs. And then, since needs are different and in order to avoid an explosion in the number of basic metrics, we agreed on implementing only elementary metrics that could not be evaluated if not implemented in the tool.
Users can then define their own metrics. The metric tool provides an interface to define new metrics. Click on the '''Metric Definition''' tab in the metric tool to start adding new metrics and modifying existing metrics.

View File

@@ -0,0 +1,7 @@
[[Property:title|Managing new metrics]]
[[Property:weight|2]]
[[Property:uuid|540cbcc4-27cb-7fc4-5c98-0c622bfb0841]]
After having [[Defining new metrics|defined]] some new metrics, it is possible to delete the useless ones, or to edit them:
* Deleting a metric: select the metric you want to delete and click on the '''Remove current selected metric''' button.
* Editing a metric: select the metric you want to edit and start changing its definition by adding or removing criteria (derived), adding or removing terms (linear), changing numerator and denominator (ratio).

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