@Override protected boolean isEnabled(@NotNull List<VirtualFile> files, @NotNull Module module) { PerlModuleExtension perlModuleExtension = PerlModuleExtension.getInstance(module); for (VirtualFile file : files) { if (perlModuleExtension.getRootType(file) != null) { return true; } } return false; } }
protected boolean isEnabled(@NotNull List<VirtualFile> files, @NotNull Module module) { if (files.isEmpty() || !PerlProjectManager.isPerlEnabled(module)) { return false; } return !myType.equals(PerlModuleExtension.getInstance(module).getRootType(files.get(0))); }
@NotNull public final List<VirtualFile> getRoots(@NotNull Module module) { return PerlModuleExtension.getInstance(module).getRootsByType(getRootType()); }
@Override protected void modifyRoots(@NotNull AnActionEvent e, @NotNull Module module, @NotNull VirtualFile[] files) { PerlModuleExtension modifiableModel = (PerlModuleExtension)PerlModuleExtension.getInstance(module).getModifiableModel(true); for (VirtualFile virtualFile : files) { modifiableModel.setRoot(virtualFile, myType); } modifiableModel.commit(); } }
@Override public void reset() { if (myModifiableModel != null) { myModifiableModel.dispose(); myModifiableModel = null; } myModifiableModel = (PerlModuleExtension)PerlModuleExtension.getInstance(myModule).getModifiableModel(true); }
@Override public void actionPerformed(@NotNull AnActionEvent e) { RootsSelection selection = getSelection(e); PerlModuleExtension perlModuleExtension = (PerlModuleExtension)PerlModuleExtension.getInstance(selection.myModule).getModifiableModel(true); for (VirtualFile virtualFile : getFilesFromSelection(selection)) { perlModuleExtension.removeRoot(virtualFile); } perlModuleExtension.commit(); }
ImmutableMapBuilder<VirtualFile, PerlSourceRootType> builder = ContainerUtil.immutableMapBuilder(); for (Module module : ModuleManager.getInstance(myProject).getModules()) { PerlModuleExtension.getInstance(module).getRoots().forEach((key, value) -> builder.put(key, value));
PerlModuleExtension perlModuleExtension = PerlModuleExtension.getInstance(selection.myModule); if (perlModuleExtension == null || virtualFiles.isEmpty()) { return;