Example usage for org.eclipse.jface.dialogs IDialogConstants VERTICAL_SPACING

List of usage examples for org.eclipse.jface.dialogs IDialogConstants VERTICAL_SPACING

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs IDialogConstants VERTICAL_SPACING.

Prototype

int VERTICAL_SPACING

To view the source code for org.eclipse.jface.dialogs IDialogConstants VERTICAL_SPACING.

Click Source Link

Document

Vertical spacing in dialog units (value 4).

Usage

From source file:org.eclipse.emf.eson.ui.editor.tree.XtextMultiEObjectSearchDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite container) {
    Composite parent = new Composite(container, SWT.NONE);
    parent.setLayout(new GridLayout(3, false));
    parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Composite leftComp = (Composite) super.createDialogArea(parent);

    createPickerButtons(parent);/*from   w  w w.j a va2 s .c o m*/

    Composite rightComp = new Composite(parent, SWT.NONE);
    selectedElementsLabel = new Label(rightComp, SWT.NONE);
    selectedElementsLabel.setText(SELECTED_ELEMENTS_LABEL);
    selectedElementsLabel.setFont(rightComp.getFont());

    GridLayout rightCompLayout = new GridLayout();
    rightCompLayout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    rightCompLayout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    rightCompLayout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    rightCompLayout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    rightComp.setLayout(rightCompLayout);
    rightComp.setLayoutData(new GridData(GridData.FILL_BOTH));
    applyDialogFont(rightComp);

    GridLayout leftCompLayout = (GridLayout) leftComp.getLayout();
    leftCompLayout.marginLeft = rightCompLayout.marginRight = convertHorizontalDLUsToPixels(
            IDialogConstants.HORIZONTAL_MARGIN) / 2;
    leftCompLayout.marginWidth = rightCompLayout.marginWidth = 0;

    selectedTableViewer = new TableViewer(rightComp, getTableStyle());
    selectedTableViewer.setContentProvider(getTableViewer().getContentProvider());
    selectedTableViewer.setLabelProvider(getTableViewer().getLabelProvider());

    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = convertHeightInCharsToPixels(getHeightInChars());
    gd.widthHint = convertWidthInCharsToPixels(getWidthInChars());
    Table table = selectedTableViewer.getTable();
    table.setLayoutData(gd);
    table.setFont(container.getFont());

    Label selectionMessageLabel = new Label(rightComp, SWT.NONE);
    setDefaultGridData(selectionMessageLabel);

    getTableViewer().addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            moveToSection();
        }
    });

    getSelectedTableViewer().addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            removeFromSelection();
        }
    });

    return leftComp;
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.AddRepositoryDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    initializeDialogUnits(comp);//  w  w w . j av  a 2 s . com
    GridLayout layout = new GridLayout();
    layout.numColumns = 3;
    layout.marginTop = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);

    comp.setLayout(layout);
    GridData data = new GridData();
    comp.setLayoutData(data);

    // Name: []
    nickname = createNameField(comp);

    Button localButton = new Button(comp, SWT.PUSH);
    localButton.setText(ProvUIMessages.RepositoryGroup_LocalRepoBrowseButton);
    localButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.APPLICATION_MODAL);
            dialog.setMessage(ProvUIMessages.RepositoryGroup_SelectRepositoryDirectory);
            dialog.setFilterPath(lastLocalLocation);
            String path = dialog.open();
            if (path != null) {
                lastLocalLocation = path;
                url.setText(makeLocalURIString(path));
                validateRepositoryURL(false);
            }
        }
    });
    setButtonLayoutData(localButton);

    // Location: []
    url = createLocationField(comp);

    Button archiveButton = new Button(comp, SWT.PUSH);
    archiveButton.setText(ProvUIMessages.RepositoryGroup_ArchivedRepoBrowseButton);
    archiveButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            FileDialog dialog = new FileDialog(getShell(), SWT.APPLICATION_MODAL);
            dialog.setText(ProvUIMessages.RepositoryGroup_RepositoryFile);
            dialog.setFilterExtensions(ARCHIVE_EXTENSIONS);
            dialog.setFileName(lastArchiveLocation);
            String path = dialog.open();
            if (path != null) {
                lastArchiveLocation = path;
                url.setText(makeLocalURIString(path));
                validateRepositoryURL(false);
            }
        }
    });
    setButtonLayoutData(archiveButton);
    comp.setTabList(new Control[] { nickname, url, localButton, archiveButton });
    Dialog.applyDialogFont(comp);
    return comp;
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.AvailableIUsPage.java

