View Javadoc

1   package org.telscenter.pas.service;
2   
3   import java.awt.event.ActionEvent;
4   
5   import javax.swing.AbstractAction;
6   import javax.swing.Action;
7   import javax.swing.Icon;
8   
9   import org.telscenter.pas.beans.PasStep;
10  import org.telscenter.pas.navigation.PasProjectNavigationTaskPanel;
11  import org.telscenter.pas.steps.Note;
12  
13  public class NavigateAction extends AbstractAction {
14  
15  	protected INavigationService navigationService;
16  	
17  	private PasStep step;
18  	private PasProjectNavigationTaskPanel nav;
19  
20  	public NavigateAction() {
21  		super();
22  	}
23  
24  	public NavigateAction(String name, INavigationService navigationService) {
25  		super(name);
26  		this.navigationService = navigationService;
27  	}
28  
29  	public NavigateAction(String name, Icon icon) {
30  		super(name, icon);
31  	}
32  
33  
34  
35  	/***
36  	 * @param step
37  	 */
38  	public NavigateAction(PasStep step,  INavigationService navigationService, PasProjectNavigationTaskPanel nav) {
39  		this.step = step;
40  		this.navigationService = navigationService;
41  		this.nav = nav;
42  		this.setEnabled(true);
43  		this.putValue(Action.NAME, step.getTitle());
44  	}
45  
46  	public void actionPerformed(ActionEvent e) {
47  		
48  		if( step instanceof Note ) {
49  			Note note = (Note)step;
50  			
51  			if( note.getNoteUI() !=  null ) {
52  				if( note.getNoteUI().isNoteOpen() ) {
53  					note.showNoteAlreadyOpenDialog(nav.getProjectFrame());
54  				} else {
55  					navigationService.setCurrentStep(step);
56  					nav.adjustPanelSelection(step);
57  				}
58  			} else {
59  				navigationService.setCurrentStep(step);
60  				nav.adjustPanelSelection(step);
61  			}
62  		} else {
63  			navigationService.setCurrentStep(step);
64  			nav.adjustPanelSelection(step);
65  		}
66  		
67  	}
68  }