<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_201) on Thu Jul 23 15:58:57 CEST 2020 -->
<title>OscilloscopeDispatcher</title>
<meta name="date" content="2020-07-23">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="OscilloscopeDispatcher";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OscilloscopeDispatcher.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.IntegerFiFoCircularStack.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.SoundClip.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html" target="_top">Frames</a></li>
<li><a href="OscilloscopeDispatcher.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.nebula.widgets.oscilloscope.multichannel</div>
<h2 title="Class OscilloscopeDispatcher" class="title">Class OscilloscopeDispatcher</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.nebula.widgets.oscilloscope.multichannel.OscilloscopeDispatcher</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">OscilloscopeDispatcher</span>
extends java.lang.Object</pre>
<div class="block">This class keeps the oscilloscope animation running and is used to set
 various attributes of the scope.
 
 <p/>
 You need to provide an <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><code>Oscilloscope</code></a> widget by overriding the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getOscilloscope--"><code>getOscilloscope()</code></a> method. The <code>Control.redraw()</code> method
 will be called every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> milliseconds. The higher the
 value, the slower the animation will run.
 </p>
 Just before the redraw and just after the redraw the <code>hook..Draw</code>
 methods are called. Don't do any expensive calculations there because this
 will slow down the animation.
 <p/>
 Then a counter is incremented and if the counter reaches the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> value, then the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookSetValues-int-"><code>hookSetValues(int)</code></a> method is
 called. This is you opportunity to provide a value to the scope by calling
 its setValue or setValues method. The hookSetValues method is only called if
 the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> value is greater than <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#NO_PULSE"><code>NO_PULSE</code></a>
 <p/>
 You can also be called back by the widget if it runs out of values by setting
 a listener in the
 <code>Oscilloscope#addStackListener(OscilloscopeStackAdapter)</code> method.
 <p/>
 If you want to speed up the scope, try overriding the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--"><code>getProgression()</code></a> method. This will draw the scope this number of
 times before actually painting.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.SoundClip.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">OscilloscopeDispatcher.SoundClip</a></span></code>
<div class="block">Plays a sound clip.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#BACKGROUND_MONITOR">BACKGROUND_MONITOR</a></span></code>
<div class="block">Contains a small image that can serve as the background of the scope.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#BACKGROUND_MONITOR_SMALL">BACKGROUND_MONITOR_SMALL</a></span></code>
<div class="block">Contains a small image that can serve as the background of the scope.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#NO_PULSE">NO_PULSE</a></span></code>
<div class="block">This is a special value indicating there is no pulse which means that
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookPulse(Oscilloscope, int)</code></a> will never be called.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#OscilloscopeDispatcher--">OscilloscopeDispatcher</a></span>()</code>
<div class="block">The default constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#OscilloscopeDispatcher-int-">OscilloscopeDispatcher</a></span>(int&nbsp;channel)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#OscilloscopeDispatcher-int-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">OscilloscopeDispatcher</a></span>(int&nbsp;channel,
                      <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#OscilloscopeDispatcher-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">OscilloscopeDispatcher</a></span>(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#dispatch--">dispatch</a></span>()</code>
<div class="block">This method will get the animation going.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#finalize--">finalize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.eclipse.swt.graphics.Color</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--">getActiveForegoundColor</a></span>()</code>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.io.File</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveSoundfile--">getActiveSoundfile</a></span>()</code>
<div class="block">Override this to return a soundfile that will be played by the dispatcher
 in the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookPulse(Oscilloscope, int)</code></a> method if the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isSoundRequired--"><code>isSoundRequired()</code></a> method returns true.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.eclipse.swt.graphics.Image</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getBackgroundImage--">getBackgroundImage</a></span>()</code>
<div class="block">Override this to return the background image for the scope.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getBaseOffset--">getBaseOffset</a></span>()</code>
<div class="block">Override this to set the offset of the scope line in percentages where
 100 is the top of the widget and 0 is the bottom.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getChannel--">getChannel</a></span>()</code>
