/** * Copyright (C) 2015 Valkyrie RCP * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.valkyriercp.command.support; import org.valkyriercp.command.GroupContainerPopulator; import org.valkyriercp.command.config.CommandButtonConfigurer; import javax.swing.*; import java.util.List; /** * A member of a {@link CommandGroup} that represents a 'glue' component between other members * of the group. * * <p> * A glue component is most often used as a filler between other components in a layout where those * components cannot expand beyound a maximum height or width. As the layout area expands, the glue * component will expand to take up the space. * </p> * * @see javax.swing.Box#createGlue() */ public class GlueGroupMember extends GroupMember { /** * Creates a new uninitialized {@code GlueGroupMember}. */ public GlueGroupMember() { //do nothing } /** * Adds a glue component using the given container populator. * * {@inheritDoc} */ protected void fill(GroupContainerPopulator parentContainer, Object factory, CommandButtonConfigurer configurer, List previousButtons) { parentContainer.add(Box.createGlue()); } /** * Always returns false. A glue group member does not manage any commands. * @return false always. */ public final boolean managesCommand(String commandId) { return false; } /** * Default implemenation, performs no operation. */ public void setEnabled(boolean enabled) { // do nothing } }