Example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Prototype

int ALL_LEVELS

To view the source code for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.

Click Source Link

Document

Constant indicating that all levels of the tree should be expanded or collapsed.

Usage

From source file:org.ebayopensource.vjet.eclipse.internal.ui.typehierarchy.VjoHierarchyInformationControl.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);//from  ww  w. j a v  a  2s .  com

    TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return element instanceof IType;
        }
    });

    fLifeCycle = new TypeHierarchyLifeCycle(false);

    treeViewer.setSorter(new HierarchyViewerSorter(fLifeCycle));
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    fLabelProvider = new VjoHierarchyLabelProvider(fLifeCycle, getPreferenceStore());
    fLabelProvider.setFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return hasFocusMethod((IType) element);
        }
    });

    fLabelProvider.setTextFlags(ScriptElementLabels.ALL_DEFAULT | ScriptElementLabels.T_POST_QUALIFIED);
    fLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
    treeViewer.setLabelProvider(fLabelProvider);

    treeViewer.getTree().addKeyListener(getKeyAdapter());

    return treeViewer;
}

From source file:org.eclipse.ajdt.internal.ui.editor.outline.AJOutlineInformationControl.java

License:Open Source License

/**
 * {@inheritDoc}//from  w  w w .j ava  2  s .com
 */
protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);

    final TreeViewer treeViewer = new OutlineTreeViewer(tree);

    // Hard-coded filters
    treeViewer.addFilter(new NamePatternFilter());
    treeViewer.addFilter(new MemberFilter());

    fForegroundColor = parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);

    fInnerLabelProvider = new OutlineLabelProvider();
    fInnerLabelProvider.addLabelDecorator(new ProblemsLabelDecorator(null));
    IDecoratorManager decoratorMgr = PlatformUI.getWorkbench().getDecoratorManager();
    if (decoratorMgr.getEnabled("org.eclipse.jdt.ui.override.decorator")) //$NON-NLS-1$
        fInnerLabelProvider.addLabelDecorator(new OverrideIndicatorLabelDecorator(null));

    // AspectJ Change begin
    //treeViewer.setLabelProvider(fInnerLabelProvider);
    treeViewer.setLabelProvider(new DecoratingJavaLabelProvider(fInnerLabelProvider));
    // AspectJ Change end

    fLexicalSortingAction = new LexicalSortingAction(treeViewer);
    fSortByDefiningTypeAction = new SortByDefiningTypeAction(treeViewer);
    fShowOnlyMainTypeAction = new ShowOnlyMainTypeAction(treeViewer);

    fOutlineContentProvider = new OutlineContentProvider(false);
    treeViewer.setContentProvider(fOutlineContentProvider);
    fOutlineSorter = new OutlineSorter();
    treeViewer.setComparator(fOutlineSorter);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);

    treeViewer.getTree().addKeyListener(getKeyAdapter());

    return treeViewer;
}

From source file:org.eclipse.andmore.android.db.core.ui.view.AndmoreDatabaseExplorerView.java

License:Apache License

@Override
public void handleNodeClearEvent(final DatabaseModelEvent databaseModelEvent) {
    Display display = Display.getDefault();
    if (!display.isDisposed()) {
        display.asyncExec(new Runnable() {
            @Override/*  ww w .java  2s. c  om*/
            public void run() {
                ITreeNode parentNode = databaseModelEvent.getTreeNodeItem();
                if (parentNode.isLoading()) {
                    treeViewer.remove(parentNode, parentNode.getChildren().toArray()); // Removing
                    // all
                    // children
                    // before
                    // calling
                    // refresh
                    // seems
                    // to
                    // resolve
                    // the
                    // AccessViolation
                    // -
                    // see
                    // bug
                    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=131209
                    treeViewer.refresh(parentNode);
                } else {
                    treeViewer.collapseToLevel(parentNode, AbstractTreeViewer.ALL_LEVELS);
                }
            }
        });
    }
}

From source file:org.eclipse.babel.tapiji.tools.rbmanager.ui.view.toolbarItems.ExpandAllActionDelegate.java

