001/* 002 * Copyright (c) 2005-2010 The Regents of the University of California. 003 * All rights reserved. 004 * 005 * '$Author: welker $' 006 * '$Date: 2010-05-06 05:21:26 +0000 (Thu, 06 May 2010) $' 007 * '$Revision: 24234 $' 008 * 009 * Permission is hereby granted, without written agreement and without 010 * license or royalty fees, to use, copy, modify, and distribute this 011 * software and its documentation for any purpose, provided that the above 012 * copyright notice and the following two paragraphs appear in all copies 013 * of this software. 014 * 015 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY 016 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 017 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF 018 * THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF 019 * SUCH DAMAGE. 020 * 021 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, 022 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 023 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE 024 * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF 025 * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, 026 * ENHANCEMENTS, OR MODIFICATIONS. 027 * 028 */ 029 030package org.kepler.sms.gui; 031 032import java.awt.Frame; 033import java.awt.event.ActionEvent; 034 035import ptolemy.actor.gui.TableauFrame; 036import ptolemy.kernel.Entity; 037import ptolemy.kernel.util.NamedObj; 038import ptolemy.vergil.toolbox.FigureAction; 039 040public class AnnotateComponentAction extends FigureAction { 041 042 /** 043 * REQUIRED ***** 044 * 045 * Constructor 046 * 047 * @param parent 048 * the "frame" (derived from ptolemy.gui.Top) where the menu is 049 * being added. NOTE this parameter is automatically passed to 050 * your constructor by the menu system at runtime 051 */ 052 public AnnotateComponentAction(TableauFrame parent) { 053 super(""); 054 // this.parent = parent; 055 putValue("tooltip", "Configure Semantic Type of Component"); 056 } 057 058 /** 059 * 060 * Invoked when an action occurs. 061 * 062 *@param e 063 * ActionEvent 064 */ 065 public void actionPerformed(ActionEvent e) { 066 super.actionPerformed(e); 067 068 NamedObj object = getTarget(); 069 070 if (object instanceof Entity) { 071 Entity entity = (Entity) object; 072 Frame frame = getFrame(); 073 SemanticTypeEditor editor = new SemanticTypeEditor(frame, entity); 074 editor.setVisible(true); 075 } 076 } 077 078} // AnnotateComponentAction