Example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

List of usage examples for org.eclipse.jface.viewers CheckboxTableViewer newCheckList

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers CheckboxTableViewer newCheckList.

Prototype

public static CheckboxTableViewer newCheckList(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:com.aptana.editor.php.internal.ui.preferences.PHPLibrariesPreferencePage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite body = new Composite(parent, SWT.NONE);

    body.setLayout(new GridLayout(1, false));
    Label label = new Label(body, SWT.NONE | SWT.WRAP);
    label.setText(Messages.PHPLibrariesPreferencePage_librariesTitle);
    final Map<URL, Image> images = new HashMap<URL, Image>();
    Composite tableAndButton = new Composite(body, SWT.NONE);
    tableAndButton.setLayout(new GridLayout(2, false));
    newCheckList = CheckboxTableViewer.newCheckList(tableAndButton, SWT.BORDER);
    newCheckList.setContentProvider(new ArrayContentProvider());
    newCheckList.setInput(LibraryManager.getInstance().getAllLibraries());
    Composite buttons = new Composite(tableAndButton, SWT.NONE);
    buttons.setLayout(new GridLayout(1, false));
    newCheckList.setComparator(new ViewerComparator());
    newCheckList.setLabelProvider(new LibraryLabelProvider(images));
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.minimumHeight = 400;/*from  w  w w  . jav  a  2 s .  c  o m*/
    newCheckList.getControl().setLayoutData(layoutData);
    body.addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            for (Image m : images.values()) {
                m.dispose();
            }
        }

    });
    layoutData = new GridData();
    layoutData.heightHint = 400;
    body.setLayoutData(layoutData);
    for (IPHPLibrary l : LibraryManager.getInstance().getAllLibraries()) {
        newCheckList.setChecked(l, l.isTurnedOn());
    }

    buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    Button add = new Button(buttons, SWT.PUSH);
    add.setText(Messages.PHPLibrariesPreferencePage_newUserLibrary);
    add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    add.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            PHPLibraryDialog libraryDialog = new PHPLibraryDialog(Display.getCurrent().getActiveShell(), null,
                    getContent());
            if (libraryDialog.open() == Dialog.OK) {
                UserLibrary result = libraryDialog.getResult();
                newCheckList.add(result);
                newCheckList.setChecked(result, true);
            }
        }

    });
    final Button edit = new Button(buttons, SWT.PUSH);
    edit.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
            // empty
        }

        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection ss = (IStructuredSelection) newCheckList.getSelection();
            UserLibrary firstElement = (UserLibrary) ss.getFirstElement();
            PHPLibraryDialog libraryDialog = new PHPLibraryDialog(Display.getCurrent().getActiveShell(),
                    firstElement, getContent());
            if (libraryDialog.open() == Dialog.OK) {
                newCheckList.remove(firstElement);
                newCheckList.add(libraryDialog.getResult());
            }
        }

    });
    edit.setText(Messages.PHPLibrariesPreferencePage_editLibrary);
    edit.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    final Button remove = new Button(buttons, SWT.PUSH);
    remove.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection ss = (IStructuredSelection) newCheckList.getSelection();
            for (Object o : ss.toArray()) {
                newCheckList.remove(o);
            }
        }

    });
    remove.setText(Messages.PHPLibrariesPreferencePage_removeLibrary);
    tableAndButton.setLayoutData(new GridData(GridData.FILL_BOTH));
    remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    newCheckList.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection ss = (IStructuredSelection) event.getSelection();
            if (ss.isEmpty() || ss.getFirstElement() instanceof PHPLibrary) {
                edit.setEnabled(false);
                remove.setEnabled(false);
                return;
            }
            edit.setEnabled(true);
            remove.setEnabled(true);
        }

    });
    Button selectAll = new Button(buttons, SWT.PUSH);
    selectAll.setText(Messages.LibrariesPage_selectAll);
    selectAll.addSelectionListener(new SelectAction(true));
    Button deselectAll = new Button(buttons, SWT.PUSH);
    deselectAll.setText(Messages.LibrariesPage_deselectAll);
    selectAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    deselectAll.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    deselectAll.addSelectionListener(new SelectAction(false));
    edit.setEnabled(false);
    remove.setEnabled(false);
    return body;
}

