Example usage for org.eclipse.jface.viewers IStructuredSelection toArray

List of usage examples for org.eclipse.jface.viewers IStructuredSelection toArray

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IStructuredSelection toArray.

Prototype

public Object[] toArray();

Source Link

Document

Returns the elements in this selection as an array.

Usage

From source file:com.siteview.mde.internal.ui.editor.schema.SchemaStringAttributeDetails.java

License:Open Source License

public void hookListeners() {
    super.hookListeners();
    fTransTrue.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (blockListeners())
                return;
            getAttribute().setTranslatableProperty(fTransTrue.getSelection());
        }/*from  w  ww.ja  v a 2s  .c o m*/
    });
    fAddRestriction.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (blockListeners())
                return;
            NewRestrictionDialog dialog = new NewRestrictionDialog(getPage().getSite().getShell());
            if (dialog.open() != Window.OK)
                return;
            String text = dialog.getNewRestriction();
            if (text != null && text.length() > 0) {
                ISchemaSimpleType type = getAttribute().getType();
                ChoiceRestriction res = (ChoiceRestriction) type.getRestriction();
                Vector vres = new Vector();
                if (res != null) {
                    Object[] currRes = res.getChildren();
                    for (int i = 0; i < currRes.length; i++) {
                        vres.add(currRes[i]);
                    }
                }
                vres.add(new SchemaEnumeration(getAttribute().getSchema(), text));
                if (res == null)
                    res = new ChoiceRestriction(getAttribute().getSchema());
                res.setChildren(vres);
                if (type instanceof SchemaSimpleType)
                    ((SchemaSimpleType) type).setRestriction(res);
                fRestrictionsTable.refresh();
            }
        }
    });
    fRemoveRestriction.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (blockListeners())
                return;
            ISelection selection = fRestrictionsTable.getSelection();
            if (selection.isEmpty())
                return;
            if (!(selection instanceof IStructuredSelection))
                return;
            IStructuredSelection sselection = (IStructuredSelection) selection;
            Object[] aselection = sselection.toArray();
            ISchemaSimpleType type = getAttribute().getType();
            ChoiceRestriction res = (ChoiceRestriction) type.getRestriction();
            Vector vres = new Vector();
            if (res != null) {
                Object[] currRes = res.getChildren();
                for (int i = 0; i < currRes.length; i++) {
                    boolean stays = true;
                    for (int j = 0; j < aselection.length; j++) {
                        if (currRes[i].equals(aselection[j]))
                            stays = false;
                    }
                    if (stays)
                        vres.add(currRes[i]);
                }
                res.setChildren(vres);
                if (type instanceof SchemaSimpleType) {
                    if (vres.size() == 0)
                        ((SchemaSimpleType) type).setRestriction(null);
                    else
                        ((SchemaSimpleType) type).setRestriction(res);
                }
                fRestrictionsTable.refresh();
            }
        }
    });
    fRestrictionsTable.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (blockListeners())
                return;
            fRemoveRestriction
                    .setEnabled(getAttribute().getSchema().isEditable() && !event.getSelection().isEmpty());
        }
    });
}

From source file:com.siteview.mde.internal.ui.editor.site.CategorySection.java

License:Open Source License

