Coverage Report - org.dishevelled.identify.IdPopupMenu
 
Classes in this File Line Coverage Branch Coverage Complexity
IdPopupMenu
0%
0/8
0%
0/2
2
 
 1  
 /*
 2  
 
 3  
     dsh-identify  Lightweight components for identifiable beans.
 4  
     Copyright (c) 2003-2019 held jointly by the individual authors.
 5  
 
 6  
     This library is free software; you can redistribute it and/or modify it
 7  
     under the terms of the GNU Lesser General Public License as published
 8  
     by the Free Software Foundation; either version 3 of the License, or (at
 9  
     your option) any later version.
 10  
 
 11  
     This library is distributed in the hope that it will be useful, but WITHOUT
 12  
     ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
 13  
     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 14  
     License for more details.
 15  
 
 16  
     You should have received a copy of the GNU Lesser General Public License
 17  
     along with this library;  if not, write to the Free Software Foundation,
 18  
     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
 19  
 
 20  
     > http://www.fsf.org/licensing/licenses/lgpl.html
 21  
     > http://www.opensource.org/licenses/lgpl-license.php
 22  
 
 23  
 */
 24  
 package org.dishevelled.identify;
 25  
 
 26  
 import javax.swing.Action;
 27  
 import javax.swing.JMenuItem;
 28  
 import javax.swing.JPopupMenu;
 29  
 
 30  
 import org.dishevelled.iconbundle.IconSize;
 31  
 
 32  
 /**
 33  
  * An extension of JPopupMenu that supports identifiable actions.
 34  
  *
 35  
  * @author  Michael Heuer
 36  
  */
 37  0
 public class IdPopupMenu
 38  
     extends JPopupMenu
 39  
 {
 40  
 
 41  
     /**
 42  
      * {@inheritDoc}
 43  
      *
 44  
      * <p>If the specified action is an instance of {@link IdentifiableAction}, an
 45  
      * {@link IdMenuItem} is created and added to this menu.</p>
 46  
      */
 47  
     @Override
 48  
     public JMenuItem add(final Action action)
 49  
     {
 50  0
         if (action instanceof IdentifiableAction)
 51  
         {
 52  0
             IdentifiableAction identifiableAction = (IdentifiableAction) action;
 53  0
             return super.add(new IdMenuItem(identifiableAction));
 54  
         }
 55  
         else
 56  
         {
 57  0
             return super.add(action);
 58  
         }
 59  
     }
 60  
 
 61  
     /**
 62  
      * Create a new menu item for the specified identifiable action with the specified icon size
 63  
      * and append it to the end of this menu.
 64  
      *
 65  
      * @param action identifiable action to add
 66  
      * @param iconSize icon size, must not be null
 67  
      * @return the new menu item for the specified identifiable action with the specified icon size
 68  
      */
 69  
     public IdMenuItem add(final IdentifiableAction action, final IconSize iconSize)
 70  
     {
 71  0
         IdMenuItem menuItem = new IdMenuItem(action, iconSize);
 72  0
         super.add(menuItem);
 73  0
         return menuItem;
 74  
     }
 75  
 }