From source file:com.aptana.ide.core.ui.preferences.ProjectNaturesPage.java

License:Open Source License

/**
 * @see PreferencePage#createContents//from  w  ww.jav  a 2s . c  o  m
 */
protected Control createContents(Composite parent) {
    Font font = parent.getFont();
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    composite.setFont(font);
    initialize();
    Label description = createDescriptionLabel(composite);
    description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));

    Composite tableComposite = new Composite(composite, SWT.NONE);
    layout = new GridLayout(2, false);
    tableComposite.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    tableComposite.setLayoutData(data);

    listViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.TOP | SWT.BORDER);
    Table table = listViewer.getTable();
    table.setFont(font);
    TableColumn column = new TableColumn(table, SWT.LEFT);
    column.setWidth(350);
    data = new GridData(GridData.FILL_BOTH);
    data.grabExcessHorizontalSpace = true;
    if (!project.isOpen())
        listViewer.getControl().setEnabled(false);

    // Only set a height hint if it will not result in a cut off dialog

    if (DialogUtil.inRegularFontMode(parent)) {
        data.heightHint = getDefaultFontHeight(table, NATURES_LIST_MULTIPLIER);
    }
    table.setLayoutData(data);
    table.setFont(font);
    listViewer.setLabelProvider(getLabelProvider());
    listViewer.setContentProvider(getContentProvider(project));
    listViewer.setComparator(getViewerComperator());
    listViewer.setInput(project.getWorkspace());
    listViewer.addCheckStateListener(this);
    table.setMenu(createMenu());
    initialCheckedItems = initializeCheckedNatures();
    Collections.sort(initialCheckedItems);
    listViewer.setCheckedElements(initialCheckedItems.toArray());
    listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });

    // Add the buttons
    Composite buttons = new Composite(tableComposite, SWT.NONE);
    layout = new GridLayout(1, true);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    buttons.setLayout(layout);
    buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    makePrimaryButton = createButton(EPLMessages.ProjectNaturesPage_LBL_MakePrimary, buttons,
            new MakePrimarySelectionListener());
    restoreButton = createButton(EPLMessages.ProjectNaturesPage_LBL_Restore, buttons,
            new RestoreSelectionListener());
    updateButtons();

    return composite;
}

From source file:com.aptana.ide.debug.internal.ui.launchConfigurations.HttpServerSettingsTab.java

License:Open Source License

/**
 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 *///w w  w .j  a v a2  s . c om
