Example usage for org.eclipse.jface.viewers IFilter select

List of usage examples for org.eclipse.jface.viewers IFilter select

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers IFilter select.

Prototype

public boolean select(Object toTest);

Source Link

Document

Determines if the given object passes this filter.

Usage

From source file:com.nokia.carbide.cpp.internal.project.ui.mmpEditor.SourcesTreeHandler.java

License:Open Source License

/**
 * Flatten hierarchy under container into a list of files
 *///from w w w  .ja v  a 2s . c  o  m
private void flattenContainer(IContainer container, List<IPath> list, IFilter filter) {
    Object[] children = sourceViewer.getFilteredChildren(container);
    for (Object obj : children) {
        if (obj instanceof IFile) {
            IFile file = (IFile) obj;
            IPath path = file.getProjectRelativePath();
            if (filter.select(path)) {
                list.add(file.getProjectRelativePath());
            }
        } else if (obj instanceof IContainer) {
            flattenContainer((IContainer) obj, list, filter);
        }
    }
}

From source file:com.nokia.carbide.remoteconnections.RemoteConnectionsActivator.java

License:Open Source License

@SuppressWarnings("unchecked")
public static <T> void loadExtensions(String extensionId, String loadError, Collection<T> extensionObjects,
        IFilter filter) {
    IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(extensionId);
    for (IConfigurationElement element : elements) {
        try {// w  w  w.  ja  v a  2s  .c  o m
            T extObject = (T) element.createExecutableExtension("class"); //$NON-NLS-1$
            if (filter == null || filter.select(extObject))
                extensionObjects.add(extObject);
        } catch (CoreException e) {
            if (loadError != null)
                RemoteConnectionsActivator.log(loadError, e);
        }
    }
}

From source file:com.nokia.tools.variant.preview.theme.ThemePreviewController.java

License:Open Source License

