/* Wotonomy: OpenStep design patterns for pure Java applications. Copyright (C) 2001 Michael Powers This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see http://www.gnu.org */ package net.wotonomy.ui.swing; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import net.wotonomy.ui.EOAssociation; import net.wotonomy.ui.EODisplayGroup; import net.wotonomy.ui.swing.util.ObjectInspector; import net.wotonomy.ui.swing.util.WindowUtilities; /** * The DisplayGroupInspector displays a JFrame that shows allows you to view and * manipulate a display group. * * @author michael@mpowers.net * @version $Revision: 904 $ */ public class DisplayGroupInspector { protected JList list; protected EODisplayGroup displayGroup; /** * Displays and manipulats the specified display group. */ public DisplayGroupInspector(EODisplayGroup aDisplayGroup) { displayGroup = aDisplayGroup; list = new JList(); list.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { Object selection = displayGroup.selectedObject(); if (selection != null) { new ObjectInspector(selection); } } } }); EOAssociation assoc = new ListAssociation(list); assoc.bindAspect(EOAssociation.TitlesAspect, displayGroup, ""); assoc.establishConnection(); initLayout(); } protected void initLayout() { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.setBorder(new EmptyBorder(10, 10, 10, 10)); JScrollPane scrollPane = new JScrollPane(list); scrollPane.setPreferredSize(new Dimension(200, 200)); panel.add(scrollPane, BorderLayout.CENTER); JFrame window = new JFrame(); window.setTitle("Display Group Inspector"); window.getContentPane().add(panel); window.pack(); WindowUtilities.cascade(window); window.show(); } } /* * $Log$ Revision 1.2 2006/02/18 23:19:05 cgruber Update imports and maven * dependencies. * * Revision 1.1 2006/02/16 13:22:22 cgruber Check in all sources in * eclipse-friendly maven-enabled packages. * * Revision 1.3 2003/08/06 23:07:52 chochos general code cleanup (mostly, * removing unused imports) * * Revision 1.2 2003/06/26 23:28:00 mpowers Added double click. * * Revision 1.1 2001/05/29 19:57:47 mpowers Added some neglected files. * * */