public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setFont(parent.getFont());
    composite.setLayout(new GridLayout(2, false));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Label label = new Label(composite, SWT.NONE);
    label.setText(Messages.HttpServerSettingsTab_WebServerPathConfiguration);
    label.setFont(parent.getFont());
    label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));

    fListViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);

    Table table = fListViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    TableColumn[] columns = new TableColumn[] { new TableColumn(table, SWT.NONE),
            new TableColumn(table, SWT.NONE), new TableColumn(table, SWT.NONE), };
    columns[1].setText(Messages.HttpServerSettingsTab_ServerPath);
    columns[2].setText(Messages.HttpServerSettingsTab_WorkspacePath);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnPixelData(24));
    tableLayout.addColumnData(new ColumnWeightData(40));
    tableLayout.addColumnData(new ColumnWeightData(60));
    table.setLayout(tableLayout);

    fListViewer.setContentProvider(new ArrayContentProvider());
    fListViewer.setLabelProvider(new TableLabelProvider());

    table.setFont(parent.getFont());
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    // button container
    Composite buttonContainer = new Composite(composite, SWT.NONE);
    buttonContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
    GridLayout buttonLayout = new GridLayout(1, false);
    buttonLayout.marginHeight = 0;
    buttonLayout.marginWidth = 0;
    buttonContainer.setLayout(buttonLayout);

    GridData data;

    // Add type button
    fAddButton = new Button(buttonContainer, SWT.PUSH);
    fAddButton.setText(StringUtils.ellipsify(Messages.HttpServerSettingsTab_Add));
    fAddButton.setToolTipText(Messages.HttpServerSettingsTab_AddServerPath);
    fAddButton.setFont(parent.getFont());
    data = new GridData(SWT.FILL, SWT.DEFAULT);
    data.widthHint = Math.max(
            new PixelConverter(fAddButton).convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH),
            fAddButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
    fAddButton.setLayoutData(data);

    // Edit button
    fEditButton = new Button(buttonContainer, SWT.PUSH);
    fEditButton.setText(StringUtils.ellipsify(Messages.HttpServerSettingsTab_Edit));
    fEditButton.setToolTipText(Messages.HttpServerSettingsTab_EditSelectedPath);
    fEditButton.setFont(parent.getFont());
    data = new GridData(SWT.FILL, SWT.DEFAULT);
    data.widthHint = Math.max(
            new PixelConverter(fEditButton).convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH),
            fEditButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
    fEditButton.setLayoutData(data);

    // Remove button
    fRemoveButton = new Button(buttonContainer, SWT.PUSH);
    fRemoveButton.setText(Messages.HttpServerSettingsTab_Remove);
    fRemoveButton.setToolTipText(Messages.HttpServerSettingsTab_RemoveSelectedPath);
    fRemoveButton.setFont(parent.getFont());
    data = new GridData(SWT.FILL, SWT.DEFAULT);
    data.widthHint = Math.max(
            new PixelConverter(fRemoveButton).convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH),
            fRemoveButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
    fRemoveButton.setLayoutData(data);

    fListViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((PathElement) event.getElement()).enabled = event.getChecked();
            setDirty(true);
            updateLaunchConfigurationDialog();
        }
    });
    fListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updatePage((IStructuredSelection) event.getSelection());
        }
    });
    fListViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                editPath();
            }
        }
    });
    table.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removePaths();
            }
        }
    });

    fAddButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            addPath();
        }
    });

    fEditButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            editPath();
        }
    });
    fEditButton.setEnabled(false);

    fRemoveButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            removePaths();
        }
    });
    fRemoveButton.setEnabled(false);

    setControl(composite);
    PreferenceUtils.persist(DebugUiPlugin.getDefault().getPreferenceStore(), table, "httpServerSettings"); //$NON-NLS-1$
}

From source file:com.aptana.ide.debug.internal.ui.preferences.JSDetailFormattersPreferencePage.java

License:Open Source License

private Control createFormattersList(Composite parent) {
    Font font = parent.getFont();
    listLabel = new Label(parent, SWT.NONE);
    listLabel.setText(Messages.JSDetailFormattersPreferencePage_TypesWithDetailFormatters);
    GridDataFactory.swtDefaults().span(2, 1).applyTo(listLabel);
    listLabel.setFont(font);//  w w  w. j  av a2  s  .  c  o  m

    listViewer = CheckboxTableViewer.newCheckList(parent,
            SWT.CHECK | SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    Table table = (Table) listViewer.getControl();
    GridDataFactory.fillDefaults().grab(true, true).hint(convertWidthInCharsToPixels(10), SWT.DEFAULT)
            .applyTo(table);
    table.setFont(font);

    listViewer.setContentProvider(new ArrayContentProvider());
    listViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof DetailFormatter) {
                return ((DetailFormatter) element).getTypeName();
            }
            return null;
        }
    });

    // button container
    Composite composite = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().grab(false, true).applyTo(composite);
    composite.setLayout(GridLayoutFactory.fillDefaults().create());

    // Add button
    addFormatterButton = new Button(composite, SWT.PUSH);
    addFormatterButton.setText(StringUtils.ellipsify(Messages.JSDetailFormattersPreferencePage_Add));
    addFormatterButton
            .setToolTipText(Messages.JSDetailFormattersPreferencePage_AllowToCreateNewDetailFormatter);
    setButtonLayoutData(addFormatterButton);
    addFormatterButton.setFont(font);

    // Edit button
    editFormatterButton = new Button(composite, SWT.PUSH);
    editFormatterButton.setText(StringUtils.ellipsify(Messages.JSDetailFormattersPreferencePage_Edit));
    editFormatterButton.setToolTipText(Messages.JSDetailFormattersPreferencePage_EditSelectedDetailFormatter);
    setButtonLayoutData(editFormatterButton);
    editFormatterButton.setFont(font);

    // Remove button
    removeFormatterButton = new Button(composite, SWT.PUSH);
    removeFormatterButton.setText(Messages.JSDetailFormattersPreferencePage_Remove);
    removeFormatterButton
            .setToolTipText(Messages.JSDetailFormattersPreferencePage_RemoveAllSelectedDetailFormatters);
    setButtonLayoutData(removeFormatterButton);
    removeFormatterButton.setFont(font);

    Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.JSDetailFormattersPreferencePage_DetailFormatterCodeSnippetDefinedForSelectedType);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(label);
    label.setFont(font);

    sourceViewer = new SourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    sourceViewer.getTextWidget()
            .setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    sourceViewer.getTextWidget().setFont(JFaceResources.getTextFont());
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(sourceViewer.getControl());

    // listeners 
    listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updatePage((IStructuredSelection) event.getSelection());
        }
    });
    listViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                editType();
            }
        }
    });
    listViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((DetailFormatter) event.getElement()).setEnabled(event.getChecked());
        }
    });

    table.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removeTypes();
            }
        }
    });

    addFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            addType();
        }
    });
    editFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            editType();
        }
    });
    removeFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            removeTypes();
        }
    });

    editFormatterButton.setEnabled(false);
    removeFormatterButton.setEnabled(false);

    sourceViewer.setEditable(false);
    sourceViewer.setDocument(new Document());

    loadDetailFormatters();
    listViewer.setInput(formatters);
    updateViewerCheckboxes();

    return parent;
}