public void createImageInternal(ImageLoader job, ThemeDescriptor input, IProgressMonitor monitor) {
    if (stop) {//from   w ww . j a va  2  s .c om
        return;
    }
    updateBarSelection(job, 10);
    monitor.setTaskName("Processing archive");
    File tempDir = null;
    File tdfFile = null;
    try {
        File temp = File.createTempFile("theme", input.getName());
        temp.delete();
        tempDir = temp;
        tempDir.mkdir();

        AtomicReference<File> tdfFileReference = new AtomicReference<File>();

        IWorkspaceRunnable runnable = new CreateImageInternalRunnable(input, temp, tdfFileReference);
        ISchedulingRule rule = PlatformUtil.getAdapter(input.getFile(), ISchedulingRule.class, true);
        ResourcesPlugin.getWorkspace().run(runnable, rule, IWorkspace.AVOID_UPDATE, null);
        tdfFile = tdfFileReference.get();
        if (tdfFile == null) {
            return;
        }

        if (descriptor.isRsk() && input.getFile().getFullPath().toFile().equals(previousInputFile)) {
            IScreenElement screen = previousScreen;
            IScreenElement bgScreenElement = previousBGScreenElement;
            Image rskFinalImage = null;
            if (descriptor.isRsk()) {
                rskFinalImage = getRskImage(bgScreenElement);
            }

            Component canvas = (Component) EditingUtil.getBean(screen.getWidget());
            BufferedImage bi = new BufferedImage(canvas.getWidth(), canvas.getHeight(),
                    BufferedImage.TYPE_INT_ARGB);
            java.awt.Graphics g = bi.getGraphics();

            canvas.printAll(g);

            g.dispose();

            ImageData imageData = convertToSWT(bi);

            if (descriptor.isRsk() && rskFinalImage != null) {
                Image image = new Image(null, imageData);
                GC gc = new GC(image);
                gc.drawImage(rskFinalImage, canvas.getWidth() - RSK_WIDTH, canvas.getHeight() - RSK_HEIGHT);
                gc.dispose();
                imageDecoded(job, image.getImageData(), "Idle");
            } else {
                imageDecoded(job, imageData, "Idle");
            }
            previousScreen = screen;
            previousBGScreenElement = bgScreenElement;
        } else {
            monitor.worked(10);
            monitor.setTaskName("Loading theme provider");

            provider = ContentSourceManager.getGlobalContentProvider(S60ThemeProvider.CONTENT_TYPE);

            ThemeDescriptor.ElementOverride[] overrides = input.getOverrides();

            if (overrides.length > 0) {

                DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
                DOMImplementation domImpl = registry.getDOMImplementation("LS 3.0");
                DOMImplementationLS ls = (DOMImplementationLS) domImpl;
                LSInput lsInput = ls.createLSInput();
                InputStream is = new BufferedInputStream(new FileInputStream(tdfFile));
                lsInput.setByteStream(is);
                LSParser parser = ls.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
                parser.getDomConfig().setParameter("namespaces", false);
                parser.getDomConfig().setParameter("infoset", false);
                parser.getDomConfig().setParameter("resource-resolver", new LSResourceResolverImp(ls));

                idDataMap = new LinkedHashMap<String, ElementOverride>();
                Map<String, Element> idXMLMap = new HashMap<String, Element>();

                for (ElementOverride over : overrides) {
                    idDataMap.put(over.getId(), over);
                    idXMLMap.put(over.getId(), null);
                }

                Document doc = parser.parse(lsInput);
                monitor.worked(10);
                is.close();
                Element root = doc.getDocumentElement();
                NodeList nodes = root.getChildNodes();
                // Element qgnMenuOperator = null;
                // Element rskIdle = null;
                for (int i = 0; i < nodes.getLength(); i++) {
                    if (stop) {
                        return;
                    }
                    Node n = nodes.item(i);
                    if (n instanceof Element) {
                        Element element = (Element) n;
                        if (!"element".equals(element.getNodeName())) {
                            continue;
                        }
                        String id = element.getAttribute("id");

                        if ("text16".equals(id)) {
                            NodeList elementsByTagName = element.getElementsByTagName("layer");
                            Node item = elementsByTagName.item(0);
                            NamedNodeMap attributes = item.getAttributes();
                            Node namedItem = attributes.getNamedItem("colourrgb");
                            String hexColor = namedItem.getNodeValue();
                            java.awt.Color decodeColor = java.awt.Color.decode(hexColor);
                            rskFontColor = new Color(Display.getDefault(), decodeColor.getRed(),
                                    decodeColor.getGreen(), decodeColor.getBlue());
                        }

                        if (idDataMap.containsKey(id)) {
                            idXMLMap.put(id, element);
                        }

                        // if ("qgn_menu_operator".equals(id)) {
                        // qgnMenuOperator = element;
                        // } else if (RSK_IMAGE_ID.equals(id)) {
                        // rskIdle = element;
                        // }
                        // if (qgnMenuOperator != null && rskIdle != null) {
                        // break;
                        // }
                    }
                }

                for (Map.Entry<String, Element> entry : idXMLMap.entrySet()) {
                    if (stop) {
                        return;
                    }
                    Element xmlElement = entry.getValue();
                    if (xmlElement != null) {
                        root.removeChild(xmlElement);
                    }

                    xmlElement = doc.createElement("element");
                    xmlElement.setAttribute("id", entry.getKey());
                    root.appendChild(xmlElement);

                    Element graphic = doc.createElement("graphic");
                    Element image = doc.createElement("image");
                    Element layer = doc.createElement("layer");
                    xmlElement.appendChild(graphic);
                    graphic.appendChild(image);
                    image.appendChild(layer);

                    xmlElement.setAttribute("name", "Tool Preview Override");

                    graphic.setAttribute("type", "still");
                    graphic.setAttribute("status", "actual");

                    String imageFileName = null;
                    String imageMaskFileName = null;
                    ElementOverride override = idDataMap.get(entry.getKey());
                    ImageData imageData = override.getImage();
                    ImageData maskData = override.getMask();
                    if (imageData != null) {
                        imageFileName = "operator.custom.image.png";
                        org.eclipse.swt.graphics.ImageLoader loader = new org.eclipse.swt.graphics.ImageLoader();
                        loader.data = new ImageData[] { imageData };
                        File imageFile = new File(tdfFile.getParentFile(), imageFileName);
                        OutputStream os = null;
                        try {
                            os = new BufferedOutputStream(new FileOutputStream(imageFile));
                            loader.save(os, SWT.IMAGE_PNG);
                        } finally {
                            os.flush();
                            os.close();
                        }
                    }
                    if (maskData != null) {
                        imageMaskFileName = "operator.custom.image.mask.png";
                        org.eclipse.swt.graphics.ImageLoader loader = new org.eclipse.swt.graphics.ImageLoader();
                        loader.data = new ImageData[] { maskData };
                        File imageFile = new File(tdfFile.getParentFile(), imageMaskFileName);
                        OutputStream os = null;
                        try {
                            os = new BufferedOutputStream(

                                    new FileOutputStream(imageFile));
                            loader.save(os, SWT.IMAGE_PNG);
                        } finally {
                            os.flush();
                            os.close();
                        }
                    }

                    layer.setAttribute("name", "layer0");
                    layer.setAttribute("entity_x", "0");
                    layer.setAttribute("entity_y", "0");
                    layer.setAttribute("image_x", "0");
                    layer.setAttribute("image_y", "0");
                    layer.setAttribute("angle", "0");
                    layer.setAttribute("stretch", "false");
                    layer.setAttribute("status", "actual");
                    layer.setAttribute("colourdepth", "c16");
                    if (imageFileName != null) {
                        layer.setAttribute("filename", imageFileName);
                    }
                    if (imageMaskFileName != null) {
                        layer.setAttribute("softmask", imageMaskFileName);
                    }

                }

                LSSerializer serial = ls.createLSSerializer();
                serial.getDomConfig().setParameter("format-pretty-print", true);
                LSOutput output = ls.createLSOutput();
                OutputStream os = new BufferedOutputStream(new FileOutputStream(tdfFile));
                output.setByteStream(os);
                serial.write(doc, output);
                os.close();

            }
            // System.out.println("controller");
            List<IContent> list = provider.getRootContents(tdfFile, monitor);
            // IContentProvider s60provider = new S60ThemeProvider();
            // List<IContent> list =
            // s60provider.getRootContents(inputContents,
            // new NullProgressMonitor());

            updateBarSelection(job, 10);
            monitor.worked(5);
            monitor.setTaskName("Generating screen preview");

            if (!list.isEmpty()) {
                content = list.get(0);
                IScreenFactory factory = (IScreenFactory) content.getAdapter(IScreenFactory.class);

                if (factory != null) {
                    IScreenContext context = new ScreenContextImp(content);
                    int counter = 0;

                    IContentData[] screens = factory.getScreens();
                    int delta = 70 / (screens.length == 0 ? 1 : screens.length);
                    for (IContentData data : screens) {
                        if (stop) {
                            return;
                        }
                        counter++;
                        int selection = ((int) (((((float) counter) / screens.length)) * 90f)) + 10;
                        selection = Math.min(selection, 99);
                        monitor.worked(delta);

                        updateBarSelection(job, selection);

                        if (monitor.isCanceled()) {
                            break;
                        }

                        IFilter filter = input.getFilter();
                        if (!filter.select(data)) {
                            continue;
                        }

                        IScreenAdapter adapter = (IScreenAdapter) data.getAdapter(IScreenAdapter.class);
                        if (adapter != null && adapter.isModelScreen() && data.getName() != null) {

                            IScreenElement screen = adapter.buildScreen(context);

                            if (descriptor.isRsk()
                                    && input.getFile().getFullPath().toFile().equals(previousInputFile)) {
                                screen = previousScreen;
                            }

                            screen.adaptToScreen(context);

                            Image rskFinalImage = null;
                            IScreenElement bgScreenElement = null;
                            for (IScreenElement element : screen.getChildren()) {
                                if (stop) {
                                    return;
                                }
                                if (monitor.isCanceled()) {
                                    break;
                                }

                                element.adaptToScreen(context);
                                element.addWidgetToParent();

                                if ("application_window".equals(element.getData().getName())) {
                                    bgScreenElement = element;
                                }

                                if (input.getFile().getFullPath().toFile().equals(previousInputFile)) {
                                    bgScreenElement = previousBGScreenElement;
                                }

                                // can be also used
                                // if
                                //("Idle Background".equals(element.getText(
                                // )))
                                // {
                                // bgScreenElement = element;
                                // }

                            }
                            if (descriptor.isRsk()) {
                                rskFinalImage = getRskImage(bgScreenElement);
                                previousScreen = screen;
                                previousBGScreenElement = bgScreenElement;
                            }

                            Component canvas = (Component) EditingUtil.getBean(screen.getWidget());
                            BufferedImage bi = new BufferedImage(canvas.getWidth(), canvas.getHeight(),
                                    BufferedImage.TYPE_INT_ARGB);
                            java.awt.Graphics g = bi.getGraphics();

                            canvas.printAll(g);

                            g.dispose();

                            ImageData imageData = convertToSWT(bi);

                            if (descriptor.isRsk() && rskFinalImage != null) {
                                Image image = new Image(null, imageData);
                                GC gc = new GC(image);
                                gc.drawImage(rskFinalImage, canvas.getWidth() - RSK_WIDTH,
                                        canvas.getHeight() - RSK_HEIGHT);
                                gc.dispose();
                                imageDecoded(job, image.getImageData(), data.getName());
                            } else {
                                imageDecoded(job, imageData, data.getName());
                            }
                        }
                    }
                }
            }

        }
        previousInputFile = input.getFile().getFullPath().toFile();
        previousTdfFile = tdfFile;
    } catch (Throwable e) {
        e.printStackTrace();
    } finally {
        if (tempDir != null) {
            FileUtils.deleteDirectory(tempDir);
        }

        updateBarSelection(job, 100);
    }
}

