use of org.jetbrains.plugins.ipnb.editor.panels.IpnbFilePanel in project intellij-community by JetBrains.
the class IpnbRunAllCellsAction method actionPerformed.
@Override
public void actionPerformed(@NotNull AnActionEvent event) {
final DataContext context = event.getDataContext();
final IpnbFileEditor ipnbEditor = IpnbFileEditor.DATA_KEY.getData(context);
if (ipnbEditor != null) {
final IpnbFilePanel ipnbFilePanel = ipnbEditor.getIpnbFilePanel();
final List<IpnbEditablePanel> cells = ipnbFilePanel.getIpnbPanels();
final Project project = ipnbFilePanel.getProject();
final IpnbConnectionManager connectionManager = IpnbConnectionManager.getInstance(project);
final VirtualFile virtualFile = ipnbEditor.getVirtualFile();
final String path = virtualFile.getPath();
if (!connectionManager.hasConnection(path)) {
String url = IpnbSettings.getInstance(project).getURL();
if (StringUtil.isEmptyOrSpaces(url)) {
url = IpnbConnectionManager.showDialogUrl(url);
}
if (url == null)
return;
IpnbSettings.getInstance(project).setURL(url);
final String finalUrl = url;
ApplicationManager.getApplication().executeOnPooledThread(() -> {
final boolean serverStarted = connectionManager.startIpythonServer(finalUrl, ipnbEditor);
if (!serverStarted) {
return;
}
UIUtil.invokeLaterIfNeeded(() -> connectionManager.startConnection(null, path, finalUrl, false));
runCells(cells, ipnbFilePanel);
});
} else {
runCells(cells, ipnbFilePanel);
}
}
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbFilePanel in project intellij-community by JetBrains.
the class IpnbRunCellInplaceAction method actionPerformed.
@Override
public void actionPerformed(@NotNull AnActionEvent event) {
final DataContext context = event.getDataContext();
final IpnbFileEditor ipnbEditor = IpnbFileEditor.DATA_KEY.getData(context);
if (ipnbEditor != null) {
final IpnbFilePanel component = ipnbEditor.getIpnbFilePanel();
runCell(component, false);
}
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbFilePanel in project intellij-community by JetBrains.
the class IpnbSplitCellAction method actionPerformed.
@Override
public void actionPerformed(AnActionEvent e) {
final DataContext context = e.getDataContext();
final IpnbFileEditor ipnbEditor = IpnbFileEditor.DATA_KEY.getData(context);
if (ipnbEditor != null) {
final IpnbFilePanel ipnbFilePanel = ipnbEditor.getIpnbFilePanel();
splitCell(ipnbFilePanel);
}
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbFilePanel in project intellij-community by JetBrains.
the class IpnbPyReference method getVariants.
@NotNull
@Override
public Object[] getVariants() {
final List<Object> variants = Lists.newArrayList();
Collections.addAll(variants, super.getVariants());
PsiFile file = myElement.getContainingFile();
if (file instanceof IpnbPyFragment) {
final IpnbFilePanel panel = ((IpnbPyFragment) file).getFilePanel();
final List<IpnbEditablePanel> panels = panel.getIpnbPanels();
for (IpnbEditablePanel editablePanel : panels) {
if (!(editablePanel instanceof IpnbCodePanel))
continue;
final Editor editor = ((IpnbCodePanel) editablePanel).getEditor();
final IpnbPyFragment psiFile = (IpnbPyFragment) PsiDocumentManager.getInstance(myElement.getProject()).getPsiFile(editor.getDocument());
if (psiFile == null)
continue;
final CompletionVariantsProcessor processor = new CompletionVariantsProcessor(myElement);
PyResolveUtil.scopeCrawlUp(processor, psiFile, null, null);
variants.addAll(getOriginalElements(processor));
}
}
return variants.toArray();
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbFilePanel in project intellij-community by JetBrains.
the class IpnbAddCellBelowAction method actionPerformed.
@Override
public void actionPerformed(@NotNull AnActionEvent event) {
final DataContext context = event.getDataContext();
final FileEditor editor = PlatformDataKeys.FILE_EDITOR.getData(context);
if (editor instanceof IpnbFileEditor) {
final IpnbFilePanel component = ((IpnbFileEditor) editor).getIpnbFilePanel();
addCell(component);
}
}
Aggregations