From source file:com.aptana.ide.editor.js.preferences.CodeAssistPreferencePage.java

License:Open Source License

/**
 * @see com.aptana.ide.editors.preferences.CodeAssistPreferencePage#createFieldEditors()
 *///from   ww w.  ja  v a2s . c o m
public void createFieldEditors() {
    super.createFieldEditors();
    Composite appearanceComposite = getFieldEditorParent();
    Composite table = com.aptana.ide.core.ui.preferences.GeneralPreferencePage.createGroup(appearanceComposite,
            Messages.CodeAssistPreferencePage_Javascript_environments);
    table.getParent().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(1, true);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    table.setLayout(layout);
    Label envLabel = new Label(table, SWT.LEFT | SWT.WRAP);
    envLabel.setText(Messages.CodeAssistPreferencePage_LBL_Environments_present_in_code_assist);
    envLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    envTable = CheckboxTableViewer.newCheckList(table, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE);
    envTable.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    String[] environments = JSLanguageEnvironment.getEnabledEnvironments();
    IExtensionRegistry registry = Platform.getExtensionRegistry();
    if (registry != null) {
        IExtensionPoint extensionPoint = registry.getExtensionPoint(JSPlugin.ID,
                JSLanguageEnvironment.SCRIPTDOC_ID);

        if (extensionPoint != null) {
            IExtension[] extensions = extensionPoint.getExtensions();

            for (int i = 0; i < extensions.length; i++) {
                IExtension extension = extensions[i];
                IConfigurationElement[] elements = extension.getConfigurationElements();

                for (int j = 0; j < elements.length; j++) {
                    IConfigurationElement element = elements[j];
                    IExtension declaring = element.getDeclaringExtension();
                    String declaringPluginID = declaring.getNamespaceIdentifier();
                    Bundle bundle = Platform.getBundle(declaringPluginID);
                    String agent = element.getAttribute(JSLanguageEnvironment.ATTR_USER_AGENT);
                    String icon = element.getAttribute(JSLanguageEnvironment.ATTR_ICON);
                    if (agent != null) {
                        TableItem item = new TableItem(envTable.getTable(), SWT.NONE);
                        item.setText(agent);
                        if (icon != null) {
                            String iconFile = getResolvedFilename(bundle, icon);
                            if (iconFile != null) {
                                File file = new File(iconFile);
                                if (file.exists()) {
                                    Image result = null;
                                    if (images.containsKey(file.getAbsolutePath())) {
                                        result = images.get(file.getAbsolutePath());
                                    } else {
                                        result = new Image(Display.getDefault(), file.getAbsolutePath());
                                    }
                                    images.put(file.getAbsoluteFile(), result);
                                    item.setImage(result);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    TableItem[] items = envTable.getTable().getItems();
    for (int i = 0; i < items.length; i++) {
        String label = items[i].getText();
        for (int j = 0; j < environments.length; j++) {
            if (label.equals(environments[j])) {
                items[i].setChecked(true);
                break;
            }
        }
    }
}

From source file:com.aptana.ide.wizards.LibraryWizardPage.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 *//*  w  w  w. j ava  2  s  . c  om*/
public void createControl(Composite parent) {

    Font font = parent.getFont();

    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    composite.setFont(font);

    // PlatformUI.getWorkbench().getHelpSystem().setHelp(composite,
    // IIDEHelpContextIds.NEW_PROJECT_REFERENCE_WIZARD_PAGE);

    LibraryInfo[] libraryInfoExtensions = LibraryManager.getInstance().getLibraryInfoExtensions();
    if (libraryInfoExtensions.length == 0) {
        Browser browser = new Browser(composite, SWT.BORDER);
        browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
        browser.setFont(font);
        Bundle bundle = Platform.getBundle(ProjectsPlugin.PLUGIN_ID);
        URL url = null;
        try {
            url = FileLocator.toFileURL(bundle.getEntry("html/librarywizardpage.html")); //$NON-NLS-1$
            browser.setUrl(url.toString());
        } catch (IOException e) {
            IdeLog.logInfo(ProjectsPlugin.getDefault(), e.getMessage(), e);
        }
    } else {
        Label referenceLabel = new Label(composite, SWT.NONE);
        referenceLabel.setText(JS_LIBS_TITLE);
        referenceLabel.setFont(font);

        referenceProjectsViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER);
        referenceProjectsViewer.getTable().setFont(composite.getFont());
        GridData data = new GridData();
        data.horizontalAlignment = GridData.FILL;
        data.verticalAlignment = GridData.FILL;
        data.grabExcessHorizontalSpace = true;
        data.grabExcessVerticalSpace = true;

        data.heightHint = getDefaultFontHeight(referenceProjectsViewer.getTable(), LIB_LIST_MULTIPLIER);
        referenceProjectsViewer.getTable().setLayoutData(data);
        referenceProjectsViewer.setLabelProvider(new LabelProvider());
        referenceProjectsViewer.setContentProvider(_contentProvider);
        referenceProjectsViewer.setLabelProvider(_labelProvider);
        referenceProjectsViewer.setInput(ResourcesPlugin.getWorkspace());
    }
    Button installLibrariesButton = new Button(composite, SWT.PUSH);
    installLibrariesButton.setText(INSTALL_JS_LIBS_LABEL);
    installLibrariesButton.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));

    installLibrariesButton.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            // Hide the wizard
            getWizard().performCancel();
            getWizard().getContainer().getShell().close();
            // Show the installer wizard
            Activator.launchWizard(false, new String[] { "installer.ajax" }); //$NON-NLS-1$
        }
    });
    setControl(composite);
}

From source file:com.aptana.js.debug.ui.internal.preferences.JSDetailFormattersPreferencePage.java

License:Open Source License

private Control createFormattersList(Composite parent) {
    Font font = parent.getFont();
    listLabel = new Label(parent, SWT.NONE);
    listLabel.setText(Messages.JSDetailFormattersPreferencePage_TypesWithDetailFormatters);
    GridDataFactory.swtDefaults().span(2, 1).applyTo(listLabel);
    listLabel.setFont(font);/* ww  w.j  a  v  a 2  s  .com*/

    listViewer = CheckboxTableViewer.newCheckList(parent,
            SWT.CHECK | SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    Table table = (Table) listViewer.getControl();
    GridDataFactory.fillDefaults().grab(true, true).hint(convertWidthInCharsToPixels(10), SWT.DEFAULT)
            .applyTo(table);
    table.setFont(font);

    listViewer.setContentProvider(ArrayContentProvider.getInstance());
    listViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof DetailFormatter) {
                return ((DetailFormatter) element).getTypeName();
            }
            return null;
        }
    });

    // button container
    Composite composite = new Composite(parent, SWT.NONE);
    GridDataFactory.fillDefaults().grab(false, true).applyTo(composite);
    composite.setLayout(GridLayoutFactory.fillDefaults().create());

    // Add button
    addFormatterButton = new Button(composite, SWT.PUSH);
    addFormatterButton.setText(StringUtil.ellipsify(Messages.JSDetailFormattersPreferencePage_Add));
    addFormatterButton
            .setToolTipText(Messages.JSDetailFormattersPreferencePage_AllowToCreateNewDetailFormatter);
    setButtonLayoutData(addFormatterButton);
    addFormatterButton.setFont(font);

    // Edit button
    editFormatterButton = new Button(composite, SWT.PUSH);
    editFormatterButton.setText(StringUtil.ellipsify(Messages.JSDetailFormattersPreferencePage_Edit));
    editFormatterButton.setToolTipText(Messages.JSDetailFormattersPreferencePage_EditSelectedDetailFormatter);
    setButtonLayoutData(editFormatterButton);
    editFormatterButton.setFont(font);

    // Remove button
    removeFormatterButton = new Button(composite, SWT.PUSH);
    removeFormatterButton.setText(Messages.JSDetailFormattersPreferencePage_Remove);
    removeFormatterButton
            .setToolTipText(Messages.JSDetailFormattersPreferencePage_RemoveAllSelectedDetailFormatters);
    setButtonLayoutData(removeFormatterButton);
    removeFormatterButton.setFont(font);

    Label label = new Label(parent, SWT.NONE);
    label.setText(Messages.JSDetailFormattersPreferencePage_DetailFormatterCodeSnippetDefinedForSelectedType);
    GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(label);
    label.setFont(font);

    sourceViewer = new SourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    sourceViewer.getTextWidget()
            .setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    sourceViewer.getTextWidget().setFont(JFaceResources.getTextFont());
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(sourceViewer.getControl());

    // listeners
    listViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updatePage((IStructuredSelection) event.getSelection());
        }
    });
    listViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                editType();
            }
        }
    });
    listViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((DetailFormatter) event.getElement()).setEnabled(event.getChecked());
        }
    });

    table.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                removeTypes();
            }
        }
    });

    addFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            addType();
        }
    });
    editFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            editType();
        }
    });
    removeFormatterButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event e) {
            removeTypes();
        }
    });

    editFormatterButton.setEnabled(false);
    removeFormatterButton.setEnabled(false);

    sourceViewer.setEditable(false);
    sourceViewer.setDocument(new Document());

    loadDetailFormatters();
    listViewer.setInput(formatters);
    updateViewerCheckboxes();

    return parent;
}

