/******************************************************************************** * * * (c) Copyright 2010 Verizon Communications USA and The Open University UK * * * * This software is freely distributed in accordance with * * the GNU Lesser General Public (LGPL) license, version 3 or later * * as published by the Free Software Foundation. * * For details see LGPL: http://www.fsf.org/licensing/licenses/lgpl.html * * and GPL: http://www.fsf.org/licensing/licenses/gpl-3.0.html * * * * This software is provided by the copyright holders and contributors "as is" * * and any express or implied warranties, including, but not limited to, the * * implied warranties of merchantability and fitness for a particular purpose * * are disclaimed. In no event shall the copyright owner or contributors be * * liable for any direct, indirect, incidental, special, exemplary, or * * consequential damages (including, but not limited to, procurement of * * substitute goods or services; loss of use, data, or profits; or business * * interruption) however caused and on any theory of liability, whether in * * contract, strict liability, or tort (including negligence or otherwise) * * arising in any way out of the use of this software, even if advised of the * * possibility of such damage. * * * ********************************************************************************/ package com.compendium.ui; import java.util.Hashtable; import java.util.Vector; import com.compendium.core.datamodel.View; /** * UIArrange declares methods to arrange a map of nodes tidily * * @author Lakshmi Prabhakaran */ public interface IUIArrange extends IUIConstants { /** The value for the option Left to Right arrange.*/ public static final String LEFTRIGHT = "Left-Right"; //$NON-NLS-1$ /** The value for the option Top to Down arrange.*/ public static final String TOPDOWN = "Top-Down"; //$NON-NLS-1$ /** * Process the given view for arranging. * @param view com.compendium.core.datamodel.View, the view to arrange. */ public boolean processView(View view) ; /** * This will arrange the nodes in the given view. * @param view com.compendium.core.datamodel.View, the view to arrange. * @param viewFrame com.compenduim.ui.UIViewFrame, the frame of the map view to arrange. */ public void arrangeView(View view, UIViewFrame viewFrame) ; //******** UNDO / REDO **************// /** * Undo the last arrange for the given frame * @param viewFrame com.compendium.ui.UIViewFrame, the frame to undo the arrange for. */ public void undoArrange(UIViewFrame viewFrame); /** * Redo the last arrange for the given frame * @param viewFrame com.compendium.ui.UIViewFrame, the frame to undo the arrange for. */ public void redoArrange(UIViewFrame viewFrame); /** * Return the list of node levels. * @return Vector, the node level list. */ public Vector getNodeLevelList() ; /** * Return the list of nodes below. * @return Hashtable, the nodes below list. */ public Hashtable getNodesBelow() ; /** * Return the list of nodes. * @return Hashtable, the nodes. */ public Hashtable getNodes(); /** * Return the list of nodes mapped to levels. * @return Hashtable, the list of nodes mapped to levels. */ public Hashtable getNodesLevel() ; }