public void createClient(Section section, FormToolkit toolkit) {
    fModel = (ISiteModel) getPage().getModel();
    fModel.addModelChangedListener(this);

    Composite container = createClientContainer(section, 2, toolkit);
    createViewerPartControl(container, SWT.MULTI, 2, toolkit);
    fCategoryTreePart = getTreePart();/*w w  w .jav  a 2 s.c om*/
    fCategoryViewer = fCategoryTreePart.getTreeViewer();
    fCategoryViewer.setContentProvider(new CategoryContentProvider());
    fSiteLabelProvider = new SiteLabelProvider();
    fCategoryViewer.setLabelProvider(fSiteLabelProvider);

    fCategoryViewer.setInput(fModel.getSite());
    int ops = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_DEFAULT;
    Transfer[] transfers = new Transfer[] { ModelDataTransfer.getInstance() };
    if (isEditable()) {
        fCategoryViewer.addDropSupport(ops, transfers, new ViewerDropAdapter(fCategoryViewer) {
            public void dragEnter(DropTargetEvent event) {
                Object target = determineTarget(event);
                if (target == null && event.detail == DND.DROP_COPY) {
                    event.detail = DND.DROP_MOVE;
                }
                super.dragEnter(event);
            }

            /*
             * (non-Javadoc)
             * 
             * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
             */
            public void dragOperationChanged(DropTargetEvent event) {
                Object target = determineTarget(event);
                if (target == null && event.detail == DND.DROP_COPY) {
                    event.detail = DND.DROP_MOVE;
                }
                super.dragOperationChanged(event);
            }

            /*
             * (non-Javadoc)
             * 
             * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent)
             */
            public void dragOver(DropTargetEvent event) {
                Object target = determineTarget(event);
                if (target == null && event.detail == DND.DROP_COPY) {
                    event.detail = DND.DROP_MOVE;
                }
                super.dragOver(event);
            }

            /**
             * Returns the position of the given event's coordinates
             * relative to its target. The position is determined to
             * be before, after, or on the item, based on some
             * threshold value.
             * 
             * @param event
             *            the event
             * @return one of the <code>LOCATION_* </code>
             *         constants defined in this class
             */
            protected int determineLocation(DropTargetEvent event) {
                if (!(event.item instanceof Item)) {
                    return LOCATION_NONE;
                }
                Item item = (Item) event.item;
                Point coordinates = new Point(event.x, event.y);
                coordinates = getViewer().getControl().toControl(coordinates);
                if (item != null) {
                    Rectangle bounds = getBounds(item);
                    if (bounds == null) {
                        return LOCATION_NONE;
                    }
                }
                return LOCATION_ON;
            }

            public boolean performDrop(Object data) {
                if (!(data instanceof Object[]))
                    return false;
                Object target = getCurrentTarget();

                int op = getCurrentOperation();
                Object[] objects = (Object[]) data;
                if (objects.length > 0 && objects[0] instanceof SiteFeatureAdapter) {
                    if (op == DND.DROP_COPY && target != null) {
                        copyFeature((SiteFeatureAdapter) objects[0], target);
                    } else {
                        moveFeature((SiteFeatureAdapter) objects[0], target);
                    }
                    return true;
                }
                return false;
            }

            public boolean validateDrop(Object target, int operation, TransferData transferType) {
                return (target instanceof ISiteCategoryDefinition || target == null);
            }

        });
    }

    fCategoryViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, transfers, new DragSourceListener() {
        public void dragStart(DragSourceEvent event) {
            IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection();
            if (ssel == null || ssel.isEmpty() || !(ssel.getFirstElement() instanceof SiteFeatureAdapter)) {
                event.doit = false;
            }
        }

        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection();
            event.data = ssel.toArray();
        }

        public void dragFinished(DragSourceEvent event) {
        }
    });

    fCategoryTreePart.setButtonEnabled(BUTTON_ADD_CATEGORY, isEditable());
    fCategoryTreePart.setButtonEnabled(BUTTON_ADD_FEATURE, isEditable());
    fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_FEATURE, isEditable());
    fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_ALL, isEditable());

    // fCategoryViewer.expandAll();
    toolkit.paintBordersFor(container);
    section.setClient(container);
    initialize();
}

From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardLocalePage.java

License:Open Source License

private void handleAdd() {
    IStructuredSelection ssel = (IStructuredSelection) fAvailableListViewer.getSelection();
    if (ssel.size() > 0) {
        Table table = fAvailableListViewer.getTable();
        int index = table.getSelectionIndices()[0];
        Object[] selection = ssel.toArray();
        setBlockSelectionListeners(true);
        setRedraw(false);// w w  w  .  j av a 2s.com
        for (int i = 0; i < selection.length; i++) {
            doAdd(selection[i]);
        }
        setRedraw(true);
        setBlockSelectionListeners(false);
        table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
        pageChanged(true, false);
    }
}

From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardLocalePage.java

License:Open Source License

private void handleRemove() {
    IStructuredSelection ssel = (IStructuredSelection) fSelectedListViewer.getSelection();
    if (ssel.size() > 0) {
        Table table = fSelectedListViewer.getTable();
        int index = table.getSelectionIndices()[0];
        Object[] selection = ssel.toArray();
        setBlockSelectionListeners(true);
        setRedraw(false);/*ww w.  jav a 2  s .  com*/
        for (int i = 0; i < selection.length; i++) {
            doRemove(selection[i]);
        }
        setRedraw(true);
        setBlockSelectionListeners(false);
        table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
        pageChanged(false, true);
    }
}

From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardPluginPage.java

License:Open Source License

