Author:admin

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


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

View File

@@ -0,0 +1,20 @@
[[Property:title|Eiffel Scheme Syntax]]
[[Property:weight|0]]
<code>'''eiffel:?<''eiffel-resource''>'''</code>
<''eiffel-resource''> is a combination of following parts, connected by '''&''' if more than one part are required:
* <''systeme''>, in the form of system=to_be_replaced, '''to_be_replaced''' consists of system_name or uuid of the system, or both connected by "'''.'''".
* <''targete''>, in the form of target=to_be_replaced, '''to_be_replaced''' consists of target_name or uuid of the system, or both connected by "'''.'''".
* <''clustere''>, in the form of cluster=to_be_replaced, '''to_be_replaced''' is the name of the cluster.
* <''classe''>, in the form of class=to_be_replaced, '''to_be_replaced''' is the name of the class.
* <''featuree''>, in the form of feature=to_be_replaced, '''to_be_replaced''' is the name of the feature.
{{note| '''Note: '''All parts above are unordered. }}
{{seealso| '''See Also''' <br/>
[[EIS incoming Examples|Examples]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|EIS incoming Examples]]
[[Property:weight|1]]
The following are examples of EIS incoming URIs.
* eiffel:?class=STRING_8&feature=is_equal
* eiffel:?cluster=elks&class=STRING_8&feature=is_equal
* eiffel:?target=base&cluster=elks&class=STRING_8&feature=is_equal
* eiffel:?system=ec.D398E904-E3C8-4F8A-B9E7-6FE493CEA02F&target=base&cluster=elks&class=STRING_8&feature=is_equal
* eiffel:?class=STRING_8
* eiffel:?cluster=elks

View File

@@ -0,0 +1,9 @@
[[Property:title|EIS: Incoming]]
[[Property:weight|3]]
Incoming mechanism is based on URI, and introduces a new URI scheme: '''eiffel'''. By entering the URI into address of a browser, or clicking on the hyper link, an existing EiffelStudio instance or new EiffelStudio instance will try to resolve the URI and display corresponding resources.
* [[Eiffel Scheme Syntax|Eiffel scheme Syntax]]
* [[EIS incoming Examples|Examples]]

View File

@@ -0,0 +1,34 @@
[[Property:title|EIS: Outgoing]]
[[Property:weight|2]]
==Annotations==
Annotations may be applicable to:
* An individual class or feature. In this case the annotation figures in the class text, as part of an Eiffel "note" clause ("indexing" is still supported, it depends on which syntax level users choose).
* A target, library or cluster. In this case the annotation figures in the associated ECF file; EiffelStudio provides support for entering it through a Information (EIS) Tool.
{{seealso| '''See Also''' <br/>
[[Information Tool|Information Tool]] }}
The basic way to specify a dependency is to include such an annotation. The required part of an annotation is:
* The "EIS" marker
However the following parts are suggested:
* The "protocol", indicating the type of external information, and making it possible for EIS to determine the associated external tool. Without the "protocol" part, the source defaults to be web page.
* The source, identification of where to find information itself, for example a URL, or a file name.
==Syntax for Annotations==
The following example illustrates the basic form of an EIS note entry:
<code>EIS: "name=Project Requirement", "src=($PROJ)/docs/requirements.pdf", "protocol=PDF", "nameddest=4.1", "tag=requirement"</code>
The label (Node_entry as called in the ECMA/ISO Eiffel Standard syntax) is '''EIS'''. '''EIS''' Note_value tells the Eiffel Information System that this Note_entry is of interest to EIS, as distinct from any other information that might be expressed through a Note_entry. The file name (src) includes '''$PROJ''', referring to a variable, defining the project location. The protocol is PDF. The '''nameddest''' property (name destination) is a specific property of PDF documents. The tag '''requirement''' indicating that this entry links the enclosing Eiffel class or feature with some parts of the requirement documents.
{{seealso| '''See Also''' <br/>
[[Variable Definition|Variable Definition]] }}
<code><note ise_support="EIS" protocol="pdf" name="Project Requirement" src="($PROJ)/docs/requirements.pdf" nameddest="4.1"/></code>
There is only one major difference here - the attribute '''ise_support'''. '''ise_support''' takes place of label of Node_entry. '''EIS''' plays the same role as the one appears in note entry. '''ise_support''' tells the parser the note element is of interest of tools from ISE rather than other third-party ones. The note element in ECF is supported in [schema 1.4].

View File

@@ -0,0 +1,29 @@
[[Property:title|Annotation Management]]
[[Property:weight|1]]
Information Tool provides information management functions: adding, modifying and removing.
{{note| '''Note: '''Annotation management is only available in lists coresponding to nodes rather than tag nodes - all tags and "Items without tag". }}
==Adding==
For each kind of nodes in the information tree, related annotations are listed in the right annotaton list. At the end of such lists, double clicking the blank line with '''"..."''' in the '''Name''' column creates a new unnamed annotation. One could modify the new entry into what he wants. See the following section '''Modifying'''.
==Modifying==
To modify an annotation, one can use Information Tool or do it by code.
* By Information Tool, a line in the annotation list should be selected, then click into columns and activate editing/choosing mode. Once the editing area/drop down list is deactivated, the modification is done and synchronized into code automatically.
* By code, one simply modifies code in the editor, or .ecf files in external editor (not recommented).
{{seealso| '''See Also''' <br/>
[[EIS: Outgoing|Syntax for Annotations]] }}
==Removing==
By pressing '''Delete''', or clicking the third button on the bottom toolbar deletes all selected annotations in the list. And corresponding code is synchronized.
{{note| '''Note: '''Annotation list can be multi-selected. }}
{{note| All means to manage annotations via the tool are inreversible, except that the location - class or feature - has been opened in the editor, thus undo can be achieved via the editor. Removing is prompted on user demands. The tag tree is automatically updated when annotations are added/modified/removed or through system sweeping. }}

View File

@@ -0,0 +1,52 @@
[[Property:title|Browsing Information]]
[[Property:weight|0]]
[[Image:information-tool]]
==Information Tree==
On the left of the tool window is the information tree. The tree displays all locations where annotations are, as well as a subtree of tags by which annotations can be better organized in tag style. Double clicking or pressing enter on tree nodes opens annotation list corresponding to that node.
The following are types of nodes in the tree can be navigated to:
* Target
* Cluster
* Library
* Class
* Feature
* Targets without tags
* Listed tag
==Annotation List==
Double clicking on the tree node, the annotation list appears on the right of the tool window.
The following columns are available in the list:
* Location - the development object where that piece of annotation belongs to. Typical locations are target, cluster, class and feature.
* Name - the name of the piece of annotation, given by users.
* Protocol - type of the annotation EIS treats.
{{seealso| '''See Also''' <br/>
[[Protocols|Protocols]] }}
* Source - normally the location EIS takes to open. Variables can be used.
* Tags - terms or phrases users use to categrize the piece of information. Tags are separated by '''","'''
* Others - other related attributes. Attributes are separated by '''","'''
{{note| '''Note: '''Only attributes used by '''protocol''' are taken into account. Otherwise, ignored. }}
{{note| '''Hint: '''Clicking on title of each column sorts that column. }}
==Openning Resources==
Information or resources can be opened by either double clicking into the annotation list or pressing enter on it. EIS interpretes available attributes via the given protocol and opens the target resource.
{{note| '''Note: '''Pressing '''F1''' in the editor, a list of all available information pops up, from which information can be accessed too. }}
==Sweeping Information==
Sweeping information synchronizes all information of current system into the tool. This is needed when changes may occur externally and EIS may need to know full information to display a correct list of existing tags. Two ways of sweeping:
* Automatic - EIS automatically sweeps information when Information tool is shown. Enabling the first button on the bottom toolbar activates this function.
* Manual - The second button on the bottom toolbar triggers a manual sweeping.
The progress bar in the bottom of the tool indicates current sweeping progress.

View File

@@ -0,0 +1,8 @@
[[Property:title|Information Tool]]
[[Property:weight|0]]
* [[Browsing Information|Browsing Annotations]]
* [[Annotation Management|Annotation Management]]

View File

@@ -0,0 +1,16 @@
[[Property:title|Protocols]]
[[Property:weight|2]]
EIS supports following protocols now:
*
Raw URL: This protocol does not need to specified. By default, it will be taken if nothing is specified or unknown protocol is specified.
*
PDF: PDF protocol supports three attributes for now. "type" "page" and "nameddest". (Windows only)
** type: "file" is used to open PDF files in PDF reader. Otherwise in a browser.
** page: Specify the page number to navigate to.
** nameddest: Specify the named destination to navigate to.

View File

@@ -0,0 +1,23 @@
[[Property:title|Variable Definition]]
[[Property:weight|3]]
EIS supports following types of variables which can be used in '''Source''' of annotation list.
* EiffelStudio installation built in variables
** ISE_WIKI = http://dev.eiffel.com
** EIFFELROOM = http://www.eiffelroom.com
* Context related built in variables. These variables can be used in specific context. For instance, '''feature_name''' refers to the name of the feature in which annotation is written.
** feature_name
** class_name
** group_name
** target_name
{{note|'''Note: '''This kind of variables can only be used in components that are enclosed in those the variable name refers to. For example, '''feature_name''' has no effect if used in a target component.}}
* Individual system or library preferences. This kind of variables are defined in .ecf files, can be accessed via Project Setting dialog.
{{note|System -> Target -> Advanced -> Variables}}
* Environment variables. Variables defined in the operating system environment.

View File

@@ -0,0 +1,11 @@
[[Property:title|Eiffel Information System]]
[[Property:weight|-2]]
* [[Eiffel Information System: Introduction|Introduction]]
* [[EIS: Incoming|Incoming]]
* [[EIS: Outgoing|Outgoing]]
** [[Information Tool|Information(EIS) Tool]]