public void moveCell()

in src/org/jetbrains/plugins/ipnb/editor/panels/IpnbFilePanel.java [255:286]


  public void moveCell(boolean down) {
    final IpnbEditablePanel selectedCellPanel = getSelectedCellPanel();
    if (selectedCellPanel == null) return;

    final int index = getSelectedIndex();
    int siblingIndex = down ? index + 1 : index - 1;

    if (myIpnbPanels.size() <= siblingIndex && down) {
      return;
    }
    if (siblingIndex < 0 && !down) {
      return;
    }

    if (down) {
      final IpnbEditableCell cell = selectedCellPanel.getCell();
      deleteSelectedCell();
      myIpnbFile.addCell(cell, index + 1);
      myIpnbPanels.add(index + 1, selectedCellPanel);
      add(selectedCellPanel, index + 1);

      selectPrev(selectedCellPanel);
      setSelectedCellPanel(selectedCellPanel);
    }
    else {
      final IpnbEditablePanel siblingPanel = myIpnbPanels.get(siblingIndex);
      deleteCell(siblingPanel);
      addCell(siblingPanel, true);
      setSelectedCellPanel(selectedCellPanel);
    }
    saveToFile(false);
  }