package name.abuchen.portfolio.ui.handlers;
import javax.inject.Named;
import org.eclipse.e4.core.di.annotations.CanExecute;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.services.IServiceConstants;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
import name.abuchen.portfolio.model.Client;
public class CloseFileHandler
{
@CanExecute
boolean isVisible(@Named(IServiceConstants.ACTIVE_PART) MPart activePart)
{
return MenuHelper.isClientPartActive(activePart);
}
@Execute
public void execute(@Optional @Named(IServiceConstants.ACTIVE_PART) MPart activePart, EPartService partService)
{
Client client = MenuHelper.getActiveClient(activePart);
if (client == null)
return;
if (partService.savePart(activePart, true))
partService.hidePart(activePart);
}
}