Example usage for org.eclipse.jface.viewers TreeViewer expandToLevel

List of usage examples for org.eclipse.jface.viewers TreeViewer expandToLevel

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer expandToLevel.

Prototype

public void expandToLevel(int level) 

Source Link

Document

Expands the root of the viewer's tree to the given level.

Usage

From source file:org.xtuml.bp.core.test.I810_SlowDeletionTestGenerics.java

License:Open Source License

@Test
public void testSlowDeletion() {
    IWorkbenchPage page = TestUtil.showBridgePointPerspective();
    ExplorerView explorer = null;//w w  w.  j a v a 2  s  .  c  o  m
    Display display = Display.getCurrent();
    while (display.readAndDispatch())
        ;
    Package_c[] domains = Package_c.PackageInstances(modelRoot);

    try {
        explorer = (ExplorerView) page.showView("org.xtuml.bp.ui.explorer.ExplorerView", null, //$NON-NLS-1$
                IWorkbenchPage.VIEW_CREATE);
    } catch (PartInitException e) {
        fail(e.toString());
    }
    TreeViewer viewer = explorer.getTreeViewer();
    viewer.expandToLevel(2);
    UIUtil.refreshViewer(viewer);
    while (display.readAndDispatch())
        ;
    // select the only domain node that should be present
    viewer.setSelection(new StructuredSelection(new Object[] { domains[0] }), false);
    while (display.readAndDispatch()) {
    }

    long startTime = System.currentTimeMillis();
    TransactionManager.getSingleton().disableDialog = true;
    explorer.doDelete();
    TransactionManager.getSingleton().disableDialog = false;
    while (display.readAndDispatch()) {
    }

    long endTime = System.currentTimeMillis();
    System.out.println("Deletion Took : " + (float) (endTime - startTime) / 1000 + " sec");//$NON-NLS-1$//$NON-NLS-2$
}

From source file:org.xtuml.bp.io.mdl.test.DataUpgradeCreatesNoDeltasTestGenerics.java

License:Open Source License

@Test
public void testUpgradeCreatesNoDeltas() throws Exception {
    loadProject("CommunicationTestModel");
    for (int i = 0; i < unaffectedDomNames.length; i++) {
        loadProject(unaffectedDomNames[i]);
    }/*from w w  w  .ja v a  2  s  .  co m*/
    Display display = Display.getCurrent();
    while (display.readAndDispatch())
        ;
    m_sys = getSystemModel("CommunicationTestModel");
    Package_c dom = Package_c.getOneEP_PKGOnR1405(m_sys, new ClassQueryInterface_c() {
        public boolean evaluate(Object candidate) {
            return ((Package_c) candidate).getName().equals("CommunicationTestModel");
        }
    });
    assertNotNull("No test Domain found", dom);

    Package_c[] unaffectedDoms = new Package_c[unaffectedDomNames.length];
    for (int i = 0; i < unaffectedDomNames.length; i++) {
        final String name = unaffectedDomNames[i];
        m_sys = getSystemModel(name);
        unaffectedDoms[i] = Package_c.getOneEP_PKGOnR1405(m_sys, new ClassQueryInterface_c() {
            public boolean evaluate(Object candidate) {
                return ((Package_c) candidate).getName().equals(name);
            }
        });
        assertNotNull("No reference Domain found", unaffectedDoms[i]);
    }
    Package_c ss = Package_c.getOneEP_PKGOnR8001(PackageableElement_c.getManyPE_PEsOnR8000(dom),
            new ClassQueryInterface_c() {
                public boolean evaluate(Object candidate) {
                    return ((Package_c) candidate).getName().equals("Subsystem");
                }
            });
    assertNotNull("No Subsystem found", ss);

    IWorkbenchPage page = TestUtil.showBridgePointPerspective();
    ExplorerView explorer = null;
    try {
        explorer = (ExplorerView) page.showView("org.xtuml.bp.ui.explorer.ExplorerView", null, //$NON-NLS-1$
                IWorkbenchPage.VIEW_CREATE);
    } catch (PartInitException e) {
        fail(e.toString());
    }
    TreeViewer viewer = explorer.getTreeViewer();
    viewer.expandToLevel(2);
    UIUtil.refreshViewer(viewer);
    while (display.readAndDispatch())
        ;
    // select the only domain node that should be present
    viewer.setSelection(new StructuredSelection(new Object[] { ss }), false);
    while (display.readAndDispatch()) {
    }
    TransactionManager manager = getSystemModel().getTransactionManager();
    DeltaCheckingTransactionListener dctl = new DeltaCheckingTransactionListener(unaffectedDomNames,
            unaffectedDoms);
    manager.addTransactionListener(dctl);
    explorer.doDelete();
    while (manager.getActiveTransaction() != null || display.readAndDispatch())
        ;
    assertTrue("Unexpected deltas found on domains, " + dctl.getAffected(), dctl.getAffected().isEmpty());
}

