001 /* 002 * Created on Jan 7, 2008 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 005 * in compliance with the License. You may obtain a copy of the License at 006 * 007 * http://www.apache.org/licenses/LICENSE-2.0 008 * 009 * Unless required by applicable law or agreed to in writing, software distributed under the License 010 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 011 * or implied. See the License for the specific language governing permissions and limitations under 012 * the License. 013 * 014 * Copyright @2008-2010 the original author or authors. 015 */ 016 package org.fest.swing.core; 017 018 /** 019 * Understands scopes of GUI component lookup. 020 * 021 * @author Alex Ruiz 022 */ 023 public enum ComponentLookupScope { 024 025 /** 026 * For most of the cases, only GUI components that are being shown on the screen participate in a component lookup. 027 * Currently, the only exception is <code>{@link javax.swing.JMenuItem}</code>, which participates in a component 028 * lookup regardless if it is showing or not. 029 */ 030 DEFAULT(true), 031 032 /** All GUI components participate in a component lookup, regardless if they are being shown on the screen or not. */ 033 ALL(false), 034 035 /** Only components that are being shown on the screen can participate in a component lookup. */ 036 SHOWING_ONLY(true); 037 038 private final boolean requireShowing; 039 040 private ComponentLookupScope(boolean requireShowing) { 041 this.requireShowing = requireShowing; 042 } 043 044 /** 045 * Returns whether showing components are the only ones participating in component lookups. 046 * @return <code>true</code> if only showing components participate in component lookups; <code>false</code> if 047 * any component (showing or not showing) can participate in component lookup. 048 */ 049 public boolean requireShowing() { return requireShowing; } 050 }