From 03d0037bb7eccaed63d44e20a617eaa42302ad98 Mon Sep 17 00:00:00 2001 From: halw Date: Tue, 27 Jan 2009 01:57:16 +0000 Subject: [PATCH] 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 --- .../eiffelstudio-reference/console-tool.wiki | 44 +++++++--- .../diagram-tool-code-generation.wiki | 86 +++++++++---------- .../diagram-tool/diagram-toolbar.wiki | 63 ++++++++++---- .../diagram-tool/notation.wiki | 62 ++++++++++--- .../diagram-tool/views.wiki | 2 +- .../eis-incoming/eiffel-scheme-syntax.wiki | 8 +- .../definitions/criterion-references.wiki | 17 ++-- .../definitions/selection-criteria.wiki | 12 +-- .../metric-definition-panel.wiki | 2 +- .../eiffel-net/adding-class-features.wiki | 2 +- 10 files changed, 191 insertions(+), 107 deletions(-) diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/console-tool.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/console-tool.wiki index 8708b95b..2dde25dd 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/console-tool.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/console-tool.wiki @@ -31,32 +31,54 @@ Buffer is a way to refer to text of a class, a feature or text/selected text in * {SOME_CLASS}.some_feature represents text of some_feature from SOME_CLASS For example, if you run the command: -{{sample| gvim {ANY} }} -The text of class ANY will be displayed in a gvim window. + +gvim {ANY} +then the text of class ANY will be displayed in a gvim window. + If you run the command: -{{sample| gvim @{ANY} }} -And if class ANY is opened in an editor tab and some text is selected there, the selected text will be displayed in a gvim window. + +gvim @{ANY} +and if class ANY 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 @{ANY}.is_equal }} -The text of feature is_equal from class ANY will be displayed in a gvim window. + +gvim @{ANY}.is_equal +then the text of feature is_equal from class ANY will be displayed in a gvim window. + If you run the command: -{{sample| gvim -d {ANY}.is_equal {APPLICATION}.is_equal }} -A gvim windows in diff mode will be opened showing the difference between ANY.is_equal and APPLICATION.is_equal. + +gvim -d {ANY}.is_equal {APPLICATION}.is_equal +then a gvim window in diff mode will be opened showing the difference between ANY.is_equal and APPLICATION.is_equal. + 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== diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-tool-code-generation.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-tool-code-generation.wiki index 453e23f1..d8f3342d 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-tool-code-generation.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-tool-code-generation.wiki @@ -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:
-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 * 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 ( undefine / select /etc.) clauses to solve possible conflicts.
+* When you add a parent to a class, the parent is inserted in the existing inheritance clause, ''without'' any additional ( undefine/ select/etc.) clauses to solve possible conflicts.
-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 -* When removing an inheritance link, the entire parent clause is removed, i.e. including any redefine / undefine /etc. until the matching end . +* When removing an inheritance link, the entire parent clause is removed, i.e. including any redefine/undefine/etc. until the matching end. * When creating a client link, a function or attribute is generated by the feature wizard. When creating a function, this code is generated:
-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 * 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:
-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 diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-toolbar.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-toolbar.wiki index 3c17b67b..b916e78a 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-toolbar.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/diagram-toolbar.wiki @@ -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
-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]]
-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]]
-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]]
-Click to undo the last action. +**Click to undo the last action. + * [[Image:general-undo-history-icon]] [[Undoing and redoing|History tool]]
-Click to open the '''History tool'''. +**Click to open the '''History tool'''. + * [[Image:general-redo-icon]] [[Undoing and redoing|Redo last action]]
-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]]
-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]]
-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]]
-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]]
-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]]
-Shrink the diagram. +**Shrink the diagram. + * [[Image:diagram-fit-to-screen-icon]] [[Zooming a diagram|Fit Diagram to Screen]]
-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]]
-Enlarge the diagram. +**Enlarge the diagram. + * [[Image:diagram-inheritance-link-icon]] [[Showing or hiding links and labels|Show/hide inheritance links]]
-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]]
-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]]
-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]]
-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]]
-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]]
-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. diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/notation.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/notation.wiki index 4c909524..c4c2c14c 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/notation.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/notation.wiki @@ -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 deferred . +[[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 deferred. + + [[Image:bon-class-deferred]] -* Effective: class is not deferred and has at least one deferred parent, or redefines one ore more features. + +* Effective: class is not deferred and has at least one deferred parent, or redefines one ore more features. + + [[Image:bon-class-effective]] -* Persistent: class inherits STORABLE or has indexing tag persistent . + +* Persistent: class inherits STORABLE or has indexing tag persistent. + + [[Image:bon-class-persistent]] -* Interfaced: class has one ore more external features. + +* Interfaced: class has one ore more external features. + + [[Image:bon-class-interfaced]] -* Reused: class resides in a precompiled library or in a library cluster. + +* Reused: class resides in a precompiled library or in a library cluster. + + [[Image:bon-class-reused]] + * Root class: class has the program's entry point. + + [[Image:bon-class-root]] {{seealso|
[[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. -
[[Image:bon-cluster-iconified]] [[Image:bon-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. + + +[[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|
[[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|
[[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 expanded features. In the diagram, an aggregate link has a little line along the back side of the arrow. -
[[Image:bon-client]] [[Image:bon-agg-client]]

-
+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 expanded features. In the diagram, an aggregate link has a little line along the back side of the arrow. + + +[[Image:bon-agg-client]] + {{seealso|
[[Creating client/supplier links|Creating client/supplier links]] }} diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/views.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/views.wiki index 3481a548..a1a7fb2a 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/views.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/diagram-tool/views.wiki @@ -5,7 +5,7 @@ Every class or cluster has one or more views. Every view shows the [[Contexts|co
[[Image:diagram-view-combo]]
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]] diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffel-information-system/eis-incoming/eiffel-scheme-syntax.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffel-information-system/eis-incoming/eiffel-scheme-syntax.wiki index ab8aea07..d99de665 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffel-information-system/eis-incoming/eiffel-scheme-syntax.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffel-information-system/eis-incoming/eiffel-scheme-syntax.wiki @@ -3,12 +3,12 @@ [[Property:uuid|503b260c-99c5-06fb-2953-8899866c1c51]] The Eiffel scheme syntax is: - - eiffel:? - + + eiffel:? + -where is a combination of following parts, connected by '''&''' if more than one part are required: +where is a combination of following parts, connected by '''&''' if more than one part are required: * , in the form of system=to_be_replaced, '''to_be_replaced''' consists of system_name or uuid of the system, or both connected by "'''.'''". * , in the form of target=to_be_replaced, '''to_be_replaced''' consists of target_name or uuid of the system, or both connected by "'''.'''". diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/criterion-references.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/criterion-references.wiki index fef37366..a46871f0 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/criterion-references.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/criterion-references.wiki @@ -123,14 +123,14 @@ The related concepts of descendants, proper descendants, heirs, indirect heirs f '''Applicable on:''' Class
'''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:
- foo is - local - l_str: STRING - l_file: FILE - do - create l_str.make_empty - end - + foo + local + l_str: STRING + l_file: FILE + do + create l_str.make_empty + end +
Then both STRING and FILE are suppliers of class A. STRING is normal supplier because a feature make_empty in STRING is invoked in class A, but FILE is a syntactically referenced supplier because no feature from FILE is called from A. 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}
'''Applicable on:''' Feature
+ '''Remark:''' This criterion will evaluate to True if the candidate feature is an implementer of some features listed in criterion domain.
diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/selection-criteria.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/selection-criteria.wiki index 94520cae..87b6b676 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/selection-criteria.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/definitions/selection-criteria.wiki @@ -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. diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/user-interface-basics/metric-definition-panel.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/user-interface-basics/metric-definition-panel.wiki index 43b1ae42..afe6c501 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/user-interface-basics/metric-definition-panel.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/metrics-tool/user-interface-basics/metric-definition-panel.wiki @@ -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 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. The following figure shows a new linear feature metric: diff --git a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net/adding-class-features.wiki b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net/adding-class-features.wiki index 2cfa74b0..7fbb3869 100644 --- a/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net/adding-class-features.wiki +++ b/documentation/current/platform-specifics/microsoft-windows/net/eiffel-net-language/eiffel-net/adding-class-features.wiki @@ -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]] : -indexing +note description: Objects that model lists revision: $Revision: 1.5 $