Example usage for org.eclipse.jface.preference PreferenceDialog open

List of usage examples for org.eclipse.jface.preference PreferenceDialog open

Introduction

In this page you can find the example usage for org.eclipse.jface.preference PreferenceDialog open.

Prototype

public int open() 

Source Link

Document

Opens this window, creating it first if it has not yet been created.

Usage

From source file:org.eclipse.jubula.client.ui.rcp.widgets.autconfig.AutConfigComponent.java

License:Open Source License

/**
 * Opens the server preference page/*  ww w.j  ava2  s .  c  o  m*/
 */
protected void openServerPrefPage() {
    PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
            Constants.JB_PREF_PAGE_AUTAGENT, null, null);
    DialogUtils.setWidgetNameForModalDialog(dialog);
    dialog.open();
    m_listOfServers = AutAgentManager.getInstance();
    String oldServer = m_serverCombo.getText();
    fillServerCombo();
    m_serverCombo.setText(oldServer);
}

From source file:org.eclipse.linuxtools.binutils.link2source.STCSourceNotFoundEditor.java

License:Open Source License

@Override
protected void editSourceLookupPath() {
    PreferenceDialog d = org.eclipse.ui.dialogs.PreferencesUtil.createPreferenceDialogOn(null,
            "org.eclipse.cdt.debug.ui.SourcePreferencePage", null, null);
    if (d.open() == PreferenceDialog.OK) {
        closeEditor();// w  ww. j a  v  a 2 s .  co m
        openSourceFileAtLocation(getProject(), getMissingFile(), getLineNumber());
    }
}

From source file:org.eclipse.linuxtools.internal.rpm.createrepo.preference.CreaterepoGeneralPropertyPage.java

License:Open Source License

