private void addOutputPanel()

in src/org/jetbrains/plugins/ipnb/editor/panels/code/IpnbCodePanel.java [232:268]


  private void addOutputPanel(@NotNull final JComponent mainPanel,
                              @NotNull final IpnbOutputCell outputCell, boolean addPrompt) {
    final IpnbEditorUtil.PromptType promptType = addPrompt ? IpnbEditorUtil.PromptType.Out : IpnbEditorUtil.PromptType.None;
    final JPanel panel = new JPanel(new GridBagLayout());
    panel.setBackground(IpnbEditorUtil.getBackground());
    if (outputCell instanceof IpnbImageOutputCell) {
      addPromptPanel(panel, myCell.getPromptNumber(), promptType,
                     new IpnbImagePanel((IpnbImageOutputCell)outputCell, this));
    }
    else if (outputCell instanceof IpnbHtmlOutputCell) {
      addPromptPanel(panel, myCell.getPromptNumber(), promptType,
                     new IpnbHtmlPanel((IpnbHtmlOutputCell)outputCell, myParent.getIpnbFilePanel(), this));
    }
    else if (outputCell instanceof IpnbLatexOutputCell) {
      addPromptPanel(panel, myCell.getPromptNumber(), promptType,
                     new IpnbLatexPanel((IpnbLatexOutputCell)outputCell, myParent.getIpnbFilePanel(), this));
    }
    else if (outputCell instanceof IpnbErrorOutputCell) {
      addPromptPanel(panel, myCell.getPromptNumber(), promptType,
                     new IpnbErrorPanel((IpnbErrorOutputCell)outputCell, this));
    }
    else if (outputCell instanceof IpnbStreamOutputCell) {
      if (myLastAddedPanel instanceof IpnbStreamPanel) {
        ((IpnbStreamPanel)myLastAddedPanel).addOutput(outputCell);
        return;
      }
      else {
        addPromptPanel(panel, myCell.getPromptNumber(), IpnbEditorUtil.PromptType.None,
                                          new IpnbStreamPanel((IpnbStreamOutputCell)outputCell, this));
      }
    }
    else if (outputCell.getSourceAsString() != null) {
      addPromptPanel(panel, myCell.getPromptNumber(), promptType,
                     new IpnbCodeOutputPanel<>(outputCell, myParent.getIpnbFilePanel(), this));
    }
    mainPanel.add(panel);
  }