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

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

Introduction

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

Prototype

@Override
public void addPageChangedListener(IPageChangedListener listener) 

Source Link

Usage

From source file:net.overscale.eclipse.pti.ui.preferences.AbstractPHPToolConfigurationBlock.java

License:Open Source License

protected Link addLink(Composite parent, String label, final String propertyPageID,
        final IPageChangedListener listener) {
    Link link = new Link(parent, SWT.NONE);
    link.setFont(parent.getFont());// ww  w.j a v a  2 s.  co m
    link.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, true, false));
    link.setText(label);
    link.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(getShell(), propertyPageID, null,
                    null);
            dialog.setBlockOnOpen(true);
            if (listener != null) {
                dialog.addPageChangedListener(listener);
            }
            dialog.open();
        }
    });

    return link;
}

From source file:net.overscale.eclipse.pti.ui.preferences.dialogfields.PHPExecutableDialogField.java

License:Open Source License

public Control[] doFillIntoGrid(Composite parent, int nColumns) {
    assertEnoughColumns(nColumns);/*from www. j a va2s  .co  m*/

    Label label = getLabelControl(parent);
    label.setLayoutData(gridDataForLabel(1));
    Combo combo = getTextControl(parent);
    combo.setLayoutData(gridDataForText(nColumns - 2));

    Link link = new Link(parent, SWT.NONE);
    link.setFont(parent.getFont());
    link.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, true, false));
    link.setText("<a>PHP Executables...</a>");
    link.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
                    Display.getCurrent().getActiveShell(), PHP_EXE_PAGE_ID, null, null);
            dialog.setBlockOnOpen(true);
            dialog.addPageChangedListener(new IPageChangedListener() {
                public void pageChanged(PageChangedEvent event) {
                    Display.getDefault().asyncExec(new Runnable() {
                        public void run() {
                        }
                    });
                }
            });
            dialog.open();
        }
    });

    return new Control[] { label, combo, link };
}

From source file:org.eclipse.datatools.connectivity.ui.actions.ViewPropertyAction.java

License:Open Source License

public void run() {
    Object selected = getSelectedObject();
    PreferenceDialog propertyDialog = ProfileUIManager.createPreferenceDialog(mViewer.getControl().getShell(),
            selected);/*from www  .  j  a  v a 2 s. c  om*/
    if (propertyDialog == null)
        return;

    // check for size settings
    IDialogSettings dset = ConnectivityUIPlugin.getDefault().getDialogSettings();
    boolean foundSettings = false;
    if (dset != null) {
        IDialogSettings dSection = dset.getSection(MEMENTO_ROOT);
        if (dSection != null) {
            if (dSection.get(MEMENTO_DIALOG_SIZE_HEIGHT) != null
                    && dSection.get(MEMENTO_DIALOG_SIZE_HEIGHT).trim().length() > 0) {
                mShellHeight = dSection.getInt(MEMENTO_DIALOG_SIZE_HEIGHT);
                mShellWidth = dSection.getInt(MEMENTO_DIALOG_SIZE_WIDTH);
                foundSettings = true;
            }
        }
    }
    // if we found them, set it to the old values
    if (foundSettings) {
        propertyDialog.getShell().setSize(mShellWidth, mShellHeight);
        propertyDialog.getShell().layout();
        // if not, initialize 'mShellWidth' and 'mShellHeigth'
    } else {
        mShellHeight = propertyDialog.getShell().getSize().y;
        mShellWidth = propertyDialog.getShell().getSize().x;
    }

    this.mShell = propertyDialog.getShell();
    String title = ConnectivityUIPlugin.getDefault().getResourceString("properties.dialog"); //$NON-NLS-1$
    if (selected instanceof IConnectionProfile) {
        IConnectionProfile profile = (IConnectionProfile) selected;
        title = ConnectivityUIPlugin.getDefault().getResourceString("ConnectAction.title", //$NON-NLS-1$
                new String[] { profile.getName() });
    }
    propertyDialog.getShell().setText(title);

    // add a listener to make sure we get any resizes of the dialog
    // to store for the next time
    this.mShell.addControlListener(new ControlListener() {

        public void controlMoved(ControlEvent e) {
        }

        public void controlResized(ControlEvent e) {
            if (e.getSource() instanceof Shell) {
                Shell shell = (Shell) e.getSource();
                ViewPropertyAction.this.mShellHeight = shell.getSize().y;
                ViewPropertyAction.this.mShellWidth = shell.getSize().x;
            }
        }
    });

    // check to see if the profile is in a read-only repository
    // and if so, disable the controls on each page selected
    boolean inReadOnlyRepository = false;
    if (getSelectedObject() instanceof IConnectionProfile) {
        IConnectionProfile profile = (IConnectionProfile) getSelectedObject();
        if (profile.getParentProfile() != null) {
            IManagedConnection imc = ((IConnectionProfile) profile.getParentProfile()).getManagedConnection(
                    IConnectionProfileRepositoryConstants.REPOSITORY_CONNECTION_FACTORY_ID);
            if (imc != null && imc.isConnected()) {
                IConnectionProfileRepository repo = (IConnectionProfileRepository) imc.getConnection()
                        .getRawConnection();
                inReadOnlyRepository = repo.isReadOnly();
            }
        }
    }

    // handle the initial page selected in the dialog for the
    // read only repository page disabling...
    propertyDialog.addPageChangedListener(new PropertyPageChangeListener(inReadOnlyRepository));
    if (inReadOnlyRepository && propertyDialog.getSelectedPage() != null) {
        PropertyPage page = (PropertyPage) propertyDialog.getSelectedPage();
        if (propertyDialog.getSelectedPage() instanceof ConnectionProfileDetailsPage
                || propertyDialog.getSelectedPage() instanceof ProfileDetailsPropertyPage) {
            if (page.getControl() instanceof Composite) {
                Composite composite = (Composite) page.getControl();
                if (inReadOnlyRepository)
                    disableControls(composite, !inReadOnlyRepository, true);
            }
        } else if (propertyDialog.getSelectedPage() instanceof PropertyPage) {
            if (page.getControl() instanceof Composite) {
                Composite composite = (Composite) page.getControl();
                disableControls(composite, !inReadOnlyRepository);
            }
        }
    }
    int rtn_val = propertyDialog.open();
    if (rtn_val == Dialog.OK)
        saveState();

    mViewer.setSelection(mViewer.getSelection());
}