License:Open Source License

@Override
public void run(IAction action) {
    Object data = viewer.getControl().getData();

    for (final IProject p : ((IWorkspaceRoot) data).getProjects()) {
        UIJob job = new UIJob("expand Projects") {
            @Override/*w w  w.  ja va 2s  .  c  o  m*/
            public IStatus runInUIThread(IProgressMonitor monitor) {
                viewer.expandToLevel(p, AbstractTreeViewer.ALL_LEVELS);
                return Status.OK_STATUS;
            }
        };

        job.schedule();
    }
}

From source file:org.eclipse.babel.tapiji.tools.rbmanager.viewer.actions.ExpandAction.java

License:Open Source License

@Override
public void run() {
    IStructuredSelection sSelection = (IStructuredSelection) viewer.getSelection();
    Iterator<?> it = sSelection.iterator();
    while (it.hasNext()) {
        viewer.expandToLevel(it.next(), AbstractTreeViewer.ALL_LEVELS);
    }/*w w w  .j a  v  a  2 s  .c om*/

}

From source file:org.eclipse.birt.report.designer.ui.cubebuilder.page.CubeGroupContent.java

License:Open Source License

private void createGroupField() {
    Composite groupField = new Composite(this, SWT.NONE);
    groupField.setLayoutData(new GridData(GridData.FILL_BOTH));
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;/* w  w w.  ja  v  a  2  s . com*/
    groupField.setLayout(layout);

    Label groupLabel = new Label(groupField, SWT.NONE);
    groupLabel.setText(Messages.getString("GroupsPage.Label.Group")); //$NON-NLS-1$

    ToolBar toolBar = new ToolBar(groupField, SWT.FLAT);
    toolBar.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

    final ToolItem sortBtn = new ToolItem(toolBar, SWT.CHECK);
    sortBtn.setImage(ReportPlatformUIImages.getImage(IReportGraphicConstants.ICON_ALPHABETIC_SORT));
    sortBtn.setToolTipText(Messages.getString("GroupsPage.tooltip.Sort")); //$NON-NLS-1$
    sortBtn.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            toggleSorting(sortBtn.getSelection());
        }
    });

    groupViewer = new TreeViewer(groupField, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;
    groupViewer.getTree().setLayoutData(gd);
    ((GridData) groupViewer.getTree().getLayoutData()).heightHint = 250;
    ((GridData) groupViewer.getTree().getLayoutData()).widthHint = 200;
    groupViewer.setLabelProvider(getCubeLabelProvider());
    groupViewer.setContentProvider(new CubeContentProvider(useSorting));
    groupViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }

    });
    groupViewer.getTree().addKeyListener(new KeyAdapter() {

        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.DEL) {
                try {
                    if (delBtn.isEnabled())
                        handleDelEvent();
                } catch (Exception e1) {
                    ExceptionUtil.handle(e1);
                }
            }
        }
    });

    groupViewer.getTree().addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            // Do nothing

        }

        // Handle double click event
        public void widgetDefaultSelected(SelectionEvent e) {
            if (editBtn.isEnabled())
                handleEditEvent();
        }

    });

    groupViewer.getTree().addListener(SWT.PaintItem, new org.eclipse.swt.widgets.Listener() {

        public void handleEvent(Event e) {
            TreeItem item = (TreeItem) e.item;

            Color gray = Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY);

            if (item != null) {
                if (item.getData() != null) {
                    if (checkSharedDimension(item.getData()) && item.getData() instanceof LevelHandle)
                        item.setForeground(gray);
                    else
                        item.setForeground(item.getParent().getForeground());
                } else
                    item.setForeground(item.getParent().getForeground());
            }
        }
    });
    final DragSource fieldsSource = new DragSource(groupViewer.getTree(), operations);
    fieldsSource.setTransfer(types);
    fieldsSource.addDragListener(new CustomDragListener(groupViewer));

    DropTarget target = new DropTarget(groupViewer.getTree(), operations);
    target.setTransfer(types);
    target.addDropListener(new DropTargetAdapter() {

        public void dragOver(DropTargetEvent event) {
            event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;
            if (OlapUtil.isFromLibrary(input)) {
                event.detail = DND.DROP_NONE;
                return;
            }
            if (event.item != null) {
                TreeItem item = (TreeItem) event.item;
                Object element = item.getData();
                event.detail = DND.DROP_MOVE;

                Object obj = dragSourceItems[0].getData();
                ResultSetColumnHandle dataField = null;
                DataSetHandle dataset = null;
                if (obj == null || obj instanceof DataSetHandle
                        || (obj instanceof VirtualField
                                && ((VirtualField) obj).getType().equals(VirtualField.TYPE_OTHER_DATASETS))
                        || (obj instanceof VirtualField && ((VirtualField) obj).getType()
                                .equals(VirtualField.TYPE_SHARED_DIMENSIONS))) {
                    event.detail = DND.DROP_NONE;
                    return;
                }

                if (checkSharedDimension(element)) {
                    event.detail = DND.DROP_NONE;
                    return;
                }

                if (obj instanceof ResultSetColumnHandle) {
                    dataField = (ResultSetColumnHandle) obj;
                    dataset = (DataSetHandle) dataField.getElementHandle();

                    if (element instanceof LevelHandle) {
                        DataSetHandle temp = OlapUtil.getHierarchyDataset(
                                ((TabularHierarchyHandle) ((LevelHandle) element).getContainer()));
                        if (temp != null && dataset != null && dataset != temp) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                        // if ( dataField != null
                        // && isDateType( dataField.getDataType( ) ) )
                        // {
                        // event.detail = DND.DROP_NONE;
                        // return;
                        // }

                        DesignElementHandle hierarchy = ((TabularLevelHandle) element).getContainer();
                        DimensionHandle dimension = (DimensionHandle) hierarchy.getContainer();

                        if (isTimeType(dimension)) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }

                    } else if (element instanceof DimensionHandle || (element instanceof VirtualField
                            && ((VirtualField) element).getType().equals(VirtualField.TYPE_LEVEL))) {
                        DimensionHandle dimension = null;
                        if (element instanceof DimensionHandle)
                            dimension = (DimensionHandle) element;
                        else
                            dimension = (DimensionHandle) ((VirtualField) element).getModel();

                        if (isTimeType(dimension)) {

                            if (dimension.getDefaultHierarchy().getLevelCount() != 0
                                    || !isDateType(dataField.getDataType())) {
                                event.detail = DND.DROP_NONE;
                                return;
                            }
                        }

                        DataSetHandle temp = OlapUtil
                                .getHierarchyDataset((TabularHierarchyHandle) dimension.getDefaultHierarchy());
                        if (temp != null && dataset != null && dataset != temp) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                        // TabularHierarchyHandle hierarchy = (
                        // (TabularHierarchyHandle)
                        // dimension.getDefaultHierarchy( ) );
                        // if ( hierarchy.getContentCount(
                        // IHierarchyModel.LEVELS_PROP ) > 0 )
                        // {
                        // if ( dataField != null
                        // && isDateType( dataField.getDataType( ) ) )
                        // {
                        // event.detail = DND.DROP_NONE;
                        // return;
                        // }
                        // }

                    } else if (element instanceof MeasureGroupHandle
                            || (element instanceof VirtualField
                                    && ((VirtualField) element).getType().equals(VirtualField.TYPE_MEASURE))
                            || element instanceof MeasureHandle
                            || (element instanceof VirtualField && ((VirtualField) element).getType()
                                    .equals(VirtualField.TYPE_MEASURE_GROUP))
                            || (element instanceof PropertyHandle && ((PropertyHandle) element)
                                    .getPropertyDefn().getName().equals(ICubeModel.MEASURE_GROUPS_PROP))) {
                        DataSetHandle primary = input.getDataSet();
                        if (primary == null || primary != dataset) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    }
                }
                if (obj instanceof DimensionHandle) {
                    DimensionHandle dimension = (DimensionHandle) obj;
                    if (dimension.getContainer() instanceof TabularCubeHandle) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }

                    if (!((element instanceof PropertyHandle && ((PropertyHandle) element).getPropertyDefn()
                            .getName().equals(ICubeModel.DIMENSIONS_PROP))
                            || (element instanceof VirtualField && ((VirtualField) element).getType()
                                    .equals(VirtualField.TYPE_DIMENSION)))) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                }
                if (obj instanceof LevelHandle) {
                    if (!(element instanceof LevelHandle) || element == obj
                            || ((LevelHandle) obj).getContainer() != ((LevelHandle) element).getContainer()) {
                        event.detail = DND.DROP_NONE;
                        return;
                    }
                }

                Point pt = Display.getCurrent().map(null, groupViewer.getTree(), event.x, event.y);
                Rectangle bounds = item.getBounds();
                if (pt.y < bounds.y + bounds.height / 3) {
                    event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                    event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                } else {
                    event.feedback |= DND.FEEDBACK_SELECT;
                }
            } else {
                event.detail = DND.DROP_NONE;
            }
        }

        public void drop(DropTargetEvent event) {
            if (event.data == null) {
                event.detail = DND.DROP_NONE;
                return;
            }

            Object obj = dragSourceItems[0].getData();
            ResultSetColumnHandle dataField = null;
            DataSetHandle dataset = null;
            if (obj == null || obj instanceof DataSetHandle) {
                event.detail = DND.DROP_NONE;
                return;
            }

            TreeItem item = (TreeItem) event.item;
            Object element = item.getData();

            if (obj instanceof DimensionHandle) {
                if ((element instanceof VirtualField
                        && ((VirtualField) element).getType().equals(VirtualField.TYPE_DIMENSION))
                        || (element instanceof PropertyHandle && ((PropertyHandle) element).getPropertyDefn()
                                .getName().equals(ICubeModel.DIMENSIONS_PROP))) {
                    CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                    stack.startTrans(""); //$NON-NLS-1$

                    try {
                        TabularDimensionHandle dimension = DesignElementFactory.getInstance()
                                .newTabularDimension(null);
                        input.add(CubeHandle.DIMENSIONS_PROP, dimension);
                        dimension.setSharedDimension((DimensionHandle) obj);
                        stack.commit();
                    } catch (SemanticException e) {
                        stack.rollback();
                        refresh();
                        ExceptionUtil.handle(e);
                    }
                }
            }

            if (obj instanceof ResultSetColumnHandle) {
                dataField = (ResultSetColumnHandle) obj;
                dataset = (DataSetHandle) dataField.getElementHandle();

                if (event.item == null || dataField == null) {
                    event.detail = DND.DROP_NONE;
                    return;
                } else {

                    Point pt = Display.getCurrent().map(null, groupViewer.getTree(), event.x, event.y);
                    Rectangle bounds = item.getBounds();

                    Boolean isValidName = UIUtil
                            .validateDimensionName(OlapUtil.getDataFieldDisplayName(dataField));

                    if (pt.y < bounds.y + bounds.height / 3) {
                        if (element instanceof MeasureHandle) {
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            try {
                                TabularMeasureHandle measure = DesignElementFactory.getInstance()
                                        .newTabularMeasure(OlapUtil.getDataFieldDisplayName(dataField));

                                Expression expression = new Expression(
                                        ExpressionUtility.getExpression(dataField,
                                                ExpressionUtility
                                                        .getExpressionConverter(UIUtil.getDefaultScriptType())),
                                        UIUtil.getDefaultScriptType());
                                measure.setExpressionProperty(MeasureHandle.MEASURE_EXPRESSION_PROP,
                                        expression);
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    measure.setAlignment(column.getHorizontalAlign());
                                    measure.setFormat(column.getValueFormat());
                                }

                                initMeasure(dataField, measure);
                                ((MeasureHandle) element).getContainer().add(IMeasureGroupModel.MEASURES_PROP,
                                        measure);
                                if (!isValidName) {
                                    MeasureDialog dialog = new MeasureDialog(false);
                                    dialog.setInput(measure);
                                    dialog.setAutoPrimaryKeyStatus(input.autoPrimaryKey());
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();
                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                            }
                            return;
                        } else if (element instanceof LevelHandle) {
                            DesignElementHandle hierarchy = ((TabularLevelHandle) element).getContainer();
                            DimensionHandle dimension = (DimensionHandle) hierarchy.getContainer();

                            if (isTimeType(dimension)) {
                                event.detail = DND.DROP_NONE;
                                return;
                            }
                            int index = ((LevelHandle) element).getIndex();
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            try {
                                TabularLevelHandle level = DesignElementFactory.getInstance().newTabularLevel(
                                        dimension, OlapUtil.getDataFieldDisplayName(dataField));
                                level.setColumnName(dataField.getColumnName());
                                level.setDataType(dataField.getDataType());
                                ((LevelHandle) element).getContainer().add(IHierarchyModel.LEVELS_PROP, level,
                                        index);
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    level.setAlignment(column.getHorizontalAlign());
                                    level.setFormat(column.getValueFormat());
                                }

                                if (!isValidName) {
                                    LevelPropertyDialog dialog = new LevelPropertyDialog(true);
                                    dialog.setInput(level);
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();
                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                            }
                            return;
                        }
                    }

                    {
                        if (element instanceof MeasureHandle) {
                            if (!checkColumnDataType(dataField))
                                return;
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            try {
                                TabularMeasureHandle measure = DesignElementFactory.getInstance()
                                        .newTabularMeasure(OlapUtil.getDataFieldDisplayName(dataField));
                                Expression expression = new Expression(
                                        ExpressionUtility.getExpression(dataField,
                                                ExpressionUtility
                                                        .getExpressionConverter(UIUtil.getDefaultScriptType())),
                                        UIUtil.getDefaultScriptType());
                                measure.setExpressionProperty(MeasureHandle.MEASURE_EXPRESSION_PROP,
                                        expression);
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    measure.setAlignment(column.getHorizontalAlign());
                                    measure.setFormat(column.getValueFormat());
                                }
                                initMeasure(dataField, measure);
                                ((MeasureHandle) element).getContainer().add(IMeasureGroupModel.MEASURES_PROP,
                                        measure);
                                if (!isValidName) {
                                    MeasureDialog dialog = new MeasureDialog(false);
                                    dialog.setInput(measure);
                                    dialog.setAutoPrimaryKeyStatus(input.autoPrimaryKey());
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();
                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                                return;
                            }
                        } else if (element instanceof MeasureGroupHandle
                                || (element instanceof VirtualField
                                        && ((VirtualField) element).getType().equals(VirtualField.TYPE_MEASURE))
                                || (element instanceof VirtualField && ((VirtualField) element).getType()
                                        .equals(VirtualField.TYPE_MEASURE_GROUP))
                                || (element instanceof PropertyHandle && ((PropertyHandle) element)
                                        .getPropertyDefn().getName().equals(ICubeModel.MEASURE_GROUPS_PROP))) {
                            if (!checkColumnDataType(dataField))
                                return;
                            MeasureGroupHandle measureGroup = null;
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            try {
                                if ((element instanceof VirtualField && ((VirtualField) element).getType()
                                        .equals(VirtualField.TYPE_MEASURE_GROUP))
                                        || (element instanceof PropertyHandle
                                                && ((PropertyHandle) element).getPropertyDefn().getName()
                                                        .equals(ICubeModel.MEASURE_GROUPS_PROP))) {
                                    measureGroup = DesignElementFactory.getInstance()
                                            .newTabularMeasureGroup(null);
                                    input.add(CubeHandle.MEASURE_GROUPS_PROP, measureGroup);
                                } else {
                                    if (element instanceof MeasureGroupHandle)
                                        measureGroup = (MeasureGroupHandle) element;
                                    else
                                        measureGroup = (MeasureGroupHandle) ((VirtualField) element).getModel();
                                }
                                TabularMeasureHandle measure = DesignElementFactory.getInstance()
                                        .newTabularMeasure(OlapUtil.getDataFieldDisplayName(dataField));
                                Expression expression = new Expression(
                                        ExpressionUtility.getExpression(dataField,
                                                ExpressionUtility
                                                        .getExpressionConverter(UIUtil.getDefaultScriptType())),
                                        UIUtil.getDefaultScriptType());
                                measure.setExpressionProperty(MeasureHandle.MEASURE_EXPRESSION_PROP,
                                        expression);
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    measure.setAlignment(column.getHorizontalAlign());
                                    measure.setFormat(column.getValueFormat());
                                }
                                initMeasure(dataField, measure);
                                measureGroup.add(IMeasureGroupModel.MEASURES_PROP, measure);
                                if (!isValidName) {
                                    MeasureDialog dialog = new MeasureDialog(false);
                                    dialog.setInput(measure);
                                    dialog.setAutoPrimaryKeyStatus(input.autoPrimaryKey());
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();
                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                                return;
                            }
                        } else if (element instanceof LevelHandle) {
                            // if ( isDateType( dataField.getDataType( )
                            // ) )
                            // {
                            // event.detail = DND.DROP_NONE;
                            // return;
                            // }

                            TabularHierarchyHandle hierarchy = (TabularHierarchyHandle) ((LevelHandle) element)
                                    .getContainer();
                            DimensionHandle dimension = (DimensionHandle) hierarchy.getContainer();

                            if (isTimeType(dimension)) {
                                event.detail = DND.DROP_NONE;
                                return;
                            }
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            // if ( hierarchy.getDataSet( ) == null
                            // && dataset != null )
                            // {
                            // hierarchy.setDataSet( dataset );
                            // }
                            try {
                                int index = ((LevelHandle) element).getIndex();
                                TabularLevelHandle level = DesignElementFactory.getInstance().newTabularLevel(
                                        dimension, OlapUtil.getDataFieldDisplayName(dataField));
                                level.setColumnName(dataField.getColumnName());
                                level.setDataType(dataField.getDataType());
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    level.setAlignment(column.getHorizontalAlign());
                                    level.setFormat(column.getValueFormat());
                                }
                                ((LevelHandle) element).getContainer().add(IHierarchyModel.LEVELS_PROP, level,
                                        index + 1);
                                if (!isValidName) {
                                    LevelPropertyDialog dialog = new LevelPropertyDialog(true);
                                    dialog.setInput(level);
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();
                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                                return;
                            }
                        } else if (element instanceof DimensionHandle
                                || (element instanceof VirtualField
                                        && ((VirtualField) element).getType().equals(VirtualField.TYPE_LEVEL))
                                || (element instanceof VirtualField && ((VirtualField) element).getType()
                                        .equals(VirtualField.TYPE_DIMENSION))
                                || (element instanceof PropertyHandle && ((PropertyHandle) element)
                                        .getPropertyDefn().getName().equals(ICubeModel.DIMENSIONS_PROP))) {
                            DimensionHandle dimension = null;
                            CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                            stack.startTrans(""); //$NON-NLS-1$
                            try {
                                if ((element instanceof VirtualField && ((VirtualField) element).getType()
                                        .equals(VirtualField.TYPE_DIMENSION))
                                        || (element instanceof PropertyHandle
                                                && ((PropertyHandle) element).getPropertyDefn().getName()
                                                        .equals(ICubeModel.DIMENSIONS_PROP))) {

                                    if (!isDateType(dataField.getDataType())) {
                                        dimension = DesignElementFactory.getInstance()
                                                .newTabularDimension(null);
                                        input.add(CubeHandle.DIMENSIONS_PROP, dimension);
                                        GroupRenameDialog inputDialog = createRenameDialog(dimension,
                                                Messages.getString("CubeGroupContent.Group.Add.Title"), //$NON-NLS-1$
                                                Messages.getString("CubeGroupContent.Group.Add.Message") //$NON-NLS-1$
                                        );
                                        if (inputDialog.open() != Window.OK) {
                                            stack.rollback();
                                            refresh();
                                            return;
                                        }
                                    } else {
                                        GroupDialog dialog = createGroupDialog();
                                        dialog.setInput(input, dataField);
                                        if (dialog.open() != Window.OK) {
                                            stack.rollback();
                                        } else {
                                            dimension = (DimensionHandle) dialog.getResult();
                                            TabularHierarchyHandle hierarchy = (TabularHierarchyHandle) dimension
                                                    .getDefaultHierarchy();
                                            if (!isValidName) {
                                                TabularLevelHandle level = (TabularLevelHandle) hierarchy
                                                        .getLevel(dataField.getColumnName());
                                                LevelPropertyDialog dialog2 = new LevelPropertyDialog(false);
                                                dialog2.setInput(level);
                                                if (dialog2.open() == Window.CANCEL) {
                                                    SessionHandleAdapter.getInstance().getCommandStack()
                                                            .rollback();
                                                }
                                            } else
                                                stack.commit();
                                        }

                                        refresh();
                                        return;
                                    }
                                } else {
                                    if (element instanceof DimensionHandle)
                                        dimension = (DimensionHandle) element;
                                    else
                                        dimension = (DimensionHandle) ((VirtualField) element).getModel();
                                }
                                if (isTimeType(dimension)
                                        && dimension.getDefaultHierarchy().getLevelCount() > 0) {
                                    event.detail = DND.DROP_NONE;
                                    stack.rollback();
                                    return;
                                }

                                TabularHierarchyHandle hierarchy = (TabularHierarchyHandle) dimension
                                        .getDefaultHierarchy();

                                if (hierarchy.getDataSet() == null && hierarchy.getLevelCount() == 0
                                        && (dataset != null && dataset != input.getDataSet())) {
                                    hierarchy.setDataSet(dataset);
                                }

                                TabularLevelHandle level = DesignElementFactory.getInstance().newTabularLevel(
                                        dimension, OlapUtil.getDataFieldDisplayName(dataField));
                                level.setColumnName(dataField.getColumnName());
                                level.setDataType(dataField.getDataType());
                                ColumnHintHandle column = OlapUtil.getColumnHintHandle(dataField);
                                if (column != null) {
                                    level.setAlignment(column.getHorizontalAlign());
                                    level.setFormat(column.getValueFormat());
                                }
                                hierarchy.add(IHierarchyModel.LEVELS_PROP, level);
                                if (!isValidName) {
                                    LevelPropertyDialog dialog = new LevelPropertyDialog(true);
                                    dialog.setInput(level);
                                    if (dialog.open() == Window.CANCEL) {
                                        SessionHandleAdapter.getInstance().getCommandStack().rollback();
                                    }
                                } else
                                    stack.commit();

                            } catch (SemanticException e) {
                                stack.rollback();
                                refresh();
                                ExceptionUtil.handle(e);
                                return;
                            }
                        }
                    }
                }
            }

            if (obj instanceof LevelHandle) {
                int oldIndex = ((LevelHandle) obj).getIndex();
                if (event.item == null) {
                    event.detail = DND.DROP_NONE;
                    return;
                } else {
                    Point pt = Display.getCurrent().map(null, groupViewer.getTree(), event.x, event.y);
                    Rectangle bounds = item.getBounds();

                    if (element instanceof LevelHandle) {
                        int newIndex = ((LevelHandle) element).getIndex();
                        if (newIndex < oldIndex) {
                            if (pt.y < bounds.y + bounds.height / 3) {
                                newIndex = ((LevelHandle) element).getIndex();
                            } else
                                newIndex = ((LevelHandle) element).getIndex() + 1;
                        } else if (newIndex > oldIndex) {
                            if (pt.y < bounds.y + bounds.height / 3) {
                                newIndex = ((LevelHandle) element).getIndex() - 1;
                            } else
                                newIndex = ((LevelHandle) element).getIndex();
                        }

                        CommandStack stack = SessionHandleAdapter.getInstance().getCommandStack();
                        stack.startTrans(""); //$NON-NLS-1$
                        try {
                            ((LevelHandle) obj).moveTo(newIndex);
                            stack.commit();
                        } catch (SemanticException e) {

                            stack.rollback();
                            refresh();
                            ExceptionUtil.handle(e);
                            return;
                        }
                        groupViewer.expandToLevel((obj), AbstractTreeViewer.ALL_LEVELS);
                        groupViewer.setSelection(new StructuredSelection((obj)), true);
                    }
                }
            }
            refresh();
        }
    });

    initSorting();
    sortBtn.setSelection(useSorting[0]);
}

