//====================================================================== 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(); }
bool HeaderComponent::canCurrentExporterLaunchProject() const noexcept { for (Project::ExporterIterator exporter (*project); exporter.next();) if (exporter->getName() == getSelectedExporterName() && exporter->canLaunchProject()) return true; return false; }
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; }
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; }
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; } } } } }
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(); } return; } } for (Project::ExporterIterator exporter (project); exporter.next();) { if (exporter->canLaunchProject()) { for (int i = project.getModules().getNumModules(); --i >= 0;) { String modID (project.getModules().getModuleID(i)); getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); } return; } } for (int i = project.getModules().getNumModules(); --i >= 0;) { String modID (project.getModules().getModuleID(i)); getPathForModuleValue (modID) = "../../juce"; } }