From source file:com.aptana.ui.preferences.ProjectBuildPathPropertyPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    // get project
    project = (IProject) getElement().getAdapter(IResource.class);

    // get entire list and selected items in that list
    Set<BuildPathEntry> entries = getBuildPathEntries(project);
    Set<BuildPathEntry> selectedEntries = getSelectedBuildPathEntries(project);

    // top-level composite
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    // labels//w  w  w .  ja  v a2 s.c o  m
    setDescription(
            MessageFormat.format(Messages.ProjectBuildPathPropertyPage_TableDescription, project.getName()));
    Label description = createDescriptionLabel(composite);
    description.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    // table composite
    Composite tableComposite = new Composite(composite, SWT.NONE);
    tableComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create());
    tableComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    // table
    tableViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.TOP | SWT.BORDER);
    Table table = tableViewer.getTable();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    table.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    TableColumn column1 = new TableColumn(table, SWT.LEFT);
    column1.setText(Messages.ProjectBuildPathPropertyPage_LibraryColumnLabel);
    column1.setWidth(165);

    TableColumn column2 = new TableColumn(table, SWT.LEFT);
    column2.setText(Messages.ProjectBuildPathPropertyPage_PathColumnLabel);
    column2.setWidth(350);

    tableViewer.setContentProvider(getContentProvider());
    tableViewer.setLabelProvider(getLabelProvider());
    tableViewer.setComparator(getCompartor());
    tableViewer.setInput(entries);
    tableViewer.setCheckedElements(selectedEntries.toArray());

    return composite;
}

