1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.wotonomy.ui.swing;
20
21 import java.awt.BorderLayout;
22 import java.awt.Dimension;
23 import java.awt.event.MouseAdapter;
24 import java.awt.event.MouseEvent;
25
26 import javax.swing.JFrame;
27 import javax.swing.JList;
28 import javax.swing.JPanel;
29 import javax.swing.JScrollPane;
30 import javax.swing.border.EmptyBorder;
31
32 import net.wotonomy.ui.EOAssociation;
33 import net.wotonomy.ui.EODisplayGroup;
34 import net.wotonomy.ui.swing.util.ObjectInspector;
35 import net.wotonomy.ui.swing.util.WindowUtilities;
36
37 /***
38 * The DisplayGroupInspector displays a JFrame that
39 * shows allows you to view and manipulate a display group.
40 *
41 * @author michael@mpowers.net
42 * @version $Revision: 904 $
43 */
44
45 public class DisplayGroupInspector
46 {
47 protected JList list;
48 protected EODisplayGroup displayGroup;
49
50 /***
51 * Displays and manipulats the specified display group.
52 */
53 public DisplayGroupInspector( EODisplayGroup aDisplayGroup )
54 {
55 displayGroup = aDisplayGroup;
56
57 list = new JList();
58 list.addMouseListener( new MouseAdapter()
59 {
60 public void mouseClicked( MouseEvent e )
61 {
62 if ( e.getClickCount() == 2 )
63 {
64 Object selection = displayGroup.selectedObject();
65 if ( selection != null )
66 {
67 new ObjectInspector( selection );
68 }
69 }
70 }
71 } );
72
73 EOAssociation assoc = new ListAssociation( list );
74 assoc.bindAspect( EOAssociation.TitlesAspect, displayGroup, "" );
75 assoc.establishConnection();
76
77 initLayout();
78
79 }
80
81 protected void initLayout()
82 {
83 JPanel panel = new JPanel();
84 panel.setLayout( new BorderLayout() );
85 panel.setBorder( new EmptyBorder( 10, 10, 10, 10 ) );
86
87 JScrollPane scrollPane = new JScrollPane( list );
88 scrollPane.setPreferredSize( new Dimension( 200, 200 ) );
89 panel.add( scrollPane, BorderLayout.CENTER );
90
91 JFrame window = new JFrame();
92 window.setTitle( "Display Group Inspector" );
93 window.getContentPane().add( panel );
94
95 window.pack();
96 WindowUtilities.cascade( window );
97 window.show();
98 }
99 }
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120