Fix for Bug 316628 - [doc] User guide is lacking an entry for the binding editor
diff --git a/plugins/org.eclipse.objectteams.otdt.ui.help/guide/bindingeditor.html b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/bindingeditor.html
new file mode 100644
index 0000000..d50c87a
--- /dev/null
+++ b/plugins/org.eclipse.objectteams.otdt.ui.help/guide/bindingeditor.html
@@ -0,0 +1,67 @@
+<html>
+ <head>
+ <meta name="copyright" content="Copyright Technical University Berlin and others 2004, 2011. This page is made available under the Eclipse Public License v1.0. For full details see http://www.eclipse.org/legal/epl-v10.html" />
+ <link rel=stylesheet type="text/css" href="../css/book.css">
+ <link rel=stylesheet type="text/css" href="otjld/css/ot.css">
+ <link rel=stylesheet type="text/css" href="otguide.css">
+ <style type="text/css">
+ body { margin:10px; }
+ .high { background-color:#a5b7bd;color:white; }
+ .low { background-color:#fff0c8; padding:2px; }
+ .caption { text-decoration:underline; vertical-align:top;position:relative;top:20px; margin-top:10px;}
+ </style>
+ <title>Binding Editor</title>
+ <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ </head>
+ <body>
+ <h1 align="center">Binding Editor</a></h1>
+ The binding editor provides a tabular visualization of all bindings (playedBy, callout, callin) of a given team class.
+ After selecting a team class the binding editor can be invoked using <span class="ui"><img src="../images/calloutbinding_obj.gif">Open Binding Editor</span> from the context menu.
+ <h2>Visualization</h2>
+ The top half of the binding editor consists of three columns: <b>role</b>, <b>binding kind</b>, <b>base</b>.
+ All elements nested in a team or role class can be collapsed/expanded as in other structural views.
+ <img alt="Binding Editor" src="images/screenshots/BindingEditor_FlightBonus.png">
+ <h2>Editing</h2>
+ Bindings can be edited at three levels: <b>types</b>, <b>methods</b>, <b>parameters</b>.
+ Especially, when creating the "Connector" in the <a href="http://wiki.eclipse.org/OTPattern/Connector">Connector Pattern</a>,
+ the binding editor may be all you need, i.e., the full connector definition can be generated using the binding editor
+ with no need to edit source code in the Java editor.
+ <h3>Adding playedBy bindings</h3>
+ When clicking <span class="ui">Add Type Binding</span> you are presented with a twofold type selection dialog.
+ <p>
+ <img alt="Add Type Binding" src="images/screenshots/BindingEditor_AddTypeBinding.png"/>
+ </p>
+ On the left hand side select one of the role types inherited from the super team,
+ on the right hand side select the base class you wish to bind to the role using <code class="keyword">playedBy</code>.
+ When clicking <span class="ui">OK</span> this information will be used for creating a new role class
+ overriding the selected role from the super team and bound to the selected base class.
+ <h3>Adding method bindings</h3>
+ Method bindings are created in the lower half of the binding editor.
+ <p>
+ For creating a <b>callout</b> binding between an existing role method and a base method
+ simply select both methods from the respective lists of Role Methods / Base Methods,
+ also select <span class="ui">-></span> between both lists and click <span class="ui">Apply</span>.<br/>
+ If the selected role method is not abstract, select <span class="ui">=></span> for an overriding callout.</br>
+ For creating a callout binding without an existing role method select <span class="ui"><img src="images/add_correction.gif"> 'New Method()</span>
+ from the left list.
+ </p>
+ <p>
+ For creating a <b>callin</b> binding simply select both methods from the respective lists of Role Methods / Base Methods,
+ also select one of the callin kinds <span class="ui"><- before</span>, <span class="ui"><- replace</span>, or <span class="ui"><- after</span>
+ between both lists and then click <span class="ui">Apply</span>.<br/>
+ </p>
+ <h3>Adding parameter mappings</h3>
+ For creating a parameter mapping first select the method binding, then switch to the tab <span class="ui">Parameter Mapping Configuration</span>.
+ <p>
+ <img alt="Create Parameter Mapping" src="images/screenshots/BindingEditor_ParameterMappings.png"/>
+ </p>
+ Depending on the binding direction enter details in the fields showing either <span class="ui"><-</span> or <span class="ui">-></span>
+ between them.
+ On the target side (where the arrow is pointing to) select one of the declared parameters, on the other side enter a
+ Java expression that can be resolved in the given scope. Don't forget to create each individual parameter mapping using <span class="ui">Apply</span>.
+ <hr/>
+ <p>
+ When closing the binding editor using <span class="ui">OK</span> all pending changes will be generated into the appropriate source file.
+ </p>
+ </body>
+</html>
\ No newline at end of file