1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 19 package org.apache.jmeter.config.gui; 20 21 import java.util.Arrays; 22 import java.util.Collection; 23 24 import javax.swing.JPopupMenu; 25 26 import org.apache.jmeter.gui.AbstractJMeterGuiComponent; 27 import org.apache.jmeter.gui.util.MenuFactory; 28 29 /** 30 * This is the base class for JMeter GUI components which provide configuration 31 * for some other component. 32 * 33 */ 34 public abstract class AbstractConfigGui extends AbstractJMeterGuiComponent { 35 /** 36 * When a user right-clicks on the component in the test tree, or selects 37 * the edit menu when the component is selected, the component will be asked 38 * to return a JPopupMenu that provides all the options available to the 39 * user from this component. 40 * <p> 41 * This implementation returns menu items appropriate for most configuration 42 * components. 43 * 44 * @return a JPopupMenu appropriate for the component. 45 */ 46 public JPopupMenu createPopupMenu() { 47 return MenuFactory.getDefaultConfigElementMenu(); 48 } 49 50 /** 51 * This is the list of menu categories this gui component will be available 52 * under. This implementation returns 53 * {@link org.apache.jmeter.gui.util.MenuFactory#CONFIG_ELEMENTS}, which is 54 * appropriate for most configuration components. 55 * 56 * @return a Collection of Strings, where each element is one of the 57 * constants defined in MenuFactory 58 */ 59 public Collection getMenuCategories() { 60 return Arrays.asList(new String[] { MenuFactory.CONFIG_ELEMENTS }); 61 } 62 }