@Override
protected Composite addContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    GridData layoutData = new GridData();
    composite.setLayout(layout);/*from   w  ww  . ja  v a  2s.co  m*/

    // TODO: use BooleanFieldEditor and get it to layout properly
    //        with the link (lnWorkspaceSettings)
    btnProjectSettings = new Button(composite, SWT.CHECK);
    btnProjectSettings.addListener(SWT.Selection, event -> toggleEnabled());
    layoutData = new GridData();
    layoutData.horizontalAlignment = GridData.BEGINNING;
    layoutData.horizontalAlignment = GridData.FILL;
    layoutData.grabExcessHorizontalSpace = true;
    btnProjectSettings.setText(Messages.CreaterepoGeneralPropertyPage_projectSettings);
    btnProjectSettings.setLayoutData(layoutData);
    btnProjectSettings.setSelection(Activator.getDefault().getPreferenceStore()
            .getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
    btnProjectSettings.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            checkState();
        }
    });

    lnWorkspaceSettings = new Link(composite, SWT.NONE);
    layoutData = new GridData();
    layoutData.horizontalAlignment = SWT.END;
    lnWorkspaceSettings.setLayoutData(layoutData);
    lnWorkspaceSettings.setText(NLS.bind(linkTags, Messages.CreaterepoGeneralPropertyPage_workspaceSettings));
    lnWorkspaceSettings.setFont(parent.getFont());
    lnWorkspaceSettings.addListener(SWT.Selection, event -> {
        PreferenceDialog preferenceDialog = PreferencesUtil.createPreferenceDialogOn(getShell(),
                CREATEREPO_PREFERENCE_ID, new String[] { CREATEREPO_PREFERENCE_ID }, null);
        preferenceDialog.open();
    });

    // general group
    generalGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
    layout = new GridLayout(2, false);
    generalGroup.setLayout(layout);
    generalGroup.setText(Messages.CreaterepoPreferencePage_generalGroupLabel);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1)
            .applyTo(generalGroup);

    // generate unique metadata filenames
    bfeIncludeChecksum = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
            Messages.CreaterepoPreferencePage_booleanChecksumName, generalGroup);
    bfeIncludeChecksum.fillIntoGrid(generalGroup, 2);
    bfeIncludeChecksum.setPreferenceStore(preferenceStore);
    bfeIncludeChecksum.setPropertyChangeListener(this);
    bfeIncludeChecksum.load();

    // generate sqlite databases
    bfeSQLDB = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
            Messages.CreaterepoPreferencePage_booleanGenerateSQLDB, generalGroup);
    bfeSQLDB.fillIntoGrid(generalGroup, 2);
    bfeSQLDB.setPreferenceStore(preferenceStore);
    bfeSQLDB.setPropertyChangeListener(this);
    bfeSQLDB.load();

    // ignore symlinks for packages
    bfeIgnoreSymlinks = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
            Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks, generalGroup);
    bfeIgnoreSymlinks.fillIntoGrid(generalGroup, 2);
    bfeIgnoreSymlinks.setPreferenceStore(preferenceStore);
    bfeIgnoreSymlinks.setPropertyChangeListener(this);
    bfeIgnoreSymlinks.load();

    // output files in pretty xml format
    bfePrettyXML = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
            Messages.CreaterepoPreferencePage_booleanPrettyXML, generalGroup);
    bfePrettyXML.fillIntoGrid(generalGroup, 2);
    bfePrettyXML.setPreferenceStore(preferenceStore);
    bfePrettyXML.setPropertyChangeListener(this);
    bfePrettyXML.load();

    // number of workers
    ifeSpawns = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_WORKERS,
            Messages.CreaterepoPreferencePage_numWorkers, generalGroup);
    ifeSpawns.fillIntoGrid(generalGroup, 2);
    // more than 128 is alot. limiting. (createrepo warning)
    ifeSpawns.setValidRange(0, 128);
    ifeSpawns.setPreferenceStore(preferenceStore);
    ifeSpawns.setPropertyChangeListener(this);
    ifeSpawns.load();
    updateGroupSpacing(generalGroup);

    // updates group
    updatesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
    updatesGroup.setText(Messages.CreaterepoPreferencePage_updateGroupLabel);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1)
            .hint(10, SWT.DEFAULT).applyTo(updatesGroup);

    // don't generate repo metadata, if their timestamps are newer than its rpms
    bfeSameFilename = new BooleanFieldEditor(CreaterepoPreferenceConstants.PREF_CHECK_TS,
            Messages.CreaterepoPreferencePage_booleanCheckTS, updatesGroup);
    bfeSameFilename.fillIntoGrid(updatesGroup, 2);
    bfeSameFilename.setPreferenceStore(preferenceStore);
    bfeSameFilename.setPropertyChangeListener(this);
    bfeSameFilename.load();

    // note of caution
    lblCheckTs = new Label(updatesGroup, SWT.WRAP);
    lblCheckTs.setText(Messages.CreaterepoPreferencePage_checkTSNote);
    layoutData = new GridData();
    layoutData.widthHint = 130;
    layoutData.horizontalAlignment = SWT.FILL;
    layoutData.grabExcessHorizontalSpace = true;
    layoutData.horizontalIndent = 5;
    lblCheckTs.setLayoutData(layoutData);
    updateGroupSpacing(updatesGroup);

    // changelog group
    changelogGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
    changelogGroup.setText(Messages.CreaterepoPreferencePage_changelogGroupLabel);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1)
            .hint(10, SWT.DEFAULT).applyTo(changelogGroup);

    // don't generate repo metadata, if their timestamps are newer than its rpms
    ifeChangelogLimit = new IntegerFieldEditor(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
            Messages.CreaterepoPreferencePage_numChangelogLimit, changelogGroup);
    ifeChangelogLimit.fillIntoGrid(changelogGroup, 2);
    ifeChangelogLimit.setValidRange(0, Integer.MAX_VALUE);
    ifeChangelogLimit.setPreferenceStore(preferenceStore);
    ifeChangelogLimit.setPropertyChangeListener(this);
    ifeChangelogLimit.load();
    updateGroupSpacing(changelogGroup);

    checksumsContainer = new Composite(composite, SWT.NONE);
    checksumsContainer.setLayout(new GridLayout());
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false)
            .applyTo(checksumsContainer);
    // available checksums
    rgfeChecksums = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_CHECKSUM,
            Messages.CreaterepoPreferencePage_checksumGroupLabel, 1,
            new String[][] { { ICreaterepoChecksums.SHA1, ICreaterepoChecksums.SHA1 },
                    { ICreaterepoChecksums.MD5, ICreaterepoChecksums.MD5 },
                    { ICreaterepoChecksums.SHA256, ICreaterepoChecksums.SHA256 },
                    { ICreaterepoChecksums.SHA512, ICreaterepoChecksums.SHA512 } },
            checksumsContainer, true);
    rgfeChecksums.setPreferenceStore(preferenceStore);
    rgfeChecksums.setPropertyChangeListener(this);
    rgfeChecksums.load();

    compressContainer = new Composite(composite, SWT.NONE);
    compressContainer.setLayout(new GridLayout());
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).indent(0, 20).grab(true, false)
            .applyTo(compressContainer);
    // available compression types
    rgfeCompressionTypes = new RadioGroupFieldEditor(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
            Messages.CreaterepoPreferencePage_compressionGroupLabel, 1,
            new String[][] { { ICreaterepoCompressionTypes.COMPAT, ICreaterepoCompressionTypes.COMPAT },
                    { ICreaterepoCompressionTypes.XZ, ICreaterepoCompressionTypes.XZ },
                    { ICreaterepoCompressionTypes.GZ, ICreaterepoCompressionTypes.GZ },
                    { ICreaterepoCompressionTypes.BZ2, ICreaterepoCompressionTypes.BZ2 } },
            compressContainer, true);
    rgfeCompressionTypes.setPreferenceStore(preferenceStore);
    rgfeCompressionTypes.setPropertyChangeListener(this);
    rgfeCompressionTypes.load();

    toggleEnabled();

    return composite;
}

