void tableTemplateWidget::makeCrossword(void) { if (templateId == 0) { qDebug() << tr("makeCrossword: Template dosen't choiced!"); emit maked(); return; } if (isDirty) { QMessageBox save(QMessageBox::Question, tr("Template is changed!"), tr("Template is changed, do you want save changes?"), QMessageBox::Save | QMessageBox::Discard); int code = save.exec(); if (code == QMessageBox::Save) saveToDB(); else return; } if (mct) { mct->setData(wi); mct->startScanning(); mct->start(QThread::LowestPriority); connect(mct, SIGNAL(finished()), this, SLOT(makeFinished())); } }
// TODO - баг - пишет щас что есть id = 49 втф, как? // типо если тупо добавить слово 1 ти пишет херню как так? // баг еще в том что почему то индекмы отрицательные стали - вообще прочекать втф!!! // TODO !!!! забыл добавть колноку - сколько там foriegn keys!!!!! int main(){ std::vector<Word> dictionary; std::cout<<"loading words...\n"; //dictionary.push_back(Word("1")); loadWords(dictionary); std::cout<<"calculation...\n"; calcAllWords(dictionary); std::cout<<"saving to db...\n"; saveToDB(dictionary); system("pause"); return 0; }
void Node::jointStateCB (sm::JointState::ConstPtr m) { // The first time round, figure out which joints to ignore if (joint_ignored_.size()==0) { updateIgnoredJoints(*m); writeJointNames(*m); } // Only save every so often if (ros::Time::now() <= last_processed_ + processing_interval_) return; RobotState rs(m, getBasePose(m->header.stamp)); Diffs diffs = getDiffs(last_saved_state_, rs); saveToDB(diffs); last_saved_state_ = rs; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); actionNew = actionSave = actionDelete = actionExit = NULL; actionScan = actionMirror = actionMake = NULL; actionPrint = NULL; vcb = NULL; grid = NULL; printpreview = NULL; previewTemplate = NULL; previewCell = NULL; //qDebug() << db.drivers(); db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("crossword"); db.setUserName("taras"); db.setPassword("su112per"); bool ok = db.open(); if (!ok) { qDebug() << db.lastError().text(); QMessageBox msgBox; msgBox.setText(tr("Database open error!")); msgBox.exec(); } grid = new tableTemplateWidget(); if (grid) { // File menu actionNew = new QAction(QIcon(":/icons/new16.png"), QString(tr("New")), this); connect(actionNew, SIGNAL(triggered()), grid, SLOT(createNew())); actionSave = new QAction(QIcon(":/icons/save16.png"), QString(tr("Save")), this); connect(actionSave, SIGNAL(triggered()), grid, SLOT(saveToDB())); actionDelete = new QAction(QIcon(":/icons/delete16.png"), QString(tr("Delete")), this); connect(actionDelete, SIGNAL(triggered()), grid, SLOT(deleteTemplate())); actionPrint = new QAction(QIcon(":/icons/preview16.png"), QString(tr("Print")), this); connect(actionPrint, SIGNAL(triggered(bool)), this, SLOT(printCrossword())); actionExit = new QAction(QIcon(":/icons/x16.png"), QString(tr("Exit")), this); connect(actionExit, SIGNAL(triggered()), this, SLOT(exit())); QMenu *menuFile = new QMenu(tr("File"), this); ui->menuBar->addMenu(menuFile); menuFile->addAction(actionNew); menuFile->addAction(actionSave); menuFile->addAction(actionDelete); menuFile->addAction(actionPrint); menuFile->addSeparator(); menuFile->addAction(actionExit); ui->mainToolBar->addAction(actionNew); ui->mainToolBar->addAction(actionSave); ui->mainToolBar->addAction(actionDelete); ui->mainToolBar->addAction(actionPrint); // Edit menu ui->mainToolBar->addSeparator(); QMenu *menuEdit = new QMenu(tr("Edit"), this); ui->menuBar->addMenu(menuEdit); // actionScan = new QAction(QIcon(":/icons/search16.png"), QString(tr("Scan")), this); // connect(actionScan, SIGNAL(triggered()), grid, SLOT(scanTemplate())); // ui->mainToolBar->addAction(actionScan); // menuEdit->addAction(actionScan); actionMirror = new QAction(QIcon(":/icons/favorites16.png"), QString(tr("Mirror")), this); actionMirror->setCheckable(true); actionMirror->setChecked(true); connect(actionMirror, SIGNAL(toggled(bool)), grid, SLOT(setSymetricalMode(bool))); ui->mainToolBar->addAction(actionMirror); menuEdit->addAction(actionMirror); actionMake = new QAction(QIcon(":/icons/make.png"), QString(tr("Build crossword")), this); actionMake->setCheckable(true); connect(actionMake, SIGNAL(toggled(bool)), grid, SLOT(makeCrossword())); ui->mainToolBar->addAction(actionMake); menuEdit->addAction(actionMake); vcb = new QComboBox(this); if (vcb) { QFont font; font.setPointSize(10); //font.setBold(true); vcb->setFixedSize(350, 32); vcb->setMaxVisibleItems(20); vcb->setFont(font); vcb->addItem("УСЕ (Універсальний словник-енциклопедія)", QVariant(29)); vcb->addItem("Орфографічний словник української мови", QVariant(35)); vcb->addItem("Фразеологічний словник української мови", QVariant(49)); vcb->addItem("Словник синонімів Полюги", QVariant(31)); vcb->addItem("Словник синонімів Караванського", QVariant(41)); vcb->addItem("Словник іншомовних слів", QVariant(36)); vcb->addItem("Словник іншомовних слів Мельничука", QVariant(42)); vcb->addItem("Словник англіцизмів", QVariant(46)); vcb->addItem("Eкономічна енциклопедія", QVariant(38)); vcb->addItem("Словник мови Стуса", QVariant(27)); vcb->addItem("Словник іншомовних соціокультурних термінів", QVariant(39)); vcb->addItem("Енциклопедія політичної думки", QVariant(40)); vcb->addItem("Словник церковно-обрядової термінології", QVariant(43)); vcb->addItem("Архітектура і монументальне мистецтво", QVariant(44)); vcb->addItem("Словник-антисуржик", QVariant(45)); vcb->addItem("Словник термінів, уживаних у чинному Законодавстві України", QVariant(48)); vcb->addItem("Словник бюджетної термінології", QVariant(50)); vcb->addItem("Термінологічний словник з економіки праці", QVariant(51)); vcb->addItem("Глосарій термінів Фондового ринку", QVariant(52)); vcb->addItem("Моделювання економіки", QVariant(53)); vcb->addItem("Власні імена людей", QVariant(54)); vcb->addItem("Словар українського сленгу", QVariant(57)); vcb->addItem("Музичні терміни", QVariant(58)); vcb->addItem("Тлумачний словник з інформатики та інформаційних систем для економістів", QVariant(59)); vcb->addItem("Управління якістю", QVariant(61)); ui->mainToolBar->insertWidget(actionMake, vcb); connect(vcb, SIGNAL(currentIndexChanged(int)), this, SLOT(setVocabulary(int))); setVocabulary(vcb->currentIndex()); } //grid->setStyleSheet(readStyleSheet("/home/taras/Projects/qtCrossword/qribbon.qss")); grid->setSymetricalMode(true); ui->horizontalLayout->addWidget(grid); ui->listWidget->setTemplateGrid(grid); grid->setStatusBar(ui->statusBar); grid->setDB(&db); connect(grid, SIGNAL(maked()), this, SLOT(makedCrossword())); } previewTemplate = new PreviewTemplateDelegate(); if (previewTemplate) ui->listWidget->setItemDelegate(previewTemplate); loadListPreview(); previewCell = new PreviewCellDelegate(); ui->tableView->setItemDelegate(previewCell); ui->tableView->setModel( grid->model() ); ui->tableView->horizontalHeader()->setDefaultSectionSize(40); ui->tableView->verticalHeader()->setDefaultSectionSize(40); ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); printer = new QPrinter(); if (printer) { printer->setPaperSize(QPrinter::A4); printer->setOrientation(QPrinter::Portrait); printer->setFullPage(true); printer->setPageMargins(20.0, 15.0, 15.0, 15.0, QPrinter::Millimeter); printer->newPage(); prnPreview = new QPrintPreviewDialog(printer, this); connect(prnPreview, SIGNAL(paintRequested(QPrinter*)), grid, SLOT(printPreview(QPrinter*))); ui->horizontalLayout_8->addWidget(prnPreview); printpreview = new QPrintPreviewWidget(printer, this); if (printpreview) { printpreview->fitInView(); printpreview->show(); ui->horizontalLayout_8->addWidget(printpreview); connect(printpreview, SIGNAL(paintRequested(QPrinter*)), grid, SLOT(printPreview(QPrinter*))); } } }