use of org.jetbrains.plugins.ipnb.editor.panels.IpnbEditablePanel in project intellij-community by JetBrains.
the class IpnbMarkdownCellAction method changeTypeToMarkdown.
public void changeTypeToMarkdown(@NotNull final IpnbFileEditor editor) {
final IpnbFilePanel filePanel = editor.getIpnbFilePanel();
final IpnbEditablePanel selectedCellPanel = filePanel.getSelectedCellPanel();
if (selectedCellPanel == null)
return;
final IpnbEditableCell cell = selectedCellPanel.getCell();
final List<IpnbCell> cells = filePanel.getIpnbFile().getCells();
final int index = cells.indexOf(selectedCellPanel.getCell());
final IpnbMarkdownCell markdownCell = new IpnbMarkdownCell(cell.getSource(), cell.getMetadata());
if (index >= 0) {
cells.set(index, markdownCell);
}
filePanel.replaceComponent(selectedCellPanel, markdownCell);
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbEditablePanel in project intellij-community by JetBrains.
the class IpnbMergeCellAboveAction method update.
@Override
public void update(AnActionEvent e) {
final DataContext context = e.getDataContext();
final IpnbFileEditor ipnbEditor = IpnbFileEditor.DATA_KEY.getData(context);
if (ipnbEditor != null) {
final IpnbFilePanel ipnbFilePanel = ipnbEditor.getIpnbFilePanel();
final IpnbEditablePanel cell = ipnbFilePanel.getSelectedCellPanel();
final boolean isEnabled = cell != null && ipnbFilePanel.hasPrevCell(cell);
e.getPresentation().setEnabled(isEnabled);
}
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbEditablePanel in project intellij-community by JetBrains.
the class IpnbMergeCellBelowAction method update.
@Override
public void update(AnActionEvent e) {
final DataContext context = e.getDataContext();
final IpnbFileEditor ipnbEditor = IpnbFileEditor.DATA_KEY.getData(context);
if (ipnbEditor != null) {
final IpnbFilePanel ipnbFilePanel = ipnbEditor.getIpnbFilePanel();
final IpnbEditablePanel cell = ipnbFilePanel.getSelectedCellPanel();
final boolean isEnabled = cell != null && ipnbFilePanel.hasNextCell(cell);
e.getPresentation().setEnabled(isEnabled);
}
}
use of org.jetbrains.plugins.ipnb.editor.panels.IpnbEditablePanel 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.IpnbEditablePanel in project intellij-community by JetBrains.
the class IpnbRunCellBaseAction method runCell.
public static void runCell(@NotNull final IpnbFilePanel ipnbFilePanel, boolean selectNext) {
final IpnbEditablePanel cell = ipnbFilePanel.getSelectedCellPanel();
if (cell == null)
return;
cell.runCell(selectNext);
}
Aggregations