Introduce the TutorialCollapseDummyFeature
diff --git a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
index 429b053..876895e 100644
--- a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
+++ b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/context-buttons.htm
@@ -27,7 +27,7 @@
font-size:12.0pt;
font-family:"Times New Roman","serif";}
h1
- {mso-style-link:"Heading 1 Char";
+ {mso-style-link:"Überschrift 1 Zchn";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.0pt;
@@ -37,7 +37,7 @@
font-family:"Times New Roman","serif";
font-weight:bold;}
h2
- {mso-style-link:"Heading 2 Char";
+ {mso-style-link:"Überschrift 2 Zchn";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.0pt;
@@ -48,7 +48,7 @@
font-weight:bold;
font-style:italic;}
h3
- {mso-style-link:"Heading 3 Char";
+ {mso-style-link:"Überschrift 3 Zchn";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.0pt;
@@ -58,7 +58,7 @@
font-family:"Times New Roman","serif";
font-weight:bold;}
h4
- {mso-style-link:"Heading 4 Char";
+ {mso-style-link:"Überschrift 4 Zchn";
margin-top:11.25pt;
margin-right:0cm;
margin-bottom:1.7pt;
@@ -68,14 +68,14 @@
font-weight:bold;
font-style:italic;}
h5
- {mso-style-link:"Heading 5 Char";
+ {mso-style-link:"Überschrift 5 Zchn";
margin-right:0cm;
margin-left:0cm;
font-size:10.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
h6
- {mso-style-link:"Heading 6 Char";
+ {mso-style-link:"Überschrift 6 Zchn";
margin-right:0cm;
margin-left:0cm;
font-size:7.5pt;
@@ -96,6 +96,12 @@
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
+p.MsoDocumentMap, li.MsoDocumentMap, div.MsoDocumentMap
+ {mso-style-link:"Dokumentstruktur Zchn";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:8.0pt;
+ font-family:"Tahoma","sans-serif";}
p
{margin-top:5.65pt;
margin-right:0cm;
@@ -104,7 +110,7 @@
font-size:12.0pt;
font-family:"Times New Roman","serif";}
pre
- {mso-style-link:"HTML Preformatted Char";
+ {mso-style-link:"HTML Vorformatiert Zchn";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
@@ -113,54 +119,54 @@
font-size:11.0pt;
font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
- {mso-style-link:"Balloon Text Char";
+ {mso-style-link:"Sprechblasentext Zchn";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
-span.Heading1Char
- {mso-style-name:"Heading 1 Char";
- mso-style-link:"Heading 1";
+span.berschrift1Zchn
+ {mso-style-name:"Überschrift 1 Zchn";
+ mso-style-link:"Überschrift 1";
font-family:"Cambria","serif";
color:#365F91;
font-weight:bold;}
-span.Heading2Char
- {mso-style-name:"Heading 2 Char";
- mso-style-link:"Heading 2";
+span.berschrift2Zchn
+ {mso-style-name:"Überschrift 2 Zchn";
+ mso-style-link:"Überschrift 2";
font-family:"Cambria","serif";
color:#4F81BD;
font-weight:bold;}
-span.Heading3Char
- {mso-style-name:"Heading 3 Char";
- mso-style-link:"Heading 3";
+span.berschrift3Zchn
+ {mso-style-name:"Überschrift 3 Zchn";
+ mso-style-link:"Überschrift 3";
font-family:"Cambria","serif";
color:#4F81BD;
font-weight:bold;}
-span.Heading4Char
- {mso-style-name:"Heading 4 Char";
- mso-style-link:"Heading 4";
+span.berschrift4Zchn
+ {mso-style-name:"Überschrift 4 Zchn";
+ mso-style-link:"Überschrift 4";
font-family:"Cambria","serif";
color:#4F81BD;
font-weight:bold;
font-style:italic;}
-span.Heading5Char
- {mso-style-name:"Heading 5 Char";
- mso-style-link:"Heading 5";
+span.berschrift5Zchn
+ {mso-style-name:"Überschrift 5 Zchn";
+ mso-style-link:"Überschrift 5";
font-family:"Cambria","serif";
color:#243F60;}
-span.Heading6Char
- {mso-style-name:"Heading 6 Char";
- mso-style-link:"Heading 6";
+span.berschrift6Zchn
+ {mso-style-name:"Überschrift 6 Zchn";
+ mso-style-link:"Überschrift 6";
font-family:"Cambria","serif";
color:#243F60;
font-style:italic;}
-span.HTMLPreformattedChar
- {mso-style-name:"HTML Preformatted Char";
- mso-style-link:"HTML Preformatted";
+span.HTMLVorformatiertZchn
+ {mso-style-name:"HTML Vorformatiert Zchn";
+ mso-style-link:"HTML Vorformatiert";
font-family:Consolas;}
-span.BalloonTextChar
- {mso-style-name:"Balloon Text Char";
- mso-style-link:"Balloon Text";
+span.SprechblasentextZchn
+ {mso-style-name:"Sprechblasentext Zchn";
+ mso-style-link:Sprechblasentext;
font-family:"Tahoma","sans-serif";}
p.code, li.code, div.code
{mso-style-name:code;
@@ -197,6 +203,106 @@
font-size:12.0pt;
font-family:"Times New Roman","serif";
font-weight:bold;}
+p.Heading1, li.Heading1, div.Heading1
+ {mso-style-name:"Heading 1";
+ mso-style-link:"Heading 1 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading1Char
+ {mso-style-name:"Heading 1 Char";
+ mso-style-link:"Heading 1";
+ font-family:"Cambria","serif";
+ color:#365F91;
+ font-weight:bold;}
+p.Heading2, li.Heading2, div.Heading2
+ {mso-style-name:"Heading 2";
+ mso-style-link:"Heading 2 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading2Char
+ {mso-style-name:"Heading 2 Char";
+ mso-style-link:"Heading 2";
+ font-family:"Cambria","serif";
+ color:#4F81BD;
+ font-weight:bold;}
+p.Heading3, li.Heading3, div.Heading3
+ {mso-style-name:"Heading 3";
+ mso-style-link:"Heading 3 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading3Char
+ {mso-style-name:"Heading 3 Char";
+ mso-style-link:"Heading 3";
+ font-family:"Cambria","serif";
+ color:#4F81BD;
+ font-weight:bold;}
+p.Heading4, li.Heading4, div.Heading4
+ {mso-style-name:"Heading 4";
+ mso-style-link:"Heading 4 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading4Char
+ {mso-style-name:"Heading 4 Char";
+ mso-style-link:"Heading 4";
+ font-family:"Cambria","serif";
+ color:#4F81BD;
+ font-weight:bold;
+ font-style:italic;}
+p.Heading5, li.Heading5, div.Heading5
+ {mso-style-name:"Heading 5";
+ mso-style-link:"Heading 5 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading5Char
+ {mso-style-name:"Heading 5 Char";
+ mso-style-link:"Heading 5";
+ font-family:"Cambria","serif";
+ color:#243F60;}
+p.Heading6, li.Heading6, div.Heading6
+ {mso-style-name:"Heading 6";
+ mso-style-link:"Heading 6 Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.Heading6Char
+ {mso-style-name:"Heading 6 Char";
+ mso-style-link:"Heading 6";
+ font-family:"Cambria","serif";
+ color:#243F60;
+ font-style:italic;}
+p.HTMLPreformatted, li.HTMLPreformatted, div.HTMLPreformatted
+ {mso-style-name:"HTML Preformatted";
+ mso-style-link:"HTML Preformatted Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.HTMLPreformattedChar
+ {mso-style-name:"HTML Preformatted Char";
+ mso-style-link:"HTML Preformatted";
+ font-family:Consolas;}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ mso-style-link:"Balloon Text Char";
+ margin:0cm;
+ margin-bottom:.0001pt;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";}
+span.BalloonTextChar
+ {mso-style-name:"Balloon Text Char";
+ mso-style-link:"Balloon Text";
+ font-family:"Tahoma","sans-serif";}
span.heading1char0
{mso-style-name:heading1char;
font-family:"Cambria","serif";
@@ -242,13 +348,17 @@
span.code2
{mso-style-name:code2;
font-style:italic;}
+span.DokumentstrukturZchn
+ {mso-style-name:"Dokumentstruktur Zchn";
+ mso-style-link:Dokumentstruktur;
+ font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{font-size:10.0pt;}
-@page Section1
+@page WordSection1
{size:595.45pt 841.7pt;
margin:72.0pt 89.85pt 72.0pt 89.85pt;}
-div.Section1
- {page:Section1;}
+div.WordSection1
+ {page:WordSection1;}
/* List Definitions */
ol
{margin-bottom:0cm;}
@@ -261,11 +371,10 @@
<body bgcolor=white lang=DE link=blue vlink=purple style='margin-bottom:12.0pt'>
-<div class=Section1>
+<div class=WordSection1>
-<h1><a name="_Toc179099521"><span lang=EN-GB>Providing </span></a>
-<span lang="en-gb">C</span><span
-lang=EN-GB>ontext Buttons</span></h1>
+<h1><a name="_Toc179099521"><span lang=EN-GB>Providing </span></a><span
+lang=EN-GB>Context Buttons</span></h1>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
@@ -274,9 +383,9 @@
element in the diagram.</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>They are shown along
-the borders of a pictogram element when the mouse is positioned on that
-pictogram element. They are hidden again when the mouse is positioned outside
-the area built by the pictogram element and the context buttons.</span></p>
+the borders of a pictogram element when the mouse is positioned on that pictogram
+element. They are hidden again when the mouse is positioned outside the area
+built by the pictogram element and the context buttons.</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>Context buttons can
provide the same functionality as a <a href="context-menu.htm">context menu</a>,
@@ -309,8 +418,8 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<p class=MsoNormal><span lang=EN-GB style='color:black'>There are different groups
-of context buttons:</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>There are different
+groups of context buttons:</span></p>
<ul style='margin-top:0cm' type=disc>
<li class=MsoNormal style='color:black'><span lang=EN-GB>Generic context
@@ -333,9 +442,9 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>The following
-restrictions are defined by usibility engineers of SAP AG (but currently not checked technically): there
-can be 0-3 generic context buttons, 0-5 domain specific context buttons and 0-1
-collapse context button.</span></p>
+restrictions are defined by usability engineers of SAP AG (but currently not
+checked technically): there can be 0-3 generic context buttons, 0-5 domain
+specific context buttons and 0-1 collapse context button.</span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
@@ -344,15 +453,15 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'>Each context button can
have one click-feature, which is executed when clicking the context-button,
-and/or several drag&drop features, which are executed when the user starts
-dragging a connection from the context button. If several drag&drop
+and/or several drag & drop features, which are executed when the user
+starts dragging a connection from the context button. If several drag & drop
features are available, a context-menu will be offered to the user when he
drops the connection, and he can choose the feature to execute.</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>In this example we want
to create one context button, which offers all available <a
-href="create-connection-feature.htm">create connection features</a> as
-drag&drop features, but has no click-feature. </span></p>
+href="create-connection-feature.htm">create connection features</a> as drag &
+drop features, but has no click-feature. </span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
@@ -371,15 +480,15 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<p class=MsoNormal><span lang=EN-GB style='color:black'>You can see the
-complete implementation of the context button here:</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>You can see the complete
+implementation of the context button here:</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
style='width:18.0cm;border-collapse:collapse'>
<tr>
- <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
@@ -391,7 +500,8 @@
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:black'> IContextButtonPadData getContextButtonPad(</span></p>
+ font-family:"Courier New";color:black'> IContextButtonPadData
+ getContextButtonPad(</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
IPictogramElementContext context) {</span></p>
@@ -433,7 +543,7 @@
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#3F7F5F'>// simply use the first custom feature (senseless example)</span></p>
+ color:#3F7F5F'>// simply use a dummy custom feature (senseless example)</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
CustomContext cc = </span><b><span lang=EN-US style='font-size:10.0pt;
@@ -446,31 +556,46 @@
style='font-size:10.0pt;font-family:"Courier New";color:black'>
ICustomFeature[] cf = getFeatureProvider().getCustomFeatures(cc);</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#7F0055'>if</span></b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:black'> (cf.</span><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>length</span><span
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>for</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> (</span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>int</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> i
+ = 0; i < cf.</span><span lang=EN-US style='font-size:10.0pt;font-family:
+ "Courier New";color:#0000C0'>length</span><span lang=EN-US style='font-size:
+ 10.0pt;font-family:"Courier New";color:black'>; i++) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> ICustomFeature
+ iCustomFeature = cf[i];</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
- >= 1) {</span></p>
+ (iCustomFeature </span><b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:#7F0055'>instanceof</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ TutorialCollapseDummyFeature) {</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- IContextButtonEntry collapseButton = ContextEntryHelper</span></p>
- <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- .<i>createCollapseContextButton</i>(</span><b><span
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ IContextButtonEntry collapseButton = ContextEntryHelper.<br>
+ <i>createCollapseContextButton</i>(</span><b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>true</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>,
- cf[0], cc);</span></p>
+ iCustomFeature, cc);</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
data.setCollapseContextButton(collapseButton);</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- }</span></p>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>break</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'>;</span><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'><br>
+ <span style='color:black'>}</span></span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span></p>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'><br>
+ </span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -517,8 +642,8 @@
color:#7F0055'>else</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
- lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
- (pe </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> (pe
+ </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>instanceof</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Courier New";color:black'> AnchorContainer) {</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
@@ -529,7 +654,8 @@
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><span lang=FR style='font-size:10.0pt;font-family:"Courier New";
color:black'>anchor = Graphiti.getPeService()<br>
- .<i>getChopboxAnchor</i>((AnchorContainer) pe);</span></p>
+
+ .<i>getChopboxAnchor</i>((AnchorContainer) pe);</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=FR
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -591,7 +717,8 @@
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#3F7F5F'>// 3.c. add context button, if it contains at least one feature</span></p>
+ color:#3F7F5F'>// 3.c. add context button, if it contains at least one
+ feature</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -622,10 +749,12 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<p class=MsoNormal><span lang=EN-GB style='color:black'>The implementation of <i>
-MyTutorialImageProvider</i> can be found <a href="images.htm">here</a>. </span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>The implementation of <i>MyTutorialImageProvider</i>
+can be found <a href="images.htm">here</a>. The implementation of the <i>TutorialCollapseDummyFeature</i>
+can be found at <a href="#_Implementation_of_the">the end of this page</a>.</span></p>
-<p class=MsoNormal> </p>
+<p class=MsoNormal><span lang=EN-US> </span></p>
+
<p class=MsoNormal><span lang=EN-US>The context button entries contain
information about icon, display text and tooltip description.</span></p>
@@ -667,29 +796,301 @@
</ol>
<ol style='margin-top:0cm' start=1 type=1>
- <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
- only one create connection feature for the EClass exists, then the
- association will be created immediately.</span></li>
- <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
- several create connection features for the EClass exist, then a context-menu
- will be shown to the user, where he can choose the feature to execute.
- Tip: if you have only one create connection feature you can try this
- behaviour by simply duplicating the line </span><span lang=EN-GB
- style='font-size:10.0pt;font-family:"Courier New"'>button.addDragAndDropFeature(feature);</span><span
- lang=EN-GB>.</span></li>
+ <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
+ only one create connection feature for the EClass exists, then the
+ association will be created immediately.</span></li>
+ <li class=MsoNormal style='color:black;text-align:justify'><span lang=EN-GB>If
+ several create connection features for the EClass exist, then a
+ context-menu will be shown to the user, where he can choose the feature to
+ execute. Tip: if you have only one create connection feature you can try
+ this behaviour by simply duplicating the line </span><span lang=EN-GB
+ style='font-size:10.0pt;font-family:"Courier New"'>button.addDragAndDropFeature(feature);</span><span
+ lang=EN-GB>.</span></li>
</ol>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<p class=MsoNormal><span lang=EN-GB style='color:black'>Note, that our implementation
-of the create connection feature does not allow a connection, if the source and
-target business object are identical. If you have two different shapes
-associated with the same business object (e.g. via copy & paste), then
-creating a connection between them is not possible.</span></p>
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Note, that our
+implementation of the create connection feature does not allow a connection, if
+the source and target business object are identical. If you have two different
+shapes associated with the same business object (e.g. via copy & paste),
+then creating a connection between them is not possible.</span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
+
+<h2><a name="_Implementation_of_the"></a><span lang=EN-GB>Implementation of the
+TutorialCollapseDummyFeature</span></h2>
+
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
+ style='width:18.0cm;border-collapse:collapse'>
+ <tr>
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> <span
+ style='color:black'> </span></span></p>
+ <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
+ "Courier New";color:#7F0055'>package</span></b><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ org.eclipse.graphiti.examples.tutorial.features;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><b><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'> </span></b></p>
+ <p class=MsoNormal style='text-autospace:none'><b><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>class</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ TutorialCollapseDummyFeature </span><b><span lang=EN-US style='font-size:
+ 10.0pt;font-family:"Courier New";color:#7F0055'>extends</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ AbstractCustomFeature {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ TutorialCollapseDummyFeature(IFeatureProvider fp) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>super</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>(fp);</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'><br>
+ <span style='color:black'>}</span></span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> canExecute(ICustomContext
+ context) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ret = </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>false</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> PictogramElement[]
+ pes = context.getPictogramElements();</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>if</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ (pes != </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>null</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'> && pes.</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#0000C0'>length</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> ==
+ 1) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ Object bo = getBusinessObjectForPictogramElement(pes[0]);</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>if</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'> (bo </span><b><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>instanceof</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ EClass) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ret = </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>true</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ret;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ String getName() {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>"Collapse"</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ String getDescription() {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>"Collapse
+ Figure"</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ String getImageId() {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ IPlatformImageConstants.</span><i><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:#0000C0'>IMG_EDIT_COLLAPSE</span></i><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ isAvailable(IContext context) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>true</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New"'> </span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>void</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ execute(ICustomContext context) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> MessageDialog.openInformation(PlatformUI.<i>getWorkbench</i>()<br>
+ .getActiveWorkbenchWindow().getShell(), </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>"Information"</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>,</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#2A00FF'>"The
+ 'Collapse Feature' is intentionally not implemented yet."</span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>);</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
+ font-family:"Courier New";color:black'>}</span><span style='font-size:10.0pt;
+ font-family:"Courier New";color:black'> </span></p>
+ </td>
+ </tr>
+</table>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature provider
+has to deliver our newly created custom feature (overwrite the method </span><span
+class=code1><span lang=EN-US style='color:black'><a
+href="../../../javadoc/org/eclipse/graphiti/features/IFeatureProvider.html#getCustomFeatures(org.eclipse.graphiti.features.context.ICustomContext)"><span
+style='font-style:normal'>getCustomFeatures</span></a></span></span><span
+class=code1><span lang=EN-US style='color:black;font-style:normal'>)</span></span><i><span
+lang=EN-GB style='color:black'>. </span></i></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'>This implementation can
+be seen here:</span></p>
+
+<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
+
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
+ style='width:18.0cm;border-collapse:collapse'>
+ <tr>
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ padding:0cm 5.4pt 0cm 5.4pt'>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:#646464'> @Override</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ICustomFeature[] getCustomFeatures(ICustomContext context) {</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ICustomFeature[] </span><span lang=EN-US style='font-size:10.0pt;font-family:
+ "Courier New"'><br>
+ <span style='color:black'>{ </span><b><span
+ style='color:#7F0055'>new</span></b><span style='color:black'>
+ TutorialRenameEClassFeature(</span><b><span style='color:#7F0055'>this</span></b><span
+ style='color:black'>),</span></span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'> TutorialCollapseDummyFeature(</span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)};</span></p>
+ <p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:black'> }</span></p>
+ </td>
+ </tr>
+</table>
+
+<p class=MsoNormal><span lang=EN-US> </span></p>
+
+<div class=MsoNormal align=center style='text-align:center'>
+
+<hr size=2 width="100%" align=center>
</div>
-<hr>
- <a href="http://www.eclipse.org/legal/epl-v10.html" shape="rect">Copyright (c) SAP AG 2005, 2010.</a>
+
+<p class=MsoNormal><a href="http://www.eclipse.org/legal/epl-v10.html"
+shape=rect><span lang=EN-US>Copyright (c) SAP AG 2005, 2010.</span></a> </p>
+
+</div>
</body>
diff --git a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
index 3ec1e21..e80eab2 100644
--- a/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
+++ b/examples/org.eclipse.graphiti.doc/resources/docu/gfw/drill-down.htm
@@ -12,6 +12,9 @@
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
+ {font-family:Cambria;
+ panose-1:2 4 5 3 5 4 6 3 2 4;}
+@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
@@ -168,6 +171,23 @@
font-size:13.0pt;
font-family:"Times New Roman","serif";
font-style:italic;}
+p.comment, li.comment, div.comment
+ {mso-style-name:comment;
+ margin-top:5.65pt;
+ margin-right:0cm;
+ margin-bottom:5.65pt;
+ margin-left:0cm;
+ font-size:12.0pt;
+ font-family:"Times New Roman","serif";
+ font-weight:bold;}
+p.msochpdefault, li.msochpdefault, div.msochpdefault
+ {mso-style-name:msochpdefault;
+ margin-top:5.65pt;
+ margin-right:0cm;
+ margin-bottom:5.65pt;
+ margin-left:0cm;
+ font-size:10.0pt;
+ font-family:"Times New Roman","serif";}
span.heading2char
{mso-style-name:heading2char;
font-family:"Arial","sans-serif";
@@ -182,11 +202,11 @@
font-style:italic;}
.MsoChpDefault
{font-size:10.0pt;}
-@page Section1
+@page WordSection1
{size:595.45pt 841.7pt;
margin:72.0pt 89.85pt 72.0pt 89.85pt;}
-div.Section1
- {page:Section1;}
+div.WordSection1
+ {page:WordSection1;}
/* List Definitions */
ol
{margin-bottom:0cm;}
@@ -199,7 +219,7 @@
<body bgcolor=white lang=DE link=blue vlink=purple style='margin-bottom:12.0pt'>
-<div class=Section1>
+<div class=WordSection1>
<h1><a name="_Toc179099520"><span lang=EN-GB>Providing </span></a><span
lang=EN-GB>Drill-Down Behavior</span></h1>
@@ -208,10 +228,10 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'>Often the information
which is shown in a diagram has a certain abstraction level, and the further
-details are shown in a separate diagram. For example if a workflow connects
-several sub-workflows, then one overview-diagram might show the complete
-workflow without the inner details of the sub-workflows, and several
-detail-diagrams show the inner details of each sub-workflow.</span></p>
+details are shown in a separate diagram. For example if a workflow connects several
+sub-workflows, then one overview-diagram might show the complete workflow
+without the inner details of the sub-workflows, and several detail-diagrams
+show the inner details of each sub-workflow.</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>In this case the user
wants to have an easy possibility to navigate from the overview-diagram into
@@ -259,12 +279,10 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'>The functionality of
-the AbstractDrillDownFeature is not tool-independent, so the method <i>
-getDiagrams()</i> can be implemented </span>
-<span lang=EN-GB style='color:black'>only</span><span lang=EN-GB style='color:black'>
-by the tool </span><span lang=EN-GB style='color:black'>efficiently</span><span lang=EN-GB style='color:black'>.
-Furthermore we just overwrite the <i>canExecute</i>() method,
-so that the feature is only enabled if exactly one EClass is selected.</span></p>
+the AbstractDrillDownFeature is not tool-independent, so the method <i>getDiagrams()</i>
+can be implemented only by the tool efficiently. Furthermore we just overwrite
+the <i>canExecute</i>() method, so that the feature is only enabled if exactly
+one EClass is selected.</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
@@ -273,10 +291,10 @@
<p class=MsoNormal><span lang=EN-US> </span></p>
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
style='width:18.0cm;border-collapse:collapse'>
<tr>
- <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
style='color:black'> </span></p>
@@ -301,8 +319,8 @@
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:black'>
- TutorialDrillDownEClassFeature(IFeatureProvider fp) {</span></p>
+ font-family:"Courier New";color:black'> TutorialDrillDownEClassFeature(IFeatureProvider
+ fp) {</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -427,8 +445,8 @@
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>;</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><span style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
- <p class=MsoNormal style='text-autospace:none'> </p>
+ }</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US> </span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#646464'> @Override</span></p>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
@@ -485,21 +503,19 @@
<p class=MsoNormal><span lang=EN-US> </span></p>
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
style='width:18.0cm;border-collapse:collapse'>
<tr>
- <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'> </span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span></p>
- <p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
- "Courier New";color:#7F0055'>package </span></b><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New"'>org.eclipse.graphiti.examples.tutorial<b>;<br>
- <br>
- </b></span></p>
+ <p class=MsoNormal style='margin-bottom:12.0pt'><b><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>package </span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>org.eclipse.graphiti.examples.tutorial<b>;</b></span></p>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:#7F0055'>public</span></b><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New"'> <b><span
@@ -516,8 +532,8 @@
List<IFile> files = <i>getDiagramFiles</i>(p);</span></p>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:#7F0055'> final</span></b><span
- lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'> List<Diagram>
- diagramList = <b><span style='color:#7F0055'>new</span></b>
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>
+ List<Diagram> diagramList = <b><span style='color:#7F0055'>new</span></b>
ArrayList<Diagram>();</span></p>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:#7F0055'> final</span></b><span
@@ -550,8 +566,8 @@
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:#7F0055'> private</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'> <b><span
- style='color:#7F0055'>static</span></b> List<IFile>
- getDiagramFiles(IContainer folder) {</span></p>
+ style='color:#7F0055'>static</span></b> List<IFile> getDiagramFiles(IContainer
+ folder) {</span></p>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:#7F0055'> final</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>
@@ -715,10 +731,10 @@
<p class=MsoNormal><span lang=EN-US> </span></p>
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
style='width:18.0cm;border-collapse:collapse'>
<tr>
- <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
style='color:black'> </span></p>
@@ -810,8 +826,8 @@
color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Courier New";color:black'> </span><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>boolean</span></b><span
- lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
- canExecute(ICustomContext context) {</span></p>
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> canExecute(ICustomContext
+ context) {</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
@@ -939,9 +955,9 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature
-provider has to deliver our newly created custom features (overwrite the method
-</span><span class=code1><span lang=EN-US style='color:black'><a
+<p class=MsoNormal><span lang=EN-GB style='color:black'>Finally the feature provider
+has to deliver our newly created custom features (overwrite the method </span><span
+class=code1><span lang=EN-US style='color:black'><a
href="../../../javadoc/org/eclipse/graphiti/features/IFeatureProvider.html#getCustomFeatures(org.eclipse.graphiti.features.context.ICustomContext)"><span
style='font-style:normal'>getCustomFeatures</span></a></span></span><span
class=code1><span lang=EN-US style='color:black;font-style:normal'>)</span></span><i><span
@@ -952,55 +968,57 @@
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
-<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=851
+<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=680
style='width:18.0cm;border-collapse:collapse'>
<tr>
- <td width=851 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
+ <td width=680 valign=top style='width:18.0cm;border:solid windowtext 1.0pt;
padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'> </span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#646464'>@Override</span></p>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#646464'>@Override</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#7F0055'>public</span></b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:black'> ICustomFeature[]
- getCustomFeatures(ICustomContext context) {</span></p>
- <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
- color:#7F0055'>return</span></b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:black'> </span><b><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>public</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
- ICustomFeature[] { </span><b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:#7F0055'>new</span></b><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- TutorialRenameEClassFeature(</span><b><span lang=EN-US style='font-size:10.0pt;
- font-family:"Courier New";color:#7F0055'>this</span></b><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
+ ICustomFeature[] getCustomFeatures(ICustomContext context) {</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>return</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'> </span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>new</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ ICustomFeature[] </span><span lang=EN-US style='font-size:10.0pt;font-family:
+ "Courier New"'><br>
+ <span style='color:black'>{ </span><b><span
+ style='color:#7F0055'>new</span></b><span style='color:black'>
+ TutorialRenameEClassFeature(</span><b><span style='color:#7F0055'>this</span></b><span
+ style='color:black'>),</span></span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Courier New";color:black'> TutorialDrillDownEClassFeature(</span><b><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
- lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>), </span></p>
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
</span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Courier New";color:black'>
TutorialAssociateDiagramEClassFeature(</span><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
- lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)
- };</span></p>
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>),</span></p>
<p class=MsoNormal style='text-autospace:none'><span lang=EN-US
- style='font-size:10.0pt;font-family:"Courier New";color:black'>
- </span><span style='font-size:10.0pt;font-family:"Courier New";color:black'>}</span></p>
+ style='font-size:10.0pt;font-family:"Courier New";color:black'>
+ </span><b><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
+ color:#7F0055'>new</span></b><span lang=EN-US style='font-size:10.0pt;
+ font-family:"Courier New";color:black'> TutorialCollapseDummyFeature(</span><b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:#7F0055'>this</span></b><span
+ lang=EN-US style='font-size:10.0pt;font-family:"Courier New";color:black'>)};</span></p>
+ <p class=MsoNormal style='text-autospace:none'><span lang=EN-US
+ style='font-size:10.0pt;font-family:"Courier New";color:black'> }</span></p>
<p class=MsoNormal><span lang=EN-GB style='color:black'> </span></p>
</td>
</tr>