Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31257/src/net/sourceforge/bprocessor/gui
Modified Files:
GUI.java
Log Message:
Implemented a simple Undo/Redo mechanism that remembers the entire model state for each operation Ð this may be too slow with larger models (and require large amounts of memory).
The history is cleared when saving the model.
Index: GUI.java
===================================================================
RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/GUI.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** GUI.java 20 Mar 2006 09:09:27 -0000 1.30
--- GUI.java 21 Mar 2006 21:59:52 -0000 1.31
***************
*** 34,37 ****
--- 34,38 ----
import java.awt.Dimension;
import java.awt.Font;
+ import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
***************
*** 47,50 ****
--- 48,52 ----
import javax.swing.ToolTipManager;
import javax.swing.JPopupMenu;
+ import javax.swing.KeyStroke;
import org.apache.log4j.Logger;
***************
*** 184,190 ****
JMenuItem editUndo = new JMenuItem("Undo");
editUndo.setMnemonic(KeyEvent.VK_N);
editUndo.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent arg0) {
! Project.getInstance().revert();
}
});
--- 186,194 ----
JMenuItem editUndo = new JMenuItem("Undo");
editUndo.setMnemonic(KeyEvent.VK_N);
+ editUndo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,
+ Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
editUndo.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent arg0) {
! Project.getInstance().undo();
}
});
***************
*** 194,198 ****
JMenuItem editRedo = new JMenuItem("Redo");
editRedo.setMnemonic(KeyEvent.VK_R);
! editRedo.setEnabled(false);
edit.add(editRedo);
--- 198,209 ----
JMenuItem editRedo = new JMenuItem("Redo");
editRedo.setMnemonic(KeyEvent.VK_R);
! editRedo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,
! Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
! editRedo.addActionListener(new AbstractAction() {
! public void actionPerformed(ActionEvent arg0) {
! Project.getInstance().redo();
! }
! });
! editRedo.setEnabled(true);
edit.add(editRedo);
***************
*** 395,398 ****
--- 406,410 ----
pack();
setVisible(true);
+ Project.getInstance().checkpoint();
}
}
|