/******************************************************************************* * Copyright (c) 2007, 2014 compeople AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * compeople AG - initial API and implementation *******************************************************************************/ package org.eclipse.riena.navigation; import org.eclipse.riena.navigation.listener.INavigationNodeListenerable; import org.eclipse.riena.navigation.listener.ISubModuleNodeListener; /** * A Node containing other sub sub module nodes. */ public interface ISubModuleNode extends INavigationNode<ISubModuleNode>, INavigationNodeListenerable<ISubModuleNode, ISubModuleNode, ISubModuleNodeListener> { /** * Key for the secondary view id, relevant for <tt>Group Shared Views</tt>. * * @see INavigationNode#setContext(String, Object) * @since 6.0 */ public static final String SHARED_VIEWS_CONTEXT_KEY = "shared.views.context"; //$NON-NLS-1$ /** * Indicates whether this Node is selectable or not. If this has children and is not selectable, then the first child will be selected in navigation. * * @return {@code true} if selectable, otherwise {@code false} * @since 1.2 */ boolean isSelectable(); /** * Sets the selectable-state of this Node. * * @param selectable * {@code true} if selectable, otherwise {@code false} * @since 1.2 */ void setSelectable(boolean selectable); /** * Returns whether the tree should be closed on a navigation event. This only works if <code>LnfKeyConstants.SUB_MODULE_TREE_SHOW_ONE_SUB_TREE</code> is set * to true. * * @since 3.0 */ boolean isCloseSubTree(); /** * Sets whether the tree should be closed on a navigation event. This only works if <code>LnfKeyConstants.SUB_MODULE_TREE_SHOW_ONE_SUB_TREE</code> is set to * true. * * @since 3.0 */ void setCloseSubTree(boolean close); /** * Indicates whether the user should have an opportunity to close the subModule. * * @return {@code true} if the subModule should never be closed; by default is {@code false} * @since 3.0 */ boolean isClosable(); /** * Sets whether the user should have an opportunity to close the subModule. * * @param closable * {@code false} if the subModule should never be closed * @since 3.0 */ void setClosable(boolean closable); }