private void handleAdd() {
    IStructuredSelection ssel = (IStructuredSelection) fAvailableViewer.getSelection();
    if (ssel.size() > 0) {
        Table table = fAvailableViewer.getTable();
        int index = table.getSelectionIndices()[0];
        Object[] selection = ssel.toArray();
        setBlockSelectionListeners(true);
        setRedraw(false);/*from w w  w . j a  v a2 s.c  o m*/
        for (int i = 0; i < selection.length; i++) {
            doAdd(selection[i]);
        }
        setRedraw(true);
        setBlockSelectionListeners(false);
        table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
        pageChanged(true, false);
    }
}

From source file:com.siteview.mde.internal.ui.nls.InternationalizeWizardPluginPage.java

License:Open Source License

private void handleRemove() {
    IStructuredSelection ssel = (IStructuredSelection) fSelectedViewer.getSelection();
    if (ssel.size() > 0) {
        Table table = fSelectedViewer.getTable();
        int index = table.getSelectionIndices()[0];
        Object[] selection = ssel.toArray();
        setBlockSelectionListeners(true);
        setRedraw(false);/*from w w w.ja  v  a2  s. c  o  m*/
        for (int i = 0; i < selection.length; i++) {
            doRemove(selection[i]);
        }
        setRedraw(true);
        setBlockSelectionListeners(false);
        table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
        pageChanged(false, true);
    }
}

From source file:com.siteview.mde.internal.ui.views.plugins.PluginsView.java

License:Open Source License

private void handleSelectDependencies() {
    IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection();
    if (selection.size() == 0)
        return;/*from   www  . j  ava 2 s.  co  m*/

    IMonitorModelBase[] models = new IMonitorModelBase[selection.size()];
    System.arraycopy(selection.toArray(), 0, models, 0, selection.size());
    // exclude "org.eclipse.ui.workbench.compatibility" - it is only needed for pre-3.0 bundles
    Set set = DependencyManager.getSelfandDependencies(models,
            new String[] { "org.eclipse.ui.workbench.compatibility" }); //$NON-NLS-1$
    Object[] symbolicNames = set.toArray();
    ArrayList result = new ArrayList(set.size());
    for (int i = 0; i < symbolicNames.length; i++) {
        IMonitorModelBase model = MonitorRegistry.findModel(symbolicNames[i].toString());
        if (model != null)
            result.add(model);
    }
    fTreeViewer.setSelection(new StructuredSelection(result.toArray()));
}

From source file:com.smartmonkey.recrep.SMonkeyViewer.java

License:Apache License

/**
 * Create contents of the application window.
 * /*w w w . j a v  a2 s.  c o  m*/
 * @param parent
 */
