writing access control

This commit is contained in:
Dmitry Avdeev
2009-09-10 10:13:06 +04:00
parent ad9038f159
commit c99a0b1e9d
21 changed files with 71 additions and 44 deletions
@@ -32,7 +32,7 @@ public class GenerateDelegateHandler implements CodeInsightActionHandler {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.generation.GenerateDelegateHandler");
public void invoke(final Project project, final Editor editor, final PsiFile file) {
if (!file.isWritable() && !FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
return;
}
PsiDocumentManager.getInstance(project).commitAllDocuments();
@@ -44,7 +44,7 @@ public abstract class GenerateMembersHandlerBase implements CodeInsightActionHan
}
public final void invoke(final Project project, final Editor editor, PsiFile file) {
if (!file.isWritable() && !FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
return;
}
final PsiClass aClass = OverrideImplementUtil.getContextClass(project, editor, file, false);
@@ -100,7 +100,7 @@ public class ImplementAbstractMethodHandler {
private void implementInClass(final PsiClass psiClass) {
if (!psiClass.isValid()) return;
if (!psiClass.isWritable() && !FileDocumentManager.getInstance().requestWriting(PsiDocumentManager.getInstance(myProject).getDocument(psiClass.getContainingFile()), myProject)) {
if (!FileDocumentManager.getInstance().requestWriting(PsiDocumentManager.getInstance(myProject).getDocument(psiClass.getContainingFile()), myProject)) {
MessagesEx.fileIsReadOnly(myProject, psiClass.getContainingFile().getVirtualFile()).showNow();
return;
}