From source file:com.aptana.ui.properties.ProjectNaturesPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    fProject = (IProject) getElement().getAdapter(IResource.class);
    try {/*from   w w  w .ja  v a  2  s .  com*/
        if (fProject.isOpen()) {
            // Can only access decription if project exists and is open...
            fCurrentProjectNatures = fProject.getDescription().getNatureIds();
        } else {
            fCurrentProjectNatures = new String[0];
        }
    } catch (CoreException e) {
        IdeLog.logError(UIEplPlugin.getDefault(), EplMessages.ProjectNaturesPage_ERR_RetrieveNatures, e);
        fCurrentProjectNatures = new String[0];
    }
    fLabelProvider = new NaturesLabelProvider(fNatureDescriptions);

    // assumes the first one in the array is the primary nature
    fInitialPrimaryNature = fCurrentProjectNatures.length == 0 ? null : fCurrentProjectNatures[0];
    updatePrimaryNature(fInitialPrimaryNature);

    setDescription(MessageFormat.format(EplMessages.ProjectNaturesPage_Description, fProject.getName()));
    Label description = createDescriptionLabel(composite);
    description.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());

    Composite tableComposite = new Composite(composite, SWT.NONE);
    tableComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
    tableComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    fTableViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.TOP | SWT.BORDER);
    Table table = fTableViewer.getTable();
    table.setLinesVisible(true);
    table.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    TableColumn column = new TableColumn(table, SWT.LEFT);
    column.setWidth(350);

    fTableViewer.setContentProvider(getContentProvider());
    fTableViewer.setLabelProvider(getLabelProvider());
    fTableViewer.setComparator(getViewerComperator());
    fTableViewer.setInput(fProject.getWorkspace());
    if (!fProject.isAccessible()) {
        fTableViewer.getControl().setEnabled(false);
    }
    fTableViewer.setCheckedElements(fCurrentProjectNatures);
    fTableViewer.addCheckStateListener(this);
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    fInitialCheckedItems = fTableViewer.getCheckedElements();
    table.setMenu(createMenu(table));

    // Add the buttons
    Composite buttons = new Composite(tableComposite, SWT.NONE);
    buttons.setLayout(GridLayoutFactory.fillDefaults().create());
    buttons.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    fMakePrimaryButton = createButton(EplMessages.ProjectNaturesPage_LBL_MakePrimary, buttons);
    updateButtons();

    noDefaultAndApplyButton();

    return composite;
}

