void MenuSAT::RunSATPlug(ScribusDoc* doc) { QDir templates(ScPaths::getApplicationDataDir()); if (!templates.exists("templates")) { templates.mkdir("templates"); } QString currentPath(QDir::currentPath()); QString currentFile(doc->DocName); bool hasName = doc->hasName; bool isModified = doc->isModified(); QString userTemplatesDir = PrefsManager::instance()->appPrefs.pathPrefs.documentTemplates; PrefsContext* dirs = PrefsManager::instance()->prefsFile->getContext("dirs"); QString oldCollect = dirs->get("collect", "."); QString templatesDir = "."; if (userTemplatesDir.isEmpty()) templatesDir = ScPaths::getApplicationDataDir() + "templates"; else { if (userTemplatesDir.right(1) == "/") userTemplatesDir.chop(1); templatesDir = userTemplatesDir; } dirs->set("collect", templatesDir); if (doc->scMW()->fileCollect().isEmpty()) return; if (oldCollect != ".") dirs->set("collect", oldCollect); QString docPath = doc->DocName; QString docDir = docPath.left(docPath.lastIndexOf('/')); QString docName = docPath.right(docPath.length() - docPath.lastIndexOf('/') - 1); docName = docName.left(docName.lastIndexOf(".s")); if (currentFile != doc->DocName) { SATDialog* satdia = new SATDialog(doc->scMW(),docName, static_cast<int>(doc->pageWidth() + 0.5), static_cast<int>(doc->pageHeight() + 0.5)); if (satdia->exec()) { sat* s = new sat(doc, satdia, docPath.right(docPath.length() - docPath.lastIndexOf('/') - 1),docDir); s->createImages(); s->createTmplXml(); delete s; } // Restore the state that was before ScMW->Collect() doc->DocName = currentFile; doc->hasName = hasName; doc->setModified(isModified); QString newCaption=currentFile; if (isModified) newCaption.append('*'); doc->scMW()->updateActiveWindowCaption(newCaption); doc->scMW()->removeRecent(docPath); QDir::setCurrent(currentPath); delete satdia; } }
void KOIncidenceEditor::slotManageTemplates() { kdDebug(5850) << "KOIncidenceEditor::manageTemplates()" << endl; TemplateManagementDialog * const d = new TemplateManagementDialog( this, templates() ); connect( d, SIGNAL( loadTemplate( const QString& ) ), this, SLOT( slotLoadTemplate( const QString& ) ) ); connect( d, SIGNAL( templatesChanged( const QStringList& ) ), this, SLOT( slotTemplatesChanged( const QStringList& ) ) ); connect( d, SIGNAL( saveTemplate( const QString& ) ), this, SLOT( slotSaveTemplate( const QString& ) ) ); d->exec(); return; }
void showHelp() { qWarning("Generate platform specific NFC message handler registration files.\n" "Usage: ndefhandlergen [options]\n" "\n" " -template TEMPLATE Template to use.\n" " -appname APPNAME Name of the application.\n" " -apppath APPPATH Path to installed application binary.\n" " -datatype DATATYPE URN of the NDEF message type to match.\n" " -match MATCHSTRING Platform specific match string.\n" "\n" "The -datatype and -match options are mutually exclusive.\n"); QDir templates(QLatin1String(":/templates")); qWarning("Available templates: %s\n", qPrintable(templates.entryList().join(QLatin1String(", ")))); }
void KOIncidenceEditor::slotTemplatesChanged( const QStringList& newTemplates ) { templates() = newTemplates; }
void TemplateSimplifier::simplifyTemplates( TokenList& tokenlist, ErrorLogger& errorlogger, const Settings *_settings, bool &_codeWithTemplates ) { std::set<std::string> expandedtemplates(TemplateSimplifier::expandSpecialized(tokenlist.front())); if (TemplateSimplifier::getTemplateDeclarations(tokenlist.front(), _codeWithTemplates).empty()) return; // There are templates.. // Remove "typename" unless used in template arguments.. for (Token *tok = tokenlist.front(); tok; tok = tok->next()) { if (tok->str() == "typename") tok->deleteThis(); if (Token::simpleMatch(tok, "template <")) { while (tok && tok->str() != ">") tok = tok->next(); if (!tok) break; } } std::list<Token *> templates(TemplateSimplifier::getTemplateDeclarations(tokenlist.front(), _codeWithTemplates)); // Locate possible instantiations of templates.. std::list<Token *> templateInstantiations(TemplateSimplifier::getTemplateInstantiations(tokenlist.front())); // No template instantiations? Then return. if (templateInstantiations.empty()) return; // Template arguments with default values TemplateSimplifier::useDefaultArgumentValues(templates, &templateInstantiations); // expand templates //bool done = false; //while (!done) { //done = true; std::list<Token *> templates2; for (std::list<Token *>::reverse_iterator iter1 = templates.rbegin(); iter1 != templates.rend(); ++iter1) { bool instantiated = TemplateSimplifier::simplifyTemplateInstantiations(tokenlist, errorlogger, _settings, *iter1, templateInstantiations, expandedtemplates); if (instantiated) templates2.push_back(*iter1); } for (std::list<Token *>::iterator it = templates2.begin(); it != templates2.end(); ++it) { std::list<Token *>::iterator it1 = std::find(templates.begin(), templates.end(), *it); if (it1 != templates.end()) { templates.erase(it1); removeTemplate(*it); } } } }
int main(int argc,char *argv[]) { QCoreApplication app(argc,argv); //important for qApp->applicationDirPath() in processtracker // test_armadillo(); // test_pca_2(); // return 0; CLParams CLP; QStringList required; CLP=get_command_line_params(argc,argv,required); ProcessTracker PT; register_processors(PT); if (CLP.unnamed_parameters.count()>1) { printf("Only one command parameter may be specified.\n"); return -1; } QString command=CLP.unnamed_parameters.value(0); if (command.isEmpty()) { printf("\nmountainsort processors:\n"); for (int i=0; i<PT.processorCount(); i++) { QString cmd=PT.processor(i).command; printf("%s ",cmd.toLatin1().data()); } printf("\n\n"); return -1; } PTProcessor PP=PT.findProcessor(command); printf("%s version %s\n",PP.command.toLatin1().data(),PP.version.toLatin1().data()); if (!CLP.named_parameters.value("force").toInt()) { if (PT.processAlreadyCompleted(CLP)) { printf("Process already completed.\n"); return 0; } } CLP.named_parameters.remove("force"); QTime timer; timer.start(); if (command=="extract") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; int num_channels=CLP.named_parameters["num_channels"].toInt(); long t1=CLP.named_parameters["t1"].toLong(); long t2=CLP.named_parameters["t2"].toLong(); QStringList channels_str=CLP.named_parameters["channels"].split(","); int M=channels_str.count(); int channels[M]; for (int m=0; m<M; m++) channels[m]=channels_str[m].toInt(); if ((input_path.isEmpty())||(output_path.isEmpty())) {extract_usage(); return -1;} if (M==0) {extract_usage(); return -1;} if (!extract(input_path.toLatin1().data(),output_path.toLatin1().data(),num_channels,M,channels,t1,t2)) { printf("Error in extract.\n"); return -1; } } else if (command=="bandpass_filter") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; double samplefreq=CLP.named_parameters["samplefreq"].toDouble(); double freq_min=CLP.named_parameters["freq_min"].toDouble(); double freq_max=CLP.named_parameters["freq_max"].toDouble(); double outlier_threshold=CLP.named_parameters["outlier_threshold"].toDouble(); if ((input_path.isEmpty())||(output_path.isEmpty())) {bandpass_filter_usage(); return -1;} if ((samplefreq==0)||(freq_min==0)||(freq_max==0)) {bandpass_filter_usage(); return -1;} if (!bandpass_filter(input_path.toLatin1().data(),output_path.toLatin1().data(),samplefreq,freq_min,freq_max,outlier_threshold)) { printf("Error in bandpass_filter.\n"); return -1; } } else if (command=="normalize_channels") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; if ((input_path.isEmpty())||(output_path.isEmpty())) {normalize_channels_usage(); return -1;} if (!normalize_channels(input_path.toLatin1().data(),output_path.toLatin1().data())) { printf("Error in normalize_channels.\n"); return -1; } } else if (command=="whiten") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; int ncomp=CLP.named_parameters["ncomp"].toInt(); if ((input_path.isEmpty())||(output_path.isEmpty())) {whiten_usage(); return -1;} if (ncomp==0) {whiten_usage(); return -1;} if (!whiten(input_path.toLatin1().data(),output_path.toLatin1().data(),ncomp)) { printf("Error in whiten.\n"); return -1; } } else if (command=="detect") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; int inner_window_width=CLP.named_parameters["inner_window_width"].toInt(); int outer_window_width=CLP.named_parameters["outer_window_width"].toInt(); float threshold=CLP.named_parameters["threshold"].toFloat(); if ((input_path.isEmpty())||(output_path.isEmpty())) {detect_usage(); return -1;} if (inner_window_width==0) {detect_usage(); return -1;} if (outer_window_width==0) {detect_usage(); return -1;} if (threshold==0) {detect_usage(); return -1;} if (!detect(input_path.toLatin1().data(),output_path.toLatin1().data(),inner_window_width,outer_window_width,threshold)) { printf("Error in detect.\n"); return -1; } } else if (command=="features") { QString input_path=CLP.named_parameters["input"]; QString detect_path=CLP.named_parameters["detect"]; QString adjacency_path=CLP.named_parameters["adjacency"]; QString output_path=CLP.named_parameters["output"]; int num_features=CLP.named_parameters["num_features"].toInt(); int clip_size=CLP.named_parameters["clip_size"].toInt(); if ((input_path.isEmpty())||(detect_path.isEmpty())||(adjacency_path.isEmpty())||(output_path.isEmpty())) {features_usage(); return -1;} if (num_features==0) {features_usage(); return -1;} if (clip_size==0) {features_usage(); return -1;} if (!features(input_path.toLatin1().data(),detect_path.toLatin1().data(),adjacency_path.toLatin1().data(),output_path.toLatin1().data(),num_features,clip_size)) { printf("Error in features.\n"); return -1; } } else if (command=="cluster") { QString input_path=CLP.named_parameters["input"]; QString output_path=CLP.named_parameters["output"]; if ((input_path.isEmpty())||(output_path.isEmpty())) {cluster_usage(); return -1;} if (!cluster(input_path.toLatin1().data(),output_path.toLatin1().data())) { printf("Error in cluster.\n"); return -1; } } else if (command=="split_clusters") { QString input_path=CLP.named_parameters["input"]; QString cluster_path=CLP.named_parameters["cluster"]; QString output_path=CLP.named_parameters["output"]; int num_features=CLP.named_parameters["num_features"].toInt(); int clip_size=CLP.named_parameters["clip_size"].toInt(); if ((input_path.isEmpty())||(cluster_path.isEmpty())||(output_path.isEmpty())) {cluster_usage(); return -1;} if (num_features==0) {cluster_usage(); return -1;} if (clip_size==0) {cluster_usage(); return -1;} if (!split_clusters(input_path.toLatin1().data(),cluster_path.toLatin1().data(),output_path.toLatin1().data(),num_features,clip_size)) { printf("Error in cluster.\n"); return -1; } } else if (command=="templates") { QString input_path=CLP.named_parameters["input"]; QString cluster_path=CLP.named_parameters["cluster"]; QString output_path=CLP.named_parameters["output"]; int clip_size=CLP.named_parameters["clip_size"].toInt(); if ((input_path.isEmpty())||(output_path.isEmpty())) {templates_usage(); return -1;} if (clip_size==0) {templates_usage(); return -1;} if (!templates(input_path.toLatin1().data(),cluster_path.toLatin1().data(),output_path.toLatin1().data(),clip_size)) { printf("Error in templates.\n"); return -1; } } else if (command=="consolidate") { QString cluster_path=CLP.named_parameters["cluster"]; QString templates_path=CLP.named_parameters["templates"]; QString cluster_out_path=CLP.named_parameters["cluster_out"]; QString templates_out_path=CLP.named_parameters["templates_out"]; QString load_channels_out_path=CLP.named_parameters["load_channels_out"]; if ((cluster_path.isEmpty())||(templates_path.isEmpty())) {consolidate_usage(); return -1;} if ((cluster_out_path.isEmpty())||(templates_out_path.isEmpty())) {consolidate_usage(); return -1;} if (load_channels_out_path.isEmpty()) {consolidate_usage(); return -1;} if (!consolidate(cluster_path.toLatin1().data(),templates_path.toLatin1().data(),cluster_out_path.toLatin1().data(),templates_out_path.toLatin1().data(),load_channels_out_path.toLatin1().data())) { printf("Error in consolidate.\n"); return -1; } } else if (command=="fit") { QString input_path=CLP.named_parameters["input"]; QString cluster_path=CLP.named_parameters["cluster"]; QString templates_path=CLP.named_parameters["templates"]; QString cluster_out_path=CLP.named_parameters["cluster_out"]; if ((input_path.isEmpty())||(cluster_path.isEmpty())||(templates_path.isEmpty())) {fit_usage(); return -1;} if ((cluster_out_path.isEmpty())) {fit_usage(); return -1;} if (!fit(input_path.toLatin1().data(),templates_path.toLatin1().data(),cluster_path.toLatin1().data(),cluster_out_path.toLatin1().data())) { printf("Error in fit.\n"); return -1; } } else if (command=="extract_clips") { QString input_path=CLP.named_parameters["input"]; QString cluster_path=CLP.named_parameters["cluster"]; QString output_path=CLP.named_parameters["output"]; QString index_out_path=CLP.named_parameters["index_out"]; int clip_size=CLP.named_parameters["clip_size"].toInt(); if ((input_path.isEmpty())||(cluster_path.isEmpty())) {extract_usage(); return -1;} if ((output_path.isEmpty())||(index_out_path.isEmpty())) {extract_usage(); return -1;} if (!extract_clips(input_path.toLatin1().data(),cluster_path.toLatin1().data(),output_path.toLatin1().data(),index_out_path.toLatin1().data(),clip_size)) { printf("Error in extract_clips.\n"); return -1; } } else { printf("Unknown command: %s\n",command.toLatin1().data()); return -1; } PT.reportProcessCompleted(CLP); printf("Elapsed time for %s: %.2f seconds\n",command.toLatin1().data(),timer.elapsed()*1.0/1000); return 0; }