More updates to the user guide:
* Bug 302827 - [assist] completion should offer to materialize phantom roles
* Bug 318071 - "Go to Language Definition" should be available along more paths
See also Bug 316703 - [help] update user guide for 0.7.0
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/compilation.html b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/compilation.html
index 87bc131..f2c0eee 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/compilation.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/compilation.html
@@ -36,12 +36,21 @@
Also note that many of these diagnostics can be fixed using a <a href="quickfix.html">quick fix</a>.
<h3>Consulting the language definition on problems</h3>
- <p>When viewing OT/J-specific error/warning messages in the Problems view, the context menu
+ <p>When viewing OT/J-specific error/warning messages in the <b>Problems</b> view, the context menu
offers a <img src="../icons/ot_paragraph.gif"> <span class="ui">Go To Language Definition</span> link,
taking you directly to the paragraph
that defines the rule which is being violated by the compiled source code. For presenting the
language definition the internal HTML-browser is used to allow easy navigation within the
language definition.</p>
- <img title="Language Definition Integrated in the OTDT" src="images/screenshots/langdef.png"/>
+ <img style="margin-left:10px;" title="Language Definition Integrated in the OTDT" src="images/screenshots/langdef.png"/>
+ </p>
+ <p>
+ Alternatively, the same action <span class="ui">Go to Language Definition</span> can be invoked
+ without using the <b>Problems</b> view:
+ <p><u>Using the context menu on the problem marker in the editor's left gutter:</u></p>
+ <img style="margin-left:10px;" title="Language Definition from the left gutter" src="images/screenshots/GoToLangDefGutter.png"/>
+ <p><u>Using a button in the problem hover in the editor:</u></p>
+ <img style="margin-left:10px;" title="Language Definition from the left gutter" src="images/screenshots/GoToLangDefHover.png"/>
+ </p>
</body>
</html>
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/completion.html b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/completion.html
index 2310011..c8f9001 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/completion.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/completion.html
@@ -15,18 +15,31 @@
<body>
<h1 align="center">OT/J code completion<a name="completion"></a></h1>
<u>On this page:</u>
- <br /><a href="#completeBase">1. Completing a role's base class</a>
- <br /><a href="#completeMapping">2. Creating callout/callin method bindings</a>
- <br /><a href="#completeCall">3. Completing special method calls</a>
- <br /><a href="#completeTemplate">4. Completion templates</a>
+ <br /><a href="#completeRole">1. Overriding an inherited role class</a>
+ <br /><a href="#completeBase">2. Completing a role's base class</a>
+ <br /><a href="#completeMapping">3. Creating callout/callin method bindings</a>
+ <br /><a href="#completeCall">4. Completing special method calls</a>
+ <br /><a href="#completeTemplate">5. Completion templates</a>
+
+ <h2><a name="completeRole">1. Overriding an inherited role class</a></h2>
+ Simply by typing <code class="ui">Ctrl-Space</code> in the body of a team class that inherits from another team, completion proposes
+ to create a role declaration overriding any inherited role from the super team (<a href="otjld/def/s1.html#s1.3.1.c"><img src="../icons/ot_paragraph.gif"> 1.3.1(c).</a>).
- <h2><a name="completeBase">1. Completing a role's base class</a></h2>
+ <p>
+ So selecting this proposal:<br>
+ <img style="margin:10px;margin-left:25px;" src="images/screenshots/OverrideRole.png"><br>
+ will create this declaration:
+ <pre style="margin-left:25px;"><code style="color:#606060;">@Override</code>
+<code class="keyword">protected class</code> <code>Subscriber {
+}</code></pre>
+
+ <h2><a name="completeBase">2. Completing a role's base class</a></h2>
When expanding the base type after the keyword <code class="keyword">playedBy</code>,
completion will also generate an "<code class="keyword">import <strong>base</strong> ...</code>" declaration
(<a href="otjld/def/s2.html#s2.1.2.d"><img src="../icons/ot_paragraph.gif"> 2.1.2(d)</a>), if needed.
- <h2><a name="completeMapping">2. Creating callout/callin method bindings</a></h2>
+ <h2><a name="completeMapping">3. Creating callout/callin method bindings</a></h2>
Specific support for code completion exists to facilitate the creation of <b>callout</b> (<a href="otjld/def/s3.html"><img src="../icons/ot_paragraph.gif"> 3.</a>) and <b>callin</b> (<a href="otjld/def/s4.html"><img src="../icons/ot_paragraph.gif"> 4.</a>) method bindings.<br />
Completion can be used for
@@ -36,7 +49,7 @@
<li><a href="#correct">Corrections after callin creation.</a>
</ul>
- <h3><a name="full">2.1 Creating full method bindings (callout/callin)</a></h3>
+ <h3><a name="full">3.1 Creating full method bindings (callout/callin)</a></h3>
Just activating the completion anywhere in the body of a role class allows you to create a full callout or callin binding to an existing base method (or field — "callout to field", see <a href="otjld/def/s3.html#s3.5"><img src="../icons/ot_paragraph.gif"> 3.5</a>).<br />
<table>
<tr><td colspan=2>
@@ -48,7 +61,7 @@
<tr><td class="caption">c) Select the binding kind.</td>
<td><img src="images/screenshots/complete_binding_3.png">
</table>
- <h4>2.1.1 Creating callout to field</h4>
+ <h4>3.1.1 Creating callout to field</h4>
<p>
Two additional kinds of callouts can be generated, by typing "<code>get</code>" or "<code>set</code>" before invoking completion:
<table class="border" cellpadding=3>
@@ -59,14 +72,14 @@
<td>Create a callout to field <i>setter</i>.
</table>
</p>
- <h4>2.1.2 Mapping signatures using lifting/lowering</h4>
+ <h4>3.1.2 Mapping signatures using lifting/lowering</h4>
<p>
When binding to a base method/field, whose signature contains other base types for which a bound role exists in the current team,
completion lets you select whether the role side of the binding should use base or role types.
If role types are selected, they will be conform to the corresponding base type by implicitly using lifting (<a href="otjld/def/s2.html#s2.3"><img src="../icons/ot_paragraph.gif"> 2.3</a>) or lowering (<a href="otjld/def/s2.html#s2.2"><img src="../icons/ot_paragraph.gif"> 2.2</a>).
</p>
- <h3><a name="partial">2.2 Completing partial callin/callout bindings</a></h3>
+ <h3><a name="partial">3.2 Completing partial callin/callout bindings</a></h3>
<p>
If a callin or callout binding has been typed up-to and including the "<code class="keyword"><-</code>" or "<code class="keyword">-></code>" token, completion can be used to expand the right hand side specifying the base method or field. For callin bindings you may optionally first type the callin modifier (<code class="keyword">before, replace</code> or <code class="keyword">after</code>). Otherwise you will be prompted for the desired callin modifier.
In this case the proposed modifier is inferred to match the bound base method:<br />
@@ -77,7 +90,7 @@
</p><p>
Normally, after "<code class="keyword">-></code>" (as well as for "<code class="keyword"><-</code>") completion will try to expand a base <i>method</i>, if for a callout one of the modifiers <code>get</code> or <code>set</code> has been typed, a <i>field</i> is searched instead.
- <h3><a name="correct">2.3 Corrections after callin creation</a></h3>
+ <h3><a name="correct">3.3 Corrections after callin creation</a></h3>
After generating a callin binding using completion, the following two corrections might be especially helpful:
<ul>
<li>Adjusting the role method's <code class="keyword">callin</code> modifier, to match the binding's callin modifier.
@@ -85,13 +98,13 @@
</ul>
Both corrections can easily be performed by a <a href="quickfix.html">quickfix</a> offered on the erroneous role method spec.
- <h2><a name="completeCall">3. Completing special method calls</a></h2>
+ <h2><a name="completeCall">4. Completing special method calls</a></h2>
<ul>
<li>After <code class="keyword">base.</code> (<a href="otjld/def/s4.html#s4.3"><img src="../icons/ot_paragraph.gif"> 4.3</a>) and <code class="keyword">tsuper.</code> (<a href="otjld/def/s1.html#s1.3.1.f"><img src="../icons/ot_paragraph.gif"> 1.3.1(f)</a>) completion offers only those methods that are actually legal in this context,
which in bose cases implies the same name and signature as the surrounding role (callin) method.</li>
<li>Completion also offers calls to members of the bound base class which are implicitly available using <b>inferred callout</b> (<a href="otjld/def/s3.html#s3.1.j"><img src="../icons/ot_paragraph.gif"> 3.1(j)</a>, <a href="otjld/def/s3.html#s3.5.h"><img src="../icons/ot_paragraph.gif"> 3.5(h)</a>)
</ul>
- <h2><a name="completeTemplate">4. Completion templates</a></h2>
+ <h2><a name="completeTemplate">5. Completion templates</a></h2>
Content assist in the
form of <a href="/help/topic/org.eclipse.jdt.doc.user/concepts/ctemplates.htm">
templates</a> exists for a few specific OT/J language constructs like <span class="low"><code class="keyword">within</code> (<i>Expression</i>)</span>.
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/develop.html b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/develop.html
index 5f1dd62..18ad11d 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/develop.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/develop.html
@@ -26,7 +26,7 @@
<ul style="margin-bottom:0px">
<li>Syntax highlighting, <a href="editor.html#navigation">navigation</a>, <a href="contentassist.html">content/code assist</a>, <a href="callinmarker.html">base code annotations</a></li>
<li>A table based <b>Binding Editor</b> specifically supports the creation of <i>connectors</i></li>
- <li><a href="methodcompare.html">Comparing bound methods</a></li>
+ <li><a href="methodcompare.html"><b>Comparing</b></a> bound methods to facilitate co-evolution of a role with its base</li>
<li><a href="refactoring.html"><b>Refactoring</b></a> Object Teams programs</li>
</ul></li>
<li>Object Teams <b>structural/navigational views</b> (<a href="packageexplorer.html">package explorer</a>, type hierarchy, outline)</li>
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefGutter.png b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefGutter.png
new file mode 100644
index 0000000..5a86a56
--- /dev/null
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefGutter.png
Binary files differ
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefHover.png b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefHover.png
new file mode 100644
index 0000000..a4f9a3c
--- /dev/null
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/GoToLangDefHover.png
Binary files differ
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/OverrideRole.png b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/OverrideRole.png
new file mode 100644
index 0000000..2da53a1
--- /dev/null
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/images/screenshots/OverrideRole.png
Binary files differ
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/toc.xml b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/toc.xml
index e4034c3..6e489fa 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/toc.xml
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/toc.xml
@@ -13,15 +13,18 @@
<topic label="OT/J content/code assist" href="guide/contentassist.html">
<topic label="OT/J code completion" href="guide/completion.html"/>
<topic label="OT/J quick fixes" href="guide/quickfix.html"/>
+ <topic label="OT/J quick assists" href="guide/quickassist.html"/>
</topic>
<topic label="Binding markers" href="guide/callinmarker.html"/>
+ <topic label="Comparing bound methods" href="guide/methodcompare.html"/>
+ <topic label="Refactoring Object Teams programs" href="guide/refactoring.html"/>
</topic>
<topic label="Object Teams structural/navigational views" href="guide/views.html">
<topic label="OT/J package explorer" href="guide/packageexplorer.html"/>
<topic label="OT/J outline" href="guide/outline.html"/>
<topic label="OT/J type hierarchy" href="guide/typehierarchy.html"/>
- <topic href="guide/callhierarchy.html" label="Call hierarchy extended for OT/J">
- </topic>
+ <topic label="Call hierarchy extended for OT/J" href="guide/callhierarchy.html">
+ </topic>
</topic>
<topic label="Compiling Object Teams programs" href="guide/compilation.html">
<topic label="Java builder extended for Object Teams" href="guide/builder.html"/>
@@ -31,7 +34,6 @@
<topic label="Team monitor view" href="guide/teammonitor.html"/>
<topic label="Stepping through OT/J code" href="guide/stepping.html"/>
</topic>
- <topic label="Refactoring Object Teams programs" href="guide/refactoring.html"/>
</topic>
<topic label="Object Teams Language Definition" href="/org.eclipse.objectteams.otdt.ui.help/guide/otjld/def/index.html">
<topic label="Teams and Roles" href="/org.eclipse.objectteams.otdt.ui.help/guide/otjld/def/s1.html"/>
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/webindex.html b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/webindex.html
index eb1cda3..5268f8e 100644
--- a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/webindex.html
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/webindex.html
@@ -26,9 +26,12 @@
<ul>
<li><a href="completion.html">OT/J completion</a></li>
<li><a href="quickfix.html">OT/J quick fixes</a></li>
+ <li><a href="quickassist.html">OT/J quick assists</a></li>
</ul>
</li>
<li><a href="callinmarker.html">Callin marker</a></li>
+ <li><a href="methodcompare.html">Comparing bound methods</a></li>
+ <li><a href="refactoring.html">Refactoring Object Teams programs</a></li>
</ul></li>
<li><a href="views.html">Object Teams structural/navigational views</a>
<ul>
@@ -48,7 +51,6 @@
<li><a href="stepping.html">Stepping through callin bindings</a></li>
</ul>
</li>
- <li><a href="refactoring.html">Refactoring Object Teams programs</a></li>
</li></ul>
<li><a href="otjld/def/index.html">Object Teams Language Definition</a></li>
</ul>