/*******************************************************************************
 * Copyright (c) 2002, 2005 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.jst.ws.internal.dialog;

/**
* Constants for status dialogs
*/
public interface IStatusDialogConstants {

  /*
  * Button ID for the "Yes" button
  */
  public static final int YES_ID = 2;
  /*
  * Button ID for the "Yes to all" button
  */
  public static final int YES_TO_ALL_ID = 4;
  /*
  * Button ID for the "Cancel" button
  */
  public static final int CANCEL_ID = 1;
  /*
  * Button ID for the "OK" button
  */
  public static final int OK_ID = 0;
  /*
  * Button ID for the "Details" button
  */
  public static final int DETAILS_ID = 13;

}
