1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.support.swing;
14
15 import java.awt.event.KeyAdapter;
16 import java.awt.event.KeyEvent;
17
18 import javax.swing.JList;
19
20 import com.eviware.soapui.model.ModelItem;
21 import com.eviware.soapui.support.action.swing.ActionList;
22 import com.eviware.soapui.support.action.swing.ActionListBuilder;
23
24 public abstract class ModelItemListKeyListener extends KeyAdapter
25 {
26 public void keyPressed( KeyEvent e )
27 {
28 int[] ix = ( ( JList )e.getSource() ).getSelectedIndices();
29 if( ix.length == 0 )
30 return;
31
32 if( ix.length == 1 )
33 {
34 ModelItem modelItem = getModelItemAt( ix[0] );
35 ActionList actions = ActionListBuilder.buildActions( modelItem );
36 if( actions != null )
37 actions.dispatchKeyEvent( e );
38 }
39 else
40 {
41 ModelItem[] modelItems = new ModelItem[ix.length];
42
43 for( int c = 0; c < ix.length; c++ )
44 modelItems[c] = getModelItemAt( ix[c] );
45
46 ActionList actions = ActionListBuilder.buildMultiActions( modelItems );
47 if( actions != null )
48 actions.dispatchKeyEvent( e );
49 }
50 }
51
52 public abstract ModelItem getModelItemAt( int ix );
53 }