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 { /// /// Логика взаимодействия для MainWindow.xaml /// public partial class MainWindow : Window { AddSignalWindow addSignalWindow_Instance; TaskWindow taskWindow_Instance; MultiSignal multiSignal = MultiSignal.getInstance(); public MainWindow() { InitializeComponent(); var c = Properties.Settings.LoadSignals(); if (c != null) multiSignal.signals = c; signals_ListBox.Items.Clear(); signals_ListBox.ItemsSource = multiSignal.signals; } 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; multiSignal.Add(signal); addSignalWindow_Instance.Close(); } private void startProcedure_Button_Click(object sender, RoutedEventArgs e) { IsEnabled = false; taskWindow_Instance = new TaskWindow(); taskWindow_Instance.Show(); taskWindow_Instance.Closed += enableMainWindow; } private void removeSignal_Button_Click(object sender, RoutedEventArgs e) { if (signals_ListBox.SelectedItem == null) return; var x = signals_ListBox.SelectedItem as IAnalogSignal; multiSignal.Remove(x); } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { Properties.Settings.SaveSignals(multiSignal.signals); } } }