mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 14:52:03 +01:00
Author:halw
Date:2009-01-27T01:57:16.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@171 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -31,32 +31,54 @@ Buffer is a way to refer to text of a class, a feature or text/selected text in
|
||||
* {<eiffel>SOME_CLASS</eiffel>}.<eiffel>some_feature</eiffel> represents text of <eiffel>some_feature</eiffel> from <eiffel>SOME_CLASS</eiffel>
|
||||
|
||||
For example, if you run the command:
|
||||
{{sample| gvim {<eiffel>ANY</eiffel>} }}
|
||||
The text of class <eiffel>ANY</eiffel> will be displayed in a gvim window.
|
||||
<code lang=text>
|
||||
gvim {ANY}</code>
|
||||
then the text of class <eiffel>ANY</eiffel> will be displayed in a gvim window.
|
||||
|
||||
|
||||
If you run the command:
|
||||
{{sample| gvim @{<eiffel>ANY</eiffel>} }}
|
||||
And if class <eiffel>ANY</eiffel> is opened in an editor tab and some text is selected there, the selected text will be displayed in a gvim window.
|
||||
<code lang=text>
|
||||
gvim @{ANY}</code>
|
||||
and if class <eiffel>ANY</eiffel> is opened in an editor tab and some text is selected there, the selected text will be displayed in a gvim window.
|
||||
|
||||
|
||||
If you run the command:
|
||||
{{sample| gvim @{<eiffel>ANY</eiffel>}.<eiffel>is_equal</eiffel> }}
|
||||
The text of feature <eiffel>is_equal</eiffel> from class <eiffel>ANY</eiffel> will be displayed in a gvim window.
|
||||
<code lang=text>
|
||||
gvim @{ANY}.is_equal</code>
|
||||
then the text of feature <eiffel>is_equal</eiffel> from class <eiffel>ANY</eiffel> will be displayed in a gvim window.
|
||||
|
||||
|
||||
If you run the command:
|
||||
{{sample| gvim -d {<eiffel>ANY</eiffel>}.<eiffel>is_equal</eiffel> {<eiffel>APPLICATION</eiffel>}.<eiffel>is_equal</eiffel> }}
|
||||
A gvim windows in diff mode will be opened showing the difference between <eiffel>ANY</eiffel>.<eiffel>is_equal</eiffel> and <eiffel>APPLICATION</eiffel>.<eiffel>is_equal</eiffel>.
|
||||
<code lang=text>
|
||||
gvim -d {ANY}.is_equal {APPLICATION}.is_equal</code>
|
||||
then a gvim window in diff mode will be opened showing the difference between <eiffel>ANY</eiffel>.<eiffel>is_equal</eiffel> and <eiffel>APPLICATION</eiffel>.<eiffel>is_equal</eiffel>.
|
||||
|
||||
|
||||
The text used in buffer is stored in a temporary file so whatever change done to that text won't affect the text used in EiffelStudio.
|
||||
|
||||
|
||||
==Auto-completion==
|
||||
|
||||
The command area supports auto-completion. You can auto-complete placeholder, class name and feature name, shown in the following pictures:
|
||||
|
||||
Auto-complete placeholder: [[Image:console-auto1|Auto-complete placeholder]]
|
||||
Auto-complete placeholder:
|
||||
|
||||
|
||||
[[Image:console-auto1|Auto-complete placeholder]]
|
||||
|
||||
|
||||
Auto-complete class name:
|
||||
|
||||
|
||||
[[Image:console-auto2|Auto-complete class name]]
|
||||
|
||||
|
||||
Auto-complete feature name:
|
||||
|
||||
|
||||
[[Image:console-auto3|Auto-complete feature name]]
|
||||
|
||||
Auto-complete class name: [[Image:console-auto2|Auto-complete class name]]
|
||||
|
||||
Auto-complete feature name: [[Image:console-auto3|Auto-complete feature name]]
|
||||
|
||||
==Pick and drop==
|
||||
|
||||
|
||||
@@ -4,88 +4,88 @@
|
||||
All actions taken in the diagram tool that modify a part of the system are immediately reflected in the Eiffel system. Following is a summary of these actions.
|
||||
* When you create a new class, this is the generated empty class: <br/>
|
||||
<code>
|
||||
indexing
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
note
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
|
||||
class
|
||||
CLASS_NAME
|
||||
CLASS_NAME
|
||||
|
||||
end -- class CLASS_NAME
|
||||
</code>
|
||||
|
||||
* When you delete a class, the class file is removed from the disk.
|
||||
* When you add a parent to a class, the parent is inserted in the existing inheritance clause, ''without'' any additional ( <code> undefine </code>/ <code> select </code>/etc.) clauses to solve possible conflicts. <br/>
|
||||
* When you add a parent to a class, the parent is inserted in the existing inheritance clause, ''without'' any additional ( <code>undefine</code>/ <code>select</code>/etc.) clauses to solve possible conflicts. <br/>
|
||||
<code>
|
||||
indexing
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
note
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
|
||||
class
|
||||
CLASS_NAME
|
||||
CLASS_NAME
|
||||
|
||||
inherit
|
||||
NEW_PARENT
|
||||
NEW_PARENT
|
||||
|
||||
end -- class CLASS_NAME
|
||||
</code>
|
||||
|
||||
* When removing an inheritance link, the entire parent clause is removed, i.e. including any <code> redefine </code>/ <code> undefine </code>/etc. until the matching <code> end </code>.
|
||||
* When removing an inheritance link, the entire parent clause is removed, i.e. including any <code>redefine</code>/<code>undefine</code>/etc. until the matching <code>end</code>.
|
||||
* When creating a client link, a function or attribute is generated by the feature wizard. When creating a function, this code is generated: <br/>
|
||||
<code>
|
||||
indexing
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
note
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
|
||||
class
|
||||
CLASS_NAME
|
||||
CLASS_NAME
|
||||
|
||||
feature -- Access
|
||||
|
||||
f: TYPE is
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
do
|
||||
end
|
||||
f: TYPE
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
do
|
||||
end
|
||||
|
||||
end -- class CLASS_NAME
|
||||
</code>
|
||||
|
||||
* If you choose to create an attribute for the client link, and optionally specify to generate a set-procedure and an invariant, the following code will be pasted into the class text: <br/>
|
||||
<code>
|
||||
indexing
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
note
|
||||
description: "Objects that ..."
|
||||
author: ""
|
||||
date: "$Date: 2008-09-02 13:54:45 +0200 (Tue, 02 Sep 2008) $"
|
||||
revision: "$Revision: 74646 $"
|
||||
|
||||
class
|
||||
CLASS_NAME
|
||||
CLASS_NAME
|
||||
|
||||
feature -- Access
|
||||
|
||||
f: TYPE is
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
f: TYPE
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
|
||||
feature -- Element change
|
||||
|
||||
set_f (a_f: TYPE) is
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
require
|
||||
a_f_not_void: af /= Void
|
||||
do
|
||||
f := a_f
|
||||
ensure
|
||||
f_assigned: f = a_f
|
||||
end
|
||||
set_f (a_f: TYPE)
|
||||
-- Client from CLASS_NAME to TYPE.
|
||||
require
|
||||
a_f_not_void: af /= Void
|
||||
do
|
||||
f := a_f
|
||||
ensure
|
||||
f_assigned: f = a_f
|
||||
end
|
||||
|
||||
invariant
|
||||
f_not_void: f /= Void
|
||||
f_not_void: f /= Void
|
||||
|
||||
end -- class CLASS_NAME
|
||||
</code>
|
||||
|
||||
@@ -3,49 +3,74 @@
|
||||
[[Property:uuid|c0ea47ac-e616-0762-b1bf-53d87df8ce9f]]
|
||||
The toolbar of the diagram contains these buttons:
|
||||
* [[Image:diagram-target-cluster-or-class-icon]] Target to cluster or class <br/>
|
||||
Drop a class or a cluster on this icon to build the corresponding diagram.
|
||||
**Drop a class or a cluster on this icon to build the corresponding diagram.
|
||||
|
||||
* [[Image:new-inheritance-link-icon]] [[Creating inheritance links|Create new inheritance links]] <br/>
|
||||
Selecting this button allows you to create inheritance, client-supplier or aggregate links by picking from one class and dropping on the other.
|
||||
**Selecting this button allows you to create inheritance, client-supplier or aggregate links by picking from one class and dropping on the other.
|
||||
|
||||
* [[Image:16x16--new-class-icon]] [[Creating a new class|Create a new class]] <br/>
|
||||
Pick from this button and drop on the diagram to add a new class.
|
||||
**Pick from this button and drop on the diagram to add a new class.
|
||||
|
||||
* [[Image:general-undo-icon]] [[Undoing and redoing|Undo last action]] <br/>
|
||||
Click to undo the last action.
|
||||
**Click to undo the last action.
|
||||
|
||||
* [[Image:general-undo-history-icon]] [[Undoing and redoing|History tool]] <br/>
|
||||
Click to open the '''History tool'''.
|
||||
**Click to open the '''History tool'''.
|
||||
|
||||
* [[Image:general-redo-icon]] [[Undoing and redoing|Redo last action]] <br/>
|
||||
Click to redo the last undone action.
|
||||
**Click to redo the last undone action.
|
||||
|
||||
* [[Image:general-reset-icon]] [[Removing items from a view|Remove figure]] <br/>
|
||||
Drop figures in this hole that you want to remove from the view only.
|
||||
**Drop figures in this hole that you want to remove from the view only.
|
||||
|
||||
* [[Image:diagram-choose-color-icon]] [[Changing colors of classes|Change color]] <br/>
|
||||
Drop class bubbles in this hole to change their color, or click this button and change the color of all class bubbles at once.
|
||||
**Drop class bubbles in this hole to change their color, or click this button and change the color of all class bubbles at once.
|
||||
|
||||
* [[Image:diagram-fill-cluster-icon]] [[Retrieving all classes into a cluster|Include all classes of cluster]] <br/>
|
||||
Drop a cluster in this hole to show all classes of the cluster in this view.
|
||||
**Drop a cluster in this hole to show all classes of the cluster in this view.
|
||||
|
||||
* [[Image:diagram-depth-of-relations-icon]] [[Changing system exploration depth|Select depth of relations]] <br/>
|
||||
Click to bring up the '''Select depth''' dialog.
|
||||
**Click to bring up the '''Select depth''' dialog.
|
||||
|
||||
* [[Image:diagram-zoom-out-icon]] [[Zooming a diagram|Zoom out]] <br/>
|
||||
Shrink the diagram.
|
||||
**Shrink the diagram.
|
||||
|
||||
* [[Image:diagram-fit-to-screen-icon]] [[Zooming a diagram|Fit Diagram to Screen]] <br/>
|
||||
Fit the diagram to the screen dimensions so it is all visible.
|
||||
**Fit the diagram to the screen dimensions so it is all visible.
|
||||
|
||||
* [[Image:diagram-zoom-in-icon]] [[Zooming a diagram|Zoom in]] <br/>
|
||||
Enlarge the diagram.
|
||||
**Enlarge the diagram.
|
||||
|
||||
* [[Image:diagram-inheritance-link-icon]] [[Showing or hiding links and labels|Show/hide inheritance links]] <br/>
|
||||
Toggle visibility of all inheritance links in the view.
|
||||
**Toggle visibility of all inheritance links in the view.
|
||||
|
||||
* [[Image:diagram-supplier-link-icon]] [[Showing or hiding links and labels|Show/hide client-supplier links]] <br/>
|
||||
Toggle visibility of all client-supplier links in the view.
|
||||
**Toggle visibility of all client-supplier links in the view.
|
||||
|
||||
* [[Image:diagram-show-labels-icon]] [[Showing or hiding links and labels|Show/hide labels]] <br/>
|
||||
Toggle visibility of all client link labels in the view.
|
||||
**Toggle visibility of all client link labels in the view.
|
||||
|
||||
* [[Image:diagram-export-to-png-icon]] [[Exporting a diagram to PNG image file|Export diagram to.png]] <br/>
|
||||
Click to generate a .png file from current view.
|
||||
**Click to generate a .png file from current view.
|
||||
|
||||
* [[Image:diagram-toggle-quality-icon]] Toggles the drawing quality.
|
||||
|
||||
* [[Image:diagram-toogle-physics-icon]] Toggles the physics mode on and off.
|
||||
|
||||
* [[Image:diagram-view-uml-icon]] Toggles view between BON notation and UML.
|
||||
|
||||
* [[Image:diagram-anchor-icon]] Allows to anchor or unanchor a class/cluster figure.
|
||||
|
||||
* [[Image:diagram-physics-settings-icon]] Displays physics settings dialog to control physics behavour.
|
||||
|
||||
* [[Image:16x16--general-delete-icon]] [[Deleting items|Delete]] <br/>
|
||||
Drop items in this hole to remove them from the system.
|
||||
**Drop items in this hole to remove them from the system.
|
||||
|
||||
* [[Image:diagram-show-legend-icon]] Toggle cluster color legend.
|
||||
|
||||
* [[Image:diagram-force-right-angles-icon]] [[Using the link tool|Put handles on a link]] <br/>
|
||||
Click on this button to toggle right angles on all links in the view. Drop a link on it to bring up the link tool for that link.
|
||||
**Click on this button to toggle right angles on all links in the view. Drop a link on it to bring up the link tool for that link.
|
||||
|
||||
In addition to these toolbar buttons there is also a drop down list for selecting various zoom percentages on the current view, and a view list for switching between previously saved views/layouts of various parts of the system.
|
||||
|
||||
|
||||
|
||||
@@ -5,37 +5,68 @@ The diagram tool uses the [http://bon-method.com BON] (Business Object Notation
|
||||
|
||||
==Class==
|
||||
|
||||
[[Image:bon-class]] An object class is represented by an ellipse(sometimes referred to as ''bubble''). It contains the class name and formal generics of the Eiffel class it represents. Second, it displays information about properties of a class. These properties are:
|
||||
* Deferred: class is declared as <code> deferred </code>.
|
||||
[[Image:bon-class]]
|
||||
|
||||
A class is represented by an ellipse(sometimes referred to as ''bubble''). It contains the class name and formal generics of the Eiffel class it represents. Second, it displays information about properties of a class. These properties are:
|
||||
* Deferred: class is declared as <code>deferred</code>.
|
||||
|
||||
|
||||
[[Image:bon-class-deferred]]
|
||||
|
||||
* Effective: class is not <code> deferred </code> and has at least one <code> deferred </code> parent, or redefines one ore more features.
|
||||
|
||||
* Effective: class is not <code>deferred</code> and has at least one <code>deferred</code> parent, or redefines one ore more features.
|
||||
|
||||
|
||||
[[Image:bon-class-effective]]
|
||||
|
||||
* Persistent: class inherits <eiffel>STORABLE</eiffel> or has indexing tag <code> persistent </code>.
|
||||
|
||||
* Persistent: class inherits <eiffel>STORABLE</eiffel> or has indexing tag <code>persistent</code>.
|
||||
|
||||
|
||||
[[Image:bon-class-persistent]]
|
||||
|
||||
* Interfaced: class has one ore more <code> external </code> features.
|
||||
|
||||
* Interfaced: class has one ore more <code>external</code> features.
|
||||
|
||||
|
||||
[[Image:bon-class-interfaced]]
|
||||
|
||||
* Reused: class resides in a precompiled library or in a <code> library </code> cluster.
|
||||
|
||||
* Reused: class resides in a precompiled library or in a <code>library</code> cluster.
|
||||
|
||||
|
||||
[[Image:bon-class-reused]]
|
||||
|
||||
|
||||
* Root class: class has the program's entry point.
|
||||
|
||||
|
||||
[[Image:bon-class-root]]
|
||||
|
||||
|
||||
{{seealso|<br/>
|
||||
[[Rename class|Changing class names]] }}
|
||||
|
||||
|
||||
==Cluster==
|
||||
|
||||
A cluster is a collection of classes and sub-clusters. It is represented by a stippled, rounded rectangle. The cluster name is in a similar rectangle, by default located at the top of the cluster just outside of it. A cluster can be iconified, which means it is minimized to take up as less space as possible.
|
||||
<div> [[Image:bon-cluster-iconified]] [[Image:bon-cluster]] </div><br/>
|
||||
A cluster is a collection of classes and sub-clusters. It is represented by a stippled, rounded rectangle. The cluster name is in a similar rectangle, by default located at the top of the cluster just outside of it.
|
||||
|
||||
|
||||
[[Image:bon-cluster]]
|
||||
|
||||
|
||||
A cluster can be iconified, which means it is minimized to take up as less space as possible.
|
||||
|
||||
|
||||
[[Image:bon-cluster-iconified]]
|
||||
|
||||
|
||||
|
||||
{{seealso|<br/>
|
||||
[[Iconifying and restoring a cluster|Iconifying a cluster]] }}
|
||||
|
||||
|
||||
==Inheritance links==
|
||||
|
||||
Inheritance between classes is represented by an arrow from a class to its parent. Typically, inheritance links point upwards.
|
||||
@@ -45,11 +76,20 @@ Inheritance between classes is represented by an arrow from a class to its paren
|
||||
{{seealso|<br/>
|
||||
[[Creating inheritance links|Creating inheritance links]] }}
|
||||
|
||||
|
||||
==Client/supplier links==
|
||||
|
||||
Client relationships between classes are represented by an arrow with a double line from the client to the supplier. Typically, these links point to the right. A special kind of relationship is the aggregate client/supplier link. Aggregate means that the supplier is an integral part of the client. In the class text, it corresponds to <code> expanded </code> features. In the diagram, an aggregate link has a little line along the back side of the arrow.
|
||||
<div> [[Image:bon-client]] [[Image:bon-agg-client]] </div><br/>
|
||||
<br/>
|
||||
Client relationships between classes are represented by an arrow with a double line from the client to the supplier. Typically, these links point to the right.
|
||||
|
||||
|
||||
[[Image:bon-client]]
|
||||
|
||||
|
||||
A special kind of relationship is the aggregate client/supplier link. Aggregate means that the supplier is an integral part of the client. In the class text, it corresponds to <code>expanded</code> features. In the diagram, an aggregate link has a little line along the back side of the arrow.
|
||||
|
||||
|
||||
[[Image:bon-agg-client]]
|
||||
|
||||
|
||||
{{seealso|<br/>
|
||||
[[Creating client/supplier links|Creating client/supplier links]] }}
|
||||
|
||||
@@ -5,7 +5,7 @@ Every class or cluster has one or more views. Every view shows the [[Contexts|co
|
||||
<div> [[Image:diagram-view-combo]] </div>
|
||||
The view combo box, as seen in the image above, can be used to add a view or switch to a previously added one. Every class and cluster has a view "DEFAULT" that is generated automatically. If you create a new view and move for example a class around in it, the "DEFAULT" view is unaffected.
|
||||
|
||||
The case tool provides you with the following possibilities to manipulate views:
|
||||
The Diagram tool provides you with the following possibilities to manipulate views:
|
||||
* [[Adding a view|Adding a view]]
|
||||
* [[Deleting a view|Deleting a view]]
|
||||
* [[Showing or hiding links and labels|Showing or hiding links and labels]]
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
[[Property:uuid|503b260c-99c5-06fb-2953-8899866c1c51]]
|
||||
The Eiffel scheme syntax is:
|
||||
|
||||
<code lang="text">
|
||||
eiffel:?<eiffel-resource>
|
||||
</code>
|
||||
<tt>
|
||||
<nowiki>eiffel</nowiki>:?<i><eiffel-resource></i>
|
||||
</tt>
|
||||
|
||||
|
||||
where <eiffel-resource> is a combination of following parts, connected by '''&''' if more than one part are required:
|
||||
where <i><eiffel-resource></i> is a combination of following parts, connected by '''&''' if more than one part are required:
|
||||
|
||||
* <system>, in the form of system=to_be_replaced, '''to_be_replaced''' consists of system_name or uuid of the system, or both connected by "'''.'''".
|
||||
* <target>, in the form of target=to_be_replaced, '''to_be_replaced''' consists of target_name or uuid of the system, or both connected by "'''.'''".
|
||||
|
||||
@@ -123,14 +123,14 @@ The related concepts of descendants, proper descendants, heirs, indirect heirs f
|
||||
'''Applicable on:''' Class<br/>
|
||||
'''Remarks:''' This criterion evaluates to True if a candidate class is supplier of any of the classes in criterion domain. Directness modifier is boolean modifier, if it's True only direct suppliers are picked, if indirect modifier is set, only indirect suppliers are picked. normally_referenced and syntactically_referenced modifiers are both boolean modifiers, they enable to specify how one class is used by another class. Let's use an example to demonstrate these ideas, for example, in class A, there is a feature foo:<br/>
|
||||
<code>
|
||||
foo is
|
||||
local
|
||||
l_str: STRING
|
||||
l_file: FILE
|
||||
do
|
||||
create l_str.make_empty
|
||||
end
|
||||
</code>
|
||||
foo
|
||||
local
|
||||
l_str: STRING
|
||||
l_file: FILE
|
||||
do
|
||||
create l_str.make_empty
|
||||
end
|
||||
</code>
|
||||
<br/>
|
||||
Then both <eiffel>STRING</eiffel> and <eiffel>FILE</eiffel> are suppliers of class <eiffel>A</eiffel>. <eiffel>STRING</eiffel> is normal supplier because a feature make_empty in <eiffel>STRING</eiffel> is invoked in class <eiffel>A</eiffel>, but <eiffel>FILE</eiffel> is a syntactically referenced supplier because no feature from <eiffel>FILE</eiffel> is called from <eiffel>A</eiffel>. Classes explicitly listed in inherit clause of a class are also considered as syntactically referenced suppliers.
|
||||
Concepts of direct/indirect, normally referenced/syntactically referenced clients follow the same rule expect in the other direction.
|
||||
@@ -202,6 +202,7 @@ only_current_verision modifier is a boolean modifier, if it's True, when the cri
|
||||
'''Syntax:''' is_implementors_of {domain}<br/>
|
||||
'''Applicable on:''' Feature<br/>
|
||||
|
||||
|
||||
'''Remark:''' This criterion will evaluate to True if the candidate feature is an implementer of some features listed in criterion domain.<br/>
|
||||
|
||||
|
||||
|
||||
@@ -38,17 +38,13 @@ The syntax for name_is is:
|
||||
name_is "pattern", matching_strategy, case_sensitive
|
||||
|
||||
The match_strategy modifier decides how criterion text "pattern" is matched, and can choose from one of the following four values:
|
||||
*
|
||||
Identity - Pattern is matched if the text is identical to criterion text
|
||||
* Identity - Pattern is matched if the text is identical to criterion text
|
||||
|
||||
*
|
||||
Containing - Pattern is matched the text contains criterion text
|
||||
* Containing - Pattern is matched the text contains criterion text
|
||||
|
||||
*
|
||||
Wildcard - Pattern is matched if it occurs in criterion text according to wildcard rules
|
||||
* Wildcard - Pattern is matched if it occurs in criterion text according to wildcard rules
|
||||
|
||||
*
|
||||
Regular expression - Pattern is matched if it occurs in criterion text according to regular expression rules
|
||||
* Regular expression - Pattern is matched if it occurs in criterion text according to regular expression rules
|
||||
|
||||
|
||||
The case_sensitive modifier can be True or False, it indicates if pattern matching is case sensitive or not.
|
||||
|
||||
@@ -56,7 +56,7 @@ The following figure shows a new basic class metric:
|
||||
|
||||
[[Image:interface9|basic metric]]
|
||||
|
||||
When defining basic metrics, you can press Ctrl + Space in a cell in the criterion column (the first column in "definition" area) to get a list of all applicable criteria. You can also type "and" or "or" in that cell to get criterion connectors. And you can put "not" in front of a criterion name to get its negation. After typing the criterion name and hitting enter, if the criterion needs further setup, the property cell of that criterion will be highlighted. For domain criterion such as ancestor_is, caller_is, you can pick an item and drop it into this property cell.
|
||||
When defining basic metrics, you can press <code>CTRL</code>+<code>Space</code> in a cell in the criterion column (the first column in "definition" area) to get a list of all applicable criteria. You can also type "and" or "or" in that cell to get criterion connectors. And you can put "not" in front of a criterion name to get its negation. After typing the criterion name and hitting enter, if the criterion needs further setup, the property cell of that criterion will be highlighted. For domain criterion such as ancestor_is, caller_is, you can pick an item and drop it into this property cell.
|
||||
|
||||
The following figure shows a new linear feature metric:
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ In Eiffel, we have several ways of thinking abstractly about features and catego
|
||||
|
||||
You remember the example class from [[Eiffel Classes|Eiffel Classes]] :
|
||||
<code>
|
||||
indexing
|
||||
note
|
||||
description: Objects that model lists
|
||||
revision: $Revision: 1.5 $
|
||||
|
||||
|
||||
Reference in New Issue
Block a user