1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.impl.wsdl.actions.iface;
14
15 import java.awt.event.ActionEvent;
16
17 import javax.swing.AbstractAction;
18 import javax.swing.Action;
19
20 import com.eviware.soapui.model.ModelItem;
21 import com.eviware.soapui.support.UISupport;
22
23 /***
24 * Utility class for creating Swing Actions for ModelItems
25 *
26 * @author ole.matzura
27 */
28
29 public abstract class AbstractSwingAction<T extends ModelItem> extends AbstractAction
30 {
31 private T modelItem;
32 private final String name;
33
34 public AbstractSwingAction( String name, String description )
35 {
36 super( name );
37 this.name= name;
38 this.modelItem = null;
39
40 putValue( Action.SHORT_DESCRIPTION, description );
41 }
42
43 public AbstractSwingAction( String name, String description, T modelItem )
44 {
45 super( name );
46 this.name= name;
47 this.modelItem = modelItem;
48
49 putValue( Action.SHORT_DESCRIPTION, description );
50 }
51
52 public AbstractSwingAction( String name, String description, String iconUrl )
53 {
54 super( name );
55 this.name= name;
56 this.modelItem = null;
57
58 putValue( Action.SHORT_DESCRIPTION, description );
59 putValue( Action.SMALL_ICON, UISupport.createImageIcon( iconUrl ));
60 }
61
62 public AbstractSwingAction( String name, String description, String iconUrl, T modelItem )
63 {
64 super( name );
65 this.name= name;
66 this.modelItem = modelItem;
67
68 putValue( Action.SHORT_DESCRIPTION, description );
69 putValue( Action.SMALL_ICON, UISupport.createImageIcon( iconUrl ));
70 }
71
72 public void actionPerformed( ActionEvent arg0 )
73 {
74 actionPerformed( arg0, modelItem );
75 }
76
77 public String getName()
78 {
79 return name;
80 }
81
82 public abstract void actionPerformed( ActionEvent arg0, T modelItem2 );
83
84 public T getModelItem()
85 {
86 return modelItem;
87 }
88 }