// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea
// Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com
// Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
// Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
package graphtea.plugins.algorithmanimator.extension;
import graphtea.graph.ui.GTabbedGraphPane;
import graphtea.platform.core.BlackBoard;
import graphtea.plugins.algorithmanimator.core.AlgorithmAnimator;
import graphtea.ui.extension.AbstractExtensionAction;
public class AlgorithmExtensionAction
extends AbstractExtensionAction<AlgorithmExtension> {
public AlgorithmExtensionAction(BlackBoard bb, AlgorithmExtension sp) {
super(bb, sp);
}
@Override
public String getParentMenuName() {
return "Algorithms";
}
@Override
public void performExtension() {
new Thread(() -> {
AlgorithmAnimator algorithmAnimator = new AlgorithmAnimator(blackboard);
target.acceptEventDispatcher(algorithmAnimator);
GTabbedGraphPane.showTimeNotificationMessage(target.getName() + " Algorithm started", blackboard, 2000, true);
algorithmAnimator.createControlDialog(target.getName());
target.doAlgorithm();
GTabbedGraphPane.showTimeNotificationMessage(target.getName() + " Algorithm finished", blackboard, 3000, true);
}).start();
}
}