FOREIGN MODULE javax_swing_undo;

IMPORT
    java_io,
    java_lang,
    java_util,
    javax_swing_event;

TYPE

  AbstractUndoableEdit* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + UndoableEdit + java_io.Serializable)
                          STATIC
                            UndoName! = "Undo";
                            RedoName! = "Redo";
                            PROCEDURE Init*() : AbstractUndoableEdit,CONSTRUCTOR;
                          END;

  CannotRedoException* = POINTER TO EXTENSIBLE RECORD (java_lang.RuntimeException)
                         STATIC
                           PROCEDURE Init*() : CannotRedoException,CONSTRUCTOR;
                         END;

  CannotUndoException* = POINTER TO EXTENSIBLE RECORD (java_lang.RuntimeException)
                         STATIC
                           PROCEDURE Init*() : CannotUndoException,CONSTRUCTOR;
                         END;

  CompoundEdit* = POINTER TO EXTENSIBLE RECORD (AbstractUndoableEdit)
                    edits! : java_util.Vector;
                  STATIC
                    PROCEDURE Init*() : CompoundEdit,CONSTRUCTOR;
                  END;

  StateEdit* = POINTER TO EXTENSIBLE RECORD (AbstractUndoableEdit)
                 object! : StateEditable;
                 preState! : java_util.Hashtable;
                 postState! : java_util.Hashtable;
                 undoRedoName! : java_lang.String;
               STATIC
                 RCSID! = "$Id: StateEdit.java,v 1.6 1997/10/01 20:05:51 sandipc Exp $";
                 PROCEDURE Init*(p0 : StateEditable) : StateEdit,CONSTRUCTOR;
                 PROCEDURE Init*(p0 : StateEditable;
                                 p1 : java_lang.String) : StateEdit,CONSTRUCTOR;
               END;

  StateEditable* = POINTER TO INTERFACE RECORD (java_lang.Object)
                   STATIC
                     RCSID* = "$Id: StateEditable.java,v 1.2 1997/09/08 19:39:08 marklin Exp $";
                   END;

  UndoableEdit* = POINTER TO INTERFACE RECORD (java_lang.Object)
                  END;

  UndoableEditSupport* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                           updateLevel! : INTEGER;
                           compoundEdit! : CompoundEdit;
                           listeners! : java_util.Vector;
                           realSource! : java_lang.Object;
                         STATIC
                           PROCEDURE Init*() : UndoableEditSupport,CONSTRUCTOR;
                           PROCEDURE Init*(p0 : java_lang.Object) : UndoableEditSupport,CONSTRUCTOR;
                         END;

  UndoManager* = POINTER TO EXTENSIBLE RECORD (CompoundEdit + javax_swing_event.UndoableEditListener)
                 STATIC
                   PROCEDURE Init*() : UndoManager,CONSTRUCTOR;
                 END;




PROCEDURE (self:AbstractUndoableEdit) addEdit*(p0 : UndoableEdit) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) canRedo*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) canUndo*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) die*(),NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) getPresentationName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) getRedoPresentationName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) getUndoPresentationName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) isSignificant*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) redo*(),NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) replaceEdit*(p0 : UndoableEdit) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractUndoableEdit) undo*(),NEW,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) addEdit*(p0 : UndoableEdit) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) canRedo*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) canUndo*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) die*(),EXTENSIBLE;

PROCEDURE (self:CompoundEdit) end*(),NEW,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) getPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) getRedoPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) getUndoPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) isInProgress*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) isSignificant*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) lastEdit!() : UndoableEdit,NEW,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) redo*(),EXTENSIBLE;

PROCEDURE (self:CompoundEdit) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:CompoundEdit) undo*(),EXTENSIBLE;

PROCEDURE (self:StateEdit) end*(),NEW,EXTENSIBLE;

PROCEDURE (self:StateEdit) getPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:StateEdit) init!(p0 : StateEditable;
                                 p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:StateEdit) redo*(),EXTENSIBLE;

PROCEDURE (self:StateEdit) removeRedundantState!(),NEW,EXTENSIBLE;

PROCEDURE (self:StateEdit) undo*(),EXTENSIBLE;

PROCEDURE (self:StateEditable) restoreState*(p0 : java_util.Hashtable),NEW,ABSTRACT;

PROCEDURE (self:StateEditable) storeState*(p0 : java_util.Hashtable),NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) addEdit*(p0 : UndoableEdit) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) canRedo*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) canUndo*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) die*(),NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) getPresentationName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) getRedoPresentationName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) getUndoPresentationName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) isSignificant*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) redo*(),NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) replaceEdit*(p0 : UndoableEdit) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:UndoableEdit) undo*(),NEW,ABSTRACT;

PROCEDURE (self:UndoableEditSupport) _postEdit!(p0 : UndoableEdit),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) addUndoableEditListener*(p0 : javax_swing_event.UndoableEditListener),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) beginUpdate*(),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) createCompoundEdit!() : CompoundEdit,NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) endUpdate*(),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) getUpdateLevel*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) postEdit*(p0 : UndoableEdit),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) removeUndoableEditListener*(p0 : javax_swing_event.UndoableEditListener),NEW,EXTENSIBLE;

PROCEDURE (self:UndoableEditSupport) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:UndoManager) addEdit*(p0 : UndoableEdit) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:UndoManager) canRedo*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:UndoManager) canUndo*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:UndoManager) canUndoOrRedo*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) discardAllEdits*(),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) editToBeRedone!() : UndoableEdit,NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) editToBeUndone!() : UndoableEdit,NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) end*(),EXTENSIBLE;

PROCEDURE (self:UndoManager) getLimit*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) getRedoPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:UndoManager) getUndoOrRedoPresentationName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) getUndoPresentationName*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:UndoManager) redo*(),EXTENSIBLE;

PROCEDURE (self:UndoManager) redoTo!(p0 : UndoableEdit),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) setLimit*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:UndoManager) trimEdits!(p0 : INTEGER;
                                        p1 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) trimForLimit!(),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) undo*(),EXTENSIBLE;

PROCEDURE (self:UndoManager) undoOrRedo*(),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) undoTo!(p0 : UndoableEdit),NEW,EXTENSIBLE;

PROCEDURE (self:UndoManager) undoableEditHappened*(p0 : javax_swing_event.UndoableEditEvent),NEW,EXTENSIBLE;

END javax_swing_undo.