License:Open Source License

public void createControl(Composite parent) {
    initializeDialogUnits(parent);//from w  w  w .ja v  a 2  s  .  c om
    this.display = parent.getDisplay();

    Composite composite = new Composite(parent, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    composite.setLayoutData(gd);
    setDropTarget(composite);

    GridLayout layout = new GridLayout();
    layout.marginWidth = 0;

    composite.setLayout(layout);
    // Repo manipulation 
    createRepoArea(composite);

    sashForm = new SashForm(composite, SWT.VERTICAL);
    FillLayout fill = new FillLayout();
    sashForm.setLayout(fill);
    GridData data = new GridData(GridData.FILL_BOTH);
    sashForm.setLayoutData(data);

    Composite aboveSash = new Composite(sashForm, SWT.NONE);
    GridLayout grid = new GridLayout();
    grid.marginWidth = 0;
    grid.marginHeight = 0;
    aboveSash.setLayout(grid);

    // Now the available group 
    // If repositories are visible, we want to default to showing no repos.  Otherwise all.
    int filterConstant = AvailableIUGroup.AVAILABLE_NONE;
    if (!getPolicy().getRepositoriesVisible())
        filterConstant = AvailableIUGroup.AVAILABLE_ALL;
    nameColumn = new IUColumnConfig(ProvUIMessages.ProvUI_NameColumnTitle, IUColumnConfig.COLUMN_NAME,
            ILayoutConstants.DEFAULT_PRIMARY_COLUMN_WIDTH + 15);
    versionColumn = new IUColumnConfig(ProvUIMessages.ProvUI_VersionColumnTitle, IUColumnConfig.COLUMN_VERSION,
            ILayoutConstants.DEFAULT_COLUMN_WIDTH);

    getColumnWidthsFromSettings();
    availableIUGroup = new AvailableIUGroup(getProvisioningUI(), aboveSash, JFaceResources.getDialogFont(),
            queryContext, new IUColumnConfig[] { nameColumn, versionColumn }, filterConstant);

    // Selection listeners must be registered on both the normal selection
    // events and the check mark events.  Must be done after buttons 
    // are created so that the buttons can register and receive their selection notifications before us.
    availableIUGroup.getStructuredViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateDetails();
            iuDetailsGroup.enablePropertyLink(availableIUGroup.getSelectedIUElements().length == 1);
        }
    });

    availableIUGroup.getCheckboxTreeViewer().addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            updateSelection();
        }
    });

    addViewerProvisioningListeners();

    availableIUGroup.setUseBoldFontForFilteredItems(
            queryContext.getViewType() != IUViewQueryContext.AVAILABLE_VIEW_FLAT);
    setDropTarget(availableIUGroup.getStructuredViewer().getControl());
    activateCopy(availableIUGroup.getStructuredViewer().getControl());

    // select buttons
    createSelectButtons(aboveSash);

    // Details area
    iuDetailsGroup = new IUDetailsGroup(sashForm, availableIUGroup.getStructuredViewer(), SWT.DEFAULT, true);

    sashForm.setWeights(getSashWeights());

    // Controls for filtering/presentation/site selection
    Composite controlsComposite = new Composite(composite, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    layout.numColumns = 2;
    layout.makeColumnsEqualWidth = true;
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    controlsComposite.setLayout(layout);
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    controlsComposite.setLayoutData(gd);

    createViewControlsArea(controlsComposite);

    initializeWidgetState();
    setControl(composite);
    composite.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            removeProvisioningListeners();
        }

    });
    Dialog.applyDialogFont(composite);
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.IUDetailsGroup.java

