org.eclipse.wst.server.ui.internal.DeleteRuntimeDialog.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.wst.server.ui.internal.DeleteRuntimeDialog.java

Source

/*******************************************************************************
 * Copyright (c) 2007 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.wst.server.ui.internal;

import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;

public class DeleteRuntimeDialog extends MessageDialog {
    protected boolean promptDeleteServers;
    protected boolean promptRemoveTargets;
    protected boolean deleteServers;
    protected boolean removeTargets;

    public DeleteRuntimeDialog(Shell parentShell, boolean promptDeleteServers, boolean promptRemoveTargets) {
        super(parentShell, Messages.defaultDialogTitle, null, Messages.dialogRuntimeInUse, QUESTION,
                new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0);
        this.promptDeleteServers = promptDeleteServers;
        this.promptRemoveTargets = promptRemoveTargets;
    }

    protected Control createCustomArea(Composite parent) {
        if (!promptDeleteServers && !promptRemoveTargets)
            return null;

        Composite comp = new Composite(parent, SWT.NONE);
        GridLayout layout = new GridLayout(1, true);
        layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
        layout.verticalSpacing = convertVerticalDLUsToPixels(3);
        layout.marginWidth = 0;
        layout.marginHeight = 0;
        comp.setLayout(layout);
        comp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));

        if (promptDeleteServers) {
            deleteServers = true;
            final Button deleteServersButton = new Button(comp, SWT.CHECK);
            deleteServersButton.setText(Messages.dialogRuntimeDeleteServers);
            deleteServersButton.setSelection(true);
            deleteServersButton.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    deleteServers = deleteServersButton.getSelection();
                }
            });
        }

        if (promptRemoveTargets) {
            removeTargets = true;
            final Button removeTargetsButton = new Button(comp, SWT.CHECK);
            removeTargetsButton.setText(Messages.dialogRuntimeRemoveTargets);
            removeTargetsButton.setSelection(true);
            removeTargetsButton.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(SelectionEvent e) {
                    removeTargets = removeTargetsButton.getSelection();
                }
            });
        }

        return comp;
    }

    public boolean isDeleteServers() {
        return deleteServers;
    }

    public boolean isRemoveTargets() {
        return removeTargets;
    }
}