From source file:org.eclipse.m2e.ui.internal.launch.MavenRuntimeSelector.java

License:Open Source License

public MavenRuntimeSelector(final Composite mainComposite) {
    super(mainComposite, SWT.NONE);

    GridLayout gridLayout = new GridLayout(2, false);
    gridLayout.marginWidth = 0;/*ww  w  . jav a2s. co  m*/
    gridLayout.marginHeight = 0;
    setLayout(gridLayout);

    runtimeComboViewer = new ComboViewer(this, SWT.BORDER | SWT.READ_ONLY);
    runtimeComboViewer.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    runtimeComboViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object input) {
            return ((List<?>) input).toArray();
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

    });
    runtimeComboViewer.setLabelProvider(new ILabelProvider() {

        public void removeListener(ILabelProviderListener listener) {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public String getText(Object element) {
            AbstractMavenRuntime runtime = (AbstractMavenRuntime) element;
            StringBuilder sb = new StringBuilder();

            if (runtime.isLegacy()) {
                sb.append(MavenRuntimeManagerImpl.EXTERNAL).append(" ").append(runtime.toString());
            } else if (!runtime.isEditable()) {
                sb.append(getType(runtime)).append(" (").append(runtime.toString()).append(')');
            } else {
                sb.append(runtime.getName()).append(" (");
                sb.append(getType(runtime)).append(' ').append(runtime.toString());
                sb.append(')');
            }

            return sb.toString();
        }

        public Image getImage(Object element) {
            return null;
        }
    });

    try {
        setInput();
    } catch (NullPointerException e) {
        // ignore, this only happens inside windowbuilder
    }

    configureRuntimesButton = new Button(this, SWT.NONE);
    configureRuntimesButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    configureRuntimesButton.setText(org.eclipse.m2e.internal.launch.Messages.MavenLaunchMainTab_btnConfigure);
    configureRuntimesButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(mainComposite.getShell(),
                    "org.eclipse.m2e.core.preferences.MavenInstallationsPreferencePage", null, null); //$NON-NLS-1$
            if (dialog.open() == Window.OK) {
                setInput();
            }
        }
    });
}

From source file:org.eclipse.mat.ui.rcp.actions.OpenPreferenceAction.java

License:Open Source License

