本文整理汇总了C++中project::ExporterIterator类的典型用法代码示例。如果您正苦于以下问题:C++ ExporterIterator类的具体用法?C++ ExporterIterator怎么用?C++ ExporterIterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ExporterIterator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: updateExporters
//======================================================================
void HeaderComponent::updateExporters() noexcept
{
auto selectedName = getSelectedExporterName();
exporterBox.clear();
auto preferredExporterIndex = -1;
int i = 0;
for (Project::ExporterIterator exporter (*project); exporter.next(); ++i)
{
exporterBox.addItem (exporter->getName(), i + 1);
if (selectedName == exporter->getName())
exporterBox.setSelectedId (i + 1);
if (exporter->canLaunchProject() && preferredExporterIndex == -1)
preferredExporterIndex = i;
}
if (exporterBox.getSelectedItemIndex() == -1)
exporterBox.setSelectedItemIndex (preferredExporterIndex != -1 ? preferredExporterIndex
: 0);
updateExporterButton();
}
开发者ID:olilarkin,项目名称:JUCE,代码行数:26,代码来源:jucer_HeaderComponent.cpp
示例2: createLocalHeaderWrapper
void LibraryModule::createLocalHeaderWrapper (ProjectSaver& projectSaver, const File& originalHeader, const File& localHeader) const
{
Project& project = projectSaver.project;
MemoryOutputStream out;
out << "// This is an auto-generated file to redirect any included" << newLine
<< "// module headers to the correct external folder." << newLine
<< newLine;
StringArray paths, guards;
for (Project::ExporterIterator exporter (project); exporter.next();)
{
const RelativePath headerFromProject (exporter->getModuleFolderRelativeToProject (getID(), projectSaver)
.getChildFile (originalHeader.getFileName()));
const RelativePath fileFromHere (headerFromProject.rebased (project.getProjectFolder(),
localHeader.getParentDirectory(), RelativePath::unknown));
paths.add (fileFromHere.toUnixStyle().quoted());
guards.add ("defined (" + exporter->getExporterIdentifierMacro() + ")");
}
writeGuardedInclude (out, paths, guards);
out << newLine;
projectSaver.replaceFileIfDifferent (localHeader, out);
}
开发者ID:Xaetrz,项目名称:AddSyn,代码行数:29,代码来源:jucer_Module.cpp
示例3: updateDeprecatedProjectSettingsInteractively
void Project::updateDeprecatedProjectSettingsInteractively()
{
jassert (! ProjucerApplication::getApp().isRunningCommandLine);
for (Project::ExporterIterator exporter (*this); exporter.next();)
exporter->updateDeprecatedProjectSettingsInteractively();
}
开发者ID:balajisriram,项目名称:plugin-GUI,代码行数:7,代码来源:jucer_Project.cpp
示例4: addModule
void EnabledModuleList::addModule (const File& moduleManifestFile, bool copyLocally)
{
ModuleDescription info (moduleManifestFile);
if (info.isValid())
{
const String moduleID (info.getID());
if (! isModuleEnabled (moduleID))
{
ValueTree module (Ids::MODULES);
module.setProperty (Ids::ID, moduleID, nullptr);
state.addChild (module, -1, getUndoManager());
sortAlphabetically();
shouldShowAllModuleFilesInProject (moduleID) = true;
shouldCopyModuleFilesLocally (moduleID) = copyLocally;
RelativePath path (moduleManifestFile.getParentDirectory().getParentDirectory(),
project.getProjectFolder(), RelativePath::projectFolder);
for (Project::ExporterIterator exporter (project); exporter.next();)
exporter->getPathForModuleValue (moduleID) = path.toUnixStyle();
}
}
}
开发者ID:Xaetrz,项目名称:AddSyn,代码行数:27,代码来源:jucer_Module.cpp
示例5: updateOldStyleConfigList
void Project::updateOldStyleConfigList()
{
ValueTree deprecatedConfigsList (projectRoot.getChildWithName (ProjectExporter::configurations));
if (deprecatedConfigsList.isValid())
{
projectRoot.removeChild (deprecatedConfigsList, nullptr);
for (Project::ExporterIterator exporter (*this); exporter.next();)
{
if (exporter->getNumConfigurations() == 0)
{
ValueTree newConfigs (deprecatedConfigsList.createCopy());
if (! exporter->isXcode())
{
for (int j = newConfigs.getNumChildren(); --j >= 0;)
{
ValueTree config (newConfigs.getChild(j));
config.removeProperty (Ids::osxSDK, nullptr);
config.removeProperty (Ids::osxCompatibility, nullptr);
config.removeProperty (Ids::osxArchitecture, nullptr);
}
}
exporter->settings.addChild (newConfigs, 0, nullptr);
}
}
}
}
开发者ID:lauyoume,项目名称:JUCE,代码行数:31,代码来源:jucer_Project.cpp
示例6: findLocalModuleFolder
File EnabledModuleList::findLocalModuleFolder (const String& moduleID, bool useExportersForOtherOSes)
{
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (useExportersForOtherOSes || exporter->mayCompileOnCurrentOS())
{
const String path (exporter->getPathForModuleString (moduleID));
if (path.isNotEmpty())
{
const File moduleFolder (project.resolveFilename (path));
if (moduleFolder.exists())
{
if (ModuleDescription (moduleFolder).isValid())
return moduleFolder;
File f = moduleFolder.getChildFile (moduleID);
if (ModuleDescription (f).isValid())
return f;
f = moduleFolder.getChildFile ("modules")
.getChildFile (moduleID);
if (ModuleDescription (f).isValid())
return f;
}
}
}
}
return File();
}
开发者ID:kokoar,项目名称:JUCE,代码行数:34,代码来源:jucer_Module.cpp
示例7: canCurrentExporterLaunchProject
bool HeaderComponent::canCurrentExporterLaunchProject() const noexcept
{
for (Project::ExporterIterator exporter (*project); exporter.next();)
if (exporter->getName() == getSelectedExporterName() && exporter->canLaunchProject())
return true;
return false;
}
开发者ID:olilarkin,项目名称:JUCE,代码行数:8,代码来源:jucer_HeaderComponent.cpp
示例8: removeModule
void EnabledModuleList::removeModule (String moduleID) // must be pass-by-value, and not a const ref!
{
for (int i = state.getNumChildren(); --i >= 0;)
if (state.getChild(i) [Ids::ID] == moduleID)
state.removeChild (i, getUndoManager());
for (Project::ExporterIterator exporter (project); exporter.next();)
exporter->removePathForModule (moduleID);
}
开发者ID:Xaetrz,项目名称:AddSyn,代码行数:9,代码来源:jucer_Module.cpp
示例9: removeModule
void EnabledModuleList::removeModule (const String& moduleID)
{
for (int i = state.getNumChildren(); --i >= 0;)
if (state.getChild(i) [Ids::ID] == moduleID)
state.removeChild (i, getUndoManager());
for (Project::ExporterIterator exporter (project); exporter.next();)
exporter->removePathForModule (moduleID);
}
开发者ID:cstars135,项目名称:JUCE,代码行数:9,代码来源:jucer_Module.cpp
示例10: moveOldPropertyFromProjectToAllExporters
void Project::moveOldPropertyFromProjectToAllExporters (Identifier name)
{
if (projectRoot.hasProperty (name))
{
for (Project::ExporterIterator exporter (*this); exporter.next();)
exporter->settings.setProperty (name, projectRoot [name], nullptr);
projectRoot.removeProperty (name, nullptr);
}
}
开发者ID:lauyoume,项目名称:JUCE,代码行数:10,代码来源:jucer_Project.cpp
示例11: getExportersWhichCanLaunch
StringArray ProjectContentComponent::getExportersWhichCanLaunch() const
{
StringArray s;
if (project != nullptr)
for (Project::ExporterIterator exporter (*project); exporter.next();)
if (exporter->canLaunchProject())
s.add (exporter->getName());
return s;
}
开发者ID:EthanZuo,项目名称:JUCE,代码行数:11,代码来源:jucer_ProjectContentComponent.cpp
示例12: openInIDE
void ProjectContentComponent::openInIDE (int exporterIndex, bool saveFirst)
{
if (saveFirst)
saveProject();
int i = 0;
if (project != nullptr)
for (Project::ExporterIterator exporter (*project); exporter.next();)
if (exporter->canLaunchProject())
if (i++ == exporterIndex && exporter->launchProject())
break;
}
开发者ID:EthanZuo,项目名称:JUCE,代码行数:13,代码来源:jucer_ProjectContentComponent.cpp
示例13: createDefaultModulePaths
void ProjectExporter::createDefaultModulePaths()
{
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (areCompatibleExporters (*this, *exporter))
{
for (int i = project.getModules().getNumModules(); --i >= 0;)
{
String modID (project.getModules().getModuleID(i));
getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue();
}
break;
}
}
}
开发者ID:Krewn,项目名称:LIOS,代码行数:17,代码来源:jucer_ProjectExporter.cpp
示例14: oldPath
static Array<File> getAllPossibleModulePathsFromExporters (Project& project)
{
StringArray paths;
for (Project::ExporterIterator exporter (project); exporter.next();)
{
auto& modules = project.getModules();
auto n = modules.getNumModules();
for (int i = 0; i < n; ++i)
{
auto id = modules.getModuleID (i);
if (modules.shouldUseGlobalPath (id))
continue;
const auto path = exporter->getPathForModuleString (id);
if (path.isNotEmpty())
paths.addIfNotAlreadyThere (path);
}
String oldPath (exporter->getLegacyModulePath());
if (oldPath.isNotEmpty())
paths.addIfNotAlreadyThere (oldPath);
}
Array<File> files;
for (auto& path : paths)
{
auto f = project.resolveFilename (path);
if (f.isDirectory())
{
files.addIfNotAlreadyThere (f);
if (f.getChildFile ("modules").isDirectory())
files.addIfNotAlreadyThere (f.getChildFile ("modules"));
}
}
return files;
}
开发者ID:azeteg,项目名称:HISE,代码行数:45,代码来源:jucer_Module.cpp
示例15: setMissingDefaultValues
void Project::setMissingDefaultValues()
{
if (! projectRoot.hasProperty (ComponentBuilder::idProperty))
projectRoot.setProperty (ComponentBuilder::idProperty, createAlphaNumericUID(), nullptr);
// Create main file group if missing
if (! projectRoot.getChildWithName (Tags::projectMainGroup).isValid())
{
Item mainGroup (*this, ValueTree (Tags::projectMainGroup));
projectRoot.addChild (mainGroup.state, 0, 0);
}
getMainGroup().initialiseMissingProperties();
if (getDocumentTitle().isEmpty())
setTitle ("Juce Project");
if (! projectRoot.hasProperty (Ids::projectType))
getProjectTypeValue() = ProjectType::getGUIAppTypeName();
if (! projectRoot.hasProperty (Ids::version))
getVersionValue() = "1.0.0";
updateOldStyleConfigList();
moveOldPropertyFromProjectToAllExporters (Ids::bigIcon);
moveOldPropertyFromProjectToAllExporters (Ids::smallIcon);
for (Project::ExporterIterator exporter (*this); exporter.next();)
if (exporter->getNumConfigurations() == 0)
exporter->createDefaultConfigs();
if (! projectRoot.getChildWithName (Tags::exporters).isValid())
createDefaultExporters();
getProjectType().setMissingProjectProperties (*this);
if (! projectRoot.hasProperty (Ids::bundleIdentifier))
setBundleIdentifierToDefault();
if (! projectRoot.getChildWithName (Tags::modulesGroup).isValid())
addDefaultModules (false);
}
开发者ID:furio,项目名称:pyplasm,代码行数:42,代码来源:jucer_Project.cpp
示例16: path
static Array<File> getAllPossibleModulePaths (Project& project)
{
StringArray paths;
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (exporter->mayCompileOnCurrentOS())
{
for (int i = 0; i < project.getModules().getNumModules(); ++i)
{
const String path (exporter->getPathForModuleString (project.getModules().getModuleID (i)));
if (path.isNotEmpty())
paths.addIfNotAlreadyThere (path);
}
String oldPath (exporter->getLegacyModulePath());
if (oldPath.isNotEmpty())
paths.addIfNotAlreadyThere (oldPath);
}
}
Array<File> files;
for (int i = 0; i < paths.size(); ++i)
{
const File f (project.resolveFilename (paths[i]));
if (f.isDirectory())
{
files.add (f);
if (f.getChildFile ("modules").isDirectory())
files.addIfNotAlreadyThere (f.getChildFile ("modules"));
}
}
return files;
}
开发者ID:daimend,项目名称:JUCE,代码行数:40,代码来源:jucer_Module.cpp
示例17: getModuleInfoFile
File EnabledModuleList::getModuleInfoFile (const String& moduleID)
{
for (Project::ExporterIterator exporter (project); exporter.next();)
{
if (exporter->mayCompileOnCurrentOS())
{
const String path (exporter->getPathForModuleString (moduleID));
if (path.isNotEmpty())
{
const File moduleFolder (project.resolveFilename (path));
if (moduleFolder.exists())
{
File f (moduleFolder.getChildFile (ModuleDescription::getManifestFileName()));
if (f.exists())
return f;
f = moduleFolder.getChildFile (moduleID)
.getChildFile (ModuleDescription::getManifestFileName());
if (f.exists())
return f;
f = moduleFolder.getChildFile ("modules")
.getChildFile (moduleID)
.getChildFile (ModuleDescription::getManifestFileName());
if (f.exists())
return f;
}
}
}
}
return File::nonexistent;
}
开发者ID:daimend,项目名称:JUCE,代码行数:38,代码来源:jucer_Module.cpp
示例18: openInSelectedIDE
void ProjectContentComponent::openInSelectedIDE (bool saveFirst)
{
if (project != nullptr)
{
if (auto* headerComp = dynamic_cast<HeaderComponent*> (header.get()))
{
auto selectedIDE = headerComp->getSelectedExporterName();
for (Project::ExporterIterator exporter (*project); exporter.next();)
{
if (exporter->canLaunchProject() && exporter->getName() == selectedIDE)
{
if (saveFirst && ! saveProject (exporter->isXcode()))
return;
exporter->launchProject();
break;
}
}
}
}
}
开发者ID:bacchus,项目名称:JUCE,代码行数:22,代码来源:jucer_ProjectContentComponent.cpp
示例19: updateOldModulePaths
void Project::updateOldModulePaths()
{
for (Project::ExporterIterator exporter (*this); exporter.next();)
exporter->updateOldModulePaths();
}
开发者ID:balajisriram,项目名称:plugin-GUI,代码行数:5,代码来源:jucer_Project.cpp
示例20: writeProjects
void ProjectSaver::writeProjects (const OwnedArray<LibraryModule>& modules, const String& specifiedExporterToSave, bool isCommandLineApp)
{
ThreadPool threadPool;
// keep a copy of the basic generated files group, as each exporter may modify it.
auto originalGeneratedGroup = generatedFilesGroup.state.createCopy();
CLionProjectExporter* clionExporter = nullptr;
OwnedArray<ProjectExporter> exporters;
try
{
for (Project::ExporterIterator exp (project); exp.next();)
{
if (specifiedExporterToSave.isNotEmpty() && exp->getName() != specifiedExporterToSave)
continue;
auto* exporter = exporters.add (exp.exporter.release());
exporter->initialiseDependencyPathValues();
if (exporter->getTargetFolder().createDirectory())
{
if (exporter->isCLion())
{
clionExporter = dynamic_cast<CLionProjectExporter*> (exporter);
}
else
{
exporter->copyMainGroupFromProject();
exporter->settings = exporter->settings.createCopy();
exporter->addToExtraSearchPaths (RelativePath ("JuceLibraryCode", RelativePath::projectFolder));
generatedFilesGroup.state = originalGeneratedGroup.createCopy();
exporter->addSettingsForProjectType (project.getProjectType());
for (auto& module: modules)
module->addSettingsForModuleToExporter (*exporter, *this);
generatedFilesGroup.sortAlphabetically (true, true);
exporter->getAllGroups().add (generatedFilesGroup);
}
if (isCommandLineApp)
saveExporter (exporter, modules);
else
threadPool.addJob (new ExporterJob (*this, exporter, modules), true);
}
else
{
addError ("Can't create folder: " + exporter->getTargetFolder().getFullPathName());
}
}
}
catch (ProjectExporter::SaveError& saveError)
{
addError (saveError.message);
}
if (! isCommandLineApp)
while (threadPool.getNumJobs() > 0)
Thread::sleep (10);
if (clionExporter != nullptr)
{
for (auto* exporter : exporters)
clionExporter->writeCMakeListsExporterSection (exporter);
std::cout << "Finished saving: " << clionExporter->getName() << std::endl;
}
}
开发者ID:julianstorer,项目名称:JUCE,代码行数:72,代码来源:jucer_ProjectSaver.cpp
注:本文中的project::ExporterIterator类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论