diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookBelowLastCellPanel.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookBelowLastCellPanel.kt index 01cfb3a74ab9..723b2fb77a85 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookBelowLastCellPanel.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookBelowLastCellPanel.kt @@ -58,6 +58,7 @@ class NotebookBelowLastCellPanel( } companion object { - @Language("devkit-action-id") private const val ACTION_GROUP_ID = "Jupyter.BelowCellNewPanel" + @Language("devkit-action-id") + private const val ACTION_GROUP_ID = "Jupyter.CreateNewCellsPanel" } } \ No newline at end of file diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookCellInlayManager.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookCellInlayManager.kt index 81b2daf102d4..00fb6472aefa 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookCellInlayManager.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/NotebookCellInlayManager.kt @@ -53,6 +53,7 @@ class NotebookCellInlayManager private constructor( } override fun dispose() { + views.clear() editor.removeUserData(CELL_INLAY_MANAGER_KEY) } diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/context/EditorCellDataContext.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/context/EditorCellDataContext.kt index 21cddd793f54..bf851032753a 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/context/EditorCellDataContext.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/context/EditorCellDataContext.kt @@ -11,6 +11,7 @@ object EditorCellDataContext { fun createContextProvider(editorCell: EditorCell, component: JComponent): JComponent { return UiDataProvider.wrapComponent(component) { sink -> sink[NotebookDataContext.NOTEBOOK_CELL_LINES_INTERVAL] = editorCell.intervalOrNull + sink[NotebookDataContext.SHOW_TEXT] = true sink[PlatformCoreDataKeys.CONTEXT_COMPONENT] = component sink[PlatformDataKeys.EDITOR] = editorCell.editor } diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/context/NotebookDataContext.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/context/NotebookDataContext.kt index 214367ab4f8d..ec43a2217e2b 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/context/NotebookDataContext.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/context/NotebookDataContext.kt @@ -11,6 +11,8 @@ import com.intellij.openapi.editor.impl.EditorImpl object NotebookDataContext { val NOTEBOOK_CELL_LINES_INTERVAL: DataKey = DataKey.create("NOTEBOOK_CELL_LINES_INTERVAL") + val NOTEBOOK_CELL_INSERT_ABOVE: DataKey = DataKey.create("NOTEBOOK_CELL_INSERT_ABOVE") + val SHOW_TEXT: DataKey = DataKey.create("SHOW_ACTION_TEXT") val NOTEBOOK_CELL_OUTPUT_DATA_KEY: DataKey = DataKey.create("NOTEBOOK_CELL_OUTPUT") diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/EditorNotebook.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/EditorNotebook.kt index 1adb4cc8d198..0694451bcd10 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/EditorNotebook.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/EditorNotebook.kt @@ -49,6 +49,7 @@ class EditorNotebook(val editor: EditorImpl) : Disposable { }, this) } + @Suppress("UNCHECKED_CAST") fun getExtension(cls: KClass): T? { return extensions[cls] as? T diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/NotebookCellDataProvider.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/NotebookCellDataProvider.kt index 8c5c637333d8..0698694df0d4 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/NotebookCellDataProvider.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/NotebookCellDataProvider.kt @@ -17,6 +17,7 @@ internal data class NotebookCellDataProvider( override fun getData(key: String): Any? = when (key) { NotebookDataContext.NOTEBOOK_CELL_LINES_INTERVAL.name -> intervalProvider() + NotebookDataContext.NOTEBOOK_CELL_INSERT_ABOVE.name -> false PlatformCoreDataKeys.CONTEXT_COMPONENT.name -> component PlatformDataKeys.EDITOR.name -> editor else -> null diff --git a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/endInlay/addToolbar/EditorNotebookEndAddToolbar.kt b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/endInlay/addToolbar/EditorNotebookEndAddToolbar.kt index 0268b72da23c..31c4a7520207 100644 --- a/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/endInlay/addToolbar/EditorNotebookEndAddToolbar.kt +++ b/notebooks/visualization/src/com/intellij/notebooks/visualization/ui/endInlay/addToolbar/EditorNotebookEndAddToolbar.kt @@ -4,7 +4,7 @@ package com.intellij.notebooks.visualization.ui.endInlay.addToolbar import com.intellij.notebooks.ui.visualization.NotebookUtil.notebookAppearance import com.intellij.notebooks.visualization.NotebookBelowLastCellPanel import com.intellij.notebooks.visualization.NotebookCellInlayManager -import com.intellij.notebooks.visualization.context.NotebookDataContext.NOTEBOOK_CELL_LINES_INTERVAL +import com.intellij.notebooks.visualization.context.NotebookDataContext import com.intellij.notebooks.visualization.ui.addComponentInlay import com.intellij.notebooks.visualization.ui.cellsDnD.DropHighlightable import com.intellij.notebooks.visualization.ui.endInlay.EditorNotebookEndInlay @@ -20,7 +20,9 @@ class EditorNotebookEndAddToolbar(val inlayManager: NotebookCellInlayManager) : // PY-77218 editor.addComponentInlay( UiDataProvider.wrapComponent(belowLastCellPanel) { sink -> - sink[NOTEBOOK_CELL_LINES_INTERVAL] = inlayManager.notebook.cells.lastOrNull()?.interval + sink[NotebookDataContext.NOTEBOOK_CELL_LINES_INTERVAL] = inlayManager.notebook.cells.lastOrNull()?.interval + sink[NotebookDataContext.SHOW_TEXT] = true + sink[NotebookDataContext.NOTEBOOK_CELL_INSERT_ABOVE] = false }, isRelatedToPrecedingText = true, showAbove = false, diff --git a/platform/testFramework/extensions/src/com/intellij/keymap/KeymapsTestCase.java b/platform/testFramework/extensions/src/com/intellij/keymap/KeymapsTestCase.java index 00047141772a..33c72f3ceeea 100644 --- a/platform/testFramework/extensions/src/com/intellij/keymap/KeymapsTestCase.java +++ b/platform/testFramework/extensions/src/com/intellij/keymap/KeymapsTestCase.java @@ -128,8 +128,8 @@ public abstract class KeymapsTestCase extends KeymapsTestCaseBase { "CodeFloatingToolbar.GotoPrevMenu"}, {"shift UP", "EditorUpWithSelection", "JupyterExpandSelectionToCellAboveCommandModeAction"}, {"shift V", "Graph.DistributeNodes.Vertically", "JupyterNotebookPasteCellAboveCommandModeAction"}, - {"shift alt A", "NotebookInsertCellAboveAction", "VcsHistory.ShowAllAffected"}, - {"shift alt B", "NotebookInsertCellBelowAction", "tasks.open.in.browser", "sql.SelectInDatabaseView"}, + {"shift alt A", "NotebookInsertCodeCellAboveAction", "VcsHistory.ShowAllAffected"}, + {"shift alt B", "NotebookInsertCodeCellAction", "tasks.open.in.browser", "sql.SelectInDatabaseView"}, {"shift alt ENTER", "AIAssistant.Editor.AcceptMultiLineCompletion", "Console.TableResult.EditValueMaximized", "JupyterDebugAction", "SplitChooser"}, {"shift alt F7", "ForceStepInto", "StepIntoMyCode"}, {"shift alt G", "EditorAddCaretPerSelectedLine", "hg4idea.QGotoFromPatches"},