@Override
public void run() {
    if (reg == null)
        reg = new PreferenceRegistry();

    PreferenceManager manager = new PreferenceManager('/');
    // Recreate tree structure
    Map<String, Node> nodes = new LinkedHashMap<String, Node>();
    for (Node node : reg.delegates()) {
        node.subNode = false;//ww  w  .j a  v a  2 s .com
        for (IPreferenceNode subNode : node.getSubNodes())
            node.remove(subNode.getId());
        nodes.put(node.getId(), node);
    }
    for (Node node : reg.delegates()) {
        if (node.getCategory() != null && nodes.containsKey(node.getCategory())) {
            nodes.get(node.getCategory()).add(node);
            node.subNode = true;
        }
    }
    List<Node> toSort = new ArrayList<Node>();
    for (Node node : nodes.values()) {
        if (!node.subNode)
            toSort.add(node);
    }
    Collections.sort(toSort, new Comparator<Node>() {

        public int compare(Node object1, Node object2) {
            return object1.getLabelText().compareTo(object2.getLabelText());
        }

    });
    for (Node node : toSort) {
        manager.addToRoot(node);
    }

    PreferenceDialog dialog = new PreferenceDialog(
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), manager);
    dialog.open();
}

From source file:org.eclipse.mylyn.commons.notifications.ui.NotificationControl.java

License:Open Source License

@Override
protected void createLinkControls(Composite buttonsComp) {
    if (getPreferencesPageId() != null) {
        configureLink = new ImageHyperlink(buttonsComp, SWT.NONE);
        configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE));
        configureLink.addHyperlinkListener(new HyperlinkAdapter() {
            @Override//  www  .j  a  v  a  2s . c  o m
            public void linkActivated(HyperlinkEvent e) {
                PreferenceDialog pd = PreferencesUtil.createPreferenceDialogOn(getShell(),
                        getPreferencesPageId(), new String[0], getEventId());
                // Only close the message if the did not cancel the operation 
                if (pd != null) {
                    pd.open();
                }
            }

            @Override
            public void linkEntered(HyperlinkEvent e) {
                configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE_HOVER));
            }

            @Override
            public void linkExited(HyperlinkEvent e) {
                configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE));
            }
        });
        // Initially invisible, must have eventId for this to be of any use.
        configureLink.setVisible(getEventId() != null);
    }
    super.createLinkControls(buttonsComp);
}

From source file:org.eclipse.mylyn.commons.repositories.ui.RepositoryLocationPart.java

License:Open Source License

private void createProxySection(final SectionComposite parent) {
    int style = SWT.NONE;
    if (!Boolean.parseBoolean(getWorkingCopy().getProperty(RepositoryLocation.PROPERTY_PROXY_USEDEFAULT))) {
        style |= ExpandableComposite.EXPANDED;
    }/*from www.  jav a2s  .  co m*/
    ExpandableComposite section = parent
            .createSection(Messages.RepositoryLocationPart_Proxy_Server_Configuration, style);

    Composite composite = new Composite(section, SWT.NONE);
    section.setClient(composite);
    GridLayoutFactory.fillDefaults().numColumns(3).applyTo(composite);

    Label label;

    final Button systemProxyButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(systemProxyButton);
    systemProxyButton.setText(Messages.RepositoryLocationPart_Use_global_Network_Connections_preferences);
    bind(systemProxyButton, RepositoryLocation.PROPERTY_PROXY_USEDEFAULT);

    Link changeProxySettingsLink = new Link(composite, SWT.NONE);
    changeProxySettingsLink.setText(Messages.RepositoryLocationPart_Change_Settings);
    changeProxySettingsLink.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dlg = PreferencesUtil.createPreferenceDialogOn(parent.getShell(),
                    PREFS_PAGE_ID_NET_PROXY, new String[] { PREFS_PAGE_ID_NET_PROXY }, null);
            dlg.open();
        }
    });

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Proxy_Host);

    final Text proxyHostText = new Text(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(proxyHostText);
    bind(proxyHostText, RepositoryLocation.PROPERTY_PROXY_HOST);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Proxy_Port);

    final Text proxyPortText = new Text(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(proxyPortText);
    bind(proxyPortText, RepositoryLocation.PROPERTY_PROXY_PORT);

    // authentication

    Button enableButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().grab(true, false).span(3, 1).applyTo(enableButton);
    enableButton.setText(Messages.RepositoryLocationPart_Enable_Proxy_Authentication);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_User);

    Text userText = new Text(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(userText);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Password);

    Text passwordText = new Text(composite, SWT.BORDER | SWT.PASSWORD);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(passwordText);

    Button savePasswordButton = new Button(composite, SWT.CHECK);
    savePasswordButton.setText(Messages.RepositoryLocationPart_Save_Password);

    final UserCredentialsListener listener = bindUserCredentials(AuthenticationType.PROXY, enableButton,
            userText, passwordText, null, savePasswordButton, false);
    systemProxyButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            updateProxyEnablement(listener, proxyPortText, proxyHostText, !systemProxyButton.getSelection());
        }
    });
    updateProxyEnablement(listener, proxyPortText, proxyHostText, !systemProxyButton.getSelection());
}

