public Object getData()

in src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java [734:764]


  public Object getData(@NotNull String dataId) {
    final IpnbEditablePanel selectedCellPanel = getSelectedCellPanel();
    if (OpenFileDescriptor.NAVIGATE_IN_EDITOR.is(dataId)) {
      if (selectedCellPanel instanceof IpnbCodePanel) {  // Go to declaration
        return ((IpnbCodePanel)selectedCellPanel).getEditor();
      }
    }
    if (IpnbFileEditor.DATA_KEY.is(dataId)) {
      return myParent;
    }
    if (PlatformDataKeys.HELP_ID.is(dataId)) {
      return ourHelpID;
    }
    if (LangDataKeys.CONTEXT_LANGUAGES.is(dataId)) { // Introduce variable
      return new Language[]{IpnbPyLanguageDialect.getInstance()};
    }
    if (CommonDataKeys.PSI_ELEMENT.is(dataId) || CommonDataKeys.PSI_FILE.is(dataId)) {  // Rename and Introduce variable
      if (selectedCellPanel instanceof IpnbCodePanel) {
        final Editor e = ((IpnbCodePanel)selectedCellPanel).getEditor();
        final Object o = FileEditorManager.getInstance(myProject).getData(dataId, e, e.getCaretModel().getCurrentCaret());
        if (o != null) return o;
      }
    }
    if (PlatformDataKeys.COPY_PROVIDER.is(dataId)
        || PlatformDataKeys.PASTE_PROVIDER.is(dataId)
        || PlatformDataKeys.CUT_PROVIDER.is(dataId)
        || PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId)) {
      return myEditable;
    }
    return null;
  }