01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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
35: AbstractJMeterGuiComponent {
36: /**
37: * When a user right-clicks on the component in the test tree, or selects
38: * the edit menu when the component is selected, the component will be asked
39: * to return a JPopupMenu that provides all the options available to the
40: * user from this component.
41: * <p>
42: * This implementation returns menu items appropriate for most configuration
43: * components.
44: *
45: * @return a JPopupMenu appropriate for the component.
46: */
47: public JPopupMenu createPopupMenu() {
48: return MenuFactory.getDefaultConfigElementMenu();
49: }
50:
51: /**
52: * This is the list of menu categories this gui component will be available
53: * under. This implementation returns
54: * {@link org.apache.jmeter.gui.util.MenuFactory#CONFIG_ELEMENTS}, which is
55: * appropriate for most configuration components.
56: *
57: * @return a Collection of Strings, where each element is one of the
58: * constants defined in MenuFactory
59: */
60: public Collection getMenuCategories() {
61: return Arrays
62: .asList(new String[] { MenuFactory.CONFIG_ELEMENTS });
63: }
64: }
|