From source file:org.eclipse.birt.report.designer.ui.cubebuilder.page.CubeGroupContent.java

License:Open Source License

private void expandNodeAfterCreation(NotificationEvent ev) {
    if (ev instanceof ContentEvent && ev.getEventType() == NotificationEvent.CONTENT_EVENT
            && ((ContentEvent) ev).getAction() == ContentEvent.ADD) {
        IDesignElement element = ((ContentEvent) ev).getContent();
        if (element != null) {
            final DesignElementHandle handle = element.getHandle(input.getModule());
            groupViewer.expandToLevel(handle, AbstractTreeViewer.ALL_LEVELS);
            groupViewer.setSelection(new StructuredSelection(handle), true);
            refresh();/* w w  w .ja v a 2  s . co m*/
        }
    }
}

From source file:org.eclipse.buildship.ui.view.execution.ExecutionProgressListener.java

License:Open Source License

private void makeNodeVisible(final OperationItem operationItem) {
    PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {

        @Override/*from  w ww  . j a va2 s.  c  o  m*/
        public void run() {
            @SuppressWarnings({ "cast", "RedundantCast" })
            TreeViewer treeViewer = (TreeViewer) ExecutionProgressListener.this.executionPage
                    .getAdapter(TreeViewer.class);
            treeViewer.expandToLevel(operationItem, AbstractTreeViewer.ALL_LEVELS);
        }
    });
}