From source file:org.eclipse.mylyn.commons.ui.team.RepositoryLocationPart.java

License:Open Source License

private void createProxySection(final SectionComposite parent) {
    ExpandableComposite section = parent
            .createSection(Messages.RepositoryLocationPart_Proxy_Server_Configuration);

    Composite composite = new Composite(section, SWT.NONE);
    section.setClient(composite);//from   www .  java  2s  . c o m
    GridLayoutFactory.fillDefaults().numColumns(3).applyTo(composite);

    Label label;

    Button systemProxyButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(systemProxyButton);
    systemProxyButton.setText(Messages.RepositoryLocationPart_Use_global_Network_Connections_preferences);
    //      systemProxyButton.addSelectionListener(new SelectionAdapter() {
    //         @Override
    //         public void widgetSelected(SelectionEvent e) {
    //            updateProxyEnablement(systemProxyButton.getSelection());
    //         }
    //      });
    bind(systemProxyButton, RepositoryLocation.PROPERTY_PROXY_USEDEFAULT);

    Link changeProxySettingsLink = new Link(composite, SWT.NONE);
    changeProxySettingsLink.setText(Messages.RepositoryLocationPart_Change_Settings);
    changeProxySettingsLink.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dlg = PreferencesUtil.createPreferenceDialogOn(parent.getShell(),
                    PREFS_PAGE_ID_NET_PROXY, new String[] { PREFS_PAGE_ID_NET_PROXY }, null);
            dlg.open();
        }
    });

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Proxy_Host);

    Text proxyHostText = new Text(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(proxyHostText);
    bind(proxyHostText, RepositoryLocation.PROPERTY_PROXY_HOST);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Proxy_Port);

    Text proxyPortText = new Text(composite, SWT.BORDER | SWT.PASSWORD);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(proxyPortText);
    bind(proxyPortText, RepositoryLocation.PROPERTY_PROXY_PORT);

    // authentication

    Button enableButton = new Button(composite, SWT.CHECK);
    GridDataFactory.fillDefaults().grab(true, false).span(3, 1).applyTo(enableButton);
    enableButton.setText(Messages.RepositoryLocationPart_Enable_Proxy_Authentication);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_User);

    Text userText = new Text(composite, SWT.BORDER);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(userText);

    label = new Label(composite, SWT.NONE);
    label.setText(Messages.RepositoryLocationPart_Password);

    Text passwordText = new Text(composite, SWT.BORDER | SWT.PASSWORD);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(passwordText);

    Button savePasswordButton = new Button(composite, SWT.CHECK);
    savePasswordButton.setText(Messages.RepositoryLocationPart_Save_Password);

    bind(AuthenticationType.PROXY, enableButton, userText, passwordText, savePasswordButton, false);
}

From source file:org.eclipse.mylyn.internal.builds.ui.view.OpenBuildsPreferencesAction.java

License:Open Source License

@Override
public void run() {
    PreferenceDialog dlg = PreferencesUtil.createPreferenceDialogOn(WorkbenchUtil.getShell(),
            BuildsUiInternal.ID_PREFERENCE_PAGE_BUILDS,
            new String[] { BuildsUiInternal.ID_PREFERENCE_PAGE_BUILDS }, null);
    dlg.open();
}

From source file:org.eclipse.mylyn.internal.provisional.commons.ui.ServiceMessageControl.java

License:Open Source License

/**
 * Creates the GUI of the service message control.
 * //from w ww  .java2  s.  com
 * @param parent
 *            the parent composite
 * @return the control
 */
