本文整理汇总了C++中KstDataSourcePtr::tag方法的典型用法代码示例。如果您正苦于以下问题:C++ KstDataSourcePtr::tag方法的具体用法?C++ KstDataSourcePtr::tag怎么用?C++ KstDataSourcePtr::tag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KstDataSourcePtr
的用法示例。
在下文中一共展示了KstDataSourcePtr::tag方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: newObject
bool KstVectorDialogI::newObject() {
KstDataSourcePtr file;
QString tag_name = _tagName->text();
if (_w->_readFromSource->isChecked()) {
tag_name.replace(defaultTag, _w->Field->currentText());
tag_name = KST::suggestVectorName(tag_name);
// if there is not an active DataSource, create one
{
KST::dataSourceList.lock().writeLock();
KstDataSourceList::Iterator it = KST::dataSourceList.findReusableFileName(_w->FileName->url());
if (it == KST::dataSourceList.end()) {
file = KstDataSource::loadSource(_w->FileName->url());
if (!file || !file->isValid()) {
KST::dataSourceList.lock().unlock();
KMessageBox::sorry(this, i18n("The file could not be loaded."));
return false;
}
if (file->isEmpty()) {
KST::dataSourceList.lock().unlock();
KMessageBox::sorry(this, i18n("The file does not contain data."));
return false;
}
KST::dataSourceList.append(file);
} else {
file = *it;
}
KST::dataSourceList.lock().unlock();
}
file->readLock();
if (!file->isValidField(_w->Field->currentText())) {
file->unlock();
KMessageBox::sorry(this, i18n("The requested field is not defined for the requested file."));
return false;
}
int f0, n;
if (_w->_kstDataRange->isStartRelativeTime()) {
f0 = file->sampleForTime(_w->_kstDataRange->f0Value());
} else if (_w->_kstDataRange->isStartAbsoluteTime()) {
bool ok = false;
f0 = file->sampleForTime(_w->_kstDataRange->f0DateTimeValue(), &ok);
if (!ok) {
file->unlock();
KMessageBox::sorry(this, i18n("The requested field or file could not use the specified date."));
return false;
}
} else {
f0 = int(_w->_kstDataRange->f0Value());
}
if (_w->_kstDataRange->isRangeRelativeTime()) {
double nValStored = _w->_kstDataRange->nValue();
if (_w->_kstDataRange->CountFromEnd->isChecked()) {
int frameCount = file->frameCount(_w->Field->currentText());
double msCount = file->relativeTimeForSample(frameCount - 1);
n = frameCount - 1 - file->sampleForTime(msCount - nValStored);
} else {
double fTime = file->relativeTimeForSample(f0);
n = file->sampleForTime(fTime + nValStored) - file->sampleForTime(fTime);
}
} else {
n = int(_w->_kstDataRange->nValue());
}
file->unlock();
// create the vector
KstRVectorPtr vector = new KstRVector(
file, _w->Field->currentText(),
KstObjectTag(tag_name, file->tag(), false),
_w->_kstDataRange->CountFromEnd->isChecked() ? -1 : f0,
_w->_kstDataRange->ReadToEnd->isChecked() ? -1 : n,
_w->_kstDataRange->Skip->value(),
_w->_kstDataRange->DoSkip->isChecked(),
_w->_kstDataRange->DoFilter->isChecked());
emit vectorCreated(KstVectorPtr(vector));
vector = 0L;
emit modified();
} else {
double x0 = _w->_xMin->text().toDouble();
double x1 = _w->_xMax->text().toDouble();
int n = _w->_N->value();
QString tagname = _tagName->text();
if (tagname == defaultTag) {
tagname = KST::suggestVectorName(QString("(%1..%2)").arg(x0).arg(x1));
}
KstSVectorPtr svector = new KstSVector(x0, x1, n, KstObjectTag(tagname, KstObjectTag::globalTagContext));
emit vectorCreated(KstVectorPtr(svector));
svector = 0L;
emit modified();
}
return true;
}
示例2: new_IRMatrix
bool KstMatrixDialog::new_IRMatrix() {
KstDataSourcePtr file;
KstRMatrixPtr matrix;
KstDataSourceList::iterator it;
QString pField;
QString tagName;
bool doSkip;
bool doAve;
int xStart = _w->_xStartCountFromEnd->isChecked() ? -1 : _w->_xStart->value();
int yStart = _w->_yStartCountFromEnd->isChecked() ? -1 : _w->_yStart->value();
int xNumSteps = _w->_xNumStepsReadToEnd->isChecked() ? -1 : _w->_xNumSteps->value();
int yNumSteps = _w->_yNumStepsReadToEnd->isChecked() ? -1 : _w->_yNumSteps->value();
int skip;
//
// create a unique name...
//
tagName = (_tagName->text() == "<New_Matrix>") ? KST::suggestMatrixName(_w->_field->currentText()) : _tagName->text();
if (KstData::self()->matrixTagNameNotUnique(tagName)) {
_tagName->setFocus();
return false;
}
//
// if there is not an active KstFile, create one...
//
KST::dataSourceList.lock().writeLock();
// xxx it = KST::dataSourceList.findReusableFileName(_w->_fileName->url());
if (it == KST::dataSourceList.end()) {
// xxx file = KstDataSource::loadSource(_w->_fileName->url());
if (!file || !file->isValid()) {
KST::dataSourceList.lock().unlock();
QMessageBox::warning(this, QObject::tr("Kst"), QObject::tr("The file could not be opened."));
return false;
}
if (file->isEmpty()) {
KST::dataSourceList.lock().unlock();
QMessageBox::warning(this, QObject::tr("Kst"), QObject::tr("The file does not contain data."));
return false;
}
KST::dataSourceList.append(file);
} else {
file = *it;
}
KST::dataSourceList.lock().unlock();
pField = _w->_field->currentText();
if (!file->isValidMatrix(pField)) {
QMessageBox::warning(this, QObject::tr("Kst"), QObject::tr("The requested matrix is not defined for the requested file."));
file->unlock();
return false;
}
doSkip = _w->_doSkip->isChecked();
doAve = _w->_doAve->isChecked();
skip = _w->_skip->value();
matrix = new KstRMatrix(file, pField, KstObjectTag(tagName, file->tag(), false),
xStart, yStart, xNumSteps, yNumSteps, doAve, doSkip, skip);
emit matrixCreated(KstMatrixPtr(matrix));
matrix = 0L; // drop the reference
emit modified();
return true;
}
示例3: main
//.........这里部分代码省略.........
}
if (!tlv) {
kstdError() << i18n("Can't create a view.") << endl;
return 0;
}
CreatePlots(in, tlv);
Kst2DPlotList plist = kstObjectSubList<KstViewObject, Kst2DPlot>(tlv->children());
i_plot = 0;
Kst2DPlotPtr plot = *plist.at(i_plot);
KstVCurveList vcurves = kstObjectSubList<KstBaseCurve,KstVCurve>(plot->Curves);
// make stand alone equations if there are no files
if (args->count() < 1) {
if (!yEqList.isEmpty()) {
QString eqS;
double max, min;
int n;
bool xeq;
SetEqXRanges(args->getOption("xe"), &min, &max, &n, &xeq);
if (xeq) {
count = yEqList.size();
handled = 0;
kst->slotUpdateProgress( count, handled, creatingEquations );
for (eq_i = yEqList.begin(); eq_i != yEqList.end(); ++eq_i) {
eqS = *eq_i;
if (NoVectorEq(eqS)) {
KstEquationPtr eq = new KstEquation(KST::suggestEQName(eqS), eqS, min, max, n);
KstVCurvePtr vc = new KstVCurve(KST::suggestCurveName(eq->tag(), true),
eq->vX(), eq->vY(), 0L, 0L, 0L, 0L,
KstColorSequence::next(vcurves,plot->backgroundColor()));
KST::dataObjectList.lock().writeLock();
KST::dataObjectList.append(eq.data());
KST::dataObjectList.append(vc.data());
KST::dataObjectList.lock().unlock();
plot->addCurve(vc.data());
if (in.sep_plots) {
i_plot++;
if (i_plot < in.n_plots) {
plot = *plist.at(i_plot);
}
}
}
handled++;
kst->slotUpdateProgress( count, handled, creatingEquations );
}
}
}
}
// make the requested curves for each data file
count = args->count();
handled = 0;
kst->slotUpdateProgress( count, handled, creatingCurves );
for (i_curve = i_v = 0, i_file = 0; i_file < args->count(); i_file++) {
// make the file
if (QFile::exists(args->arg(i_file))) {
fullPath = QFileInfo(args->arg(i_file)).absFilePath();