| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| |
| <head> |
| <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> |
| <title>Color schemas</title> |
| <link href="../book.css" rel="Stylesheet" type="text/css"> |
| <link href="../code.css" rel="Stylesheet" type="text/css"> |
| </head> |
| |
| <body> |
| |
| <h1>Color Schemas</h1> |
| <p>Up to now we rendered EClass shapes using a single background color (see implementation |
| of class <span class="inlinecode">StyleUtil</span> in chapter “<a href="styles.htm">Using |
| styles</a>”). It is also possible to use a complex background color schema instead. |
| This offers the following enhancements:</p> |
| <ul> |
| <li>Instead of a single background color multiple colors can be defined, which |
| are either separated by a hard boundary or by a soft gradient color flow. Examples |
| are a gradient blue-to-white color flow or a rainbow of colors separated by |
| hard boundaries.</li> |
| <li>The background colors can change depending on the current interaction state. |
| Examples for interaction states are shape selection (unselected, primary selected, |
| secondary selected) or actions like dropping a child on a shape (allowed or |
| forbidden).</li> |
| </ul> |
| <p> </p> |
| <p> |
| <img alt="" height="423" src="visio/ui-spec-blue-white-gloss.png" width="669"></p> |
| <p><strong>Figure: Color schema definition for "blue-white-gloss- unselected" from |
| usability engineers<br></strong></p> |
| <p>Technically a complex background color schema is defined in a |
| <a href="../../../javadoc/org/eclipse/graphiti/mm/algorithms/styles/RenderingStyle.html"> |
| RenderingStyle</a>. Take care, that this has nothing to do with |
| <a href="styles.htm">styles</a>, except the confusing name! Also note that only |
| background colors are defined in a <span class="inlinecode">RenderingStyle</span> |
| and not foreground colors.</p> |
| <p>Always keep in mind the following rule: if a graphics algorithm has both a background |
| color and a <span class="inlinecode">RenderingStyle</span> defined, then the |
| <span class="inlinecode">RenderingStyle</span> is used and the background color |
| is ignored. The specification of such a style can be seen in the figure above.The |
| highlight at the top (the first 3 pixels below the top outline) and the inner shape |
| (the last pixel above the bottom outline) have a fixed height which is independent |
| of the shape size. They will stay unchanged even after the shape is resized.</p> |
| <h2>Using Predefined Colored Areas</h2> |
| <p>A <span class="inlinecode">RenderingStyle</span> has only the attribute "<span class="inlinecode">adaptedGradientColoredAreas</span>" |
| of type <span class="inlinecode">AdaptedGradientColoredAreas</span>, which must |
| be one of those defined in <span class="inlinecode">PredefinedColoredAreas</span>. |
| With methods like PredefinedColoredAreas.getBlueWhiteGlossAdaptions()you can get |
| them. There are only a few predefined rendering styles, which are defined by the |
| usability engineers of SAP. Tools can define further rendering styles, but this |
| is explained later in this chapter.</p> |
| <p> </p> |
| <p> <img alt="" height="186" src="visio/blue-white-gloss.jpg" width="732"></p> |
| <p><strong>Figure: Example screenshot of the different interaction states for the |
| predefined style “blue-white-gloss”<br></strong></p> |
| <p>Within <span class="inlinecode">AdaptedGradientColoredAreas</span> these different |
| interaction states are defined as <span class="inlinecode">GradientColoredAreas |
| </span>and they are selected by Graphiti at runtime depending on the current interaction |
| state.</p> |
| <p>To use a |
| <a href="../../../javadoc/org/eclipse/graphiti/mm/algorithms/styles/RenderingStyle.html"> |
| RenderingStyle</a> we have to change the implementation of class |
| <span class="inlinecode">StyleUtil</span>, which we created in the chapter “<a href="styles.htm">Using |
| styles</a>”.</p> |
| <p>Instead of setting a background color we will now set a predefined |
| <span class="inlinecode">AdaptedGradientColoredAreas</span>.</p> |
| <p>You can see the complete implementation of the style utility class here:</p> |
| <!-- Begin code ------------------------------------------------------------------------------- --> |
| <p> </p> |
| <div class="literallayout"> |
| <div class="incode"> |
| <p class="code"><span class="keyword">package</span> org.eclipse.graphiti.examples.tutorial;<br> |
| <br><span class="keyword">public class</span> StyleUtil {<br> <br> |
| <span class="comment">// ... EXISTING CODING ...</span><br> <br> |
| <span class="keyword">public static</span> Style getStyleForEClass(Diagram |
| diagram) {<br> |
| <span class="keyword">final</span> String styleId = <span class="string"> |
| "E-CLASS"</span>;<br> <br> |
| Style style = <em>findStyle</em>(diagram, styleId);<br> <br> |
| <span class="keyword">if</span> (style == <span class="keyword">null</span>) |
| { <span class="comment">// style not found - create new style</span><br> |
| IGaService gaService = Graphiti.getGaService();<br> |
| style = gaService.createStyle(diagram, styleId);<br> |
| style.setForeground(gaService.manageColor(diagram,<br> |
| <span class="string"><em>E_CLASS_FOREGROUND</em></span>));<br> |
| gaService.setRenderingStyle(style,<br> |
| PredefinedColoredAreas.getBlueWhiteGlossAdaptions());<br> |
| style.setLineWidth(2);<br> }<br> |
| <span class="keyword">return</span> style;<br> }<br> <br> |
| <br> <span class="comment">// ... EXISTING CODING ...</span><br> <br> |
| }<br></p> |
| </div> |
| </div> |
| <p> </p> |
| <!-- End code ------------------------------------------------------------------------------- --> |
| <p>Keep in mind that from now on the background color attribute will not work any |
| more. So you might consider to delete the custom feature changing the background |
| color, which was created in the chapter about <a href="styles.htm">styles</a>.</p> |
| <h2>Test: EClass Has Complex Background Color Schema</h2> |
| <p>Create a new diagram and inside it create a new EClass. Verify that the background |
| color is a blue-white gradient. Also verify, that the background color changes, |
| if you select the EClass shape.</p> |
| <h2>Using Your Own Colored </h2> |
| <p>We want to define our own (background color schema) style with id "lime-white". |
| To do this we have to extend the interface <span class="inlinecode">IPredefinedRenderingStyle</span> |
| to define the id "lime-white". In addition we extend class |
| <span class="inlinecode">PredefinedColoredAreas</span> to define colored areas for |
| "lime-white". The result should look like the image below.</p> |
| <p> </p> |
| <p><img alt="" height="153" src="visio/user-defined-gradient.png" width="352"></p> |
| <p><strong>Figure The newly defined "lime-white" gradient<br></strong></p> |
| <p>You can see the complete implementation of the interface tutorial rendering style |
| here:</p> |
| <!-- Begin code ------------------------------------------------------------------------------- --> |
| <p> </p> |
| <div class="literallayout"> |
| <div class="incode"> |
| <p class="code"><span class="keyword">package</span> org.eclipse.graphiti.examples.tutorial;<br> <br> |
| <span class="keyword">import</span> org.eclipse.graphiti.util.IPredefinedRenderingStyle;<br> <br> |
| <span class="keyword">public interface</span> ITutorialRenderingStyle |
| <span class="keyword">extends</span> IPredefinedRenderingStyle {<br> |
| <br> <span class="keyword">public static final</span> |
| String <span class="string"><em>LIME_WHITE_ID</em></span> = |
| <span class="string">"lime-white"</span>;<br>}<br></p> |
| </div> |
| </div> |
| <p> </p> |
| <!-- End code ------------------------------------------------------------------------------- --> |
| <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse"> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p><strong>Solid Color/Gradient</strong></p> |
| </td> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-left: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p><strong>Pixel Row/Rows Location</strong></p> |
| </td> |
| <td style="width: 140.95pt; border: solid black 1.0pt; border-left: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p><strong>Hex 6 RGB Color</strong></p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Solid color</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Pixel 1 (topmost pixel row)</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#CCFFCC</p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Solid color</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Pixel 2 (second pixel row)</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#CCFF99</p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Solid color</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Pixel 3 (third pixel row)</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#CCFF66</p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Gradient start</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Pixel 4</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#66FF00</p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Gradient stop</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Pixel one before last</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#CCFFCC</p> |
| </td> |
| </tr> |
| <tr> |
| <td style="width: 140.9pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Solid color</p> |
| </td> |
| <td style="width: 6.0cm; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>Last pixel (bottom pixel row)</p> |
| </td> |
| <td style="width: 140.95pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt" valign="top"> |
| <p>#CCFFCC</p> |
| </td> |
| </tr> |
| </table> |
| <p><strong>Figure Specification for "lime-white unselected"</strong></p> |
| <p> </p> |
| <p>For our new color scheme "lime-white", we are guided by the preceding example |
| of "blue-white-gloss". The color scheme is illustrated in the table above |
| for the interaction state "not selected". There are also three rows of pixels at |
| the beginning and one at the end to represent a sublime effect on the shape. In |
| between, the resizable gradient has been defined. The interaction states "primary |
| selected" and "secondary selected" are treated very similar and not listed here.</p> |
| <p>The information of the rows in the table above can be represented directly with |
| the class <span class="inlinecode">GradientColorArea</span>. Sequences of such colored |
| areas can be composed with the method <span class="inlinecode">addGradientColoredArea(..)</span>. |
| These sequences are used to render the color scheme.</p> |
| <p>We define "lime-white" in our new class <span class="inlinecode">TutorialColoredAreas</span> |
| in a similar way, as "blue-white-gloss" is defined in class |
| <span class="inlinecode">PredefinedColorAreas</span>. Do not forget to set the gradient |
| type to "vertical".</p> |
| <p>You can see the complete implementation of the tutorial colored area class here:</p> |
| <!-- Begin code ------------------------------------------------------------------------------- --> |
| <p> </p> |
| <div class="literallayout"> |
| <div class="incode"> |
| <p class="code"><span class="keyword">package</span> org.eclipse.graphiti.examples.tutorial;<br> <br> |
| <span class="keyword">public class</span> TutorialColoredAreas |
| <span class="keyword">extends</span> PredefinedColoredAreas<br> |
| <span class="keyword">implements</span> ITutorialRenderingStyle {<br> <br> |
| <span class="keyword">private static</span> GradientColoredAreas getLimeWhiteDefaultAreas() |
| {<br> <span class="keyword">final</span> |
| GradientColoredAreas gradientColoredAreas =<br> |
| StylesFactory.<span class="string"><em>eINSTANCE</em></span>.createGradientColoredAreas();<br> |
| <span class="keyword">final</span> EList<GradientColoredArea> gcas =<br> |
| gradientColoredAreas.getGradientColor();<br> <br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"CCFFCC"</span>, |
| 0, <br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"CCFFCC"</span>, 1,<br> |
| LocationType.LOCATION_TYPE_ABSOLUTE_START);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"CCFF99"</span>, |
| 1,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"CCFF99"</span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"CCFF66</span>", |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"CCFF66"</span>, 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"66FF00"</span>, |
| 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"CCFFCC"</span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"CCFFCC"</span>, |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>, |
| <span class="string">"CCFFCC"</span>, 0,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| gradientColoredAreas.setStyleAdaption<br> |
| (IPredefinedRenderingStyle.<span class="string"><em>STYLE_ADAPTATION_DEFAULT</em></span>);<br> |
| <span class="keyword">return</span> gradientColoredAreas;<br> |
| }<br> <br> <span class="keyword">private static</span> |
| GradientColoredAreas getLimeWhitePrimarySelectedAreas() {<br> |
| <span class="keyword">fina</span>l GradientColoredAreas gradientColoredAreas |
| =<br> |
| StylesFactory.<span class="string"><em>eINSTANCE</em></span>.createGradientColoredAreas();<br> |
| gradientColoredAreas.setStyleAdaption<br> |
| (IPredefinedRenderingStyle.<span class="string"><em>STYLE_ADAPTATION_PRIMARY_SELECTED</em></span>);<br> |
| <span class="keyword">final</span> EList<GradientColoredArea> gcas =<br> |
| gradientColoredAreas.getGradientColor();<br> <br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"66CCCC"</span>, |
| 0,<br> |
| LocationType<span class="string"><em>.LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"66CCCC"</span>, 1,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"66CC99"</span>, |
| 1,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"66CC99"</span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"66CC66"</span>, |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"66CC66"</span>, 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"00CC00"</span>, |
| 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string"><em>"00CC66"</em></span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"00CC99"</span>, |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>, |
| <span class="string">"00CC99"</span>, 0,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| <span class="keyword">return</span> gradientColoredAreas;<br> |
| }<br> <br> <span class="keyword">private |
| static</span> GradientColoredAreas getLimeWhiteSecondarySelectedAreas() |
| {<br> |
| <span class="keyword">final</span> GradientColoredAreas gradientColoredAreas |
| =<br> |
| StylesFactory.<span class="string"><em>eINSTANCE</em></span>.createGradientColoredAreas();<br> |
| gradientColoredAreas.setStyleAdaption<br> |
| (IPredefinedRenderingStyle.<span class="string"><em>STYLE_ADAPTATION_SECONDARY_SELECTED</em></span>);<br> |
| <span class="keyword">final</span> EList<GradientColoredArea> gcas =<br> |
| gradientColoredAreas.getGradientColor();<br> <br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"33CCCC"</span>, |
| 0,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"33CCCC"</span>, 1,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"33CC99"</span>, |
| 1,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"33CC99"</span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"33CC66"</span>, |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"33CC66"</span>, 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"33CC00"</span>, |
| 3,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_START</em></span>, |
| <span class="string">"33CC99"</span>, 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| <em>addGradientColoredArea</em>(gcas, <span class="string">"66CC99"</span>, |
| 2,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>, |
| <span class="string">"66CC99"</span>, 0,<br> |
| LocationType.<span class="string"><em>LOCATION_TYPE_ABSOLUTE_END</em></span>);<br> |
| <span class="keyword">return</span> gradientColoredAreas;<br> |
| }<br> <br> <span class="keyword">public |
| static</span> AdaptedGradientColoredAreas getLimeWhiteAdaptions() {<br> |
| <span class="keyword">final</span> AdaptedGradientColoredAreas agca =<br> |
| StylesFactory.<span class="string"><em>eINSTANCE</em></span>.createAdaptedGradientColoredAreas();<br> |
| agca.setDefinedStyleId(<span class="string"><em>LIME_WHITE_ID</em></span>);<br> |
| agca.setGradientType(IGradientType.<span class="string"><em>VERTICAL</em></span>);<br> |
| agca.getAdaptedGradientColoredAreas()<br> |
| .add(IPredefinedRenderingStyle.<span class="string"><em>STYLE_ADAPTATION_DEFAULT</em></span>,<br> |
| getLimeWhiteDefaultAreas());<br> |
| agca.getAdaptedGradientColoredAreas()<br> |
| .add(IPredefinedRenderingStyle.<span class="string"><em>STYLE_ADAPTATION_PRIMARY_SELECTED</em></span>,<br> |
| getLimeWhitePrimarySelectedAreas());<br> |
| agca.getAdaptedGradientColoredAreas()<br> |
| .add(IPredefinedRenderingStyle.<span class="string"><strong>STYLE_ADAPTATION_SECONDARY_SELECTED</strong></span>,<br> |
| getLimeWhiteSecondarySelectedAreas());<br> |
| <span class="keyword">return</span> agca;<br> |
| }<br>} </p> |
| </div> |
| </div> |
| <p> </p> |
| <!-- End code ------------------------------------------------------------------------------- --> |
| <p>To use our new rendering style we have to change the implementation of class |
| <span class="inlinecode">StyleUtil</span>:</p> |
| <!-- Begin code ------------------------------------------------------------------------------- --> |
| <p> </p> |
| <div class="literallayout"> |
| <div class="incode"> |
| <p class="code"><span class="keyword">public class</span> StyleUtil {<br> <br> |
| <span class="comment">// ... EXISTING CODING ...</span><br> <br> |
| public static Style getStyleForEClass(Diagram diagram) {<br> <br> |
| <span class="comment"> // ... EXISTING CODING ...</span><br> <br> |
| gaService.setRenderingStyle(style,<br> |
| TutorialColoredAreas.getLimeWhiteAdaptions());<br> <br> |
| <span class="comment"> // ... EXISTING CODING ...</span><br> <br> |
| <span class="keyword">return</span> style;<br> }<br> <br> |
| <br> <span class="comment">// ... EXISTING CODING ...</span><br> <br> |
| }<br></p> |
| </div> |
| </div> |
| <p> </p> |
| <!-- End code ------------------------------------------------------------------------------- --> |
| <h2>Test: EClass Has New Complex Background Color Schema</h2> |
| <p>Create a new diagram and inside it create a new EClass. Verify that the background |
| color is a lime-white gradient. Also verify, that the background color changes, |
| if you select the EClass shape.</p> |
| <p> </p> |
| |
| </body> |
| |
| </html> |