From source file:com.sap.dirigible.ide.db.viewer.views.DatabaseViewContentProvider.java

License:Open Source License

private List<String> getListOfSchemes(Connection connection, String catalogName) throws SQLException {

    DatabaseMetaData metaData = connection.getMetaData();

    List<String> listOfSchemes = new ArrayList<String>();
    ResultSet rs = null;//from  w w w . j  av  a 2  s .co  m

    String productName = CommonParameters.getDatabaseProductName();
    IDialectSpecifier dialectSpecifier = DBUtils.getDialectSpecifier(productName);

    IFilter schemaFilter = databaseViewer.getSchemaFilter(connection);
    try {
        if (dialectSpecifier.isSchemaFilterSupported()) {
            try {
                // low level filtering for schema
                rs = connection.createStatement().executeQuery(dialectSpecifier.getSchemaFilterScript());
            } catch (Exception e) {
                // backup in case of wrong product recognition
                rs = metaData.getSchemas(catalogName, null);
            }
        } else {
            rs = metaData.getSchemas(catalogName, null);
        }
        while (rs.next()) {
            String schemeName = rs.getString(1);
            // higher level filtering for schema if low level is not
            // supported
            if (schemaFilter != null && !schemaFilter.select(schemeName)) {
                continue;
            }
            listOfSchemes.add(schemeName);
        }
    } finally {
        if (rs != null) {
            rs.close();
        }
    }

    return listOfSchemes;
}

