blob: 14f76630975e58ff2001d3fa46c7398bd6ce03f6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014, 2016 IBH SYSTEMS GmbH.
* 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:
* IBH SYSTEMS GmbH - initial API and implementation
*******************************************************************************/
package org.eclipse.releng.tools;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.releng.tools.AdvancedFixCopyrightAction.FixConsole;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.plugin.AbstractUIPlugin;
public class RemoveAllConsolesAction extends Action {
public RemoveAllConsolesAction() {
super(
Messages.getString("RemoveAllConsolesAction.Text"), AbstractUIPlugin.imageDescriptorFromPlugin(RelEngPlugin.ID, "icons/full/elcl16/console_remall.png")); //$NON-NLS-1$//$NON-NLS-2$
}
@Override
public void run() {
List<IConsole> consolesList = new ArrayList<>();
for (IConsole console : ConsolePlugin.getDefault().getConsoleManager()
.getConsoles()) {
if (console instanceof FixConsole) {
consolesList.add(console);
}
}
if (consolesList.isEmpty())
return;
IConsole[] consoles = new IConsole[consolesList.size()];
for (int i = 0; i < consoles.length; i++) {
consoles[i] = consolesList.get(i);
}
ConsolePlugin.getDefault().getConsoleManager().removeConsoles(consoles);
}
}