<div class="block">Returns the channel that this scope is the dispatcher for.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--">getDelayLoop</a></span>()</code>
<div class="block">Override this to return a draw delay in milliseconds.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getFade--">getFade</a></span>()</code>
<div class="block">Tests if the tail must fade.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>org.eclipse.swt.graphics.Color</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getInactiveForegoundColor--">getInactiveForegoundColor</a></span>()</code>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is not active.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.io.File</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getInactiveSoundfile--">getInactiveSoundfile</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getLineWidth--">getLineWidth</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getOscilloscope--">getOscilloscope</a></span>()</code>
<div class="block">This method returns the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><code>Oscilloscope</code></a>.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--">getProgression</a></span>()</code>
<div class="block">Override this to set the number of steps that is calculated before it is
 actually drawn on the display.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--">getPulse</a></span>()</code>
<div class="block">Returns the heart beat of the scope.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.SoundClip.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">OscilloscopeDispatcher.SoundClip</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getSoundClip--">getSoundClip</a></span>()</code>
<div class="block">Override this to return the Clip player.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getSteadyPosition--">getSteadyPosition</a></span>()</code>
<div class="block">If the scope value must be drawn on a steady position then this method
 can supply a value.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getTailFade--">getTailFade</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getTailSize--">getTailSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookAfterDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">hookAfterDraw</a></span>(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
             int&nbsp;counter)</code>
<div class="block">Is called just after the widget is redrawn every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a>
 milliseconds.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookBeforeDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">hookBeforeDraw</a></span>(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
              int&nbsp;counter)</code>
<div class="block">Is called just before the widget is redrawn every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a>
 milliseconds.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookChangeAttributes--">hookChangeAttributes</a></span>()</code>
<div class="block">This method sets the values in the scope by calling the individual value
 methods in the dispatcher.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">hookPulse</a></span>(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
         int&nbsp;pulse)</code>
<div class="block">This method is called every time the dispatcher reaches the getPulse()
 counter.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookSetValues-int-">hookSetValues</a></span>(int&nbsp;pulse)</code>
<div class="block">This method will be called every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> times the scope is
 redrawn which will occur every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> milliseconds (if
 your hardware is capable of doing so).</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#init--">init</a></span>()</code>
<div class="block">Will be called only once.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isPercentage--">isPercentage</a></span>()</code>
<div class="block">Indicates if the value that comes in from the scope is a percentage
 rather than an absolute value.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isRunning--">isRunning</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isServiceActive--">isServiceActive</a></span>()</code>
<div class="block">A helper method to indicate if something that you are measuring is
 active.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isSoundRequired--">isSoundRequired</a></span>()</code>
<div class="block">The dispatcher is able to beep and pling and this method helps in
 indicating if this is required.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isSteady--">isSteady</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isTailSizeMax--">isTailSizeMax</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#mustConnect--">mustConnect</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setActiveForegoundColor-org.eclipse.swt.graphics.Color-">setActiveForegoundColor</a></span>(org.eclipse.swt.graphics.Color&nbsp;color)</code>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setInactiveForegoundColor-org.eclipse.swt.graphics.Color-">setInactiveForegoundColor</a></span>(org.eclipse.swt.graphics.Color&nbsp;color)</code>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setOscilloscope-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">setOscilloscope</a></span>(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;scope)</code>
