Javafx: Save the document in a WriteAction with default modality state before opening the SceneBuilder

This commit is contained in:
Pavel Dolgov
2016-09-22 15:42:00 +03:00
parent fd6fa85527
commit c0ff9ae49a
@@ -2,7 +2,9 @@ package org.jetbrains.plugins.javaFX.sceneBuilder;
import com.intellij.codeHighlighting.BackgroundEditorHighlighter;
import com.intellij.ide.structureView.StructureViewBuilder;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
@@ -170,8 +172,12 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor
private void addSceneBuilder() {
removeSceneBuilder();
ApplicationManager.getApplication().invokeLater(this::addSceneBuilderImpl, ModalityState.defaultModalityState());
}
private void addSceneBuilderImpl() {
try {
FileDocumentManager.getInstance().saveDocument(myDocument);
ApplicationManager.getApplication().runWriteAction(() -> FileDocumentManager.getInstance().saveDocument(myDocument));
mySceneBuilder = SceneBuilder.create(new File(myFile.getPath()).toURI().toURL(), myProject, this);