package org.freeplane.view.swing.features.progress.mindmapmode; import java.awt.event.ActionEvent; import java.util.Collection; import org.freeplane.core.ui.AMultipleNodeAction; import org.freeplane.core.ui.EnabledAction; import org.freeplane.features.map.NodeModel; import org.freeplane.features.mode.Controller; /** * @author Stefan Ott * * This class is called when the progress icons are increased */ @EnabledAction(checkOnNodeChange = true) class ProgressUpAction extends AMultipleNodeAction { private static final long serialVersionUID = 1L; public ProgressUpAction() { super("IconProgressIconUpAction"); } @Override protected void actionPerformed(final ActionEvent e, final NodeModel node) { final ProgressUtilities progUtil = new ProgressUtilities(); if (!progUtil.hasExtendedProgressIcon(node)) { ProgressIcons.updateProgressIcons(node, true); } } @Override public void setEnabled() { boolean enable = false; final ProgressUtilities progUtil = new ProgressUtilities(); final Collection<NodeModel> nodes = Controller.getCurrentModeController().getMapController().getSelectedNodes(); for (final NodeModel node : nodes) { if (node != null && !progUtil.hasExtendedProgressIcon(node)) { enable = true; break; } } setEnabled(enable); } }