Package org.erlide.engine.model.root

Examples of org.erlide.engine.model.root.IErlElement


    public IErlFolder createFolder(final IFolder folder, final IErlElement parent) {
        if (folder == null) {
            return null;
        }
        final IErlFolder f = new ErlFolder(parent, folder);
        final IErlElement p = parent;
        if (p != null) {
            p.addChild(f);
        } else {
            // ErlLogger.warn("creating folder %s in null parent?!", folder
            // .getName());
        }
        return f;
View Full Code Here


     *         <code>null</code> if unable to associate the given resource with a Erlang
     *         element
     */
    @Override
    public IErlElement create(final IResource resource) {
        IErlElement parent = null;
        final IContainer resourceParent = resource.getParent();
        if (resourceParent != null) {
            IErlElement element = findElement(resourceParent);
            if (element == null) {
                element = create(resourceParent);
            }
            if (element != null) {
                parent = element;
View Full Code Here

            if (parentElement instanceof IFile) {
                parentElement = ErlangEngine.getInstance().getModel()
                        .findModule((IFile) parentElement);
            }
            if (parentElement instanceof IErlElement) {
                final IErlElement parent = (IErlElement) parentElement;
                parent.open(null);
                final Collection<IErlElement> children = parent.getChildren();
                return children.toArray();
            }
        } catch (final ErlModelException e) {
            ErlLogger.warn(e);
        }
View Full Code Here

     */

    @Override
    public Object getParent(final Object element) {
        if (element instanceof IErlElement) {
            final IErlElement elt = (IErlElement) element;
            final IErlElement parent = elt.getParent();
            if (parent instanceof IErlModule || parent instanceof IErlProject) {
                final IErlElement e = parent;
                return e.getCorrespondingResource();
            }
        }
        return null;
    }
View Full Code Here

        if (element instanceof IFile || element instanceof IErlModule) {
            // it was too slow to open all modules to find out;
            // empty modules aren't widely used anyway :-)
            return true;
        } else if (element instanceof IErlElement) {
            final IErlElement parent = (IErlElement) element;
            return parent.hasChildren();
        }
        return false;
    }
View Full Code Here

    // IErlElement findElement(IResource resource);
    @Test
    public void findElement() throws Exception {
        final IProject workspaceProject = project.getWorkspaceProject();
        final IErlElement findElement = model.findElement(workspaceProject);
        final IErlElement findElement2 = model.findElement(module
                .getCorrespondingResource());
        final IErlElement findElement3 = model.findElement(workspaceProject
                .getFolder("no_way"));
        final IErlElement findElement4 = model.findElement(workspaceProject.getParent());
        final IErlElement parent = module.getParent();
        final IFolder folder = (IFolder) parent.getResource();
        final IErlElement findElement5 = model.findElement(folder);
        project.open(null);
        final IErlElement srcFolder = project.getChildNamed("src");
        assertEquals(project, findElement);
        assertEquals(module, findElement2);
        assertNull(findElement3);
        assertNull(findElement4);
        assertEquals(srcFolder, findElement5);
View Full Code Here

    @Test
    public void findModule() throws Exception {
        final IErlModule module2 = createModule(project, "zz5.erl", "-module(z5z).\n");
        final IFile file = (IFile) module2.getResource();
        final IErlModule findModule = model.findModule(file);
        final IErlElement parent = module2.getParent();
        final IFolder folder = (IFolder) parent.getResource();
        IFile createFile = null;
        try {
            createFile = createFile(folder, "tt.erl", "-module(tt).\n");
            model.findModule(createFile);
            assertEquals(module2, findModule);
View Full Code Here

    private int how = SORT_ON_NAME;

    @Override
    public int compare(final Viewer viewer, final Object o1, final Object o2) {
        if (o1 instanceof IErlElement && o2 instanceof IErlElement) {
            final IErlElement e1 = (IErlElement) o1;
            final IErlElement e2 = (IErlElement) o2;
            if (e1.getKind() == ErlElementKind.CLAUSE
                    && e2.getKind() == ErlElementKind.CLAUSE) {
                return comparePositions(viewer, (ISourceReference) o1,
                        (ISourceReference) o2);
            }
        }
        return super.compare(viewer, o1, o2);
View Full Code Here

    @Override
    public int category(final Object element) {
        if (!(element instanceof IErlElement)) {
            return super.category(element);
        }
        final IErlElement e = (IErlElement) element;
        switch (how) {
        case SORT_ON_NAME:
            if (e.getKind() == ErlElementKind.FUNCTION) {
                return 1000;
            }
            return e.getKind().ordinal();
        case SORT_ON_EXPORT:
            if (e.getKind() == ErlElementKind.FUNCTION) {
                if (e instanceof IErlFunction) {
                    final IErlFunction f = (IErlFunction) e;
                    if (f.isExported()) {
                        return 500;
                    }
                }
                return 1000;
            }
            return e.getKind().ordinal();
        default:
            return super.category(element);
        }
    }
View Full Code Here

        final IStructuredSelection structuredSelection = (IStructuredSelection) selection;
        for (final Object element : structuredSelection.toArray()) {
            if (!(element instanceof IResource)) {
                return;
            }
            final IErlElement erlElement = ErlangEngine.getInstance().getModel()
                    .findElement((IResource) element);
            final IErlProject project = ErlangEngine.getInstance().getModelUtilService()
                    .getProject(erlElement);
            if (project != null) {
                projects.add(project);
View Full Code Here

TOP

Related Classes of org.erlide.engine.model.root.IErlElement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.