コード例 #1
0
 public void add(Edit edit) {
   if (first == null) first = last = edit;
   else {
     edit.prev = last;
     last.next = edit;
     last = edit;
   }
 }
コード例 #2
0
ファイル: UndoManager.java プロジェクト: lelelelemon/jEdit
 // {{{ _add() method
 private void _add(Edit edit) {
   if (first == null) first = last = edit;
   else {
     edit.prev = last;
     last.next = edit;
     last = edit;
   }
 } // }}}
コード例 #3
0
ファイル: UndoManager.java プロジェクト: lelelelemon/jEdit
    // {{{ exchangeLastElement() method
    private void exchangeLastElement(Edit edit) {
      // remove last
      if (first == last) first = last = null;
      else {
        last.prev.next = null;
        last = last.prev;
      }

      // exchange current last
      if (first == null || first == last) first = last = edit;
      else {
        edit.prev = last.prev;
        last.prev.next = edit;
        last = edit;
      }
    } // }}}
コード例 #4
0
  private void addEdit(Edit edit) {
    if (undosFirst == null) undosFirst = undosLast = edit;
    else {
      undosLast.next = edit;
      edit.prev = undosLast;
      undosLast = edit;
    }

    redosFirst = null;

    undoCount++;

    while (undoCount > limit) {
      undoCount--;

      if (undosFirst == undosLast) undosFirst = undosLast = null;
      else {
        undosFirst.next.prev = null;
        undosFirst = undosFirst.next;
      }
    }
  }