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()));
    }
}
Beispiel #2
0
// 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;
}
Beispiel #4
0
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*)));
        }
    }
}