1.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartValidityObserver.scala Wed Nov 04 01:43:13 2009 +0800
1.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartValidityObserver.scala Wed Nov 04 03:26:31 2009 +0800
1.3 @@ -37,7 +37,7 @@
1.4 *
1.5 * @author Caoyuan Deng
1.6 */
1.7 -trait ChartValidityObserver[S <: ChangeObservable] extends ChangeObserver[S] {
1.8 +trait ChartValidityObserver[S] extends ChangeObserver[S] {
1.9 }
1.10
1.11
2.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartView.scala Wed Nov 04 01:43:13 2009 +0800
2.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartView.scala Wed Nov 04 03:26:31 2009 +0800
2.3 @@ -134,11 +134,11 @@
2.4 /** @TODO should consider: in case of overlapping indciators, how to avoid multiple repaint() */
2.5 }
2.6
2.7 - def addObserver(owner: Object, observer: ChangeObserver[_]) {
2.8 + def addObserver(owner: Object, observer: ChangeObserver[Any]) {
2.9 observableHelper.addObserver(owner, observer)
2.10 }
2.11
2.12 - def removeObserver(observer: ChangeObserver[_]) {
2.13 + def removeObserver(observer: ChangeObserver[Any]) {
2.14 observableHelper.removeObserver(observer)
2.15 }
2.16
2.17 @@ -153,7 +153,7 @@
2.18 * wBar
2.19 * onCalendarMode
2.20 */
2.21 - def notifyObserversChanged(oberverType: Class[_ <: ChangeObserver[_]]) {
2.22 + def notifyObserversChanged(oberverType: Class[_ <: ChangeObserver[Any]]) {
2.23 observableHelper.notifyObserversChanged(this, oberverType)
2.24 }
2.25
2.26 @@ -272,7 +272,7 @@
2.27 if (maxValue != oldMaxValue || minValue != oldMinValue) {
2.28 oldMaxValue = maxValue;
2.29 oldMinValue = minValue;
2.30 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
2.31 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
2.32 }
2.33 }
2.34
2.35 @@ -308,7 +308,7 @@
2.36 val oldValue = this.nBars
2.37 this.nBars = nBars
2.38 if (this.nBars != oldValue) {
2.39 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
2.40 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
2.41 }
2.42 }
2.43
2.44 @@ -513,7 +513,7 @@
2.45 }
2.46 }
2.47
2.48 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
2.49 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
2.50
2.51 repaint();
2.52 }
2.53 @@ -536,7 +536,7 @@
2.54 overlappingSerChartMapVars.remove(ser)
2.55 }
2.56
2.57 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
2.58 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
2.59
2.60 repaint();
2.61 }
2.62 @@ -559,7 +559,7 @@
2.63 }
2.64 }
2.65
2.66 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
2.67 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
2.68
2.69 /** repaint this chart view */
2.70 repaint()
3.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartingControllerFactory.scala Wed Nov 04 01:43:13 2009 +0800
3.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/ChartingControllerFactory.scala Wed Nov 04 03:26:31 2009 +0800
3.3 @@ -202,7 +202,7 @@
3.4 if (!mouseEnteredAnyChartPane) {
3.5 /** this cleanups mouse cursor */
3.6 if (this.mouseEnteredAnyChartPane != oldValue) {
3.7 - notifyObserversChanged(classOf[MouseCursorObserver[_]])
3.8 + notifyObserversChanged(classOf[MouseCursorObserver[Any]])
3.9 updateViews
3.10 }
3.11 }
3.12 @@ -235,7 +235,7 @@
3.13 }
3.14
3.15 /** decide wBar according to wViewPort. Do not use integer divide here */
3.16 - var newWBar = wViewPort.floatValue / nBars.floatValue
3.17 + var newWBar = wViewPort.toFloat / nBars.toFloat
3.18
3.19 /** adjust xfactorIdx to nearest */
3.20 if (newWBar < BAR_WIDTHS_ARRAY(0)) {
3.21 @@ -281,7 +281,7 @@
3.22 internal_setReferCursorByTime(referCursorTime)
3.23 internal_setRightCursorByTime(rightCursorTime)
3.24
3.25 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
3.26 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
3.27 updateViews
3.28 }
3.29 }
3.30 @@ -361,11 +361,11 @@
3.31 }
3.32 }
3.33
3.34 - def addObserver(owner: AnyRef, observer: ChangeObserver[_]) {
3.35 + def addObserver(owner: AnyRef, observer: ChangeObserver[Any]) {
3.36 observableHelper.addObserver(owner, observer)
3.37 }
3.38
3.39 - def removeObserver(observer: ChangeObserver[_]) {
3.40 + def removeObserver(observer: ChangeObserver[Any]) {
3.41 observableHelper.removeObserver(observer)
3.42 }
3.43
3.44 @@ -383,7 +383,7 @@
3.45 * mosueCursor
3.46 * mouseEnteredAnyChartPane
3.47 */
3.48 - def notifyObserversChanged(observerType: Class[_ <: ChangeObserver[_]]) {
3.49 + def notifyObserversChanged(observerType: Class[_ <: ChangeObserver[Any]]) {
3.50 observableHelper.notifyObserversChanged(this, observerType)
3.51 }
3.52
3.53 @@ -432,7 +432,7 @@
3.54 val oldValue = this.wBar
3.55 this.wBar = wBar
3.56 if (this.wBar != oldValue) {
3.57 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
3.58 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
3.59 }
3.60 }
3.61
3.62 @@ -442,8 +442,8 @@
3.63 /** remember the lastRow for decision if need update cursor, see changeCursorByRow() */
3.64 this.lastOccurredRowOfMasterSer = masterSer.lastOccurredRow
3.65 if (this.referCursorRow != oldValue) {
3.66 - notifyObserversChanged(classOf[ReferCursorObserver[_]])
3.67 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
3.68 + notifyObserversChanged(classOf[ReferCursorObserver[Any]])
3.69 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
3.70 }
3.71 }
3.72
3.73 @@ -451,7 +451,7 @@
3.74 val oldValue = this.rightSideRow
3.75 this.rightSideRow = row
3.76 if (this.rightSideRow != oldValue) {
3.77 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
3.78 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
3.79 }
3.80 }
3.81
3.82 @@ -471,7 +471,7 @@
3.83 * even mouseCursor row not changed, the mouse's y may has been changed,
3.84 * so, notify observers without comparing the oldValue and newValue.
3.85 */
3.86 - notifyObserversChanged(classOf[MouseCursorObserver[_]])
3.87 + notifyObserversChanged(classOf[MouseCursorObserver[Any]])
3.88 }
3.89
3.90 def isCursorAccelerated: Boolean = {
3.91 @@ -576,7 +576,7 @@
3.92 setCursorByRow(referRow, rightRow, true)
3.93 }
3.94
3.95 - notifyObserversChanged(classOf[ChartValidityObserver[_]])
3.96 + notifyObserversChanged(classOf[ChartValidityObserver[Any]])
3.97
3.98 case _ =>
3.99 }
4.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/MouseCursorObserver.scala Wed Nov 04 01:43:13 2009 +0800
4.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/MouseCursorObserver.scala Wed Nov 04 03:26:31 2009 +0800
4.3 @@ -37,7 +37,7 @@
4.4 *
4.5 * @author Caoyuan Deng
4.6 */
4.7 -trait MouseCursorObserver[S <: ChangeObservable] extends ChangeObserver[S] {
4.8 +trait MouseCursorObserver[S] extends ChangeObserver[S] {
4.9 }
4.10
4.11
5.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/ReferCursorObserver.scala Wed Nov 04 01:43:13 2009 +0800
5.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/ReferCursorObserver.scala Wed Nov 04 03:26:31 2009 +0800
5.3 @@ -37,7 +37,7 @@
5.4 *
5.5 * @author Caoyuan Deng
5.6 */
5.7 -trait ReferCursorObserver[S <: ChangeObservable] extends ChangeObserver[S] {
5.8 +trait ReferCursorObserver[S] extends ChangeObserver[S] {
5.9 }
5.10
5.11
6.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/AxisXPane.scala Wed Nov 04 01:43:13 2009 +0800
6.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/AxisXPane.scala Wed Nov 04 03:26:31 2009 +0800
6.3 @@ -82,21 +82,21 @@
6.4 def update(controller: ChartingController) {
6.5 updateMouseCursorLabel
6.6 }
6.7 - })
6.8 + }.asInstanceOf[MouseCursorObserver[Any]])
6.9
6.10 view.getController.addObserver(this, new ReferCursorObserver[ChartingController] {
6.11
6.12 def update(controller: ChartingController) {
6.13 updateReferCursorLabel
6.14 }
6.15 - })
6.16 + }.asInstanceOf[ReferCursorObserver[Any]])
6.17
6.18 view.getController.addObserver(this, new ChartValidityObserver[ChartingController] {
6.19
6.20 def update(controller: ChartingController) {
6.21 updateReferCursorLabel
6.22 }
6.23 - })
6.24 + }.asInstanceOf[ChartValidityObserver[Any]])
6.25
6.26
6.27 def setTimeZone(timeZone: TimeZone) {
7.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/AxisYPane.scala Wed Nov 04 01:43:13 2009 +0800
7.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/AxisYPane.scala Wed Nov 04 03:26:31 2009 +0800
7.3 @@ -81,21 +81,21 @@
7.4 def update(controller: ChartingController) {
7.5 updateMouseCursorLabel
7.6 }
7.7 - })
7.8 + }.asInstanceOf[MouseCursorObserver[Any]])
7.9
7.10 view.getController.addObserver(this, new ReferCursorObserver[ChartingController] {
7.11
7.12 def update(controller: ChartingController) {
7.13 updateReferCursorLabel
7.14 }
7.15 - })
7.16 + }.asInstanceOf[ReferCursorObserver[Any]])
7.17
7.18 view.addObserver(this, new ChartValidityObserver[ChartView] {
7.19
7.20 def update(view: ChartView) {
7.21 updateReferCursorLabel
7.22 }
7.23 - })
7.24 + }.asInstanceOf[ChartValidityObserver[Any]])
7.25
7.26
7.27 private def updateMouseCursorLabel {
8.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/ChartPane.scala Wed Nov 04 01:43:13 2009 +0800
8.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/ChartPane.scala Wed Nov 04 03:26:31 2009 +0800
8.3 @@ -89,14 +89,14 @@
8.4 chartValid = false
8.5 setGeometryValid(false)
8.6 }
8.7 - })
8.8 + }.asInstanceOf[ChartValidityObserver[Any]])
8.9
8.10 getView.addObserver(this, new ChartValidityObserver[ChartView] {
8.11 def update(subject: ChartView) {
8.12 chartValid = false
8.13 setGeometryValid(false)
8.14 }
8.15 - })
8.16 + }.asInstanceOf[ChartValidityObserver[Any]])
8.17
8.18
8.19 protected def isChartValid: Boolean = {
9.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/GlassPane.scala Wed Nov 04 01:43:13 2009 +0800
9.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/GlassPane.scala Wed Nov 04 03:26:31 2009 +0800
9.3 @@ -137,7 +137,7 @@
9.4 updateSelectedSerVarValues
9.5 }
9.6 }
9.7 - });
9.8 + }.asInstanceOf[ReferCursorObserver[Any]])
9.9
9.10 view.getController.addObserver(this, new ChartValidityObserver[ChartingController] {
9.11
9.12 @@ -148,7 +148,7 @@
9.13 updateSelectedSerVarValues
9.14 }
9.15 }
9.16 - })
9.17 + }.asInstanceOf[ChartValidityObserver[Any]])
9.18
9.19 view.addObserver(this, new ChartValidityObserver[ChartView] {
9.20
9.21 @@ -159,7 +159,7 @@
9.22 updateSelectedSerVarValues
9.23 }
9.24 }
9.25 - })
9.26 + }.asInstanceOf[ChartValidityObserver[Any]])
9.27
9.28 /**
9.29 * @todo updateTitle() when
10.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/Pane.scala Wed Nov 04 01:43:13 2009 +0800
10.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/view/pane/Pane.scala Wed Nov 04 03:26:31 2009 +0800
10.3 @@ -97,7 +97,7 @@
10.4 def update(controller: ChartingController) {
10.5 paintChartOnXORMode(mouseCursorChart)
10.6 }
10.7 - })
10.8 + }.asInstanceOf[MouseCursorObserver[Any]])
10.9 }
10.10
10.11 setDoubleBuffered(true)
11.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/widget/AbstractWidget.scala Wed Nov 04 01:43:13 2009 +0800
11.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/widget/AbstractWidget.scala Wed Nov 04 03:26:31 2009 +0800
11.3 @@ -376,7 +376,7 @@
11.4 }
11.5 }
11.6
11.7 - def lookupChildren[T <: Widget](widgetType: Class[T], foreground: Color): ArrayList[T] = {
11.8 + def lookupChildren[T <: Widget: Manifest](widgetType: Class[T], foreground: Color): ArrayList[T] = {
11.9 val result = new ArrayList[T]
11.10 if (children != null) {
11.11 for (child <- children) {
12.1 --- a/modules/lib.charting/src/org/aiotrade/lib/charting/widget/Widget.scala Wed Nov 04 01:43:13 2009 +0800
12.2 +++ b/modules/lib.charting/src/org/aiotrade/lib/charting/widget/Widget.scala Wed Nov 04 03:26:31 2009 +0800
12.3 @@ -111,7 +111,7 @@
12.4 def removeChild(child: Widget): Unit
12.5 def children: ArrayList[Widget]
12.6 def clearChildren: Unit
12.7 - def lookupChildren[T <: Widget](widgetType: Class[T], foreground: Color): Seq[T]
12.8 + def lookupChildren[T <: Widget: Manifest](widgetType: Class[T], foreground: Color): Seq[T]
12.9 def lookupFirstChild[T <: Widget](widgetType: Class[T], foreground: Color): Option[T]
12.10
12.11 def addAction(action: Action): Action
13.1 --- a/modules/lib.indicator/src/org/aiotrade/lib/indicator/function/STOCHDFunction.scala Wed Nov 04 01:43:13 2009 +0800
13.2 +++ b/modules/lib.indicator/src/org/aiotrade/lib/indicator/function/STOCHDFunction.scala Wed Nov 04 03:26:31 2009 +0800
13.3 @@ -28,11 +28,10 @@
13.4 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13.5 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13.6 */
13.7 -package org.aiotrade.lib.indicator.function;
13.8 +package org.aiotrade.lib.indicator.function
13.9
13.10 -import org.aiotrade.lib.math.timeseries.TSer;
13.11 -import org.aiotrade.lib.math.timeseries.TVar;
13.12 -import org.aiotrade.lib.math.timeseries.computable.Factor;
13.13 +import org.aiotrade.lib.math.timeseries.TSer
13.14 +import org.aiotrade.lib.math.timeseries.computable.Factor
13.15
13.16 /**
13.17 *
14.1 --- a/modules/lib.math/src/org/aiotrade/lib/math/StatisticFunction.scala Wed Nov 04 01:43:13 2009 +0800
14.2 +++ b/modules/lib.math/src/org/aiotrade/lib/math/StatisticFunction.scala Wed Nov 04 03:26:31 2009 +0800
14.3 @@ -244,7 +244,7 @@
14.4 }
14.5
14.6 val period1 = period(begIdx, endIdx) * 1d
14.7 - Math.sqrt(deviation_square_sum / period1).asInstanceOf[Float]
14.8 + Math.sqrt(deviation_square_sum / period1).toFloat
14.9 }
14.10
14.11 /**
14.12 @@ -299,7 +299,7 @@
14.13 val maxmin1 = maxmin(values, begIdx1, endIdx)
14.14 val max = maxmin1(MAX)
14.15 val min = maxmin1(MIN)
14.16 - val nIntervals = (((max - min) / interval) + 1).asInstanceOf[Int]
14.17 + val nIntervals = (((max - min) / interval) + 1).toInt
14.18 probMass(values, weights, begIdx1, endIdx, max, min, nIntervals)
14.19 }
14.20
14.21 @@ -330,10 +330,10 @@
14.22 i = begIdx1
14.23 while (i <= lastIdx) {
14.24 val value = values(i)
14.25 - val weight = if (weights == null) 1f else weights(i).floatValue
14.26 + val weight = if (weights == null) 1F else weights(i).toFloat
14.27 if (value >= min && value <= max) {
14.28 /** only calculate those between max and min */
14.29 - val densityIdx = ((value - min) / interval).asInstanceOf[Int]
14.30 + val densityIdx = ((value - min) / interval).toInt
14.31 mass(MASS)(densityIdx) += weight
14.32 }
14.33
14.34 @@ -360,7 +360,7 @@
14.35 val maxmin1 = maxmin(values, begIdx, endIdx)
14.36 val max = maxmin1(MAX)
14.37 val min = maxmin1(MIN)
14.38 - val nIntervals = (((max - min) / interval) + 1).asInstanceOf[Int]
14.39 + val nIntervals = (((max - min) / interval) + 1).toInt
14.40 val period1 = period(begIdx, endIdx)
14.41 val mass = new Array[Array[Float]](2, nIntervals)
14.42 var i = 0
14.43 @@ -378,7 +378,7 @@
14.44 val weight = if (weights == null) 1f else weights(i)
14.45 if (value >= min && value <= max) {
14.46 /** only calculate those between max and min */
14.47 - val densityIdx = ((value - min) / interval).asInstanceOf[Int]
14.48 + val densityIdx = ((value - min) / interval).toInt
14.49 mass(MASS)(densityIdx) += weight
14.50 }
14.51
15.1 --- a/modules/lib.util/src/org/aiotrade/lib/util/ChangeObservable.scala Wed Nov 04 01:43:13 2009 +0800
15.2 +++ b/modules/lib.util/src/org/aiotrade/lib/util/ChangeObservable.scala Wed Nov 04 03:26:31 2009 +0800
15.3 @@ -38,9 +38,9 @@
15.4 */
15.5 trait ChangeObservable {
15.6
15.7 - def addObserver(owner: Object, observer: ChangeObserver[_]): Unit
15.8 + def addObserver(owner: Object, observer: ChangeObserver[Any]): Unit
15.9
15.10 - def removeObserver(observer: ChangeObserver[_]): Unit
15.11 + def removeObserver(observer: ChangeObserver[Any]): Unit
15.12
15.13 def removeObserversOf(owner: Object): Unit
15.14
15.15 @@ -49,6 +49,6 @@
15.16 * we only apply O here, the implement class can choose to notify this type
15.17 * of observers,
15.18 */
15.19 - def notifyObserversChanged(observerType: Class[_ <: ChangeObserver[_]]): Unit
15.20 + def notifyObserversChanged(observerType: Class[_ <: ChangeObserver[Any]]): Unit
15.21 }
15.22
16.1 --- a/modules/lib.util/src/org/aiotrade/lib/util/ChangeObservableHelper.scala Wed Nov 04 01:43:13 2009 +0800
16.2 +++ b/modules/lib.util/src/org/aiotrade/lib/util/ChangeObservableHelper.scala Wed Nov 04 03:26:31 2009 +0800
16.3 @@ -51,8 +51,6 @@
16.4 @transient
16.5 val observerToOwner = new HashMap[ChangeObserver[Any], AnyRef]
16.6
16.7 - def ChangeObservableHelper: Unit = {}
16.8 -
16.9 def getObservers: Collection[ChangeObserver[Any]] = {
16.10 observerToOwner.keySet
16.11 }
16.12 @@ -82,7 +80,7 @@
16.13 }
16.14 }
16.15
16.16 - def notifyObserversChanged[T <: ChangeObserver[_]](subject: Any, observerType: Class[T]): Unit = {
16.17 + def notifyObserversChanged[T <: ChangeObserver[Any]](subject: Any, observerType: Class[T]): Unit = {
16.18 for (observer <- observerToOwner.keysIterator if observerType.isInstance(observer)) {
16.19 observer.asInstanceOf[ChangeObserver[Any]].update(subject)
16.20 }
17.1 --- a/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/BIASIndicator.scala Wed Nov 04 01:43:13 2009 +0800
17.2 +++ b/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/BIASIndicator.scala Wed Nov 04 03:26:31 2009 +0800
17.3 @@ -28,12 +28,10 @@
17.4 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
17.5 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17.6 */
17.7 -package org.aiotrade.platform.modules.indicator.basic;
17.8 +package org.aiotrade.platform.modules.indicator.basic
17.9
17.10 -//import org.aiotrade.lib.math.timeseries.Var;
17.11 -//import org.aiotrade.lib.math.timeseries.computable.Factor;
17.12 -import org.aiotrade.lib.math.timeseries.plottable.Plot;
17.13 -import org.aiotrade.lib.indicator.ContIndicator;
17.14 +import org.aiotrade.lib.math.timeseries.plottable.Plot
17.15 +import org.aiotrade.lib.indicator.ContIndicator
17.16
17.17 /**
17.18 *
18.1 --- a/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/EMAIndicator.scala Wed Nov 04 01:43:13 2009 +0800
18.2 +++ b/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/EMAIndicator.scala Wed Nov 04 03:26:31 2009 +0800
18.3 @@ -28,7 +28,7 @@
18.4 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
18.5 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
18.6 */
18.7 -package org.aiotrade.platform.modules.indicator.basic;
18.8 +package org.aiotrade.platform.modules.indicator.basic
18.9
18.10 import org.aiotrade.lib.math.timeseries.plottable.Plot
18.11 import org.aiotrade.lib.indicator.ContIndicator
19.1 --- a/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/ROCIndicator.scala Wed Nov 04 01:43:13 2009 +0800
19.2 +++ b/modules/p.m.indicator.basic/src/org/aiotrade/platform/modules/indicator/basic/ROCIndicator.scala Wed Nov 04 03:26:31 2009 +0800
19.3 @@ -30,7 +30,6 @@
19.4 */
19.5 package org.aiotrade.platform.modules.indicator.basic
19.6
19.7 -import org.aiotrade.lib.math.timeseries.TVar
19.8 import org.aiotrade.lib.math.timeseries.plottable.Plot
19.9 import org.aiotrade.lib.indicator.ContIndicator
19.10