/** * */ package org.goko.tools.viewer.jogl.command; import org.eclipse.e4.core.contexts.IEclipseContext; 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.tools.viewer.jogl.model.GCodeViewer3DController; /** * Handler for the ToolItem of the GCode viewer part allowing to enable/disable the renderer * * @author Psyko */ public class EnableViewerHandler { @CanExecute public boolean canExecute(MHandledToolItem item, GCodeViewer3DController controller){ updateIcon(item, controller.getDataModel().isEnabled()); return true; } @Execute public void execute(MHandledToolItem item, IEclipseContext context, GCodeViewer3DController controller){ boolean newState = !controller.getDataModel().isEnabled(); controller.setRenderEnabled(newState); updateIcon(item, newState); } private void updateIcon(MHandledToolItem item, boolean state){ if(state){ item.setIconURI("platform:/plugin/org.goko.tools.viewer.jogl/resources/icons/activated.png"); }else{ item.setIconURI("platform:/plugin/org.goko.tools.viewer.jogl/resources/icons/deactivated.png"); } } }