package org.cristalise.gui.lifecycle.instance; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Iterator; import javax.swing.JButton; import org.cristalise.gui.MainFrame; import org.cristalise.gui.graph.view.SelectedVertexPanel; import org.cristalise.kernel.graph.model.Vertex; import org.cristalise.kernel.lifecycle.ActivitySlotDef; import org.cristalise.kernel.lookup.DomainPath; import org.cristalise.kernel.lookup.Path; import org.cristalise.kernel.process.Gateway; /************************************************************************** * * $Revision: 1.3 $ * $Date: 2005/12/01 14:23:15 $ * * Copyright (C) 2003 CERN - European Organization for Nuclear Research * All rights reserved. **************************************************************************/ public class FindActDefPanel extends SelectedVertexPanel { JButton findButton; ActivitySlotDef currentAct; public FindActDefPanel() { super(); findButton = new JButton("Open Definition"); findButton.setEnabled(false); add(findButton); findButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Iterator acts = Gateway.getLookup().search(new DomainPath("/desc/ActivityDesc/"), currentAct.getActivityDef()); if (acts.hasNext()) MainFrame.treeBrowser.push((DomainPath)acts.next()); } }); } /** * */ @Override public void select(Vertex vert) { if (vert instanceof ActivitySlotDef) { findButton.setEnabled(true); currentAct = (ActivitySlotDef)vert; } else clear(); } /** * */ @Override public void clear() { findButton.setEnabled(false); currentAct = null; } }