Community
Participate
Working Groups
/******************************************************************************* * Copyright (c) 2010, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation ******************************************************************************/ package org.eclipse.e4.ui.internal.workbench.handlers; 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.core.di.annotations.Optional; import org.eclipse.e4.ui.model.application.ui.basic.MWindow; import org.eclipse.e4.ui.workbench.modeling.EPartService; The current implementation of SaveAllHandler seems unnecessary complex. Why not change it do: public class SaveAllHandler { @CanExecute boolean canExecute(@Optional EPartService partService) { if (partService != null) { return !partService.getDirtyParts().isEmpty(); } return false; } @Execute void execute(EPartService partService) { partService.saveAll(false); } } If that sounds reasonable, please let me know, I will create a patch via Gerrit.
Maybe better for the @Execute method: @Execute void execute(EPartService partService) { if (partService != null) { partService.saveAll(false); }
Sure, we can try that out ... please submit a gerrit review. PW
https://git.eclipse.org/r/16897
Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=8a91a5734559e43ea4dda308896eb8679e8c4ec8 Thanks Lars. PW