001: /*
002: * The contents of this file are subject to the terms of the Common Development
003: * and Distribution License (the License). You may not use this file except in
004: * compliance with the License.
005: *
006: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007: * or http://www.netbeans.org/cddl.txt.
008: *
009: * When distributing Covered Code, include this CDDL Header Notice in each file
010: * and include the License file at http://www.netbeans.org/cddl.txt.
011: * If applicable, add the following below the CDDL Header, with the fields
012: * enclosed by brackets [] replaced by your own identifying information:
013: * "Portions Copyrighted [year] [name of copyright owner]"
014: *
015: * The Original Software is NetBeans. The Initial Developer of the Original
016: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017: * Microsystems, Inc. All Rights Reserved.
018: */
019:
020: package org.netbeans.modules.soa.mapper.common.gtk;
021:
022: import java.util.Collection;
023: import java.util.List;
024:
025: /**
026: * @author Charles Zhu
027: * @created December 3, 2002
028: */
029:
030: public interface ICanvasGroupNode extends ICanvasNode {
031:
032: /**
033: * Retrieves all the nodes this gorup node contains
034: *
035: * @return Collection
036: */
037: Collection getNodes();
038:
039: /**
040: * Removes the node from the group
041: *
042: * @param node - the node bo be removed
043: */
044: void removeNode(ICanvasNode node);
045:
046: /**
047: * Adds a node to the group
048: *
049: * @param node - the node to be added
050: */
051: void addNode(ICanvasNode node);
052:
053: /**
054: * Collapse the group node
055: *
056: * @return - the the collapsed node representation
057: */
058: ICanvasNode collapse();
059:
060: /**
061: * Expands the group node
062: *
063: * @return - the expanded node representation
064: */
065: ICanvasNode expand();
066:
067: /**
068: * Retireves a list of nodes which are addable to this parent node
069: *
070: * @return List
071: */
072: List getAddableNodes();
073:
074: /**
075: * sets the addable nodes
076: *
077: * @param nodes - list of nodes
078: */
079: void setAddableNodes(List nodes);
080:
081: /**
082: * Retreives whether the group node is expanded
083: *
084: * @return boolean
085: */
086: boolean isExpanded();
087:
088: /**
089: * Sets the corresponding folder for the grouped components
090: *
091: * @param folder - the group folder
092: */
093: void setGroupFolder(Object folder);
094:
095: /**
096: * Gets the corresponding folder of the grouped components
097: *
098: * @return folder
099: */
100: Object getGroupFolder();
101: }
|