@Override
protected Control createContents(Composite parent) {
    parent.setLayout(new FillLayout());
    SashForm baseSash = new SashForm(parent, SWT.HORIZONTAL | SWT.NONE);
    // draw the canvas with border, so the divider area for sash form can be
    // highlighted
    SashForm leftSash = new SashForm(baseSash, SWT.VERTICAL);
    mScreenshotCanvas = new Canvas(leftSash, SWT.BORDER | SWT.NO_REDRAW_RESIZE);
    mScreenshotCanvas.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            if (e.button == 3) // Right Click
            {
                SMonkeyModel.getModel().toggleExploreMode();
            } else if (e.button == 1) // Left Click
            {
                SMonkeyModel.getModel().touch();
            }
        }
    });

    mScreenshotCanvas.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    mScreenshotCanvas.addPaintListener(new PaintListener() {
        @Override
        public void paintControl(PaintEvent e) {
            Image image = SMonkeyModel.getModel().getScreenshot();
            if (image != null) {
                updateScreenshotTransformation();
                // shifting the image here, so that there's a border around
                // screen shot
                // this makes highlighting red rectangles on the screen shot
                // edges more visible
                Transform t = new Transform(e.gc.getDevice());
                t.translate(mDx, mDy);
                t.scale(mScale, mScale);
                e.gc.setTransform(t);
                e.gc.drawImage(image, 0, 0);
                // this resets the transformation to identity transform,
                // i.e. no change
                // we don't use transformation here because it will cause
                // the line pattern
                // and line width of highlight rect to be scaled, causing to
                // appear to be blurry
                e.gc.setTransform(null);
                if (SMonkeyModel.getModel().shouldShowNafNodes()) {
                    // highlight the "Not Accessibility Friendly" nodes
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    e.gc.setBackground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    for (Rectangle r : SMonkeyModel.getModel().getNafNodes()) {
                        e.gc.setAlpha(50);
                        e.gc.fillRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                        e.gc.setAlpha(255);
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                        e.gc.drawRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                    }
                }
                // draw the mouseover rects
                Rectangle rect = SMonkeyModel.getModel().getCurrentDrawingRect();
                if (rect != null) {
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_RED));
                    if (SMonkeyModel.getModel().isExploreMode()) {
                        // when we highlight nodes dynamically on mouse
                        // move,
                        // use dashed borders
                        e.gc.setLineStyle(SWT.LINE_DASH);
                        e.gc.setLineWidth(1);
                    } else {
                        // when highlighting nodes on tree node selection,
                        // use solid borders
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                    }
                    e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y),
                            getScaledSize(rect.width), getScaledSize(rect.height));
                }
            }
        }
    });
    mScreenshotCanvas.addMouseMoveListener(new MouseMoveListener() {
        @Override
        public void mouseMove(MouseEvent e) {
            if (SMonkeyModel.getModel().isExploreMode()) {
                SMonkeyModel.getModel().updateSelectionForCoordinates(getInverseScaledSize(e.x - mDx),
                        getInverseScaledSize(e.y - mDy));
            }
        }
    });

    // Lower Left Base contains the physical buttons on the phone
    SashForm lowerLeftBase = new SashForm(leftSash, SWT.HORIZONTAL);

    Composite buttonComposite = new Composite(lowerLeftBase, SWT.BORDER);
    ToolBarManager physicalButtonToolbarManager = new ToolBarManager();
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/back_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.BACK);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/menu_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.MENU);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/home_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.HOME);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/noop.png");
        }

        public void run() {
            SMonkeyModel.getModel().noop();
        }
    });
    physicalButtonToolbarManager.add(mFBLoginAction);

    physicalButtonToolbarManager.createControl(buttonComposite);

    Composite textComposite = new Composite(lowerLeftBase, SWT.BORDER);
    mText = new Text(textComposite, SWT.SINGLE);
    mSendTextButton = new Button(textComposite, SWT.PUSH);
    mSendTextButton.setText("Send\nText");
    mSendTextButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            SMonkeyModel.getModel().sendText(mText.getText());
        }
    });
    textComposite.setLayout(new FillLayout());

    leftSash.setWeights(new int[] { 6, 1 });

    // middle sash contains the list of events, which are highlighted as
    // they happen.
    // TODO: Add a fast forward button to perform the next event, skipping
    // the wait
    SashForm middleSash = new SashForm(baseSash, SWT.VERTICAL);

    ToolBarManager replayToolbarManager = new ToolBarManager(SWT.FLAT);
    replayToolbarManager.add(mClearRecordingAction);
    replayToolbarManager.add(mOpenRecordFileAction);
    replayToolbarManager.add(mSaveRecordFileAction);
    replayToolbarManager.add(mToggleAutoRefreshAction);
    replayToolbarManager.add(mReplayAction);

    replayToolbarManager.createControl(middleSash);

    chimpEventTableViewer = new TableViewer(middleSash,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    chimpEventTableViewer.getTable().setMenu(new Menu(chimpEventTableViewer.getTable()));

    TableViewerColumn waitColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    waitColumn.getColumn().setText("Wait time");
    waitColumn.getColumn().setWidth(100);
    waitColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getWait();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn typeColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    typeColumn.getColumn().setText("Type");
    typeColumn.getColumn().setWidth(100);
    typeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getType();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn miscColumn = new TableViewerColumn(getChimpEventTableViewer(), SWT.NONE);
    miscColumn.getColumn().setText("Misc");
    miscColumn.getColumn().setWidth(100);
    miscColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getMisc();
            }
            return super.getText(element);
        }
    });
    chimpEventTableViewer.getTable().setLinesVisible(true);
    chimpEventTableViewer.getTable().setHeaderVisible(true);
    chimpEventTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    chimpEventTableViewer.setInput(SMonkeyModel.getModel().getLog());

    middleSash.setWeights(new int[] { 1, 20 });

    // right sash is split into 2 parts: upper-right and lower-right
    // both are composites with borders, so that the horizontal divider can
    // be highlighted by
    // the borders
    SashForm rightSash = new SashForm(baseSash, SWT.VERTICAL);

    // upper-right base contains the toolbar and the tree
    Composite upperRightBase = new Composite(rightSash, SWT.BORDER);
    upperRightBase.setLayout(new GridLayout(1, false));
    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    toolBarManager.add(mOpenFilesAction);
    toolBarManager.add(mSaveFilesAction);
    toolBarManager.add(mExpandAllAction);
    toolBarManager.add(mScreenshotAction);
    toolBarManager.add(mToggleNafAction);

    // toolBarManager.add(mClearRecordingAction);
    // toolBarManager.add(mSaveRecordingAction);
    toolBarManager.createControl(upperRightBase);

    // Button b = new Button(upperRightBase.getShell(),SWT.CHECK);
    // b.setText("Auto");

    mTreeViewer = new TreeViewer(upperRightBase, SWT.NONE);
    mTreeViewer.setContentProvider(new BasicTreeNodeContentProvider());
    // default LabelProvider uses toString() to generate text to display
    mTreeViewer.setLabelProvider(new LabelProvider());
    mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                SMonkeyModel.getModel().setSelectedNode(null);
            } else if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object o = selection.toArray()[0];
                if (o instanceof BasicTreeNode) {
                    SMonkeyModel.getModel().setSelectedNode((BasicTreeNode) o);
                }
            }
        }
    });
    Tree tree = mTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    // move focus so that it's not on tool bar (looks weird)
    tree.setFocus();

    // lower-right base contains the detail group
    Composite lowerRightBase = new Composite(rightSash, SWT.BORDER);
    lowerRightBase.setLayout(new FillLayout());
    Group grpNodeDetail = new Group(lowerRightBase, SWT.NONE);
    grpNodeDetail.setLayout(new FillLayout(SWT.HORIZONTAL));
    grpNodeDetail.setText("Node Detail");

    Composite tableContainer = new Composite(grpNodeDetail, SWT.NONE);

    TableColumnLayout columnLayout = new TableColumnLayout();
    tableContainer.setLayout(columnLayout);

    mTableViewer = new TableViewer(tableContainer, SWT.NONE | SWT.FULL_SELECTION);
    Table table = mTableViewer.getTable();
    table.setLinesVisible(true);
    // use ArrayContentProvider here, it assumes the input to the
    // TableViewer
    // is an array, where each element represents a row in the table
    mTableViewer.setContentProvider(ArrayContentProvider.getInstance());

    TableViewerColumn tableViewerColumnKey = new TableViewerColumn(mTableViewer, SWT.NONE);
    TableColumn tblclmnKey = tableViewerColumnKey.getColumn();
    tableViewerColumnKey.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // first column, shows the attribute name
                return ((AttributePair) element).key;
            }
            return super.getText(element);
        }
    });
    columnLayout.setColumnData(tblclmnKey, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true));

    TableViewerColumn tableViewerColumnValue = new TableViewerColumn(mTableViewer, SWT.NONE);
    tableViewerColumnValue.setEditingSupport(new AttributeTableEditingSupport(mTableViewer));
    TableColumn tblclmnValue = tableViewerColumnValue.getColumn();
    columnLayout.setColumnData(tblclmnValue, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
    tableViewerColumnValue.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // second column, shows the attribute value
                return ((AttributePair) element).value;
            }
            return super.getText(element);
        }
    });
    // sets the ratio of the vertical split: left 5 vs middle 3 vs right 3
    baseSash.setWeights(new int[] { 5, 5, 3 });
    return baseSash;
}