License:Open Source License

/**
 * Creates the group composite that holds the details area
 * @param parent The parent composite//from   www .  j a v a  2s . co  m
 */
void createGroupComposite(Composite parent) {
    Group detailsComposite = new Group(parent, SWT.NONE);
    GC gc = new GC(parent);
    gc.setFont(JFaceResources.getDialogFont());
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.dispose();

    detailsComposite.setText(ProvUIMessages.ProfileModificationWizardPage_DetailsLabel);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    detailsComposite.setLayout(layout);
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    detailsComposite.setLayoutData(gd);

    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.verticalIndent = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.VERTICAL_SPACING);
    gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics,
            ILayoutConstants.DEFAULT_DESCRIPTION_HEIGHT);
    gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics,
            ILayoutConstants.MINIMUM_DESCRIPTION_HEIGHT);
    gd.widthHint = widthHint;
    if (scrollable)
        detailsArea = new Text(detailsComposite, SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL);
    else
        detailsArea = new Text(detailsComposite, SWT.WRAP | SWT.READ_ONLY);
    detailsArea.setLayoutData(gd);

    gd = new GridData(SWT.END, SWT.BOTTOM, true, false);
    gd.horizontalIndent = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.HORIZONTAL_MARGIN);
    propLink = createLink(detailsComposite,
            new PropertyDialogAction(new SameShellProvider(parent.getShell()), selectionProvider),
            ProvUIMessages.AvailableIUsPage_GotoProperties);
    propLink.setLayoutData(gd);

    // set the initial state based on selection
    propLink.setVisible(!selectionProvider.getSelection().isEmpty());

}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.RepositoryNameAndLocationDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    initializeDialogUnits(comp);//from  w  ww  . j  a  va2  s . co  m
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginTop = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);

    nickname = createNameField(comp);
    url = createLocationField(comp);

    comp.setLayout(layout);
    GridData data = new GridData();
    comp.setLayoutData(data);

    Dialog.applyDialogFont(comp);
    return comp;
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.RepositorySelectionGroup.java

License:Open Source License

