View Javadoc

1   /*
2    * RedoAction.java
3    *
4    * Created on 27. mai 2005, 22:19
5    */
6   
7   package com.vikash.firsttool.UI;
8   import com.vikash.firsttool.Diagram.*;
9   import java.awt.event.*;
10  import java.net.URL;
11  import javax.swing.*;
12  
13  /***
14   *
15   * @author  studajb
16   */
17  public class RedoAction extends AbstractAction {
18      ToolInternalFrame internalframe;
19      MainFrame frame;
20      EditorPanel panel;
21      ToolGraph graph;
22      static RedoAction instance;
23      
24      public static RedoAction getinstance(final MainFrame frame,boolean flag){
25          if(flag)
26              instance=null;
27          if(instance==null){
28              instance=new RedoAction(frame);
29          }
30              return instance;
31          }
32      
33      /*** Creates a new instance of UndoAction */
34      public RedoAction(MainFrame frame) {
35          URL icon=getClass().getClassLoader().getResource("com/vikash/firsttool/resources/redo.gif");
36          putValue(Action.SMALL_ICON,new ImageIcon(icon));
37          putValue(Action.SHORT_DESCRIPTION,"Redo");
38          putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
39          setEnabled(false);
40          this.frame=frame;
41      }
42      
43      public void actionPerformed(ActionEvent e) {
44          internalframe=(ToolInternalFrame)frame.getDesktopPane().getSelectedFrame();
45                  if(internalframe!=null){
46                  panel=internalframe.getPanel();
47                  graph=internalframe.getGraph();
48                  ToolUndo undomanager=panel.getUndoManager();
49          	try {
50  		     undomanager.redo(graph.getGraphLayoutCache());
51  		} catch (Exception ex) {
52  			System.err.println(ex);
53  		} finally {
54  	        
55                  // update undo redo buttons     
56  		panel.updateundoredobuttons();
57  		}
58                  }
59      }
60      
61  }