From source file:org.eclipse.buildship.ui.view.execution.UpdateExecutionPageJob.java

License:Open Source License

@Override
protected IStatus run(IProgressMonitor monitor) {
    Display display = PlatformUI.getWorkbench().getDisplay();
    if (!display.isDisposed()) {
        display.syncExec(new Runnable() {

            @Override//from   ww w .j a v a2s.com
            public void run() {
                if (!UpdateExecutionPageJob.this.treeViewer.getControl().isDisposed()) {
                    UpdateExecutionPageJob.this.treeViewer.refresh(true);
                    UpdateExecutionPageJob.this.treeViewer.expandToLevel(AbstractTreeViewer.ALL_LEVELS);
                }
            }
        });
    }
    // reschedule the job such that is runs again in repeatDelay ms
    schedule(REPEAT_DELAY);
    return Status.OK_STATUS;
}

From source file:org.eclipse.cdt.internal.autotools.ui.editors.QuickOutlineDialog.java

License:Open Source License

private void createUIWidgetTreeViewer(Composite parent) {
    final int style = SWT.H_SCROLL | SWT.V_SCROLL;
    final Tree widget = new Tree(parent, style);
    final GridData data = new GridData(GridData.FILL_BOTH);
    data.heightHint = widget.getItemHeight() * 12;
    widget.setLayoutData(data);/*from  w  w w .ja  va 2s  .  co m*/
    treeViewer = new TreeViewer(widget);
    treeViewerFilter = new ContainsFilter();
    treeViewer.addFilter(treeViewerFilter);

    ITreeContentProvider fOutlineContentProvider = new AutoconfContentProvider(editor);
    ILabelProvider fTreeLabelProvider = new AutoconfLabelProvider();
    treeViewer.setContentProvider(fOutlineContentProvider);
    treeViewer.setLabelProvider(fTreeLabelProvider);
    treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    treeViewer.setUseHashlookup(true);
    treeViewer.setInput(editor.getAdapter(IContentOutlinePage.class));
}