|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
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.Navigation;
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
|
|
|
|
namespace Signal_Generator
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Логика взаимодействия для MainWindow.xaml
|
|
|
|
/// </summary>
|
|
|
|
public partial class MainWindow : Window
|
|
|
|
{
|
|
|
|
AddSignalWindow addSignalWindow_Instance;
|
|
|
|
TaskWindow taskWindow_Instance;
|
|
|
|
ObservableCollection<IAnalogSignal> signalCollection;
|
|
|
|
|
|
|
|
public MainWindow()
|
|
|
|
{
|
|
|
|
InitializeComponent();
|
|
|
|
signalCollection = new ObservableCollection<IAnalogSignal>();
|
|
|
|
signals_ListBox.Items.Clear();
|
|
|
|
signals_ListBox.ItemsSource = signalCollection;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void addSignal_Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
{
|
|
|
|
IsEnabled = false;
|
|
|
|
addSignalWindow_Instance = new AddSignalWindow();
|
|
|
|
addSignalWindow_Instance.createItem_Button.Click += addSignalWindow_createItem_Button_Click;
|
|
|
|
addSignalWindow_Instance.Closed += enableMainWindow;
|
|
|
|
addSignalWindow_Instance.Show();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void enableMainWindow(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
IsEnabled = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void addSignalWindow_createItem_Button_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
var signal = null as IAnalogSignal;
|
|
|
|
signal = (IAnalogSignal) addSignalWindow_Instance.signalType_ComboBox.SelectedItem;
|
|
|
|
if (addSignalWindow_Instance.signalType_ComboBox.SelectedItem == null) return;
|
|
|
|
signalCollection.Add(signal);
|
|
|
|
addSignalWindow_Instance.Close();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void startProcedure_Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
{
|
|
|
|
IsEnabled = false;
|
|
|
|
MultiSignal ms = new MultiSignal();
|
|
|
|
foreach (IAnalogSignal item in signalCollection)
|
|
|
|
{
|
|
|
|
ms.add(item);
|
|
|
|
}
|
|
|
|
taskWindow_Instance = new TaskWindow(ms);
|
|
|
|
taskWindow_Instance.Show();
|
|
|
|
taskWindow_Instance.Closed += enableMainWindow;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void removeSignal_Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
{
|
|
|
|
if (signals_ListBox.SelectedIndex == -1) return;
|
|
|
|
signalCollection.RemoveAt(signals_ListBox.SelectedIndex);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|