From source file:org.eclipse.jubula.rc.rcp.swt.aut.RcpSwtComponentNamer.java

License:Open Source License

/**
 * Adds name information to the given widget, if necessary.
 *
 * @param widget/*from  w w  w.j a va 2 s. c  o  m*/
 *            The widget to name.
 */
private void addNameData(Widget widget) {
    // Assign name
    if (hasWidgetToBeNamed(widget)) {
        Object data = getWidgetData(widget);

        if (data instanceof IContributionItem) {
            // Name buttons and toolitems according to the action that
            // they represent, if possible.
            String actionId = ((IContributionItem) data).getId();
            if (actionId != null && actionId.trim().length() > 0) {
                setComponentName(widget, actionId);
                ComponentHandler.getAutHierarchy().refreshComponentName(widget);

            }
        } else if (data instanceof PreferenceDialog) {
            PreferenceDialog prefDialog = (PreferenceDialog) data;

            // Add a listener to add name data as pages are
            // selected/created.
            prefDialog.addPageChangedListener(new IPageChangedListener() {

                public void pageChanged(PageChangedEvent event) {
                    addNameDataToPrefPage(event.getSelectedPage());
                }

            });

            // The listener won't notice the initally selected page,
            // so we have to add that name data here.
            addNameDataToPrefPage(prefDialog.getSelectedPage());
        }
        if (generateNames && data instanceof Dialog) {
            Dialog dialog = (Dialog) data;
            setNameForDialogButtonBarButtons(dialog);
        }
    }
}

From source file:org.eclipse.php.internal.debug.ui.preferences.PHPDebugPreferencesBlock.java

License:Open Source License

private void addLink(Composite parent, String label, final String propertyPageID) {
    Link link = new Link(parent, SWT.NONE);
    link.setFont(parent.getFont());/* www  .j a  v a 2 s. c  o  m*/
    link.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, false));
    link.setText(label);
    link.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
                    PHPDebugPreferencesBlock.this.propertyPage.getShell(), propertyPageID, null, null);
            dialog.setBlockOnOpen(true);
            dialog.addPageChangedListener(new IPageChangedListener() {
                public void pageChanged(PageChangedEvent event) {
                    refreshDebuggers();
                }
            });
            dialog.open();
            if (!fDefaultServer.isDisposed() && !fDefaultPHPExe.isDisposed()) {
                refreshDebuggers();
            }
        }
    });
}

From source file:org2.eclipse.php.internal.debug.ui.preferences.PHPDebugPreferencesAddon.java

License:Open Source License

private void addLink(Composite parent, String label, final String propertyPageID) {
    Link link = new Link(parent, SWT.NONE);
    link.setFont(parent.getFont());/*ww  w.  jav a 2  s  .  c  om*/
    link.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, true, false));
    link.setText(label);
    link.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
                    PHPDebugPreferencesAddon.this.propertyPage.getShell(), propertyPageID, null, null);
            dialog.setBlockOnOpen(true);
            dialog.addPageChangedListener(new IPageChangedListener() {
                public void pageChanged(PageChangedEvent event) {
                    Display.getDefault().asyncExec(new Runnable() {
                        public void run() {
                            String selectedDebugger = PHPDebugPreferencesAddon.this.fDefaultDebugger.getText();
                            String selectedServer = PHPDebugPreferencesAddon.this.fDefaultServer.getText();
                            String selectedPHP = PHPDebugPreferencesAddon.this.fDefaultPHPExe.getText();
                            PHPDebugPreferencesAddon.this
                                    .loadDebuggers(PHPDebugPreferencesAddon.this.fDefaultDebugger);
                            PHPDebugPreferencesAddon.this
                                    .loadServers(PHPDebugPreferencesAddon.this.fDefaultServer);
                            loadPHPExes(PHPDebugPreferencesAddon.this.fDefaultPHPExe, PHPexes.getInstance()
                                    .getItems(PHPDebugPreferencesAddon.this.getSelectedDebuggerId()));
                            PHPDebugPreferencesAddon.this.selectComboItem(
                                    PHPDebugPreferencesAddon.this.fDefaultDebugger,
                                    PHPDebugPreferencesAddon.this.fDefaultDebugger.indexOf(selectedDebugger));
                            PHPDebugPreferencesAddon.this.selectComboItem(
                                    PHPDebugPreferencesAddon.this.fDefaultServer,
                                    PHPDebugPreferencesAddon.this.fDefaultServer.indexOf(selectedServer));
                            PHPDebugPreferencesAddon.this.selectComboItem(
                                    PHPDebugPreferencesAddon.this.fDefaultPHPExe,
                                    PHPDebugPreferencesAddon.this.fDefaultPHPExe.indexOf(selectedPHP));
                        }
                    });
                }
            });
            dialog.open();
        }
    });
}