From source file:com.aptana.ui.wizards.WizardFolderImportPage.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 *///www  .  java2  s .c o m
public void createControl(Composite parent) {
    // Collect the existing project names to avoid conflicts.
    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    projectsNames = new HashSet<String>();
    for (IProject project : projects) {
        projectsNames.add(project.getName());
    }
    modifyListener = new InputModifyListener();
    initializeDialogUnits(parent);

    Composite workArea = new Composite(parent, SWT.NONE);
    setControl(workArea);

    workArea.setLayout(new GridLayout());
    workArea.setLayoutData(
            new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL));

    createProjectsRoot(workArea);

    Dialog.applyDialogFont(workArea);
    fLabelProvider = new NaturesLabelProvider(fNatureDescriptions);

    Label l = new Label(workArea, SWT.NONE);
    l.setText(EplMessages.WizardFolderImportPage_project_type_title);

    natureContributors = PrimaryNaturesManager.getManager().getContributorsMap();

    Composite tableComposite = new Composite(workArea, SWT.NONE);
    tableComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
    tableComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    // Table for project natures
    fTableViewer = CheckboxTableViewer.newCheckList(tableComposite, SWT.TOP | SWT.BORDER);
    Table table = fTableViewer.getTable();
    table.setLinesVisible(true);
    table.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());

    TableColumn column = new TableColumn(table, SWT.LEFT);
    column.setWidth(350);

    fTableViewer.setContentProvider(getContentProvider());
    fTableViewer.setLabelProvider(getLabelProvider());
    fTableViewer.setComparator(getViewerComperator());
    fTableViewer.setInput(ResourcesPlugin.getWorkspace());
    fTableViewer.addCheckStateListener(this);
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    table.setMenu(createMenu(table));

    // Add the buttons
    Composite buttons = new Composite(tableComposite, SWT.NONE);
    buttons.setLayout(GridLayoutFactory.fillDefaults().create());
    buttons.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    fMakePrimaryButton = createButton(EplMessages.WizardFolderImportPage_make_primary_label, buttons);
    updateButtons();

    setPageComplete(validate());
    setPrimaryNatureFromContributions(null);
    fTableViewer.setCheckedElements(new String[] { fPrimaryNature });

    if (directoryPath != null) {
        directoryPathField.setText(directoryPath);
        setProjectName();
        setPageComplete(true);
    }
}