From source file:org.xtuml.bp.ui.explorer.test.ProjectManipulationTests.java

License:Apache License

/**
 * Checks that the current test domain no longer appears in the model explorer.
 *///from  ww  w .  java2 s.com
private void checkPackageNoLongerInModelExplorer() {
    // expand the tree to see the domain level of nodes
    TreeViewer viewer = ExplorerUtil.getTreeViewer();
    viewer.expandToLevel(2);

    // wait until any pending UI events are processed, 
    // which likely includes the updating of the model explorer, 
    // the contents of which are checked, below
    BaseTest.dispatchEvents(0);

    // check that system node of the test project has no children
    assertTrue("There is still a package under the project and there should be none.",
            selectPackageItemInModelExplorer(0) == null);
}

From source file:phasereditor.canvas.ui.editors.SelectGroupDialog.java

License:Open Source License

/**
 * Create contents of the dialog.//from  ww  w  . ja  v  a2 s . c o  m
 * 
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    Composite container = (Composite) super.createDialogArea(parent);
    FillLayout fl_container = new FillLayout(SWT.HORIZONTAL);
    fl_container.marginWidth = 5;
    fl_container.marginHeight = 5;
    container.setLayout(fl_container);

    PatternFilter filter = new PatternFilter();
    filter.setIncludeLeadingWildcard(true);

    _filteredTree = new FilteredTree2(container, SWT.BORDER | SWT.SINGLE, filter, 3);

    TreeViewer viewer = _filteredTree.getViewer();
    viewer.setLabelProvider(new OutlineLabelProvider());
    viewer.setContentProvider(new OutlineContentProvider(true) {
        @Override
        public Object[] getChildren(@SuppressWarnings("hiding") Object parent) {
            Object[] children = super.getChildren(parent);
            return Arrays.stream(children).filter(e -> e instanceof GroupNode).toArray();
        }
    });
    viewer.setInput(_canvas);
    viewer.expandToLevel(3);
    viewer.addDoubleClickListener(e -> {
        okPressed();
    });

    return container;
}

From source file:v9t9.gui.client.swt.shells.modules.ModuleInfoDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);

    ////////////*from  www  .  j av  a 2  s .  co  m*/

    CLabel title = new CLabel(composite, SWT.NONE);
    title.setText(module.getName());
    title.setFont(JFaceResources.getHeaderFont());

    ModuleInfo info = module.getInfo();
    String imagePath = info != null ? info.getImagePath() : null;
    title.setImage(this.moduleSelector.getOrLoadModuleImage(null, module, imagePath));

    GridDataFactory.fillDefaults().grab(true, false).applyTo(title);

    ///////////
    Label sep;

    sep = new Label(composite, SWT.HORIZONTAL);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(sep);

    if (info != null && !TextUtils.isEmpty(info.getDescription())) {
        Label descr = new Label(composite, SWT.WRAP);
        descr.setText(info.getDescription());
        GridDataFactory.fillDefaults().grab(true, false).applyTo(descr);

        sep = new Label(composite, SWT.HORIZONTAL);
        GridDataFactory.fillDefaults().grab(true, false).applyTo(sep);
    }

    ///////////

    CLabel summary = new CLabel(composite, SWT.WRAP);
    if (this.moduleSelector.isModuleLoadable(module)) {
        summary.setText("All module files resolved");
        summary.setImage(getShell().getDisplay().getSystemImage(SWT.ICON_INFORMATION));
    } else {
        summary.setText("One or more module files are missing");
        summary.setImage(getShell().getDisplay().getSystemImage(SWT.ICON_ERROR));
    }
    GridDataFactory.fillDefaults().grab(true, false).applyTo(summary);

    ///////////

    final TreeViewer viewer = new TreeViewer(composite, SWT.BORDER);

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);

    final TreeColumn nameColumn = new TreeColumn(tree, SWT.RIGHT);
    final TreeColumn infoColumn = new TreeColumn(tree, SWT.LEFT);

    ModuleDetailsContentProvider contentProvider = new ModuleDetailsContentProvider(
            this.moduleSelector.getMachine());
    viewer.setContentProvider(contentProvider);
    viewer.setLabelProvider(new ModuleDetailsTreeLabelProvider());

    viewer.setInput(contentProvider.createModuleContent(module));

    composite.getDisplay().asyncExec(new Runnable() {
        public void run() {
            viewer.expandToLevel(2);
            nameColumn.pack();
            infoColumn.pack();
        }
    });

    return composite;
}

