Package org.eclipse.wst.sse.ui.internal

Source Code of org.eclipse.wst.sse.ui.internal.UnknownContentTypeDialog

package org.eclipse.wst.sse.ui.internal;

import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialogWithToggle;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.dialogs.PreferencesUtil;

/**
* Message dialog informing user that an editor was open on unsupported
* content type
*/
public class UnknownContentTypeDialog extends MessageDialogWithToggle {

  public UnknownContentTypeDialog(Shell parent, IPreferenceStore store, String key) {
    // set message to null in super so that message does not appear twice
    super(parent, SSEUIMessages.UnknownContentTypeDialog_0, null, null, INFORMATION, new String[]{IDialogConstants.OK_LABEL}, 0, SSEUIMessages.UnknownContentTypeDialog_1, false);
    setPrefStore(store);
    setPrefKey(key);
  }

  protected void buttonPressed(int buttonId) {
    super.buttonPressed(buttonId);

    // overwritten so that value stored is boolean, not string
    if (buttonId != IDialogConstants.CANCEL_ID && getToggleState() && getPrefStore() != null && getPrefKey() != null) {
      switch (buttonId) {
        case IDialogConstants.YES_ID :
        case IDialogConstants.YES_TO_ALL_ID :
        case IDialogConstants.PROCEED_ID :
        case IDialogConstants.OK_ID :
          getPrefStore().setValue(getPrefKey(), false);
          break;
        case IDialogConstants.NO_ID :
        case IDialogConstants.NO_TO_ALL_ID :
          getPrefStore().setValue(getPrefKey(), true);
          break;
      }
    }

  }

  protected Control createMessageArea(Composite composite) {
    super.createMessageArea(composite);
    Link messageLink = new Link(composite, SWT.NONE);
    messageLink.setText(SSEUIMessages.UnknownContentTypeDialog_2);
    messageLink.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent e) {
        linkClicked();
      }
    });
    return composite;
  }

  private void linkClicked() {
    String pageId = "org.eclipse.ui.preferencePages.ContentTypes"; //$NON-NLS-1$
    PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), pageId, new String[]{pageId}, null);
    dialog.open();
  }
}
TOP

Related Classes of org.eclipse.wst.sse.ui.internal.UnknownContentTypeDialog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.