package org.eclipselabs.e4.tapiji.translator.ui.treeviewer.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.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuItem;
import org.eclipselabs.e4.tapiji.translator.preference.StoreInstanceState;
import org.eclipselabs.e4.tapiji.translator.ui.glossary.GlossaryContract;
public final class EditModeHandler {
@Execute
public void execute(final MMenuItem menuItem, final StoreInstanceState storeInstanceState, final MPart part) {
if (part.getObject() instanceof GlossaryContract.View) {
final GlossaryContract.View glossaryView = (GlossaryContract.View) part.getObject();
storeInstanceState.setEditMode(!menuItem.isSelected());
glossaryView.getTreeViewerView().setColumnEditable(!menuItem.isSelected());
}
}
@CanExecute
public boolean canExecute(final MMenuItem menuItem, final StoreInstanceState storeInstanceState) {
if ((menuItem == null) && (storeInstanceState == null)) {
return false;
} else {
menuItem.setSelected(storeInstanceState.isEditMode());
return true;
}
}
}