Search in sources :

Example 1 with ProcessorsPreferencePage

use of org.eclipse.wst.xsl.jaxp.debug.ui.internal.preferences.ProcessorsPreferencePage in project webtools.sourceediting by eclipse.

the class ProcessorBlock method createControl.

public void createControl(Composite parent) {
    Font font = parent.getFont();
    Composite group = new Composite(parent, SWT.NULL);
    setControl(group);
    group.setLayout(new GridLayout(2, false));
    group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    group.setFont(font);
    // group.setText(ProcessorMessages.ProcessorBlock_0);
    usePreferencesRadio = new Button(group, SWT.RADIO);
    usePreferencesRadio.setText(ProcessorMessages.ProcessorBlock_1);
    usePreferencesRadio.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            preferencesSelected();
            updateLaunchConfigurationDialog();
        }
    });
    alterPreferencesButton = new Button(group, SWT.PUSH);
    alterPreferencesButton.setText(ProcessorMessages.ProcessorBlock_2);
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gd.widthHint = 150;
    alterPreferencesButton.setLayoutData(gd);
    alterPreferencesButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            IPreferencePage page = new ProcessorsPreferencePage();
            // $NON-NLS-1$
            showPrefPage("org.eclipse.wst.xslt.launching.ui.preferences.ProcessorPreferencePage", page);
        }
    });
    overridePreferencesRadio = new Button(group, SWT.RADIO);
    overridePreferencesRadio.setText(ProcessorMessages.ProcessorBlock_4);
    overridePreferencesRadio.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            overrideSelected();
            updateLaunchConfigurationDialog();
        }
    });
    installedProcessorsButton = new Button(group, SWT.PUSH);
    installedProcessorsButton.setText(ProcessorMessages.ProcessorsComboBlock_1);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gd.widthHint = 150;
    installedProcessorsButton.setLayoutData(gd);
    installedProcessorsButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            IPreferencePage page = new ProcessorsPreferencePage();
            // $NON-NLS-1$
            showPrefPage("org.eclipse.wst.xslt.launching.ui.preferences.ProcessorPreferencePage", page);
        }
    });
    Composite settingsComp = new Composite(group, SWT.NONE);
    GridLayout gl = new GridLayout(3, false);
    gl.marginHeight = 2;
    settingsComp.setLayout(gl);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalIndent = 15;
    gd.horizontalSpan = 2;
    settingsComp.setLayoutData(gd);
    settingsComp.setFont(font);
    Label label = new Label(settingsComp, SWT.NONE);
    label.setText(ProcessorMessages.ProcessorBlock_6);
    runCombo = new Combo(settingsComp, SWT.READ_ONLY | SWT.SINGLE);
    runCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    runComboViewer = new ComboViewer(runCombo);
    runComboViewer.setContentProvider(new ComboContentProvider());
    runComboViewer.setLabelProvider(new ComboLabelProvider());
    runComboViewer.setInput(JAXPRuntime.getProcessors());
    runComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (!sel.isEmpty()) {
                IProcessorInstall processor = (IProcessorInstall) sel.getFirstElement();
                if (processor.getProcessorType().getTransformerFactories().length > 1)
                    factoryComboViewer.getCombo().setVisible(true);
                else
                    factoryComboViewer.getCombo().setVisible(false);
                factoryComboViewer.setInput(processor.getProcessorType());
                boolean found = false;
                for (ITransformerFactory tf : processor.getProcessorType().getTransformerFactories()) {
                    if (tf.equals(currentFactory)) {
                        found = true;
                        break;
                    }
                }
                if (!found) {
                    currentFactory = processor.getProcessorType().getDefaultTransformerFactory();
                    if (currentFactory != null)
                        factoryComboViewer.setSelection(new StructuredSelection(currentFactory));
                }
            }
            updateLaunchConfigurationDialog();
        }
    });
    Combo factoryCombo = new Combo(settingsComp, SWT.READ_ONLY | SWT.SINGLE);
    factoryCombo.setLayoutData(new GridData(80, SWT.DEFAULT));
    factoryComboViewer = new ComboViewer(factoryCombo);
    factoryComboViewer.setContentProvider(new IStructuredContentProvider() {

        private IProcessorType type;

        public Object[] getElements(Object inputElement) {
            return type.getTransformerFactories();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            this.type = (IProcessorType) newInput;
        }
    });
    factoryComboViewer.setLabelProvider(new LabelProvider() {

        @Override
        public String getText(Object element) {
            ITransformerFactory f = (ITransformerFactory) element;
            // + " - " + f.getFactoryClass();
            return f.getName();
        }
    });
    factoryComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            currentFactory = (ITransformerFactory) ((IStructuredSelection) event.getSelection()).getFirstElement();
            updateLaunchConfigurationDialog();
        }
    });
// overridePreferencesButton = new Button(group,SWT.CHECK);
// overridePreferencesButton.setText("Override preferences");
// gd = new GridData(SWT.NONE,SWT.NONE,false,false);
// overridePreferencesButton.setLayoutData(gd);
// overridePreferencesButton.addSelectionListener(new SelectionListener(){
// public void widgetDefaultSelected(SelectionEvent e)
// {}
// 
// public void widgetSelected(SelectionEvent e)
// {
// firePreferenceProcessorChanged(overridePreferencesButton.getSelection());
// }
// });
}
Also used : Label(org.eclipse.swt.widgets.Label) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Combo(org.eclipse.swt.widgets.Combo) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) ComboViewer(org.eclipse.jface.viewers.ComboViewer) Viewer(org.eclipse.jface.viewers.Viewer) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Font(org.eclipse.swt.graphics.Font) GridLayout(org.eclipse.swt.layout.GridLayout) ITransformerFactory(org.eclipse.wst.xsl.jaxp.launching.ITransformerFactory) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ProcessorsPreferencePage(org.eclipse.wst.xsl.jaxp.debug.ui.internal.preferences.ProcessorsPreferencePage) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) IProcessorInstall(org.eclipse.wst.xsl.jaxp.launching.IProcessorInstall) IProcessorType(org.eclipse.wst.xsl.jaxp.launching.IProcessorType) ComboViewer(org.eclipse.jface.viewers.ComboViewer) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) IPreferencePage(org.eclipse.jface.preference.IPreferencePage) LabelProvider(org.eclipse.jface.viewers.LabelProvider)

Aggregations

IPreferencePage (org.eclipse.jface.preference.IPreferencePage)1 ComboViewer (org.eclipse.jface.viewers.ComboViewer)1 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)1 IStructuredContentProvider (org.eclipse.jface.viewers.IStructuredContentProvider)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 LabelProvider (org.eclipse.jface.viewers.LabelProvider)1 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)1 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)1 Viewer (org.eclipse.jface.viewers.Viewer)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 Font (org.eclipse.swt.graphics.Font)1 GridData (org.eclipse.swt.layout.GridData)1 GridLayout (org.eclipse.swt.layout.GridLayout)1 Button (org.eclipse.swt.widgets.Button)1 Combo (org.eclipse.swt.widgets.Combo)1 Composite (org.eclipse.swt.widgets.Composite)1 Label (org.eclipse.swt.widgets.Label)1 ProcessorsPreferencePage (org.eclipse.wst.xsl.jaxp.debug.ui.internal.preferences.ProcessorsPreferencePage)1 IProcessorInstall (org.eclipse.wst.xsl.jaxp.launching.IProcessorInstall)1