From source file:com.sympedia.genfw.ui.internal.actions.GenerateAction.java

License:Open Source License

public static IFile[] getFiles(ISelection selection, String extension) {
    List<IFile> files = new ArrayList<IFile>();
    if (selection != null && selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        for (Object item : ssel.toArray()) {
            IFile file = null;//from   w  w  w.jav  a2  s .c  om
            if (item instanceof IFile) {
                file = (IFile) item;
            } else if (item instanceof IAdaptable) {
                IAdaptable adaptable = (IAdaptable) item;
                file = (IFile) adaptable.getAdapter(IFile.class);
            }

            if (file != null) {
                if (extension == null || extension.equals(file.getFileExtension())) {
                    files.add(file);
                }
            }
        }
    }

    return files.toArray(new IFile[files.size()]);
}

From source file:com.sympedia.util.eclipse.ui.UiHelper.java

License:Open Source License

public static List filterSelection(ISelection selection, Class filter) {
    final List result = new ArrayList<IFile>();
    if (selection != null && selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        for (Object item : ssel.toArray()) {
            if (filter.isAssignableFrom(item.getClass())) {
                result.add(item);/*from w ww .  j  a  v a2s .  c o  m*/
            } else if (item instanceof IAdaptable) {
                IAdaptable adaptable = (IAdaptable) item;
                item = adaptable.getAdapter(filter);
                if (item != null) {
                    result.add(item);
                }
            }
        }
    }

    return result;
}