protected void createControl(Composite parent) {
    final RepositoryTracker tracker = ui.getRepositoryTracker();
    // Get the possible field error indicators
    info = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION)
            .getImage();//  w  w  w . ja v  a 2s .co  m
    warning = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_WARNING)
            .getImage();
    error = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR)
            .getImage();

    // Combo that filters sites
    Composite comboComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginTop = 0;
    layout.marginBottom = IDialogConstants.VERTICAL_SPACING;
    layout.numColumns = 3;
    comboComposite.setLayout(layout);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    comboComposite.setLayoutData(gd);
    comboComposite.setFont(parent.getFont());

    Label label = new Label(comboComposite, SWT.NONE);
    label.setText(ProvUIMessages.AvailableIUsPage_RepoFilterLabel);
    label.setFont(comboComposite.getFont());

    repoCombo = new Combo(comboComposite, SWT.DROP_DOWN);
    repoCombo.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
            repoComboSelectionChanged();
        }

        public void widgetSelected(SelectionEvent e) {
            repoComboSelectionChanged();
        }

    });
    // Auto complete - install before our own key listeners, so that auto complete gets first shot.
    repoAutoComplete = new ComboAutoCompleteField(repoCombo);
    repoCombo.setVisibleItemCount(COUNT_VISIBLE_ITEMS);
    repoCombo.addKeyListener(new KeyAdapter() {

        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR)
                addRepository(false);
        }
    });

    // We don't ever want this to be interpreted as a default
    // button event
    repoCombo.addTraverseListener(new TraverseListener() {
        public void keyTraversed(TraverseEvent e) {
            if (e.detail == SWT.TRAVERSE_RETURN) {
                e.doit = false;
            }
        }
    });

    gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
    // breathing room for info dec
    gd.horizontalIndent = DEC_MARGIN_WIDTH * 2;
    repoCombo.setLayoutData(gd);
    repoCombo.setFont(comboComposite.getFont());
    repoCombo.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent event) {
            URI location = null;
            IStatus status = null;
            String text = repoCombo.getText().trim();
            int index = getComboIndex(text);
            // only validate text that doesn't match existing text in combo
            if (index < 0) {
                location = tracker.locationFromString(repoCombo.getText());
                if (location == null) {
                    status = tracker.getInvalidLocationStatus(repoCombo.getText());
                } else {
                    status = tracker.validateRepositoryLocation(ui.getSession(), location, false,
                            new NullProgressMonitor());
                }
            } else {
                // user typed or pasted an existing location.  Select it.
                repoComboSelectionChanged();
            }
            setRepoComboDecoration(status);
        }
    });

    repoDec = new ControlDecoration(repoCombo, SWT.LEFT | SWT.TOP);
    repoDec.setMarginWidth(DEC_MARGIN_WIDTH);

    DropTarget target = new DropTarget(repoCombo, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    target.setTransfer(new Transfer[] { URLTransfer.getInstance(), FileTransfer.getInstance() });
    target.addDropListener(new URLDropAdapter(true) {
        /* (non-Javadoc)
         * @see org.eclipse.equinox.internal.provisional.p2.ui.dialogs.URLDropAdapter#handleURLString(java.lang.String, org.eclipse.swt.dnd.DropTargetEvent)
         */
        protected void handleDrop(String urlText, DropTargetEvent event) {
            repoCombo.setText(urlText);
            event.detail = DND.DROP_LINK;
            addRepository(false);
        }
    });

    Button button = new Button(comboComposite, SWT.PUSH);
    button.setText(ProvUIMessages.AvailableIUsPage_AddButton);
    button.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
            addRepository(true);
        }

        public void widgetSelected(SelectionEvent e) {
            addRepository(true);
        }
    });
    setButtonLayoutData(button);
    button.setFont(comboComposite.getFont());

    // Link to repository manipulator
    repoManipulatorLink = createLink(comboComposite, new Action() {
        public void runWithEvent(Event event) {
            if (repositoryManipulationHook != null)
                repositoryManipulationHook.preManipulateRepositories();
            ui.manipulateRepositories(repoCombo.getShell());
            if (repositoryManipulationHook != null)
                repositoryManipulationHook.postManipulateRepositories();
        }
    }, getLinkLabel());
    gd = new GridData(SWT.END, SWT.FILL, true, false);
    gd.horizontalSpan = 3;
    repoManipulatorLink.setLayoutData(gd);
    repoManipulatorLink.setFont(comboComposite.getFont());

    addComboProvisioningListeners();
    parent.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            removeProvisioningListeners();
        }

    });
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.ResolutionResultsWizardPage.java

License:Open Source License