<div class="block">This method sets the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><code>Oscilloscope</code></a>.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#stop--">stop</a></span>()</code>
<div class="block">Will stop the animation.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#updateBackgroundImage--">updateBackgroundImage</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="BACKGROUND_MONITOR">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BACKGROUND_MONITOR</h4>
<pre>public static final&nbsp;int[] BACKGROUND_MONITOR</pre>
<div class="block">Contains a small image that can serve as the background of the scope.</div>
</li>
</ul>
<a name="BACKGROUND_MONITOR_SMALL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BACKGROUND_MONITOR_SMALL</h4>
<pre>public static final&nbsp;int[] BACKGROUND_MONITOR_SMALL</pre>
<div class="block">Contains a small image that can serve as the background of the scope.</div>
</li>
</ul>
<a name="NO_PULSE">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NO_PULSE</h4>
<pre>public static final&nbsp;int NO_PULSE</pre>
<div class="block">This is a special value indicating there is no pulse which means that
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookPulse(Oscilloscope, int)</code></a> will never be called.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a>, 
<a href="../../../../../../constant-values.html#org.eclipse.nebula.widgets.oscilloscope.multichannel.OscilloscopeDispatcher.NO_PULSE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="OscilloscopeDispatcher-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OscilloscopeDispatcher</h4>
<pre>public&nbsp;OscilloscopeDispatcher(int&nbsp;channel)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>channel</code> - </dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getChannel--"><code>getChannel()</code></a></dd>
</dl>
</li>
</ul>
<a name="OscilloscopeDispatcher--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OscilloscopeDispatcher</h4>
<pre>public&nbsp;OscilloscopeDispatcher()</pre>
<div class="block">The default constructor.</div>
</li>
</ul>
<a name="OscilloscopeDispatcher-int-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OscilloscopeDispatcher</h4>
<pre>public&nbsp;OscilloscopeDispatcher(int&nbsp;channel,
                              <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>channel</code> - </dd>
<dd><code>oscilloscope</code> - </dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getChannel--"><code>getChannel()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getOscilloscope--"><code>getOscilloscope()</code></a></dd>
</dl>
</li>
</ul>
<a name="OscilloscopeDispatcher-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OscilloscopeDispatcher</h4>
<pre>public&nbsp;OscilloscopeDispatcher(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oscilloscope</code> - </dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getOscilloscope--"><code>getOscilloscope()</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="dispatch--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatch</h4>
<pre>public&nbsp;void&nbsp;dispatch()</pre>
<div class="block">This method will get the animation going. It will create a runnable that
 will be dispatched to the user interface thread. The runnable increments
 a counter that leads to the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> value and if this is
 reached then the counter is reset. The counter is passed to the hook
 methods so that they can prepare for the next pulse.
 <p/>
 After the hook methods are called, the runnable is placed in the user
 interface thread with a timer of <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> milliseconds.
 However, if the delay loop is set to 1, it will dispatch using
 <code>Display.asyncExec(Runnable)</code> for maximum speed.
 <p/>
 This method is not meant to be overridden, override <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#init--"><code>init()</code></a>
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookBeforeDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookBeforeDraw(Oscilloscope, int)</code></a>,
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookAfterDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookAfterDraw(Oscilloscope, int)</code></a> and
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookPulse(Oscilloscope, int)</code></a>.</div>
</li>
</ul>
<a name="finalize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalize</h4>
<pre>protected&nbsp;void&nbsp;finalize()
                 throws java.lang.Throwable</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>finalize</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Throwable</code></dd>
</dl>
</li>
</ul>
<a name="getActiveForegoundColor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActiveForegoundColor</h4>
<pre>public&nbsp;org.eclipse.swt.graphics.Color&nbsp;getActiveForegoundColor()</pre>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive. The aliveness of the thing that is being
 measured is returned by the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isServiceActive--"><code>isServiceActive()</code></a> method. The result
 of this method will be used in the
 <code>Control.setForeground(Color)</code> method.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the system color green.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getInactiveForegoundColor--"><code>getInactiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--"><code>getActiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setActiveForegoundColor-org.eclipse.swt.graphics.Color-"><code>setActiveForegoundColor(Color)</code></a>, 
<code>Control.setForeground(Color)</code></dd>
</dl>
</li>
</ul>
<a name="setActiveForegoundColor-org.eclipse.swt.graphics.Color-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setActiveForegoundColor</h4>
<pre>public&nbsp;void&nbsp;setActiveForegoundColor(org.eclipse.swt.graphics.Color&nbsp;color)</pre>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive. The aliveness of the thing that is being
 measured is returned by the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isServiceActive--"><code>isServiceActive()</code></a> method. The result
 of this method will be used in the
 <code>Control.setForeground(Color)</code> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>color</code> - the new color.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getInactiveForegoundColor--"><code>getInactiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--"><code>getActiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--"><code>getActiveForegoundColor()</code></a></dd>
</dl>
</li>
</ul>
<a name="getActiveSoundfile--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActiveSoundfile</h4>
<pre>public&nbsp;java.io.File&nbsp;getActiveSoundfile()</pre>
<div class="block">Override this to return a soundfile that will be played by the dispatcher
 in the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-"><code>hookPulse(Oscilloscope, int)</code></a> method if the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isSoundRequired--"><code>isSoundRequired()</code></a> method returns true.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>null</code>. Override to return a file that can be played
         by your sound hardware.</dd>
</dl>
</li>
</ul>
<a name="getBackgroundImage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBackgroundImage</h4>
<pre>public&nbsp;org.eclipse.swt.graphics.Image&nbsp;getBackgroundImage()</pre>
<div class="block">Override this to return the background image for the scope.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the image stored in <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#BACKGROUND_MONITOR"><code>BACKGROUND_MONITOR</code></a>. Override to
         supply your own Image.</dd>
</dl>
</li>
</ul>
<a name="getBaseOffset--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBaseOffset</h4>
<pre>public&nbsp;int&nbsp;getBaseOffset()</pre>
<div class="block">Override this to set the offset of the scope line in percentages where
 100 is the top of the widget and 0 is the bottom.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#BASE_CENTER"><code>Oscilloscope.BASE_CENTER</code></a> which positions in the center.
         Override for other values.</dd>
</dl>
</li>
</ul>
<a name="stop--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()</pre>
<div class="block">Will stop the animation.</div>
</li>
</ul>
<a name="getSoundClip--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSoundClip</h4>
<pre>public&nbsp;<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.SoundClip.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">OscilloscopeDispatcher.SoundClip</a>&nbsp;getSoundClip()</pre>
<div class="block">Override this to return the Clip player.
 <p/>
 Overriding this method is not expected.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the PlayClip object</dd>
</dl>
</li>
</ul>
<a name="getDelayLoop--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDelayLoop</h4>
<pre>public&nbsp;int&nbsp;getDelayLoop()</pre>
<div class="block">Override this to return a draw delay in milliseconds. The scope will
 progress <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--"><code>getProgression()</code></a> steps.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>30 milliseconds. Override with a smaller value for more speed.</dd>
</dl>
</li>
</ul>
<a name="getFade--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFade</h4>
<pre>public&nbsp;boolean&nbsp;getFade()</pre>
<div class="block">Tests if the tail must fade.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns true</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setTailFade-int-int-"><code>Oscilloscope.setTailFade(int, int)</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getTailSize--"><code>getTailSize()</code></a></dd>
</dl>
</li>
</ul>
<a name="getInactiveForegoundColor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInactiveForegoundColor</h4>
<pre>public&nbsp;org.eclipse.swt.graphics.Color&nbsp;getInactiveForegoundColor()</pre>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is not active. The aliveness of the thing that is being
 measured is returned by the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isServiceActive--"><code>isServiceActive()</code></a> method. The result
 of this method will be used in the
 <code>Control.setForeground(Color)</code> method.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the system color red, override if you want to control the
         inactive foreground color</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setInactiveForegoundColor-org.eclipse.swt.graphics.Color-"><code>setInactiveForegoundColor(Color)</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--"><code>getActiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setActiveForegoundColor-org.eclipse.swt.graphics.Color-"><code>setActiveForegoundColor(Color)</code></a>, 
<code>Control.setForeground(Color)</code></dd>
</dl>
</li>
</ul>
<a name="setInactiveForegoundColor-org.eclipse.swt.graphics.Color-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInactiveForegoundColor</h4>
<pre>public&nbsp;void&nbsp;setInactiveForegoundColor(org.eclipse.swt.graphics.Color&nbsp;color)</pre>
<div class="block">Is used to get the color of the foreground when the thing that the scope
 is measuring is still alive. The aliveness of the thing that is being
 measured is returned by the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isServiceActive--"><code>isServiceActive()</code></a> method. The result
 of this method will be used in the
 <code>Control.setForeground(Color)</code> method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>color</code> - the new color.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getInactiveForegoundColor--"><code>getInactiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getActiveForegoundColor--"><code>getActiveForegoundColor()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#setActiveForegoundColor-org.eclipse.swt.graphics.Color-"><code>setActiveForegoundColor(Color)</code></a>, 
<code>Control.setForeground(Color)</code></dd>
</dl>
</li>
</ul>
<a name="getInactiveSoundfile--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInactiveSoundfile</h4>
<pre>public&nbsp;java.io.File&nbsp;getInactiveSoundfile()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns null</dd>
</dl>
</li>
</ul>
<a name="getLineWidth--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLineWidth</h4>
<pre>public&nbsp;int&nbsp;getLineWidth()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns 1</dd>
</dl>
</li>
</ul>
<a name="getOscilloscope--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOscilloscope</h4>
<pre>public&nbsp;<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;getOscilloscope()</pre>
<div class="block">This method returns the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><code>Oscilloscope</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the oscilloscope</dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public&nbsp;boolean&nbsp;isRunning()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the dispatcher is running.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#dispatch--"><code>dispatch()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#stop--"><code>stop()</code></a></dd>
</dl>
</li>
</ul>
<a name="setOscilloscope-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOscilloscope</h4>
<pre>public&nbsp;void&nbsp;setOscilloscope(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;scope)</pre>
<div class="block">This method sets the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><code>Oscilloscope</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>scope</code> - </dd>
</dl>
</li>
</ul>
<a name="getProgression--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProgression</h4>
<pre>public&nbsp;int&nbsp;getProgression()</pre>
<div class="block">Override this to set the number of steps that is calculated before it is
 actually drawn on the display. This will make the graphic look more jumpy
 for slower/higher delay rates but you can win speed at faster/lower delay
 rates. There will be <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--"><code>getProgression()</code></a> values consumed so make
 sure that the value stack contains enough entries.
 <p/>
 If the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> is 10 and the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> is 1 and
 the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--"><code>getProgression()</code></a> is 5 then every 10 milliseconds the graph
 will have progressed 5 pixels. If you want to avoid gaps in your graph,
 you need to input 5 values every time you reach
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookSetValues-int-"><code>hookSetValues(int)</code></a>. If the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> is 3, you need to
 input 15 values for a gapless graph. Alternatively, you can implement a
 stack listener in the scope to let it call you in case it runs out of
 values.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>1. Override and increment for more speed. Must be higher then
         zero.</dd>
</dl>
</li>
</ul>
<a name="getPulse--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPulse</h4>
<pre>public&nbsp;int&nbsp;getPulse()</pre>
<div class="block">Returns the heart beat of the scope.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns 1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#dispatch--"><code>dispatch()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a>, 
<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getProgression--"><code>getProgression()</code></a></dd>
</dl>
</li>
</ul>
<a name="getSteadyPosition--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSteadyPosition</h4>
<pre>public&nbsp;int&nbsp;getSteadyPosition()</pre>
<div class="block">If the scope value must be drawn on a steady position then this method
 can supply a value.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default implementation returns 200</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setSteady-int-boolean-int-"><code>Oscilloscope.setSteady(int, boolean, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getTailFade--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTailFade</h4>
<pre>public&nbsp;int&nbsp;getTailFade()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the percentage of the tail that must fade.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setTailFade-int-int-"><code>Oscilloscope.setTailFade(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getTailSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTailSize</h4>
<pre>public&nbsp;int&nbsp;getTailSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the tail size</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setTailSize-int-int-"><code>Oscilloscope.setTailSize(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getChannel--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChannel</h4>
<pre>public&nbsp;int&nbsp;getChannel()</pre>
<div class="block">Returns the channel that this scope is the dispatcher for. Please note
 that you do not really need one dispatcher per channel.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the channel for this dispatcher. Can be -1 if not set.</dd>
</dl>
</li>
</ul>
<a name="hookAfterDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hookAfterDraw</h4>
<pre>public&nbsp;void&nbsp;hookAfterDraw(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
                          int&nbsp;counter)</pre>
<div class="block">Is called just after the widget is redrawn every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a>
 milliseconds. The pulse counter will be set to zero when it reaches
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oscilloscope</code> - </dd>
<dd><code>counter</code> - </dd>
</dl>
</li>
</ul>
<a name="hookBeforeDraw-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hookBeforeDraw</h4>
<pre>public&nbsp;void&nbsp;hookBeforeDraw(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
                           int&nbsp;counter)</pre>
<div class="block">Is called just before the widget is redrawn every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a>
 milliseconds. It will also call the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookChangeAttributes--"><code>hookChangeAttributes()</code></a>
 method if the number of times this method is called matches the
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> value. The pulse counter will be set to zero when it
 reaches <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a>.
 <p/>
 If you override this method, don't forget to call
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#hookChangeAttributes--"><code>hookChangeAttributes()</code></a> every now and then.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oscilloscope</code> - </dd>
<dd><code>counter</code> - </dd>
</dl>
</li>
</ul>
<a name="hookChangeAttributes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hookChangeAttributes</h4>
<pre>public&nbsp;void&nbsp;hookChangeAttributes()</pre>
<div class="block">This method sets the values in the scope by calling the individual value
 methods in the dispatcher. Be aware that this method actually calls some
 candy so you might want to call super.</div>
</li>
</ul>
<a name="hookPulse-org.eclipse.nebula.widgets.oscilloscope.multichannel.Oscilloscope-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hookPulse</h4>
<pre>public&nbsp;void&nbsp;hookPulse(<a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel">Oscilloscope</a>&nbsp;oscilloscope,
                      int&nbsp;pulse)</pre>
<div class="block">This method is called every time the dispatcher reaches the getPulse()
 counter. This method plays the active or inactive sound if so required.
 If you do not want the sounds to play, either disable sounds by not
 overriding the <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#isSoundRequired--"><code>isSoundRequired()</code></a> method or override this method.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>oscilloscope</code> - </dd>
<dd><code>pulse</code> - </dd>
</dl>
</li>
</ul>
<a name="hookSetValues-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hookSetValues</h4>
<pre>public&nbsp;void&nbsp;hookSetValues(int&nbsp;pulse)</pre>
<div class="block">This method will be called every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> times the scope is
 redrawn which will occur every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> milliseconds (if
 your hardware is capable of doing so). The scope will progress one pixel
 every <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getDelayLoop--"><code>getDelayLoop()</code></a> milliseconds and will draw the next value
 from the queue of the scope. If the scope is out of values it will
 progress one pixel without a value (draw a pixel at his center).
 <p/>
 If the delay loop is 10 and the pulse is 20, you have an opportunity to
 set a value in the scope every 200 milliseconds. In this time the scope
 will have progressed 20 pixels. If you supply 10 values by calling the
 setValue(int) 10 times or if you call the setValues(int[]) with 10 ints
 then you will see 10 pixels of movement and a straight line of 10 pixels.
 <p/>
 If the setPulse method is not overridden or if you supply
 <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#NO_PULSE"><code>NO_PULSE</code></a> then this method will not be called unless you override
 the dispatch method (not recommended). To still set values in the scope
 you can set a stack listener in the widget that will be called when there
 are no more values in the stack. Alternatively you can set the return
 value of <a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html#getPulse--"><code>getPulse()</code></a> to 1 so you have the opportunity to provide
 a value every cycle.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pulse</code> - </dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Oscilloscope#setValue(int)</code>, 
<code>Oscilloscope#setValues(int[])</code>, 
<code>Oscilloscope#addStackListener(OscilloscopeStackAdapter)</code></dd>
</dl>
</li>
</ul>
<a name="init--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init()</pre>
<div class="block">Will be called only once.</div>
</li>
</ul>
<a name="isPercentage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPercentage</h4>
<pre>public&nbsp;boolean&nbsp;isPercentage()</pre>
<div class="block">Indicates if the value that comes in from the scope is a percentage
 rather than an absolute value.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default implementation returns true</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setPercentage-int-boolean-"><code>Oscilloscope.setPercentage(int, boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="isServiceActive--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isServiceActive</h4>
<pre>public&nbsp;boolean&nbsp;isServiceActive()</pre>
<div class="block">A helper method to indicate if something that you are measuring is
 active. Based on the output of this method things can be done, like
 playing a flat-line sound, changing the foreground color and such.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default implementation returns true</dd>
</dl>
</li>
</ul>
<a name="isSoundRequired--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSoundRequired</h4>
<pre>public&nbsp;boolean&nbsp;isSoundRequired()</pre>
<div class="block">The dispatcher is able to beep and pling and this method helps in
 indicating if this is required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns false</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setSteady-int-boolean-int-"><code>Oscilloscope.setSteady(int, boolean, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="isSteady--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSteady</h4>
<pre>public&nbsp;boolean&nbsp;isSteady()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns false</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setSteady-int-boolean-int-"><code>Oscilloscope.setSteady(int, boolean, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="isTailSizeMax--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTailSizeMax</h4>
<pre>public&nbsp;boolean&nbsp;isTailSizeMax()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns false.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setTailSize-int-int-"><code>Oscilloscope.setTailSize(int, int)</code></a></dd>
</dl>
</li>
</ul>
<a name="mustConnect--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mustConnect</h4>
<pre>public&nbsp;boolean&nbsp;mustConnect()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this default implementation returns false</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.html#setConnect-int-boolean-"><code>Oscilloscope.setConnect(int, boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="updateBackgroundImage--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>updateBackgroundImage</h4>
<pre>void&nbsp;updateBackgroundImage()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OscilloscopeDispatcher.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/Oscilloscope.IntegerFiFoCircularStack.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.SoundClip.html" title="class in org.eclipse.nebula.widgets.oscilloscope.multichannel"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/nebula/widgets/oscilloscope/multichannel/OscilloscopeDispatcher.html" target="_top">Frames</a></li>
<li><a href="OscilloscopeDispatcher.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
