View Javadoc

1   package com.eviware.soapui.support.components;
2   
3   import java.beans.PropertyChangeListener;
4   import java.beans.PropertyChangeSupport;
5   
6   import javax.swing.ImageIcon;
7   import javax.swing.JComponent;
8   
9   public class JComponentInspector<T extends JComponent> implements Inspector
10  {
11  	private final T component;
12  	private String title;
13  	private String description;
14  	private boolean enabled;
15  	private PropertyChangeSupport propertyChangeSupport;
16  	private ImageIcon imageIcon;
17  	private String id;
18  
19  	public JComponentInspector( T component, String title, String description, boolean enabled )
20  	{
21  		this.component = component;
22  		this.title = title;
23  		this.id = title;
24  		this.description = description;
25  		this.enabled = enabled;
26  	}
27  
28  	public void activate()
29  	{
30  	}
31  
32  	public void addPropertyChangeListener( PropertyChangeListener listener )
33  	{
34  		if( propertyChangeSupport == null )
35  			propertyChangeSupport = new PropertyChangeSupport( this );
36  		
37  		propertyChangeSupport.addPropertyChangeListener( listener );
38  	}
39  
40  	public T getComponent()
41  	{
42  		return component;
43  	}
44  
45  	public String getDescription()
46  	{
47  		return description;
48  	}
49  
50  	public String getInspectorId()
51  	{
52  		return id;
53  	}
54  
55  	public String getTitle()
56  	{
57  		return title;
58  	}
59  
60  	public boolean isEnabled()
61  	{
62  		return enabled;
63  	}
64  
65  	public void release()
66  	{
67  	}
68  
69  	public void setDescription( String description )
70  	{
71  		String old = this.description;
72  		this.description = description;
73  		
74  		if( propertyChangeSupport != null ) 
75  			propertyChangeSupport.firePropertyChange( Inspector.DESCRIPTION_PROPERTY, old, description );
76  	}
77  
78  	public void setEnabled( boolean enabled )
79  	{
80  		if( enabled == this.enabled )
81  			return;
82  		
83  		this.enabled = enabled;
84  		if( propertyChangeSupport != null ) 
85  			propertyChangeSupport.firePropertyChange( Inspector.ENABLED_PROPERTY, !enabled, enabled );
86  	}
87  
88  	public void setTitle( String title )
89  	{
90  		String old = this.title;
91  		this.title = title;
92  		
93  		if( propertyChangeSupport != null ) 
94  			propertyChangeSupport.firePropertyChange( Inspector.TITLE_PROPERTY, old, title );
95  	}
96  
97  	public void removePropertyChangeListener( PropertyChangeListener listener )
98  	{
99  		if( propertyChangeSupport != null )
100 			propertyChangeSupport.removePropertyChangeListener( listener );
101 	}
102 
103 	public ImageIcon getIcon()
104 	{
105 		return imageIcon;
106 	}
107 
108 	public void setIcon( ImageIcon imageIcon )
109 	{
110 		ImageIcon old = this.imageIcon;
111 		
112 		this.imageIcon = imageIcon;
113 		if( propertyChangeSupport != null ) 
114 			propertyChangeSupport.firePropertyChange( Inspector.ICON_PROPERTY, old, imageIcon );
115 	}
116 
117 	public void deactivate()
118 	{
119 	}
120 }