From source file:gov.redhawk.sca.ui.filters.AdvancedPropertiesExtensibleFilter.java

License:Open Source License

@Override
public boolean select(Object toTest) {
    for (IFilter subFilter : subFilters) {
        if (!subFilter.select(toTest)) {
            return false;
        }/*from  ww  w .  j a v  a 2s.c o m*/
    }
    return true;
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ApplicationModelHelper.java

License:Open Source License

public static Object[] getModelChildren(Object parent, IFilter filter) {
    if (parent instanceof EObject) {
        Set<Object> result = new HashSet<Object>();
        EObject object = (EObject) parent;
        for (EObject child : object.eContents()) {
            if (filter == null || filter.select(child)) {
                result.add(child);/*from  w  w w .  j av  a 2  s. com*/
            }
        }
        return result.toArray(new Object[result.size()]);
    }
    return EMPTY;
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ApplicationModelHelper.java

License:Open Source License

public static Object[] getChildren(Object parent, IFilter filter, boolean includeChildren) {
    Set<Object> result = new HashSet<Object>();
    Object[] children = getContentProvider().getChildren(parent);
    for (Object object : children) {
        if (includeChildren) {
            Object[] childList = getChildren(object, filter, includeChildren);
            result.addAll(Arrays.asList(childList));
        }/*from   ww w  .j  av  a 2  s.co m*/
        if (filter == null || filter.select(object)) {
            result.add(object);
        }
    }
    return result.toArray(new Object[result.size()]);
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ApplicationModelHelper.java

License:Open Source License

public static List<?> collectAllElements(EObject object, IFilter filter) {
    ArrayList<Object> collector = new ArrayList<Object>();
    Resource resource = object.eResource();
    if (resource != null) {
        ResourceSet resourceSet = object.eResource().getResourceSet();
        if (resourceSet != null) {
            for (TreeIterator<?> iterator = resourceSet.getAllContents(); iterator.hasNext();) {
                Object element = iterator.next();
                if (filter.select(element)) {
                    collector.add(element);
                }/*from   w  ww  .  j ava  2  s.  c  om*/
            }
        }
    }
    return collector;
}

From source file:org.eclipse.emf.cdo.security.internal.ui.util.SecurityUIUtil.java

License:Open Source License

public static ViewerFilter getViewerFilter(final IFilter filter) {
    return new ViewerFilter() {
        @Override/*from w w  w  .  j  a  va  2 s . c  om*/
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return filter.select(element);
        }
    };
}

From source file:org.eclipse.emf.cdo.security.internal.ui.util.SecurityUIUtil.java

License:Open Source License

public static void applySupportedElementFilter(Collection<?> elements, EClass itemType) {
    IFilter filter = getSupportedElementFilter(itemType);
    if (filter != null) {
        for (Iterator<?> iter = elements.iterator(); iter.hasNext();) {
            if (!filter.select(iter.next())) {
                iter.remove();//from  w ww. java2  s .  co  m
            }
        }
    }
}