001    // GraphLab Project: http://graphlab.sharif.edu
002    // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
003    // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
004    package graphlab.plugins.algorithmanimator.core.atoms;
005    
006    import graphlab.graph.graph.EdgeModel;
007    import graphlab.graph.graph.VertexModel;
008    import graphlab.library.event.Event;
009    import graphlab.library.event.VertexEdgeLabelEvent;
010    import graphlab.platform.core.BlackBoard;
011    import graphlab.plugins.algorithmanimator.core.AtomAnimator;
012    
013    /**
014     * this class not used, because the colors automatically update in VertexModel and EdgeModel
015     *
016     * @author Azin Azadi
017     */
018    public class VertexEdgeLabelAnimator implements AtomAnimator<VertexEdgeLabelEvent<VertexModel, EdgeModel>> {
019    
020        public boolean isAnimatable(Event event) {
021            return event instanceof VertexEdgeLabelEvent;
022        }
023    
024        public VertexEdgeLabelEvent<VertexModel, EdgeModel> animate(VertexEdgeLabelEvent<VertexModel, EdgeModel> event, BlackBoard b) {
025            if (event.v != null) event.v.setLabel(event.label);
026            if (event.e != null) {
027                event.e.setLabel(event.label);
028            }
029            return event;
030        }
031    
032    }
033    
034    //    public EdgeEvent<? extends BaseVertex,? extends EdgeModel> animate(EdgeEvent<? extends BaseVertex,? extends EdgeModel> event, blackboard b) {
035    //        Edge e = ((EdgeModel)event.edge).edge;
036    //        e.view.setRGBColor(Color.black);
037    //        return event;
038    //    }