Exemplo n.º 1
0
 public Truthtable(ConnectiveHolder ConHolder)
 {
     conHolder     = ConHolder;
     argumentsChar = ConHolder.GetListOfAllArguments();
     rows          = new List <TruthtableRow>();
     createTruthtableRows();
     fillTruthtableRowsWithAnswers();
 }
Exemplo n.º 2
0
        private void printVisualTruthtables(Truthtable chosenTable)
        {
            //clear tables
            dgvTruthTable.Columns.Clear();
            dgvTruthTable.Rows.Clear();
            dgvSimpleTable.Columns.Clear();
            dgvSimpleTable.Rows.Clear();

            if (conHolder == null)
            {
                MessageBox.Show("No proposition has been parsed yet"); return;
            }

            //table = new Truthtable(conHolder);
            List <char>          arguments  = conHolder.GetListOfAllArguments();
            List <TruthtableRow> rows       = chosenTable.Rows;             //normal truthtable rows
            List <TruthtableRow> simpleRows = chosenTable.GetSimpleTable(); //simple truthtable rows

            //create form table's columns
            int counter = 0;

            foreach (char c in arguments)
            {
                dgvTruthTable.Columns.Add(c.ToString(), c.ToString());
                dgvTruthTable.Columns[counter].Width = 20;
                dgvSimpleTable.Columns.Add(c.ToString(), c.ToString());
                dgvSimpleTable.Columns[counter].Width = 20;
                counter++;
            }
            dgvTruthTable.Columns.Add("Result", "Result");
            dgvTruthTable.Columns[counter].Width = 50;
            dgvSimpleTable.Columns.Add("Result", "Result");
            dgvSimpleTable.Columns[counter].Width = 50;

            //provide form table's with rows
            DataGridViewRow row;

            foreach (TruthtableRow r in rows) //print normal table
            {
                row     = (DataGridViewRow)dgvTruthTable.Rows[0].Clone();
                counter = 0;
                foreach (char c in arguments)
                {
                    row.Cells[counter].Value = r.GetValueForArgument(c);
                    counter++;
                }
                row.Cells[counter].Value = r.RowValue;
                dgvTruthTable.Rows.Add(row);
            }
            foreach (TruthtableRow r in simpleRows) //print simple table
            {
                row     = (DataGridViewRow)dgvSimpleTable.Rows[0].Clone();
                counter = 0;
                foreach (char c in arguments)
                {
                    row.Cells[counter].Value = r.GetValueForArgument(c);
                    counter++;
                }
                row.Cells[counter].Value = r.RowValue;
                dgvSimpleTable.Rows.Add(row);
            }
        }