public void createControl(Composite parent) {
    display = parent.getDisplay();//  w w  w. j  a  va2  s  .  c o  m
    sashForm = new SashForm(parent, SWT.VERTICAL);
    FillLayout layout = new FillLayout();
    sashForm.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    sashForm.setLayoutData(data);
    initializeDialogUnits(sashForm);

    Composite composite = new Composite(sashForm, SWT.NONE);
    GridLayout gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    composite.setLayout(gridLayout);

    treeViewer = createTreeViewer(composite);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT);
    data.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH);
    Tree tree = treeViewer.getTree();
    tree.setLayoutData(data);
    tree.setHeaderVisible(true);
    activateCopy(tree);
    IUColumnConfig[] columns = getColumnConfig();
    for (int i = 0; i < columns.length; i++) {
        TreeColumn tc = new TreeColumn(tree, SWT.LEFT, i);
        tc.setResizable(true);
        tc.setText(columns[i].getColumnTitle());
        tc.setWidth(columns[i].getWidthInPixels(tree));
    }

    // Filters and sorters before establishing content, so we don't refresh unnecessarily.
    IUComparator comparator = new IUComparator(IUComparator.IU_NAME);
    comparator.useColumnConfig(getColumnConfig());
    treeViewer.setComparator(comparator);
    treeViewer.setComparer(new ProvElementComparer());

    contentProvider = new ProvElementContentProvider();
    treeViewer.setContentProvider(contentProvider);
    labelProvider = new IUDetailsLabelProvider(null, getColumnConfig(), getShell());
    treeViewer.setLabelProvider(labelProvider);

    // Optional area to show the size
    createSizingInfo(composite);

    // The text area shows a description of the selected IU, or error detail if applicable.
    iuDetailsGroup = new IUDetailsGroup(sashForm, treeViewer,
            convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH), true);

    setControl(sashForm);
    sashForm.setWeights(getSashWeights());
    Dialog.applyDialogFont(sashForm);

    // Controls for filtering/presentation/site selection
    Composite controlsComposite = new Composite(composite, SWT.NONE);
    gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    gridLayout.numColumns = 2;
    gridLayout.makeColumnsEqualWidth = true;
    gridLayout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    controlsComposite.setLayout(layout);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    controlsComposite.setLayoutData(gd);

    createViewControlsArea(controlsComposite);

    final Runnable runnable = new Runnable() {
        public void run() {
            treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
                public void selectionChanged(SelectionChangedEvent event) {
                    setDetailText(resolvedOperation);
                }
            });
            setDrilldownElements(input, resolvedOperation);
            treeViewer.setInput(input);
        }
    };

    if (resolvedOperation != null && !resolvedOperation.hasResolved()) {
        try {
            getContainer().run(true, false, new IRunnableWithProgress() {
                public void run(IProgressMonitor monitor) {
                    resolvedOperation.resolveModal(monitor);
                    display.asyncExec(runnable);
                }
            });
        } catch (Exception e) {
            StatusManager.getManager()
                    .handle(new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, e.getMessage(), e));
        }
    } else {
        runnable.run();
    }
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.SelectableIUsPage.java

License:Open Source License

public void createControl(Composite parent) {
    display = parent.getDisplay();/*from   w ww .j  ava  2 s . com*/
    sashForm = new SashForm(parent, SWT.VERTICAL);
    FillLayout layout = new FillLayout();
    sashForm.setLayout(layout);
    GridData data = new GridData(GridData.FILL_BOTH);
    sashForm.setLayoutData(data);
    initializeDialogUnits(sashForm);

    Composite composite = new Composite(sashForm, SWT.NONE);
    GridLayout gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    composite.setLayout(gridLayout);

    tableViewer = createTableViewer(composite);
    data = new GridData(GridData.FILL_BOTH);
    data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT);
    data.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH);
    Table table = tableViewer.getTable();
    table.setLayoutData(data);
    table.setHeaderVisible(true);
    activateCopy(table);
    IUColumnConfig[] columns = getColumnConfig();
    for (int i = 0; i < columns.length; i++) {
        TableColumn tc = new TableColumn(table, SWT.LEFT, i);
        tc.setResizable(true);
        tc.setText(columns[i].getColumnTitle());
        tc.setWidth(columns[i].getWidthInPixels(table));
    }

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            setDetailText(resolvedOperation);
        }
    });

    tableViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            // If the checkEvent is on a locked update element, uncheck it and select it.
            if (event.getElement() instanceof AvailableUpdateElement) {
                AvailableUpdateElement checkedElement = (AvailableUpdateElement) event.getElement();
                if (checkedElement.isLockedForUpdate()) {
                    event.getCheckable().setChecked(checkedElement, false);
                    // Select the element so that the locked description is displayed
                    CheckboxTableViewer viewer = ((CheckboxTableViewer) event.getSource());
                    int itemCount = viewer.getTable().getItemCount();
                    for (int i = 0; i < itemCount; i++) {
                        if (viewer.getElementAt(i).equals(checkedElement)) {
                            viewer.getTable().deselectAll();
                            viewer.getTable().select(i);
                            setDetailText(resolvedOperation);
                            break;
                        }
                    }
                }
            }
            updateSelection();
        }
    });

    // Filters and sorters before establishing content, so we don't refresh unnecessarily.
    IUComparator comparator = new IUComparator(IUComparator.IU_NAME);
    comparator.useColumnConfig(ProvUI.getIUColumnConfig());
    tableViewer.setComparator(comparator);
    tableViewer.setComparer(new ProvElementComparer());

    contentProvider = new ProvElementContentProvider();
    tableViewer.setContentProvider(contentProvider);
    labelProvider = new IUDetailsLabelProvider(null, ProvUI.getIUColumnConfig(), getShell());
    tableViewer.setLabelProvider(labelProvider);
    tableViewer.setInput(root);
    setInitialCheckState();

    // Select and Deselect All buttons
    createSelectButtons(composite);

    // Controls for filtering/presentation/site selection
    Composite controlsComposite = new Composite(composite, SWT.NONE);
    gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    gridLayout.numColumns = 2;
    gridLayout.makeColumnsEqualWidth = true;
    gridLayout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    controlsComposite.setLayout(layout);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    controlsComposite.setLayoutData(gd);

    createViewControlsArea(controlsComposite);

    // The text area shows a description of the selected IU, or error detail if applicable.
    iuDetailsGroup = new IUDetailsGroup(sashForm, tableViewer,
            convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH), true);

    updateStatus(root, resolvedOperation);
    setControl(sashForm);
    sashForm.setWeights(getSashWeights());
    Dialog.applyDialogFont(sashForm);
}

