Example #1
0
        private void SummationTableExport_Click(object sender, RoutedEventArgs e)
        {
            var csv = new StringBuilder();

            csv.AppendLine("+;" + string.Join(";", SummationTable.GetLabels()));

            for (int i = 0; i < SummationTable.Rows.Count(); i++)
            {
                csv.AppendLine(SummationTable.Rows[i].ToString());
            }

            Microsoft.Win32.SaveFileDialog dialog = getDialog();

            // Show save file dialog box
            Nullable <bool> result = dialog.ShowDialog();

            // Process save file dialog box results
            if (result == true)
            {
                // Save document
                string filename = dialog.FileName;

                File.WriteAllText(filename, csv.ToString());
            }
        }
Example #2
0
        private async void generateTablesAsync()
        {
            await Task.Run(() =>
            {
                ResultGrid.Dispatcher.Invoke(() => {
                    List <ClsPolinom.Polinom> columns = FiniteFieldLibrary.FiniteField.generateMembers(MyOrder);

                    //Prepare tables representation
                    int i = 0;
                    foreach (ClsPolinom.Polinom polinom in columns)
                    {
                        SummationTable.createRow(columns.Count());
                        SummationGrid.Columns.Add(getDataGridTemplateColumn(getPolinomTextBlock(polinom), String.Format("Polinoms[{0}]", i)));
                        SummationTable.Rows[i].Label = polinom;

                        MultiplicationTable.createRow(columns.Count());
                        MultiplicationGrid.Columns.Add(getDataGridTemplateColumn(getPolinomTextBlock(polinom), String.Format("Polinoms[{0}]", i)));
                        MultiplicationTable.Rows[i].Label = polinom;

                        i++;
                    }
                });
            });

            ResultGrid.Visibility = Visibility.Visible;

            await Task.Run(() =>
            {
                FiniteFieldLibrary.FiniteField.calculateTables(SummationTable.GetLabelPolinoms(), MyOrder, IrreduciblePolinom, ((ClsPolinom.Polinom res, int i, int j) =>
                {
                    SummationTable.Rows[i].Polinoms[j] = res;
                    ResultGrid.Dispatcher.Invoke(() =>
                    {
                        SummationGrid.ItemsSource = null;
                        SummationGrid.ItemsSource = SummationTable.Rows;
                    });
                }), ((ClsPolinom.Polinom res, int i, int j) =>
                {
                    MultiplicationTable.Rows[i].Polinoms[j] = res;
                    ResultGrid.Dispatcher.Invoke(() =>
                    {
                        MultiplicationGrid.ItemsSource = null;
                        MultiplicationGrid.ItemsSource = MultiplicationTable.Rows;
                    });
                }), () =>
                {
                    Dispatcher.Invoke(() =>
                    {
                        TableButtonSpinner.Visibility = Visibility.Hidden;
                        TableButton.IsEnabled         = true;
                        enableExportButtons();
                    });
                });
            });
        }
Example #3
0
        private void generateTables(object sender, RoutedEventArgs e)
        {
            disableExportButtons();
            TableButtonSpinner.Visibility = Visibility.Visible;
            TableButton.IsEnabled         = false;

            SummationGrid.ItemsSource = null;
            SummationTable.Clear();;
            SummationGrid.Columns.Clear();
            SummationGrid.ItemsSource = SummationTable.Rows;

            MultiplicationGrid.ItemsSource = null;
            MultiplicationTable.Clear();
            MultiplicationGrid.Columns.Clear();
            MultiplicationGrid.ItemsSource = MultiplicationTable.Rows;

            generateTablesAsync();
        }