[Mono-list] MedSphere Graph
Panoramix
aria.francesco at gmail.com
Thu Jun 12 11:51:31 EDT 2008
I'm trying to create a dynamic trend but, having certainly made some
mistakes, the application crashes after a few cycles.
Carryover below the code, where I made the mistake?
Thanks to all .
using System;
using Gtk;
using Medsphere.Widgets;
using System.Timers;
public partial class MainWindow: Gtk.Window
{
// creo l'oggetto grafico
public Graph NuovoGraph = new Medsphere.Widgets.Graph2D();
// creo una struttura tree per immagazzinare i dati
public TreeStore store = new TreeStore (typeof (double), typeof (double));
public TreeStore storeA = new TreeStore (typeof (double), typeof (double));
public double x=0.0;
public double y=0.0;
// dichiaro il timer
private static System.Timers.Timer ourTimer;
public MainWindow (): base (Gtk.WindowType.Toplevel)
{
Build ();
store.AppendValues(0.0,0.0);
storeA.AppendValues(0.1,0.0);
// aggiungo gli assi al grafico
NuovoGraph.AppendAxis (new LinearAxis (0, AxisLocation.Bottom));
NuovoGraph.AppendAxis(new LinearAxis (1, AxisLocation.Left));
// creo il line plot per disegnare il grafico
LinePlot plot = new
LinePlot(store,PlotColor.DarkBrown,PointShape.Diamond);
LinePlot plotA = new LinePlot(storeA,PlotColor.Green,PointShape.Diamond);
plot.Name = "plot";
plot.SetValueDataColumn (0, 0);
plot.SetValueDataColumn (1, 1);
plotA.Name = "plot";
plotA.SetValueDataColumn (0, 0);
plotA.SetValueDataColumn (1, 1);
// creo un plot range ovvero le bande colorate di range
ReferenceRangePlot Rng = new ReferenceRangePlot (118.0,150.0,
1,PlotColor.Brown);
// aggiungo al grafico i tracciati creati
NuovoGraph.AddPlot(plot,NuovoGraph.Axes);
NuovoGraph.AddPlot(plotA,NuovoGraph.Axes);
NuovoGraph.AddPlot(Rng,NuovoGraph.Axes);
this.hbox2.Add(NuovoGraph);
NuovoGraph.Visible=true;
NuovoGraph.CanFocus = false;
//creo il timer
ourTimer = new System.Timers.Timer();
// attacco l'evento al timer
ourTimer.Elapsed += new ElapsedEventHandler(OnTimerElapsed);
// imposto l'intervallo a 5 secondi
ourTimer.Interval = 1000;
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
protected virtual void StartT (object sender, System.EventArgs e)
{
if (ourTimer.Enabled == false)
{
ourTimer.Enabled = true ;
button1.Label ="Started";
}
else
{
ourTimer.Enabled = false ;
button1.Label = "Stopped";
}
}
private void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("-> on plot in");
y=y + 0.2;
store.AppendValues(y,(Math.Sin (y)+1)*75);
LinePlot plot = new LinePlot(store,PlotColor.Green,PointShape.Diamond);
NuovoGraph.RemovePlot(plot);
NuovoGraph.AddPlot(plot,NuovoGraph.Axes);
Console.WriteLine("-> on plot out");
Console.WriteLine("-> on plotA in");
x=x + 0.2;
storeA.AppendValues(x+0.5,(Math.Sin (x)+1)*75);
LinePlot plotA = new
LinePlot(store,PlotColor.DarkBrown,PointShape.Diamond);
NuovoGraph.RemovePlot(plotA);
NuovoGraph.AddPlot(plotA,NuovoGraph.Axes);
Console.WriteLine("-> on plotA out");
}
}
-----
:working:
-----------------------------------------------------------------------------
http://freeflow.awardspace.com http://freeflow.awardspace.com
-----------------------------------------------------------------------------
--
View this message in context: http://www.nabble.com/MedSphere-Graph-tp17803310p17803310.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list