blob: 31ef3b851d8311ccf045a8bbf858d691e2d315fd [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Red Hat.
* 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:
* Red Hat - Initial Contribution
*******************************************************************************/
package org.eclipse.linuxtools.internal.docker.ui.launch;
import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
import org.eclipse.debug.ui.ILaunchConfigurationDialog;
import org.eclipse.linuxtools.docker.core.DockerConnectionManager;
import org.eclipse.linuxtools.docker.core.DockerException;
import org.eclipse.linuxtools.internal.docker.ui.commands.CommandUtils;
import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunNetworkModel;
import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunResourceVolumesVariablesModel;
import org.eclipse.linuxtools.internal.docker.ui.wizards.ImageRunSelectionModel;
public class RunImageLaunchConfigurationTabGroup
extends AbstractLaunchConfigurationTabGroup {
private ImageRunSelectionModel runSelectionModel;
private ImageRunResourceVolumesVariablesModel runVolumesModel;
private ImageRunNetworkModel runNetworkModel;
public RunImageLaunchConfigurationTabGroup() {
}
public ImageRunSelectionModel getRunSelectionModel() {
return runSelectionModel;
}
public ImageRunResourceVolumesVariablesModel getRunVolumesModel() {
return runVolumesModel;
}
public ImageRunNetworkModel getRunNetworkModel() {
return runNetworkModel;
}
@Override
public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
runSelectionModel = null;
runVolumesModel = null;
runNetworkModel = null;
if (DockerConnectionManager.getInstance().hasConnections()) {
runSelectionModel = new ImageRunSelectionModel(
CommandUtils.getCurrentConnection(null));
runNetworkModel = new ImageRunNetworkModel(
CommandUtils.getCurrentConnection(null));
try {
runVolumesModel = new ImageRunResourceVolumesVariablesModel(
CommandUtils.getCurrentConnection(null));
} catch (DockerException e) {
// do nothing
}
}
setTabs(new AbstractLaunchConfigurationTab[] {
new RunImageMainTab(runSelectionModel, runVolumesModel,
runNetworkModel),
new RunImageVolumesTab(runVolumesModel),
new RunImagePortsTab(runSelectionModel),
new RunImageLinksTab(runSelectionModel),
new RunImageNetworkTab(runNetworkModel),
new RunImageEnvironmentTab(runVolumesModel),
new RunImageLabelsTab(runVolumesModel),
new RunImageResourcesTab(runVolumesModel),
new org.eclipse.debug.ui.CommonTab() });
}
}