/* * Copyright (c) 2005-2016 Vincent Vandenschrick. All rights reserved. * * This file is part of the Jspresso framework. * * Jspresso is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Jspresso is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Jspresso. If not, see <http://www.gnu.org/licenses/>. */ package org.jspresso.framework.view.descriptor; import org.jspresso.framework.action.IAction; import org.jspresso.framework.util.gui.IconProvider; /** * This public interface is implemented by any tree view descriptor. * * @author Vincent Vandenschrick */ public interface ITreeViewDescriptor extends IViewDescriptor { /** * Gets the iconImageURLProvider. * * @return the iconImageURLProvider. */ IconProvider getIconImageURLProvider(); /** * Gets the item selection action that will be attached to the created tree * view. * * @return the item selection action that will be attached to the created tree * view. */ IAction getItemSelectionAction(); /** * It gets the maximum depth of the tree structure which is mandatory in case * of a recursive one. * * @return the maximum tree structure depth. */ int getMaxDepth(); /** * Gets the root tree level descriptor of this tree view. * * @return the root tree level descriptor of this tree view. */ ITreeLevelDescriptor getRootSubtreeDescriptor(); /** * Gets the row action that will be attached to the created tree view. * * @return the row action that will be attached to the created tree view. */ IAction getRowAction(); /** * Gets whether the tree view should be created expanded. * * @return true if the tree view should be created expanded. */ boolean isExpanded(); /** * Will the tree view show icons for elements. * * @return {@code true} whenever the tree should show icon. */ boolean isDisplayIcon(); }