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.category.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();//ww w .j a va  2 s  .c o  m
    fCategoryViewer = fCategoryTreePart.getTreeViewer();
    fCategoryViewer.setContentProvider(new CategoryContentProvider());
    fSiteLabelProvider = new CategoryLabelProvider();
    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());

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

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

License:Open Source License

private void copyToClipboard(ISelection selection) {
    Object[] objects = null;/*ww w.j a  va 2s.  c o m*/
    String textVersion = null;
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection ssel = (IStructuredSelection) selection;
        if (ssel == null || ssel.size() == 0)
            return;
        objects = ssel.toArray();
        StringWriter writer = new StringWriter();
        PrintWriter pwriter = new PrintWriter(writer);
        Class objClass = null;
        for (int i = 0; i < objects.length; i++) {
            Object obj = objects[i];
            if (objClass == null)
                objClass = obj.getClass();
            else if (objClass.equals(obj.getClass()) == false)
                return;
            if (obj instanceof IWritable) {
                // Add a customized delimiter in between all serialized
                // objects to format the text representation
                if ((i != 0) && (obj instanceof IWritableDelimiter)) {
                    ((IWritableDelimiter) obj).writeDelimeter(pwriter);
                }
                ((IWritable) obj).write("", pwriter); //$NON-NLS-1$
            } else if (obj instanceof String) {
                // Delimiter is always a newline
                pwriter.println((String) obj);
            }
        }
        pwriter.flush();
        textVersion = writer.toString();
        try {
            pwriter.close();
            writer.close();
        } catch (IOException e) {
        }
    } else if (selection instanceof ITextSelection) {
        textVersion = ((ITextSelection) selection).getText();
    }
    if ((textVersion == null || textVersion.length() == 0) && objects == null)
        return;
    // set the clipboard contents
    Object[] o = null;
    Transfer[] t = null;
    if (objects == null) {
        o = new Object[] { textVersion };
        t = new Transfer[] { TextTransfer.getInstance() };
    } else if (textVersion == null || textVersion.length() == 0) {
        o = new Object[] { objects };
        t = new Transfer[] { ModelDataTransfer.getInstance() };
    } else {
        o = new Object[] { objects, textVersion };
        t = new Transfer[] { ModelDataTransfer.getInstance(), TextTransfer.getInstance() };
    }
    clipboard.setContents(o, t);
}

From source file:com.siteview.mde.internal.ui.editor.monitor.LibraryVisibilitySection.java

License:Open Source License

private void handleRemove() {
    IStructuredSelection ssel = (IStructuredSelection) fPackageExportViewer.getSelection();
    Object[] items = ssel.toArray();
    try {/*  w  w  w . ja v a2 s  . c  o  m*/
        for (int i = 0; i < items.length; i++) {
            fCurrentLibrary.removeContentFilter(items[i].toString());
        }
    } catch (CoreException e) {
    }
}

From source file:com.siteview.mde.internal.ui.editor.product.FeatureSection.java

License:Open Source License

private void handleProperties() {
    IStructuredSelection ssel = (IStructuredSelection) fFeatureTable.getSelection();
    if (ssel.size() == 1) {
        IProductFeature feature = (IProductFeature) ssel.toArray()[0];
        VersionDialog dialog = new VersionDialog(MDEPlugin.getActiveWorkbenchShell(), isEditable(),
                feature.getVersion());//from  www .  ja  v  a  2  s. c om
        dialog.create();
        SWTUtil.setDialogSize(dialog, 400, 200);
        if (dialog.open() == Window.OK) {
            feature.setVersion(dialog.getVersion());
        }
    }
}

From source file:com.siteview.mde.internal.ui.editor.product.FeatureSection.java

License:Open Source License

private void handleDelete() {
    IStructuredSelection ssel = (IStructuredSelection) fFeatureTable.getSelection();
    if (ssel.size() > 0) {
        Object[] objects = ssel.toArray();
        IProductFeature[] features = new IProductFeature[objects.length];
        System.arraycopy(objects, 0, features, 0, objects.length);
        getProduct().removeFeatures(features);
    }/*from   w  w  w  .  ja v a 2s .  com*/
}

From source file:com.siteview.mde.internal.ui.editor.product.PluginConfigurationSection.java

License:Open Source License

private void handleRemove() {
    IStructuredSelection ssel = (IStructuredSelection) fConfigurationsTable.getSelection();
    if (ssel.size() > 0) {
        Object[] objects = ssel.toArray();
        IPluginConfiguration[] configurations = new IPluginConfiguration[objects.length];
        System.arraycopy(objects, 0, configurations, 0, objects.length);
        getProduct().removePluginConfigurations(configurations);
    }//from   www  .j ava2  s  .  c  o  m
    clearEditors();
}

From source file:com.siteview.mde.internal.ui.editor.product.PluginSection.java

License:Open Source License

private void handleProperties() {
    IStructuredSelection ssel = (IStructuredSelection) fPluginTable.getSelection();
    if (ssel.size() == 1) {
        IProductPlugin plugin = (IProductPlugin) ssel.toArray()[0];
        VersionDialog dialog = new VersionDialog(MDEPlugin.getActiveWorkbenchShell(), isEditable(),
                plugin.getVersion());/*from   w ww . j a va  2 s  .co  m*/
        dialog.create();
        SWTUtil.setDialogSize(dialog, 400, 200);
        if (dialog.open() == Window.OK) {
            plugin.setVersion(dialog.getVersion());
        }
    }
}

From source file:com.siteview.mde.internal.ui.editor.product.PluginSection.java

License:Open Source License

private void handleDelete() {
    IStructuredSelection ssel = (IStructuredSelection) fPluginTable.getSelection();
    if (ssel.size() > 0) {
        Object[] objects = ssel.toArray();
        IProductPlugin[] plugins = new IProductPlugin[objects.length];
        System.arraycopy(objects, 0, plugins, 0, objects.length);
        getProduct().removePlugins(plugins);
    }/*www  .j av a 2  s .  c om*/
}

From source file:com.siteview.mde.internal.ui.editor.product.PropertiesSection.java

License:Open Source License

private void handleRemove() {
    IStructuredSelection ssel = (IStructuredSelection) fPropertiesTable.getSelection();
    if (ssel.size() > 0) {
        Object[] objects = ssel.toArray();
        IConfigurationProperty[] properties = new IConfigurationProperty[objects.length];
        System.arraycopy(objects, 0, properties, 0, objects.length);
        getProduct().removeConfigurationProperties(properties);
        fPropertiesTable.refresh(false);
    }/*from ww w  . j av  a 2  s. com*/
}

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

License:Open Source License

public void hookListeners() {
    super.hookListeners();
    IActionBars actionBars = getPage().getMDEEditor().getEditorSite().getActionBars();
    fReferenceEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
        public void textValueChanged(FormEntry entry) {
            if (blockListeners())
                return;
            getAttribute().setBasedOn(fReferenceEntry.getValue());
        }/*from w w  w .j a  v  a  2s. co m*/

        public void browseButtonSelected(FormEntry entry) {
            if (blockListeners())
                return;
            doOpenSelectionDialog(fReferenceEntry);
        }
    });
    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());
        }
    });
}