Exemplo n.º 1
0
void MainWindow::buttonClicked()
{
    ui->dodajDete->setDisabled(true);
    ui->lineEdit->setDisabled(true);
    if(depth == 0 ){
        std::string formula = ui->lineEdit->text().toUtf8().constData();
        formula += " ;";
        std::ostringstream stream;
        qDebug() << QString::fromStdString(formula);
       YY_BUFFER_STATE buffer = yy_scan_string(formula.c_str());

                if(yyparse() == 1){
            qDebug() << "Pa to ti ne radi";
        }

        qreal rect_width = formula.length()*PARAMETER;
        qreal rect_height = 20;
        int rect_x = 85;
        int rect_y = 180;
        std::vector<Formula> tmp_vec = std::vector<Formula>();
        parsed_formula->getAtoms(tmp_vec);
        QVector<Formula> assumptions = QVector<Formula>::fromStdVector(tmp_vec);
        Node* item = new Node( parsed_formula, rect_width, rect_height, rect_x, rect_y, nullptr, assumptions);
        scene->addNode(item);
   }

    depth += 15;
}
Exemplo n.º 2
0
void MainWindow::chooseFileClicked()
{
    ui->dodajDete->setDisabled(true);
    ui->lineEdit->setDisabled(true);

    std::ostringstream stream;
    if(depth == 0 ){
        QString file_name = QFileDialog::getOpenFileName(this, tr("Učitaj iz fajla"), QDir::currentPath(), tr("*.for"));
        qDebug() << file_name;
        QFile f(file_name);
            if (!f.open(QFile::ReadOnly | QFile::Text)){
                QMessageBox msgBox;
                 msgBox.setWindowTitle("Error!");
                 msgBox.setText("Can`t open file");
                 msgBox.setDetailedText("Unable to open file for reading");
                 msgBox.exec();
            }
            QTextStream in(&f);
            stream << in.readAll().toUtf8().constData();



        std::string formula = stream.str();
        formula += " ;";
        qDebug() << QString::fromStdString(formula);
       YY_BUFFER_STATE buffer = yy_scan_string(formula.c_str());

                if(yyparse() == 1){
            qDebug() << "Pa to ti ne radi";
        }

        qreal rect_width = formula.length()*PARAMETER;
        qreal rect_height = 20;
        int rect_x = 85;
        int rect_y = 180;
        std::vector<Formula> tmp_vec = std::vector<Formula>();
        parsed_formula->getAtoms(tmp_vec);
        QVector<Formula> assumptions = QVector<Formula>::fromStdVector(tmp_vec);
        Node* item = new Node( parsed_formula, rect_width, rect_height, rect_x, rect_y, nullptr, assumptions);
        scene->addNode(item);
   }

}
Exemplo n.º 3
0
 void getAtoms(std::vector<Formula> atoms){
    _op->getAtoms(atoms);
 }