1 package org.jetbrains.plugins.ipnb.editor.panels;
3 import com.intellij.ide.DataManager;
4 import com.intellij.openapi.actionSystem.DataContext;
5 import com.intellij.openapi.actionSystem.DefaultActionGroup;
6 import com.intellij.openapi.ui.popup.JBPopupFactory;
7 import com.intellij.openapi.ui.popup.ListPopup;
8 import org.jetbrains.annotations.NotNull;
9 import org.jetbrains.plugins.ipnb.format.cells.IpnbCell;
14 public abstract class IpnbPanel<T extends JComponent, K extends IpnbCell> extends JPanel {
15 protected T myViewPanel;
18 public IpnbPanel(@NotNull final K cell) {
19 super(new CardLayout());
23 public IpnbPanel(@NotNull final K cell, @NotNull final LayoutManager layoutManager) {
32 public ListPopup createPopupMenu(@NotNull DefaultActionGroup group) {
33 final DataContext context = DataManager.getInstance().getDataContext(this);
34 return JBPopupFactory.getInstance().createActionGroupPopup(null, group, context, JBPopupFactory.ActionSelectionAid.MNEMONICS,
38 protected abstract T createViewPanel();
40 protected abstract void addRightClickMenu();