public Control createControl(Composite parent) {
    FormColors colors = getFormColors(parent.getDisplay());
    head = new GradientCanvas(parent, SWT.NONE);
    GridLayout headLayout = new GridLayout();
    headLayout.marginHeight = 0;
    headLayout.marginWidth = 0;
    headLayout.horizontalSpacing = 0;
    headLayout.verticalSpacing = 0;
    headLayout.numColumns = 1;
    head.setLayout(headLayout);
    headData = new GridData(SWT.FILL, SWT.TOP, true, false);
    head.setLayoutData(headData);

    Color top = colors.getColor(IFormColors.H_GRADIENT_END);
    Color bot = colors.getColor(IFormColors.H_GRADIENT_START);
    head.setBackgroundGradient(new Color[] { bot, top }, new int[] { 100 }, true);
    head.setSeparatorVisible(true);
    head.setSeparatorAlignment(SWT.TOP);

    head.putColor(IFormColors.H_BOTTOM_KEYLINE1, colors.getColor(IFormColors.H_BOTTOM_KEYLINE1));
    head.putColor(IFormColors.H_BOTTOM_KEYLINE2, colors.getColor(IFormColors.H_BOTTOM_KEYLINE2));
    head.putColor(IFormColors.H_HOVER_LIGHT, colors.getColor(IFormColors.H_HOVER_LIGHT));
    head.putColor(IFormColors.H_HOVER_FULL, colors.getColor(IFormColors.H_HOVER_FULL));
    head.putColor(IFormColors.TB_TOGGLE, colors.getColor(IFormColors.TB_TOGGLE));
    head.putColor(IFormColors.TB_TOGGLE_HOVER, colors.getColor(IFormColors.TB_TOGGLE_HOVER));

    TableWrapLayout layout = new TableWrapLayout();
    layout.numColumns = 3;
    head.setLayout(layout);

    imageLabel = new Label(head, SWT.NONE);

    titleLabel = new Label(head, SWT.NONE);

    setHeaderFontSizeAndStyle(titleLabel);

    Composite buttonsComp = new Composite(head, SWT.NONE);
    TableWrapData data = new TableWrapData();
    data.align = TableWrapData.RIGHT;
    buttonsComp.setLayoutData(data);
    GridLayout gLayout = new GridLayout(2, false);
    gLayout.horizontalSpacing = 0;
    gLayout.verticalSpacing = 0;
    gLayout.marginHeight = 0;
    gLayout.marginWidth = 0;
    gLayout.verticalSpacing = 0;

    buttonsComp.setLayout(gLayout);

    if (getPreferencesPageId() != null) {
        configureLink = new ImageHyperlink(buttonsComp, SWT.NONE);
        configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE));
        configureLink.addHyperlinkListener(new HyperlinkAdapter() {
            @Override
            public void linkEntered(HyperlinkEvent e) {
                configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE_HOVER));
            }

            @Override
            public void linkExited(HyperlinkEvent e) {
                configureLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CONFIGURE));
            }

            @Override
            public void linkActivated(HyperlinkEvent e) {
                PreferenceDialog pd = PreferencesUtil.createPreferenceDialogOn(getShell(),
                        getPreferencesPageId(), new String[0], eventId);
                // Only close the message if the did not cancel the operation 
                if (pd != null) {
                    pd.open();
                }
            }
        });
        // Initially invisible, must have eventId for this to be of any use.
        configureLink.setVisible(eventId != null);
    }

    closeLink = new ImageHyperlink(buttonsComp, SWT.NONE);
    closeLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CLOSE));
    //      data = new TableWrapData();
    //      data.align = TableWrapData.RIGHT;
    //      closeLink.setLayoutData(data);
    closeLink.addHyperlinkListener(new HyperlinkAdapter() {
        @Override
        public void linkActivated(HyperlinkEvent e) {
            closeMessage();
        }

        @Override
        public void linkEntered(HyperlinkEvent e) {
            closeLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CLOSE_HOVER));
        }

        @Override
        public void linkExited(HyperlinkEvent e) {
            closeLink.setImage(CommonImages.getImage(CommonImages.NOTIFICATION_CLOSE));
        }
    });

    // spacer
    new Label(head, SWT.NONE).setText(" "); //$NON-NLS-1$

    descriptionLabel = new Link(head, SWT.WRAP);
    descriptionLabel.addSelectionListener(getLinkListener());

    data = new TableWrapData();
    data.colspan = 2;
    data.grabHorizontal = true;
    descriptionLabel.setLayoutData(data);

    return head;
}