From source file:v9t9.gui.client.swt.shells.modules.ModuleSelector.java

License:Open Source License

/**
 * @param moduleManager/*from   ww w.j a v a2 s .  c o m*/
 */
protected TreeViewer createTable() {
    final TreeViewer viewer = new TreeViewer(this, SWT.READ_ONLY | SWT.BORDER | SWT.FULL_SELECTION);

    moduleImageResizer = new ILazyImageAdjuster() {

        @Override
        public Image adjustImage(Object element, URI imageURI, Image image) {
            //final boolean moduleLoadable = module == null || isModuleLoadable(module);
            //final String imageKey = imageURI.toString() + (moduleLoadable ? "" : "?grey");

            Rectangle bounds = image.getBounds();
            int sz = Math.max(bounds.width, bounds.height);

            if (sz > MAX) {
                sz = MAX;

                Image scaled = ImageUtils.scaleImage(getDisplay(), image, new Point(MAX, MAX), true, true);
                image.dispose();

                //               if (!moduleLoadable) {
                //                  Image grey = ImageUtils.convertToGreyscale(display, scaled);
                //                  scaled.dispose();
                //                  scaled = grey;
                //               }

                image = scaled;
            }
            return image;
        }
    };

    try {
        builtinImagesURI = machine.getRomPathFileLocator()
                .resolveInsideURI(machine.getModel().getDataURL().toURI(), "images/");
        logger.info("builtinImagesURI = " + builtinImagesURI);
    } catch (URISyntaxException e3) {
        logger.error("Failed to load stock module image", e3);
    }

    stockModuleImage = loadStockImage("stock_module_missing.png");

    lazyImageLoader = new LazyImageLoader(viewer, executor, stockModuleImage);

    modulesListImage = EmulatorGuiData.loadImage(getDisplay(), "icons/module_list.png");
    noModuleImage = ImageUtils.scaleImage(getDisplay(),
            EmulatorGuiData.loadImage(getDisplay(), "icons/stock_no_module.png"), new Point(MAX, MAX));

    viewer.setUseHashlookup(true);
    viewer.setComparer(new IElementComparer() {

        @Override
        public int hashCode(Object element) {
            return element.hashCode();
        }

        @Override
        public boolean equals(Object a, Object b) {
            return a == b || a.equals(b);
        }
    });

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);

    FontDescriptor desc = FontUtils
            .getFontDescriptor(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
    tableFont = desc.createFont(getDisplay());
    tree.setFont(tableFont);

    nameColumn = new TreeColumn(tree, SWT.LEFT);
    nameColumn.setText("Name");

    final ModuleContentProvider contentProvider = new ModuleContentProvider();
    viewer.setContentProvider(contentProvider);

    CellLabelProvider cellLabelProvider = new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            if (cell.getElement() instanceof URI) {
                URI uri = (URI) cell.getElement();
                String text = machine.getRomPathFileLocator().splitFileName(uri).second;

                cell.setText(text);
                cell.setImage(getModuleListImage());
            } else if (cell.getElement() instanceof IModule) {
                IModule module = (IModule) cell.getElement();
                cell.setText(module.getName());
                ModuleInfo info = module.getInfo();
                cell.setForeground(isModuleLoadable(module) ? null
                        : viewer.getControl().getDisplay().getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
                cell.setImage(getOrLoadModuleImage(module, module, info != null ? info.getImagePath() : null));
            } else {
                cell.setText(String.valueOf(cell.getElement()));
                cell.setImage(getNoModuleImage());
            }
        }
    };

    viewer.setLabelProvider(cellLabelProvider);

    viewer.setColumnProperties(NAME_PROPERTY_ARRAY);

    viewer.setComparator(new ViewerComparator() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#isSorterProperty(java.lang.Object, java.lang.String)
         */
        @Override
        public boolean isSorterProperty(Object element, String property) {
            return "name".equals(property);
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!sortModules)
                return 0;

            if (e1 instanceof IModule && e2 instanceof IModule) {
                IModule mod1 = (IModule) e1;
                IModule mod2 = (IModule) e2;
                boolean l1 = isModuleLoadable(mod1);
                boolean l2 = isModuleLoadable(mod2);
                if (l1 == l2)
                    return sortDirection * mod1.getName().toLowerCase().compareTo(mod2.getName().toLowerCase());
                else if (l1)
                    return -1;
                else
                    return 1;
            } else if (e1 instanceof IModule) {
                return 1;
            }
            /* else if (e2 instanceof IModule) */ {
                return -1;
            }
        }
    });

    selectedModule = null;

    addIterativeSearch(viewer, tree);

    sortModules = dialogSettings.getBoolean(SORT_ENABLED);
    sortDirection = dialogSettings.getInt(SORT_DIRECTION);

    moduleMap = new LinkedHashMap<URI, Collection<IModule>>();

    revertModules();
    viewer.setInput(new ModuleInput("No module", moduleMap));
    viewer.expandToLevel(3);

    viewer.setSelection(new StructuredSelection(moduleManager.getLoadedModules()), true);

    tree.addKeyListener(new KeyAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent)
         */
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == '\r' || e.keyCode == '\n') {
                switchModule(false);
                e.doit = false;
            } else if (e.keyCode == SWT.ARROW_LEFT) {
                if (selectedModule != null) {
                    viewer.setSelection(new StructuredSelection(contentProvider.getParent(selectedModule)));
                }
            }
        }
    });

    TreeViewerColumn nameViewerColumn = new TreeViewerColumn(viewer, nameColumn);
    nameViewerColumn.setLabelProvider(cellLabelProvider);

    editingSupport = new ModuleNameEditingSupport(viewer, dirtyModuleLists);
    nameViewerColumn.setEditingSupport(editingSupport);

    addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            for (Image image : stockImages.values())
                image.dispose();
            stockImages.clear();
            if (modulesListImage != null)
                modulesListImage.dispose();
            if (noModuleImage != null)
                noModuleImage.dispose();

            if (tableFont != null)
                tableFont.dispose();
            /*for (Image image : loadedImages.values()) {
               image.dispose();
            }*/
        }
    });

    lazyImageLoader.addListener(new ILazyImageLoadedListener() {

        @Override
        public void imageLoaded(Object element, URI imageURI, Image image) {
            if (element != null)
                viewerUpdater.post(element);
        }
    });

    return viewer;
}