001 /*
002 Copyright (c) 2009 Olivier Chafik, All Rights Reserved
003
004 This file is part of JNAerator (http://jnaerator.googlecode.com/).
005
006 JNAerator is free software: you can redistribute it and/or modify
007 it under the terms of the GNU General Public License as published by
008 the Free Software Foundation, either version 3 of the License, or
009 (at your option) any later version.
010
011 JNAerator is distributed in the hope that it will be useful,
012 but WITHOUT ANY WARRANTY; without even the implied warranty of
013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014 GNU General Public License for more details.
015
016 You should have received a copy of the GNU General Public License
017 along with JNAerator. If not, see <http://www.gnu.org/licenses/>.
018 */
019 package com.ochafik.swing;
020
021 import javax.swing.JComponent;
022 import javax.swing.text.Document;
023 import javax.swing.text.JTextComponent;
024 import javax.swing.undo.UndoManager;
025
026 public class UndoRedoUtils {
027
028 public static void registerNewUndoManager(JTextComponent jtc) {
029 registerNewUndoManager(jtc, jtc.getDocument());
030 }
031 public static void registerNewUndoManager(JComponent jtc, Document d) {
032 UndoManager undoManager = new UndoManager();
033 d.addUndoableEditListener(undoManager);
034 FormUtils.registerUndoRedoActions(jtc, FormUtils.createUndoAction(undoManager, "undo"), FormUtils.createRedoAction(undoManager, "redo"));
035 }
036
037 }