private void canvasP_MouseUp(object sender, MouseButtonEventArgs e) { Point p = Mouse.GetPosition(canvasP); WaveEvent.EventType t = (WaveEvent.EventType)comboBoxSourceType.SelectedIndex; float freq; if (!float.TryParse(textBoxFreq.Text, out freq)) { MessageBox.Show("Parse error : Frequency"); return; } float magnitude; if (!float.TryParse(textBoxMagnitude.Text, out magnitude)) { MessageBox.Show("Parse error : Stimulus magnitude"); return; } mSim.AddStimulus(t, (int)(p.X), freq, magnitude); }
private void comboBoxSourceType_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!mInitialized) { return; } WaveEvent.EventType t = (WaveEvent.EventType)comboBoxSourceType.SelectedIndex; switch (t) { case WaveEvent.EventType.Gaussian: case WaveEvent.EventType.Pulse: labelFreq.IsEnabled = false; textBoxFreq.IsEnabled = false; break; case WaveEvent.EventType.Sine: labelFreq.IsEnabled = true; textBoxFreq.IsEnabled = true; break; default: System.Diagnostics.Debug.Assert(false); break; } }
public void AddStimulus(WaveEvent.EventType t, int x, int y, float freq, float magnitude) { int pos = x + y * mGridW; var ev = new WaveEvent(t, mSc, pos, freq, magnitude, mΔt); mWaveEventList.Add(ev); }
private void canvasP_MouseUp(object sender, MouseButtonEventArgs e) { Point p = Mouse.GetPosition(canvasP); { var l1 = new Line(); l1.X1 = p.X - 3; l1.Y1 = p.Y - 3; l1.X2 = p.X + 3; l1.Y2 = p.Y + 3; l1.Stroke = Brushes.Yellow; l1.StrokeThickness = 1; canvasP.Children.Add(l1); var l2 = new Line(); l2.X1 = p.X - 3; l2.Y1 = p.Y + 3; l2.X2 = p.X + 3; l2.Y2 = p.Y - 3; l2.Stroke = Brushes.Yellow; l2.StrokeThickness = 1; canvasP.Children.Add(l2); } int canvasW = (int)canvasP.ActualWidth; int canvasH = (int)canvasP.ActualHeight; float canvasToSimX = (float)mW / canvasW; float canvasToSimY = (float)mH / canvasH; WaveEvent.EventType t = (WaveEvent.EventType)comboBoxSourceType.SelectedIndex; float freq; if (!float.TryParse(textBoxFreq.Text, out freq)) { MessageBox.Show("Parse error : Frequency"); return; } float magnitude = 0; if (!float.TryParse(textBoxStimulationMagnitude.Text, out magnitude)) { MessageBox.Show("Error: Stimulation magnitude parse error"); return; } mSim.AddStimulus(t, (int)(p.X * canvasToSimX), (int)(p.Y * canvasToSimY), freq, magnitude); }
public void AddStimulus(WaveEvent.EventType t, int x, float freq, float magnitude) { var ev = new WaveEvent(t, mSc, x, freq, magnitude, mΔt); mWaveEventList.Add(ev); }