mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
removed json text view from ipython notebook
This commit is contained in:
@@ -67,6 +67,6 @@ public class IpnbEditorProvider implements FileEditorProvider, DumbAware {
|
||||
@NotNull
|
||||
@Override
|
||||
public FileEditorPolicy getPolicy() {
|
||||
return FileEditorPolicy.PLACE_BEFORE_DEFAULT_EDITOR;
|
||||
return FileEditorPolicy.HIDE_DEFAULT_EDITOR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,19 +6,15 @@ import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.structureView.StructureViewBuilder;
|
||||
import com.intellij.openapi.actionSystem.CustomShortcutSet;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.fileEditor.*;
|
||||
import com.intellij.openapi.fileEditor.ex.FileEditorProviderManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ComboBox;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.UserDataHolderBase;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.ipnb.editor.actions.*;
|
||||
import org.jetbrains.plugins.ipnb.editor.panels.*;
|
||||
import org.jetbrains.plugins.ipnb.editor.panels.code.IpnbCodePanel;
|
||||
@@ -41,15 +37,15 @@ import java.util.List;
|
||||
/**
|
||||
* @author traff
|
||||
*/
|
||||
public class IpnbFileEditor extends UserDataHolderBase implements FileEditor, TextEditor {
|
||||
public class IpnbFileEditor extends UserDataHolderBase implements FileEditor {
|
||||
private final VirtualFile myFile;
|
||||
|
||||
private final String myName;
|
||||
|
||||
private final JComponent myEditorPanel;
|
||||
|
||||
private final TextEditor myEditor;
|
||||
private final IpnbFilePanel myIpnbFilePanel;
|
||||
private final Document myDocument;
|
||||
private ComboBox myCellTypeCombo;
|
||||
private static final String codeCellType = "Code";
|
||||
private static final String markdownCellType = "Markdown";
|
||||
@@ -63,12 +59,14 @@ public class IpnbFileEditor extends UserDataHolderBase implements FileEditor, Te
|
||||
|
||||
|
||||
public IpnbFileEditor(Project project, final VirtualFile vFile) {
|
||||
myDocument = FileDocumentManager.getInstance().getDocument(vFile);
|
||||
project.getMessageBus().connect(this).subscribe(FileEditorManagerListener.Before.FILE_EDITOR_MANAGER, new FileEditorManagerListener.Before.Adapter() {
|
||||
@Override
|
||||
public void beforeFileClosed(@NotNull FileEditorManager source, @NotNull VirtualFile file) {
|
||||
if (!new File(file.getPath()).exists()) return;
|
||||
final Document document = getEditor().getDocument();
|
||||
FileDocumentManager.getInstance().saveDocument(document);
|
||||
|
||||
if (myDocument == null) return;
|
||||
FileDocumentManager.getInstance().saveDocument(myDocument);
|
||||
IpnbParser.saveIpnbFile(myIpnbFilePanel);
|
||||
file.refresh(false, false);
|
||||
}
|
||||
@@ -78,8 +76,6 @@ public class IpnbFileEditor extends UserDataHolderBase implements FileEditor, Te
|
||||
|
||||
myName = vFile.getName();
|
||||
|
||||
myEditor = createEditor(project, vFile);
|
||||
|
||||
myEditorPanel = new JPanel(new BorderLayout());
|
||||
myEditorPanel.setBackground(IpnbEditorUtil.getBackground());
|
||||
|
||||
@@ -94,6 +90,10 @@ public class IpnbFileEditor extends UserDataHolderBase implements FileEditor, Te
|
||||
registerHeadingActions();
|
||||
}
|
||||
|
||||
public Document getDocument() {
|
||||
return myDocument;
|
||||
}
|
||||
|
||||
private void registerHeadingActions() {
|
||||
new IpnbHeading1CellAction().registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke("ctrl shift 1")), myIpnbFilePanel);
|
||||
new IpnbHeading2CellAction().registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke("ctrl shift 2")), myIpnbFilePanel);
|
||||
@@ -417,46 +417,6 @@ public class IpnbFileEditor extends UserDataHolderBase implements FileEditor, Te
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
Disposer.dispose(myEditor);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Editor getEditor() {
|
||||
return myEditor.getEditor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canNavigateTo(@NotNull Navigatable navigatable) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void navigateTo(@NotNull Navigatable navigatable) {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static TextEditor createEditor(@NotNull Project project, @NotNull VirtualFile vFile) {
|
||||
FileEditorProvider provider = getProvider(project, vFile);
|
||||
|
||||
if (provider != null) {
|
||||
FileEditor editor = provider.createEditor(project, vFile);
|
||||
if (editor instanceof TextEditor) {
|
||||
return (TextEditor)editor;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static FileEditorProvider getProvider(Project project, VirtualFile vFile) {
|
||||
FileEditorProvider[] providers = FileEditorProviderManager.getInstance().getProviders(project, vFile);
|
||||
for (FileEditorProvider provider : providers) {
|
||||
if (!(provider instanceof IpnbEditorProvider)) {
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract static class CellSelectionListener {
|
||||
|
||||
@@ -78,7 +78,7 @@ public class IpnbFilePanel extends JPanel implements Scrollable, DataProvider, D
|
||||
alarm.addRequest(new MySynchronizeRequest(), 10, ModalityState.stateForComponent(IpnbFilePanel.this));
|
||||
}
|
||||
};
|
||||
myDocument = myParent.getEditor().getDocument();
|
||||
myDocument = myParent.getDocument();
|
||||
myDocument.addDocumentListener(myDocumentListener);
|
||||
|
||||
alarm.addRequest(new Runnable() {
|
||||
|
||||
Reference in New Issue
Block a user