void ScannerPage::slotAccel (int id) { switch (id) { case NewScanner: newScanner(); break; case DeleteScanner: deleteScanner(); break; case RenameScanner: renameScanner(); break; case OpenScanner: openScanner(); break; case RunScanner: runScanner(); break; case Help: slotHelp(); break; default: break; } }
QScriptValue QtMocScanner::apply(QScriptEngine *engine, const Artifact *artifact) { if (!m_cppScanner) { auto scanners = ScannerPluginManager::scannersForFileTag(m_tags.cpp); if (scanners.size() != 1) return scannerCountError(engine, scanners.size(), m_tags.cpp.toString()); m_cppScanner = scanners.front(); } qCDebug(lcMocScan).noquote() << "scanning" << artifact->toString(); bool hasQObjectMacro = false; bool mustCompile = false; bool hasPluginMetaDataMacro = false; const bool isHeaderFile = artifact->fileTags().contains(m_tags.hpp); const RawScanResult scanResult = runScanner(m_cppScanner, artifact); if (!scanResult.additionalFileTags.empty()) { if (isHeaderFile) { if (scanResult.additionalFileTags.contains(m_tags.moc_hpp)) hasQObjectMacro = true; if (scanResult.additionalFileTags.contains(m_tags.moc_hpp_plugin)) { hasQObjectMacro = true; hasPluginMetaDataMacro = true; } findIncludedMocCppFiles(); if (!m_includedMocCppFiles.contains(FileInfo::completeBaseName(artifact->fileName()))) mustCompile = true; } else { if (scanResult.additionalFileTags.contains(m_tags.moc_cpp)) hasQObjectMacro = true; if (scanResult.additionalFileTags.contains(m_tags.moc_cpp_plugin)) { hasQObjectMacro = true; hasPluginMetaDataMacro = true; } } } qCDebug(lcMocScan) << "hasQObjectMacro:" << hasQObjectMacro << "mustCompile:" << mustCompile << "hasPluginMetaDataMacro:" << hasPluginMetaDataMacro; QScriptValue obj = engine->newObject(); obj.setProperty(QStringLiteral("hasQObjectMacro"), hasQObjectMacro); obj.setProperty(QStringLiteral("mustCompile"), mustCompile); obj.setProperty(QStringLiteral("hasPluginMetaDataMacro"), hasPluginMetaDataMacro); static_cast<ScriptEngine *>(engine)->setUsesIo(); return obj; }
int main(int argc, char * argv[]) { // Initialize initializeGlobals(); // Temporary String char *foobar; FILE* fin; // Input FILE* fout; // Output // No input file. Use default. if(argc < 2) { fin = fopen("Scanner.in","rb"); fout = fopen("Scanner.out","wb"); } // Just an input file. Use declared string else if(argc == 2) { argc--; argv++; foobar = *argv; fin = fopen(foobar, "rb"); argc--; argv++; foobar = *argv; fout = fopen(foobar,"wb"); } // TBD: Flag indicating something special in the run. else { debug("Error: Parameter Format. Please try again!\n"); return 1; } // Check for Input File Error if(fin == NULL) { debug("Error: Input file did not open correctly!\n"); return 1; } runScanner(fin, fout); fclose(fin); fclose(fout); return 0; }
ScannerPage::ScannerPage (QWidget *w, DBIndex *i) : QWidget (w) { chartIndex = i; idir.setFilter(QDir::Files); Q3VBoxLayout *vbox = new Q3VBoxLayout(this); vbox->setMargin(0); vbox->setSpacing(5); search = new QLineEdit(this); search->setText("*"); connect(search, SIGNAL(textChanged(const QString &)), this, SLOT(searchChanged(const QString &))); QToolTip::add(search, tr("List Filter, e.g. s* or sb*")); vbox->addWidget(search); list = new Q3ListBox(this); connect(list, SIGNAL(contextMenuRequested(Q3ListBoxItem *, const QPoint &)), this, SLOT(rightClick(Q3ListBoxItem *))); connect(list, SIGNAL(highlighted(const QString &)), this, SLOT(scannerSelected(const QString &))); connect(list, SIGNAL(doubleClicked(Q3ListBoxItem *)), this, SLOT(doubleClick(Q3ListBoxItem *))); vbox->addWidget(list); menu = new QMenu(this); menu->insertItem(QPixmap(newchart), tr("&New Scanner Ctrl+N"), this, SLOT(newScanner())); menu->insertItem(QPixmap(openitem), tr("&Open Scanner Ctrl+O"), this, SLOT(openScanner())); menu->insertItem(QPixmap(deleteitem), tr("&Delete Scanner Ctrl+D"), this, SLOT(deleteScanner())); menu->insertItem(QPixmap(renameitem), tr("&Rename Scanner Ctrl+R"), this, SLOT(renameScanner())); menu->insertItem(QPixmap(macro), tr("R&un Scanner Ctrl+U"), this, SLOT(runScanner())); menu->insertSeparator(-1); menu->insertItem(QPixmap(help), tr("&Help Ctrl+H"), this, SLOT(slotHelp())); Q3Accel *a = new Q3Accel(this); connect(a, SIGNAL(activated(int)), this, SLOT(slotAccel(int))); a->insertItem(Qt::CTRL+Qt::Key_N, NewScanner); a->insertItem(Qt::CTRL+Qt::Key_O, OpenScanner); a->insertItem(Qt::CTRL+Qt::Key_D, DeleteScanner); a->insertItem(Qt::CTRL+Qt::Key_R, RenameScanner); a->insertItem(Qt::CTRL+Qt::Key_U, RunScanner); a->insertItem(Qt::CTRL+Qt::Key_H, Help); refreshList(); scannerSelected(QString()); }