You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.6 KiB

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);
}
}
}