本文整理汇总了C++中TFilePath::isAbsolute方法的典型用法代码示例。如果您正苦于以下问题:C++ TFilePath::isAbsolute方法的具体用法?C++ TFilePath::isAbsolute怎么用?C++ TFilePath::isAbsolute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFilePath
的用法示例。
在下文中一共展示了TFilePath::isAbsolute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doRender
void RenderCommand::doRender(bool isPreview)
{
bool isWritable = true;
bool isMultiFrame;
/*-- 初期化処理。フレーム範囲の計算や、Renderの場合はOutputSettingsから保存先パスも作る --*/
if (!init(isPreview))
return;
if (m_fp.getDots() == ".") {
isMultiFrame = false;
TFileStatus fs(m_fp);
if (fs.doesExist())
isWritable = fs.isWritable();
} else {
isMultiFrame = true;
TFilePath dir = m_fp.getParentDir();
QDir qDir(QString::fromStdWString(dir.getWideString()));
QString levelName = QRegExp::escape(QString::fromStdWString(m_fp.getWideName()));
QString levelType = QString::fromStdString(m_fp.getType());
QString exp(levelName + ".[0-9]{1,4}." + levelType);
QRegExp regExp(exp);
QStringList list = qDir.entryList(QDir::Files);
QStringList livelFrames = list.filter(regExp);
int i;
for (i = 0; i < livelFrames.size() && isWritable; i++) {
TFilePath frame = dir + TFilePath(livelFrames[i].toStdWString());
if (frame.isEmpty() || !frame.isAbsolute())
continue;
TFileStatus fs(frame);
isWritable = fs.isWritable();
}
}
if (!isWritable) {
string str = "It is not possible to write the output: the file";
str += isMultiFrame ? "s are read only." : " is read only.";
MsgBox(WARNING, QString::fromStdString(str));
return;
}
ToonzScene *scene = 0;
TCamera *camera = 0;
try {
/*-- Xsheetノードに繋がっている各ラインごとに計算するモード。
MultipleRender で Schematic Flows または Fx Schematic Terminal Nodes が選択されている場合
--*/
if (m_multimediaRender && m_fp.getType() != "swf") //swf is not currently supported on multimedia...
multimediaRender();
else if (!isPreview && m_fp.getType() == "swf")
flashRender();
else
/*-- 通常のRendering --*/
rasterRender(isPreview);
} catch (TException &e) {
MsgBox(WARNING, QString::fromStdString(toString(e.getMessage())));
} catch (...) {
MsgBox(WARNING, QObject::tr("It is not possible to complete the rendering."));
}
}
示例2: isAncestorOf
bool TFilePath::isAncestorOf(const TFilePath &fp) const
{
size_t len = m_path.length();
if (len == 0) {
// il punto e' antenato di tutti i path non assoluti
return !fp.isAbsolute();
}
return len < fp.m_path.length() // l'antenato deve essere piu' corto
&& (m_path[len - 1] == slash // deve finire con slash se e' "/" o "C:\"
|| fp.m_path[len] == slash) // negli altri casi ci deve essere uno slash subito dopo
&&
#ifdef WIN32
toLower(m_path) == toLower(fp.m_path.substr(0, len));
#else
m_path == fp.m_path.substr(0, len);
#endif
}
示例3: decodePath
TFilePath TMyPaintBrushStyle::decodePath(const TFilePath &path) const {
if (path.isAbsolute())
return path;
if (m_currentScene) {
TFilePath p = m_currentScene->decodeFilePath(path);
TFileStatus fs(p);
if (fs.doesExist() && !fs.isDirectory())
return p;
}
TFilePathSet paths = getBrushesDirs();
for(TFilePathSet::iterator i = paths.begin(); i != paths.end(); ++i) {
TFilePath p = *i + path;
TFileStatus fs(p);
if (fs.doesExist() && !fs.isDirectory())
return p;
}
return path;
}
示例4: createProject
void ProjectCreatePopup::createProject() {
if (!IoCmd::saveSceneIfNeeded(QObject::tr("Create project"))) return;
#ifdef LINETEST
TnzCamera *camera = TnzCamera::instance();
if (camera->isCameraConnected()) camera->cameraDisconnect();
#endif
QFileInfo fi(m_nameFld->text());
if (!isValidFileName(fi.baseName())) {
error(
tr("Project Name cannot be empty or contain any of the following "
"characters:\n \\ / : * ? \" < > |"));
return;
}
TProjectManager *pm = TProjectManager::instance();
TFilePath projectName = TFilePath(m_nameFld->text().toStdWString());
if (projectName == TFilePath()) {
return;
}
if (projectName.isAbsolute()) {
error(tr("Bad project name: '%1' looks like an absolute file path")
.arg(m_nameFld->text()));
return;
}
if (pm->getProjectPathByName(projectName) != TFilePath()) {
error(tr("Project '%1' already exists").arg(m_nameFld->text()));
// project already exists
return;
}
TFilePath currentProjectRoot;
DvDirModelFileFolderNode *node =
dynamic_cast<DvDirModelFileFolderNode *>(m_treeView->getCurrentNode());
if (node)
currentProjectRoot = node->getPath();
else
currentProjectRoot = pm->getCurrentProjectRoot();
TFilePath projectFolder = currentProjectRoot + projectName;
TFilePath projectPath = pm->projectFolderToProjectPath(projectFolder);
TProject *project = new TProject();
updateProjectFromFields(project);
TProjectP currentProject = pm->getCurrentProject();
project->setSceneProperties(currentProject->getSceneProperties());
try {
bool isSaved = project->save(projectPath);
if (!isSaved)
DVGui::error(tr("It is not possible to create the %1 project.")
.arg(toQString(projectPath)));
} catch (TSystemException se) {
DVGui::warning(QString::fromStdWString(se.getMessage()));
return;
}
pm->setCurrentProjectPath(projectPath);
IoCmd::newScene();
DvDirModel::instance()->refreshFolder(projectFolder.getParentDir());
accept();
}