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.main.core.actions.graph;
005    
006    import graphlab.platform.Application;
007    import graphlab.platform.core.AbstractAction;
008    import graphlab.platform.core.BlackBoard;
009    import graphlab.ui.UIUtils;
010    
011    public class NewGraph extends AbstractAction {
012    
013        public static final String event = UIUtils.getUIEventKey("New");
014    
015        public NewGraph(BlackBoard bb) {
016            super(bb);
017            this.listen4Event(event);
018        }
019    
020        public void performAction(String eventName, Object value) {
021            new Thread() {
022                public void run() {
023                    doJob(blackboard);
024                }
025            }.start();
026        }
027    
028        public static BlackBoard doJob(BlackBoard b) {
029            Application g = b.getData(Application.APPLICATION_INSTANCE);
030            return g.init();
031        }
032    }