|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
using System.Threading;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Windows;
|
|
|
|
using System.Windows.Controls;
|
|
|
|
using System.Windows.Data;
|
|
|
|
using System.Windows.Documents;
|
|
|
|
using System.Windows.Input;
|
|
|
|
using System.Windows.Media;
|
|
|
|
using System.Windows.Media.Imaging;
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
|
|
|
|
namespace Signal_Generator
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Логика взаимодействия для TaskWindow.xaml
|
|
|
|
/// </summary>
|
|
|
|
///
|
|
|
|
|
|
|
|
|
|
|
|
public partial class TaskWindow : Window
|
|
|
|
{
|
|
|
|
MultiSignal currentMultiSignal;
|
|
|
|
DrawTask currentTask;
|
|
|
|
|
|
|
|
public TaskWindow(MultiSignal s)
|
|
|
|
{
|
|
|
|
InitializeComponent();
|
|
|
|
currentMultiSignal = s;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void start_Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
{
|
|
|
|
signalGraph_Canvas.Children.Clear();
|
|
|
|
if (currentTask != null)
|
|
|
|
switch (currentTask.dStatus)
|
|
|
|
{
|
|
|
|
case DrawTask.DStatus.Paused:
|
|
|
|
goto case DrawTask.DStatus.Running;
|
|
|
|
case DrawTask.DStatus.Running:
|
|
|
|
currentTask.dStatus = DrawTask.DStatus.Canceled;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
Action newAction = () =>
|
|
|
|
{
|
|
|
|
currentTask.buildTask(currentMultiSignal, signalGraph_Canvas);
|
|
|
|
};
|
|
|
|
currentTask = new DrawTask(newAction);
|
|
|
|
currentTask.Start();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void pause_Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
{
|
|
|
|
switch (currentTask.dStatus) {
|
|
|
|
case DrawTask.DStatus.Paused:
|
|
|
|
currentTask.dStatus = DrawTask.DStatus.Running;
|
|
|
|
pause_Button.Content = "Приостановить";
|
|
|
|
break;
|
|
|
|
case DrawTask.DStatus.Running:
|
|
|
|
currentTask.dStatus = DrawTask.DStatus.Paused;
|
|
|
|
pause_Button.Content = "Возобновить";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|