Пример #1
0
 public void CloseTM(TuringMachineUIControl tm)
 {
     tmList.RemoveAll(x => x == tm);
     this.TMContainer.Children.Remove(tm);
     tm.Close();
     UpdateControls();
 }
Пример #2
0
        private void NewWinBtn_Click(object sender, RoutedEventArgs e)
        {
            // Get filename from file dialog
            var             openFileDialog = new Microsoft.Win32.OpenFileDialog();
            Nullable <bool> result         = openFileDialog.ShowDialog();

            if (result == false)
            {
                return;
            }

            string filename = openFileDialog.FileName;

            Debug.WriteLine("selected file: " + filename);

            TuringMachineApp.TuringMachine            tm         = new TuringMachineApp.TuringMachine();
            TuringMachineApp.TuringMachine.ParseError parseError = tm.ReadFromFile(filename);

            if (parseError != null)
            {
                // Display error
                MessageBox.Show(this, "Error while reading from file!", "Parsing Error", MessageBoxButton.OK, MessageBoxImage.Exclamation, MessageBoxResult.OK);

                if (parseError != null)
                {
                    Debug.WriteLine("|  Klaida skaitant is failo " + filename + ':');

                    while (parseError != null)
                    {
                        Debug.WriteLine("|  " + parseError.message);
                        parseError = parseError.causedBy;
                    }

                    return;
                }

                return;
            }

            TuringMachineUIControl newTMWindow = new TuringMachineUIControl();

            newTMWindow.parentWindow = this;
            newTMWindow.Initialize(tm, filename);

            this.TMContainer.Children.Add(newTMWindow);
            tmList.Add(newTMWindow);
            UpdateControls();
        }