use of com.intellij.facet.Facet in project intellij-community by JetBrains.
the class AddFrameworkSupportInProjectStructureAction method getSelectedModule.
@Nullable
private Module getSelectedModule() {
final Object selected = myModuleStructureConfigurable.getSelectedObject();
if (selected instanceof Module) {
return (Module) selected;
}
final Facet facet = getSelectedFacet();
return facet != null ? facet.getModule() : null;
}
use of com.intellij.facet.Facet in project intellij-community by JetBrains.
the class AddFacetOfTypeAction method addFacetToModule.
private void addFacetToModule(@NotNull FacetType type) {
final ProjectFacetsConfigurator facetsConfigurator = myContext.getModulesConfigurator().getFacetsConfigurator();
List<Module> suitableModules = new ArrayList<>(Arrays.asList(myContext.getModules()));
final Iterator<Module> iterator = suitableModules.iterator();
while (iterator.hasNext()) {
Module module = iterator.next();
if (!type.isSuitableModuleType(ModuleType.get(module)) || (type.isOnlyOneFacetAllowed() && facetsConfigurator.hasFacetOfType(module, null, type.getId()))) {
iterator.remove();
}
}
final Project project = myContext.getProject();
if (suitableModules.isEmpty()) {
Messages.showErrorDialog(project, "No suitable modules for " + type.getPresentableName() + " facet found.", "Cannot Create Facet");
return;
}
final ChooseModulesDialog dialog = new ChooseModulesDialog(project, suitableModules, "Choose Module", type.getPresentableName() + " facet will be added to selected module");
dialog.setSingleSelectionMode();
dialog.show();
final List<Module> elements = dialog.getChosenElements();
if (!dialog.isOK() || elements.size() != 1)
return;
final Module module = elements.get(0);
final Facet facet = ModuleStructureConfigurable.getInstance(project).getFacetEditorFacade().createAndAddFacet(type, module, null);
ProjectStructureConfigurable.getInstance(project).select(facet, true);
}
use of com.intellij.facet.Facet in project intellij-community by JetBrains.
the class CodeInsightTestFixtureImpl method configureInner.
private PsiFile configureInner(@NotNull final VirtualFile copy, @NotNull final SelectionAndCaretMarkupLoader loader) {
assertInitialized();
EdtTestUtil.runInEdtAndWait(() -> {
if (!copy.getFileType().isBinary()) {
try {
WriteAction.run(() -> copy.setBinaryContent(loader.newFileText.getBytes(copy.getCharset())));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
myFile = copy;
myEditor = createEditor(copy);
if (myEditor == null) {
fail("editor couldn't be created for: " + copy.getPath() + ", use copyFileToProject() instead of configureByFile()");
}
EditorTestUtil.setCaretsAndSelection(myEditor, loader.caretState);
Module module = getModule();
if (module != null) {
for (Facet facet : FacetManager.getInstance(module).getAllFacets()) {
module.getMessageBus().syncPublisher(FacetManager.FACETS_TOPIC).facetConfigurationChanged(facet);
}
}
PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
if (myCaresAboutInjection) {
setupEditorForInjectedLanguage();
}
});
return getFile();
}
use of com.intellij.facet.Facet in project android by JetBrains.
the class ModuleFactory method createModule.
@NotNull
Module createModule(@NotNull IdeaModule ideaModule, @NotNull SyncAction.ModuleModels moduleModels) {
File imlFilePath = getModuleImlFilePath(ideaModule, moduleModels);
Module newModule = myModelsProvider.newModule(imlFilePath.getPath(), StdModuleTypes.JAVA.getId());
ModifiableRootModel rootModel = myModelsProvider.getModifiableRootModel(newModule);
rootModel.inheritSdk();
// Remove all dependencies.
DependencyRemover dependencyRemover = new DependencyRemover(rootModel);
for (OrderEntry orderEntry : rootModel.getOrderEntries()) {
orderEntry.accept(dependencyRemover, null);
}
// Remove all facets.
ModifiableFacetModel facetModel = myModelsProvider.getModifiableFacetModel(newModule);
for (Facet facet : facetModel.getAllFacets()) {
facetModel.removeFacet(facet);
}
return newModule;
}
use of com.intellij.facet.Facet in project android by JetBrains.
the class AndroidProjectComponent method projectOpened.
@Override
public void projectOpened() {
final CompilerManager manager = CompilerManager.getInstance(myProject);
manager.addBeforeTask(new AndroidPrecompileTask());
myDisposable = Disposer.newDisposable(getClass().getName());
if (!ApplicationManager.getApplication().isUnitTestMode() && !ApplicationManager.getApplication().isHeadlessEnvironment()) {
if (ProjectFacetManager.getInstance(myProject).hasFacets(AndroidFacet.ID)) {
createAndroidSpecificComponents();
} else {
final MessageBusConnection connection = myProject.getMessageBus().connect(myDisposable);
connection.subscribe(FacetManager.FACETS_TOPIC, new FacetManagerAdapter() {
@Override
public void facetAdded(@NotNull Facet facet) {
if (facet instanceof AndroidFacet) {
createAndroidSpecificComponents();
connection.disconnect();
}
}
});
}
}
}
Aggregations