From source file:org.eclipse.equinox.p2.ui.RepositoryManipulationPage.java

License:Open Source License

protected Control createContents(Composite parent) {
    display = parent.getDisplay();/*  w  ww.  j a v  a2s . com*/
    // The help refers to the full-blown dialog.  No help if it's read only.
    if (policy.getRepositoriesVisible())
        PlatformUI.getWorkbench().getHelpSystem().setHelp(parent.getShell(),
                IProvHelpContextIds.REPOSITORY_MANIPULATION_DIALOG);

    Composite composite = new Composite(parent, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    composite.setLayoutData(gd);

    GridLayout layout = new GridLayout();
    layout.numColumns = policy.getRepositoriesVisible() ? 2 : 1;
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    composite.setLayout(layout);

    // Filter box
    pattern = new Text(composite, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.CANCEL);
    pattern.getAccessible().addAccessibleListener(new AccessibleAdapter() {
        public void getName(AccessibleEvent e) {
            e.result = DEFAULT_FILTER_TEXT;
        }
    });
    pattern.setText(DEFAULT_FILTER_TEXT);
    pattern.selectAll();
    pattern.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            applyFilter();
        }
    });

    pattern.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.ARROW_DOWN) {
                if (table.getItemCount() > 0) {
                    table.setFocus();
                } else if (e.character == SWT.CR) {
                    return;
                }
            }
        }
    });

    pattern.addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            display.asyncExec(new Runnable() {
                public void run() {
                    if (!pattern.isDisposed()) {
                        if (DEFAULT_FILTER_TEXT.equals(pattern.getText().trim())) {
                            pattern.selectAll();
                        }
                    }
                }
            });
        }
    });
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    pattern.setLayoutData(gd);

    // spacer to fill other column
    if (policy.getRepositoriesVisible())
        new Label(composite, SWT.NONE);

    // Table of available repositories
    table = new Table(composite,
            SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    repositoryViewer = new CheckboxTableViewer(table);

    // Key listener for delete
    table.addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.DEL) {
                removeRepositories();
            }
        }
    });
    setTableColumns();
    CopyUtils.activateCopy(this, table);

    repositoryViewer.setComparer(new ProvElementComparer());
    comparator = new MetadataRepositoryElementComparator(RepositoryDetailsLabelProvider.COL_NAME);
    repositoryViewer.setComparator(comparator);
    filter = new MetadataRepositoryPatternFilter();
    repositoryViewer.setFilters(new ViewerFilter[] { filter });
    // We don't need a deferred content provider because we are caching local results before
    // actually querying
    repositoryViewer.setContentProvider(new ProvElementContentProvider());
    labelProvider = new RepositoryDetailsLabelProvider();
    repositoryViewer.setLabelProvider(labelProvider);

    // Edit the nickname
    repositoryViewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return element instanceof MetadataRepositoryElement;
        }

        public Object getValue(Object element, String property) {
            return ((MetadataRepositoryElement) element).getName();
        }

        public void modify(Object element, String property, Object value) {
            if (value != null && value.toString().length() >= 0) {
                MetadataRepositoryElement repo;
                if (element instanceof Item) {
                    repo = (MetadataRepositoryElement) ((Item) element).getData();
                } else if (element instanceof MetadataRepositoryElement) {
                    repo = (MetadataRepositoryElement) element;
                } else {
                    return;
                }
                if (!value.toString().equals(repo.getName())) {
                    changed = true;
                    repo.setNickname(value.toString());
                    if (comparator.getSortKey() == RepositoryDetailsLabelProvider.COL_NAME)
                        repositoryViewer.refresh(true);
                    else
                        repositoryViewer.update(repo, null);
                }
            }
        }

    });
    repositoryViewer.setColumnProperties(new String[] { "nickname" }); //$NON-NLS-1$
    repositoryViewer.setCellEditors(new CellEditor[] { new TextCellEditor(repositoryViewer.getTable()) });

    repositoryViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (policy.getRepositoriesVisible())
                validateButtons();
            setDetails();
        }
    });

    repositoryViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            return ((MetadataRepositoryElement) element).isEnabled();
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });

    repositoryViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            MetadataRepositoryElement element = (MetadataRepositoryElement) event.getElement();
            element.setEnabled(event.getChecked());
            // paranoid that an equal but not identical element was passed in as the selection.
            // update the cache map just in case.
            getInput().put(element);
            // update the viewer to show the change
            updateForEnablementChange(new MetadataRepositoryElement[] { element });
        }
    });

    // Input last
    repositoryViewer.setInput(getInput());

    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH);
    data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT);
    table.setLayoutData(data);

    // Drop targets and vertical buttons only if repository manipulation is provided.
    if (policy.getRepositoriesVisible()) {
        DropTarget target = new DropTarget(table, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
        target.setTransfer(new Transfer[] { URLTransfer.getInstance(), FileTransfer.getInstance() });
        target.addDropListener(new RepositoryManipulatorDropTarget(ui, table));

        // Vertical buttons
        Composite verticalButtonBar = createVerticalButtonBar(composite);
        data = new GridData(SWT.FILL, SWT.FILL, false, false);
        data.verticalAlignment = SWT.TOP;
        data.verticalIndent = 0;
        verticalButtonBar.setLayoutData(data);
        listener = getViewerProvisioningListener();

        ProvUI.getProvisioningEventBus(ui.getSession()).addListener(listener);
        composite.addDisposeListener(new DisposeListener() {
            public void widgetDisposed(DisposeEvent event) {
                ProvUI.getProvisioningEventBus(ui.getSession()).removeListener(listener);
            }
        });

        validateButtons();
    }

    // Details area
    details = new Text(composite, SWT.READ_ONLY | SWT.WRAP);
    data = new GridData(SWT.FILL, SWT.FILL, true, false);
    data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_SITEDETAILS_HEIGHT);

    details.setLayoutData(data);

    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:org.eclipse.gmf.internal.graphdef.codegen.ui.FigureGeneratorOptionsDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    Composite result = (Composite) super.createDialogArea(parent);
    GridLayout layout = new GridLayout();
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    result.setLayout(layout);//from  w w  w .  ja va  2 s . c om
    createControls(result);
    setTitle("Generator Model Options");
    warnLiteVerstionDoesNotSupportMapMode();
    Dialog.applyDialogFont(result);
    return result;
}