/** * */ package org.goko.tools.serial.jssc.console.handler; import org.eclipse.e4.core.di.annotations.CanExecute; import org.eclipse.e4.core.di.annotations.Execute; import org.eclipse.e4.ui.model.application.ui.menu.MHandledToolItem; import org.goko.core.common.exception.GkException; import org.goko.tools.serial.jssc.console.internal.JsscSerialConsoleController; /** * @author PsyKo * @date 6 janv. 2016 */ public class JsscConsoleEnableHandler { @CanExecute public boolean canExecute(MHandledToolItem item, JsscSerialConsoleController jsscConsoleController){ updateIcon(item, jsscConsoleController.getDataModel().isConsoleEnabled()); return true; } @Execute public void execute(MHandledToolItem item, JsscSerialConsoleController jsscConsoleController) throws GkException{ boolean newState = !jsscConsoleController.getDataModel().isConsoleEnabled(); jsscConsoleController.getDataModel().setConsoleEnabled(newState); updateIcon(item, newState); } private void updateIcon(MHandledToolItem item, boolean state){ if(state){ item.setIconURI("platform:/plugin/org.goko.tools.serial.jssc/resources/icons/activated.png"); }else{ item.setIconURI("platform:/plugin/org.goko.tools.serial.jssc/resources/icons/deactivated.png"); } } }