/* * Freeplane - mind map editor * Copyright (C) 2009 Dimitry Polivaev * * This file author is Dimitry Polivaev * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.freeplane.view.swing.features.time.mindmapmode; import java.util.TimerTask; import javax.swing.SwingUtilities; /** * @author Dimitry Polivaev * Feb 20, 2009 */ class TimerBlinkTask extends TimerTask { private final ReminderHook reminderController; /** * */ private final ReminderExtension reminderExtension; private boolean stateAdded = false; private boolean runScript; private boolean alreadyExecuted; /** * @param b */ public TimerBlinkTask(final ReminderHook reminderController, final ReminderExtension reminderExtension, final boolean stateAdded, boolean runScript) { super(); this.reminderController = reminderController; this.reminderExtension = reminderExtension; this.stateAdded = stateAdded; this.runScript = runScript; alreadyExecuted = false; } @Override public void run() { SwingUtilities.invokeLater(new Runnable() { public void run() { if(runScript){ runScript = false; reminderController.runScript(reminderExtension); } alreadyExecuted = true; stateAdded = !stateAdded; reminderController.blink(reminderExtension, stateAdded); } }); } public boolean alreadyExecuted(){ return alreadyExecuted; } }