blob: d6bc733c46516d26c9326cf7cc3e060ef2f77352 [file] [log] [blame]
<!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>