bool Clingo::updateFluents(const std::vector<actasp::AspFluent> &observations) throw() { //copy the observations in the heads of rules vector<AspRule> obsRules; obsRules.reserve(observations.size()); transform(observations.begin(),observations.end(),back_inserter(obsRules),fluent2Rule); //add the rule for the noop action stringstream queryStream(aspString(obsRules,1), ios_base::app | ios_base::out); queryStream << "noop(0)." << endl; queryStream << "#hide noop/1." << endl; list<AnswerSet> currentState = krQuery(queryStream.str(),1,1,"observationQuery.asp"); if (currentState.empty()) return false; //the observations are incompatible with the current state and are discarded vector<AspRule> newStateRules; //iclingo generates all answer sets up to the last iteration, so we need the last one here set<AspFluent> newStateFluents = currentState.rbegin()->getFluentsAtTime(1); newStateRules.reserve(newStateFluents.size()); transform(newStateFluents.begin(),newStateFluents.end(),back_inserter(newStateRules),fluent2Rule); //copy the current state in a file ofstream currentFile((CURRENT_FILE_HOME + CURRENT_STATE_FILE).c_str()); currentFile << aspString(newStateRules,0); currentFile.close(); return true; }
void MainSettings::on_commandLinkButton_Apply_clicked() { QString database = ui->comboBox_Database->currentText(); { Database conn; conn.connOpen("Main"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "UPDATE 'Main'" << " SET Target = '" << database << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else { QMessageBox::information(this, tr("AvisionR - Database"), "Database is now set to " + database); this->hide(); } conn.connClose(); } }
MainSettings::MainSettings(QWidget *parent) : QDialog(parent), ui(new Ui::MainSettings) { ui->setupUi(this); QPixmap windowIconPix("pixMap/eye.png"); QIcon windowIcon(windowIconPix); this->setWindowIcon(windowIcon); ui->comboBox_Database->addItem("Pomona"); ui->comboBox_Database->addItem("Fontana"); { Database conn; conn.connOpen("Master"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "Select * from mastertable"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else { while(qry->next()) { ui->lineEdit_storeAddress1->setText(qry->value(6).toString()); ui->lineEdit_StoreAddress2->setText(qry->value(7).toString()); ui->lineEdit_storeCity->setText(qry->value(8).toString()); ui->lineEdit_storeState->setText(qry->value(9).toString()); ui->lineEdit_StoreZip->setText(qry->value(10).toString()); tempPhone = qry->value(11).toString(); ui->lineEdit_PhoneArea->setText(tempPhone.left(3)); ui->lineEdit_PhoneMiddle->setText(tempPhone.mid(3,3)); ui->lineEdit_PhoneRight->setText(tempPhone.right(4)); } } conn.connClose(); } }
SelectUser::SelectUser(QWidget *parent, QString name, QString id, UserManagement *user) : QDialog(parent), ui(new Ui::SelectUser) { ui->setupUi(this); QPixmap windowIconPix("pixMap/eye.png"); QIcon windowIcon(windowIconPix); this->setWindowIcon(windowIcon); ui->label_id->setText(id); thisUser = user; { Database conn; conn.connOpen("Employee"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "Select * from Employees WHERE ID = '" << id << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else { while(qry->next()) { ui->lineEdit_name->setText(qry->value(0).toString()); ui->lineEdit_username->setText(qry->value(2).toString()); ui->lineEdit_password->setText(qry->value(3).toString()); ui->lineEdit_position->setText(qry->value(5).toString()); ui->lineEdit_hourlySalary->setText(qry->value(6).toString()); ui->checkBox_admin->setChecked(qry->value(4).toBool()); } } conn.connClose(); } }
void QueryLabel::startDrag() { if ( m_query.isNull() ) return; QByteArray queryData; QDataStream queryStream( &queryData, QIODevice::WriteOnly ); QMimeData* mimeData = new QMimeData(); mimeData->setText( text() ); queryStream << qlonglong( &m_query ); mimeData->setData( "application/tomahawk.query.list", queryData ); if ( m_hoverType != None ) { QString extra; switch( m_hoverType ) { case Artist: extra = "artist"; break; case Album: extra = "album"; break; case Track: extra = "track"; break; default: break; } mimeData->setData( "application/tomahawk.dragsource.type", extra.toUtf8() ); } QDrag *drag = new QDrag( this ); drag->setMimeData( mimeData ); drag->setPixmap( TomahawkUtils::createDragPixmap( TomahawkUtils::MediaTypeTrack ) ); // QPoint hotSpot = event->pos() - child->pos(); // drag->setHotSpot( hotSpot ); drag->exec( Qt::CopyAction ); }
void SelectUser::on_commandLinkButton_update_clicked() { QString admin; if(ui->checkBox_admin->isChecked()) admin = "1"; else admin = "0"; { Database conn; conn.connOpen("Employee"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "UPDATE 'Employees'" << " SET Name = '" << ui->lineEdit_name->text() << "', Username = '******', Password = '******', Admin = '" << admin << "', 'Pay Rate' = '" << ui->lineEdit_hourlySalary->text() << "', Position = '" << ui->lineEdit_position->text() << "'" << " WHERE ID = '" << ui->label_id->text() << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else {} conn.connClose(); } thisUser->setup(); this->hide(); }
void QueryLabel::startDrag() { if ( m_query.isNull() ) return; QByteArray queryData; QDataStream queryStream( &queryData, QIODevice::WriteOnly ); QMimeData* mimeData = new QMimeData(); mimeData->setText( text() ); queryStream << qlonglong( &m_query ); mimeData->setData( "application/tomahawk.query.list", queryData ); QDrag *drag = new QDrag( this ); drag->setMimeData( mimeData ); drag->setPixmap( TomahawkUtils::createDragPixmap() ); // QPoint hotSpot = event->pos() - child->pos(); // drag->setHotSpot( hotSpot ); drag->exec( Qt::CopyAction ); }
void MainSettings::on_commandLinkButton_save_clicked() { QString phoneNumber = ui->lineEdit_PhoneArea->text()+ ui->lineEdit_PhoneMiddle->text() + ui->lineEdit_PhoneRight->text(); { Database conn; conn.connOpen("Master"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "UPDATE 'mastertable'" << " SET storeAddress1 = '" << ui->lineEdit_storeAddress1->text() << "', storeAddress2 = '" << ui->lineEdit_StoreAddress2->text() << "', storeCity = '" << ui->lineEdit_storeCity->text() << "', storeState = '" << ui->lineEdit_storeState->text() << "', storeZip = '" << ui->lineEdit_StoreZip->text() << "', storePhone = '" << phoneNumber << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else { } conn.connClose(); } this->hide(); }
void Manager::on_pushButton_clicked() { progressBar->setValue(0); Database conn; QSqlQueryModel * model = new QSqlQueryModel(); conn.connOpen("Inventory"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString Band_Name = ui->lineEdit_band_name->text(); QString Album = ui->lineEdit_Album->text(); QString Type = ui->comboBox_Type->currentText(); qint32 minPrice = 0; if(!ui->lineEdit_price_min->text().isEmpty()) minPrice = ui->lineEdit_price_min->text().toInt(); qint32 maxPrice = 99999; progressBar->setValue(25); if(!ui->lineEdit_price_max->text().isEmpty()) maxPrice = ui->lineEdit_price_max->text().toInt(); if(Type == "Select a Type") Type = ""; qint32 xs_int = 999; qint32 s_int = 999; qint32 m_int = 999; qint32 l_int = 999; qint32 xl_int = 999; qint32 xxl_int = 999; progressBar->setValue(50); if(!ui->checkBox_XS->isChecked() && !ui->checkBox_S->isChecked() && !ui->checkBox_M->isChecked() && !ui->checkBox_L->isChecked() && !ui->checkBox_XL->isChecked() && !ui->checkBox_xxl->isChecked()) { QString queryString; QTextStream queryStream(&queryString); queryStream << "SELECT * FROM Inventory WHERE \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%"+Band_Name+"%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%'"; qry->prepare(queryString); } else { if(ui->checkBox_XS->isChecked()) xs_int = 0; if(ui->checkBox_S->isChecked()) s_int = 0; if(ui->checkBox_M->isChecked()) m_int = 0; if(ui->checkBox_L->isChecked()) l_int = 0; if(ui->checkBox_XL->isChecked()) xl_int = 0; if(ui->checkBox_xxl->isChecked()) xxl_int = 0; QString queryString; QTextStream queryStream(&queryString); queryStream << "SELECT * FROM Inventory WHERE \"XS(Quantity)\" > '" << xs_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%' OR \"S(Quantity)\" > '" << s_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%' OR \"M(Quantity)\" > '" << m_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%' OR \"L(Quantity)\" > '" << l_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%' OR \"XL(Quantity)\" > '" << xl_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%' OR \"XXL(Quantity)\" > '" << xxl_int << "' AND \"Price\" >= '" << minPrice << "' AND \"Price\" <= '" << maxPrice << "' AND Band LIKE '%" << Band_Name << "%' AND Album LIKE '%"+Album+"%' AND Type LIKE '"+Type+"%'"; qry->prepare(queryString); } progressBar->setValue(75); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } model->setQuery(*qry); ui->tableView_Master->setModel(model); qint32 i = (model->rowCount()); QString str; str.append(QString("%1").arg(i)); progressBar->setValue(100); QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect(this); opacityEffect->setOpacity(1.0); ui->statusbar->setGraphicsEffect(opacityEffect); QPropertyAnimation* anim = new QPropertyAnimation(this); anim->setTargetObject(opacityEffect); anim->setPropertyName("opacity"); anim->setDuration(4000); anim->setStartValue(opacityEffect->opacity()); anim->setEndValue(0); anim->setEasingCurve(QEasingCurve::OutQuad); anim->start(QAbstractAnimation::DeleteWhenStopped); ui->label_results->setText(str + " Results Found!"); }
void SelectUser::on_commandLinkButton_delete_clicked() { QMessageBox::StandardButton reply; reply = QMessageBox::question(this, "AvisionR - Delete", "Are you sure you want to DELETE this Employee from your Database?", QMessageBox::Yes|QMessageBox::No); if(reply == QMessageBox::Yes) { { Database conn; if(!conn.connOpen("Employee")) { qDebug()<<"Failed to open Data"; return; } QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "DELETE FROM Employees WHERE ID = '" << ui->label_id->text() << "'"; qry->prepare(queryString); if(qry->exec()) {} else { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } conn.connClose(); } { Database conn; if(!conn.connOpen("Clock")) { qDebug()<<"Failed to open Data"; return; } QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "DROP TABLE '" << ui->label_id->text() << "'"; qry->prepare(queryString); if(qry->exec()) { thisUser->setup(); QMessageBox::information(this, tr("AvisionR - Delete"), "Employee Deleted"); } else { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } conn.connClose(); } this->hide(); } }
void UserManagement::on_commandLinkButton_forceCLockOut_clicked() { QDate currentDate = QDate::currentDate(); QTime currentTime = QTime::currentTime(); int hour = currentTime.toString("HH").toInt(); int minutes = currentTime.toString("mm").toInt(); if(minutes > 30) { hour++; } currentTime = currentTime.fromString(QString::number(hour) + ":" + "00", "HH:mm"); QString date = currentDate.toString("yyyy-MM-dd"); QString time = currentTime.toString("HH:mm"); { Database conn; conn.connOpen("Clock"); QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "UPDATE '" << currentEmpId <<"'" << " SET 'Time Out' = '" << time << "' where Date ='" << date << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else {} conn.connClose(); } { Database conn; if(!conn.connOpen("Employee")) { qDebug () << "Database Connection Fatal Error"; } QSqlQuery * qry = new QSqlQuery(conn.mydb); QString queryString; QTextStream queryStream(&queryString); queryStream << "UPDATE 'Employees'" << " SET ONCLOCK = '0' where ID = '" << currentEmpId << "'"; qry->prepare(queryString); if(!qry->exec()) { QMessageBox::critical(this, tr("Error"), qry->lastError().text()); } else {} conn.connClose(); } this->setup(); }