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:net.bpelunit.toolsupport.editors.sections.ActivitySection.java

License:Open Source License

public void handleTrackSelection(XMLTrack selection) {
    fCurrentHumanPartnerTrack = null;/*  w  ww .j  a  v  a 2  s .  co  m*/
    fCurrentPartnerTrack = selection;
    setEnabled(BUTTON_ADD, true);
    setEnabled(BUTTON_EDIT, false);
    setEnabled(BUTTON_REMOVE, false);
    setEnabled(BUTTON_UP, false);
    setEnabled(BUTTON_DOWN, false);
    getViewer().setInput(selection);
    getTreeViewer().expandToLevel(AbstractTreeViewer.ALL_LEVELS);
}

From source file:net.bpelunit.toolsupport.editors.sections.ActivitySection.java

License:Open Source License

public void handleTrackSelection(XMLHumanPartnerTrack selection) {
    fCurrentPartnerTrack = null;//from ww  w .j  ava2s  . com
    fCurrentHumanPartnerTrack = selection;
    setEnabled(BUTTON_ADD, true);
    setEnabled(BUTTON_EDIT, false);
    setEnabled(BUTTON_REMOVE, false);
    setEnabled(BUTTON_UP, false);
    setEnabled(BUTTON_DOWN, false);
    getViewer().setInput(selection);
    getTreeViewer().expandToLevel(AbstractTreeViewer.ALL_LEVELS);
}

From source file:net.bpelunit.toolsupport.editors.sections.ActivitySection.java

License:Open Source License

protected void addActivity(ActivityConstant constant) {

    XMLActivity added = null;//from   ww w  . j  a  v  a 2s  .  c  o  m

    switch (constant) {
    case SEND_ONLY: {
        XMLSendOnlyActivity sendOp = fCurrentPartnerTrack.addNewSendOnly();

        // Initialize the activity:
        sendOp.setService(new QName(""));
        sendOp.setPort("");
        sendOp.setOperation("");
        sendOp.addNewData();

        this.prefillDataIfOnlyOneChoiceExists(sendOp);

        // Open the wizard
        SendOnlyWizard wiz = new SendOnlyWizard(getPage(), ActivityEditMode.ADD, sendOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, sendOp);
        } else
            added = sendOp;
        break;
    }
    case RECEIVE_ONLY: {
        XMLReceiveActivity receiveOp = fCurrentPartnerTrack.addNewReceiveOnly();
        // Initialize the activity:
        receiveOp.setService(new QName(""));
        receiveOp.setPort("");
        receiveOp.setOperation("");
        this.prefillDataIfOnlyOneChoiceExists(receiveOp);

        // Open the wizard
        ReceiveOnlyWizard wiz = new ReceiveOnlyWizard(getPage(), ActivityEditMode.ADD, receiveOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, receiveOp);
        } else
            added = receiveOp;
        break;
    }
    case SEND_RECEIVE_SYNC: {
        XMLTwoWayActivity sendRcvOp = fCurrentPartnerTrack.addNewSendReceive();
        initializeTwoWay(sendRcvOp);

        // Open the wizard
        SendReceiveSyncActivityWizard wiz = new SendReceiveSyncActivityWizard(getPage(), ActivityEditMode.ADD,
                sendRcvOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, sendRcvOp);
        } else
            added = sendRcvOp;
        break;
    }
    case RECEIVE_SEND_SYNC: {
        XMLTwoWayActivity rcvSendOp = fCurrentPartnerTrack.addNewReceiveSend();
        initializeTwoWay(rcvSendOp);

        // Open the wizard
        ReceiveSendSyncActivityWizard wiz = new ReceiveSendSyncActivityWizard(getPage(), ActivityEditMode.ADD,
                rcvSendOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, rcvSendOp);
        } else
            added = rcvSendOp;
        break;
    }
    case SEND_RECEIVE_ASYNC: {
        XMLTwoWayActivity sendRcvOp = fCurrentPartnerTrack.addNewSendReceiveAsynchronous();
        initializeTwoWay(sendRcvOp);

        // Open the wizard
        SendReceiveAsyncActivityWizard wiz = new SendReceiveAsyncActivityWizard(getPage(), ActivityEditMode.ADD,
                sendRcvOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, sendRcvOp);
        } else
            added = sendRcvOp;
        break;
    }
    case RECEIVE_SEND_ASYNC: {
        XMLTwoWayActivity sendRcvOp = fCurrentPartnerTrack.addNewReceiveSendAsynchronous();
        initializeTwoWay(sendRcvOp);

        // Open the wizard
        ReceiveSendAsyncActivityWizard wiz = new ReceiveSendAsyncActivityWizard(getPage(), ActivityEditMode.ADD,
                sendRcvOp);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, sendRcvOp);
        } else
            added = sendRcvOp;
        break;
    }
    case WAIT: {
        XMLWaitActivity waitAct = fCurrentPartnerTrack.addNewWait();
        initializeWait(waitAct);
        WaitActivityWizard wiz = new WaitActivityWizard(waitAct);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, waitAct);
        } else {
            added = waitAct;
        }
        break;
    }
    case COMPLETEHUMANTASK: {
        XMLCompleteHumanTaskActivity completeHumanTaskActivity = fCurrentHumanPartnerTrack
                .addNewCompleteHumanTask();
        CompleteHumanTaskActivityWizard wiz = new CompleteHumanTaskActivityWizard(completeHumanTaskActivity);
        if (!openWizard(wiz)) {
            removeActivity(fCurrentPartnerTrack, completeHumanTaskActivity);
        } else {
            added = completeHumanTaskActivity;
        }
        break;
    }
    default:
        ToolSupportActivator.logErrorMessage("Unknown activity constant " + constant);
    }
    if (added != null) {
        adjust(false);
        getTreeViewer().expandToLevel(added, AbstractTreeViewer.ALL_LEVELS);
        getTreeViewer().setSelection(new StructuredSelection(added));
    }
}

From source file:net.bpelunit.toolsupport.editors.sections.TestCaseAndTrackSection.java

License:Open Source License

private void addTestCase() {
    String[] results = editTestCase("Add a new test case", null, null, false, false, null);

    if (results != null) {
        XMLTestCase testCase = getTestCasesXMLPart().addNewTestCase();

        // initialize the test case
        testCase.setName(results[0]);/* w  w w . java 2 s. c  o  m*/
        testCase.setBasedOn(results[1]);
        testCase.setAbstract(Boolean.parseBoolean(results[2]));
        testCase.setVary(Boolean.parseBoolean(results[3]));

        testCase.addNewClientTrack();
        List<XMLPartnerDeploymentInformation> partnerTrackDeploymentInformations = getAllPartnerTracks();
        for (XMLPartnerDeploymentInformation information : partnerTrackDeploymentInformations) {
            XMLPartnerTrack track = testCase.addNewPartnerTrack();
            track.setName(information.getName());
        }
        List<XMLHumanPartnerDeploymentInformation> humanPartnerDeploymentInformations = getAllHumanPartnerTracks();
        for (XMLHumanPartnerDeploymentInformation information : humanPartnerDeploymentInformations) {
            XMLHumanPartnerTrack track = testCase.addNewHumanPartnerTrack();
            track.setName(information.getName());
        }

        adjust();
        getTreeViewer().expandToLevel(testCase, AbstractTreeViewer.ALL_LEVELS);
        getTreeViewer().setSelection(new StructuredSelection(testCase));
    }
}

From source file:net.mldonkey.g2gui.view.transfer.downloadTable.DownloadTableTreeView.java

License:Open Source License

public void doubleClick(DoubleClickEvent e) {
    IStructuredSelection sSel = (IStructuredSelection) e.getSelection();
    Object o = sSel.getFirstElement();

    if (o instanceof FileInfo) {
        FileInfo fileInfo = (FileInfo) o;

        if (tableTreeViewer.getExpandedState(fileInfo))
            tableTreeViewer.collapseToLevel(fileInfo, AbstractTreeViewer.ALL_LEVELS);
        else//from  w  ww .  j a va  2s .co  m
            tableTreeViewer.expandToLevel(fileInfo, AbstractTreeViewer.ALL_LEVELS);
    } else if (o instanceof TreeClientInfo) {
        TreeClientInfo treeClientInfo = (TreeClientInfo) o;
        ClientDetailDialog c = new ClientDetailDialog(tableTreeViewer.getTableTree().getShell(),
                treeClientInfo.getFileInfo(), treeClientInfo.getClientInfo(), getCore());
        c.open();
    }
}

From source file:net.sf.eclipsensis.help.commands.NSISCommandView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    mFlatMode = NSISPreferences.getInstance().getBoolean(INSISPreferenceConstants.NSIS_COMMAND_VIEW_FLAT_MODE);

    mControl = new Composite(parent, SWT.NONE);
    GridLayout l = new GridLayout(1, true);
    //        l.verticalSpacing = 0;
    mControl.setLayout(l);/*from  ww w  .ja v  a 2s  .  co  m*/

    mFilterPanel = new Composite(mControl, SWT.NONE);
    mFilterPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    l = new GridLayout(3, false);
    l.marginWidth = l.marginHeight = 0;
    mFilterPanel.setLayout(l);
    mFilterPanel.setVisible(mShowFilter);
    ((GridData) mFilterPanel.getLayoutData()).exclude = !mShowFilter;

    Label temp = new Label(mFilterPanel, SWT.NONE);
    temp.setText("Filter:");
    temp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));

    FieldDecoration dec = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
    Rectangle bounds = dec.getImage().getBounds();

    final Combo filterCombo = new Combo(mFilterPanel, SWT.BORDER | SWT.DROP_DOWN);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.horizontalIndent = bounds.width;
    filterCombo.setLayoutData(gd);
    final ComboViewer filterComboViewer = new ComboViewer(filterCombo);
    filterComboViewer.setContentProvider(new CollectionContentProvider(true));
    filterComboViewer.setInput(mSavedFilterSettings);
    filterComboViewer.setSelection(
            mFilterSetting == null ? StructuredSelection.EMPTY : new StructuredSelection(mFilterSetting));

    final Button regexp = new Button(mFilterPanel, SWT.CHECK);
    regexp.setText("Regular Expression");
    regexp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
    regexp.setSelection(mFilterSetting != null && mFilterSetting.regexp);

    temp = new Label(mFilterPanel, SWT.NONE);
    temp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));

    Composite c = new Composite(mFilterPanel, SWT.NONE);
    c.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    ((GridData) c.getLayoutData()).horizontalSpan = 2;
    l = new GridLayout(2, false);
    l.marginWidth = l.marginHeight = 0;
    c.setLayout(l);

    final String helpText = "(* = any string, ? = any character, \\ = escape for literals: * ? \\)";
    final Label helpLabel = new Label(c, SWT.NONE);
    helpLabel.setText(helpText);
    gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.horizontalIndent = bounds.width;
    helpLabel.setLayoutData(gd);

    c = new Composite(c, SWT.None);
    c.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
    l = new GridLayout(2, true);
    l.marginWidth = l.marginHeight = 0;
    c.setLayout(l);

    final Button clear = new Button(c, SWT.PUSH);
    clear.setText("Clear");
    clear.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));

    final Button apply = new Button(c, SWT.PUSH);
    apply.setText("Apply");
    apply.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));

    Tree tree = new Tree(mControl, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.HIDE_SELECTION);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tree.setLinesVisible(false);
    mViewer = new TreeViewer(tree);
    mViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    mViewer.setContentProvider(new TreeContentProvider());
    mViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof TreeNode) {
                return ((TreeNode) element).getName();
            }
            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof TreeNode) {
                if (((TreeNode) element).getCommand() != null) {
                    return COMMAND_IMAGE;
                } else {
                    return mViewer.getExpandedState(element) ? OPEN_CATEGORY_IMAGE : CATEGORY_IMAGE;
                }
            }
            return super.getImage(element);
        }
    });
    mViewer.addTreeListener(new ITreeViewerListener() {
        public void treeCollapsed(TreeExpansionEvent event) {
            updateLabels(event);
        }

        /**
         * @param treeViewer
         * @param event
         */
        private void updateLabels(TreeExpansionEvent event) {
            final Object element = event.getElement();
            if (element instanceof TreeNode && ((TreeNode) element).getCommand() == null) {
                mViewer.getTree().getDisplay().asyncExec(new Runnable() {
                    public void run() {
                        mViewer.update(element, null);
                    }
                });
            }
        }

        public void treeExpanded(TreeExpansionEvent event) {
            updateLabels(event);
        }
    });

    NSISPreferences.getInstance().addListener(this);
    mViewer.addDragSupport(DND.DROP_COPY, new Transfer[] { NSISCommandTransfer.INSTANCE },
            new DragSourceAdapter() {
                @Override
                public void dragStart(DragSourceEvent e) {
                    IEditorPart editor = getSite().getWorkbenchWindow().getActivePage().getActiveEditor();
                    if (!(editor instanceof NSISEditor)) {
                        e.doit = false;
                    }
                    IStructuredSelection sel = (IStructuredSelection) mViewer.getSelection();
                    if (sel == null || sel.isEmpty() || !(sel.getFirstElement() instanceof TreeNode)
                            || ((TreeNode) sel.getFirstElement()).getCommand() == null) {
                        e.doit = false;
                    }
                }

                @Override
                public void dragSetData(DragSourceEvent e) {
                    IStructuredSelection sel = (IStructuredSelection) mViewer.getSelection();
                    if (sel != null && !sel.isEmpty() && sel.getFirstElement() instanceof TreeNode
                            && ((TreeNode) sel.getFirstElement()).getCommand() != null) {
                        e.data = ((TreeNode) sel.getFirstElement()).getCommand();
                    } else {
                        e.data = null;
                    }
                }
            });
    mViewer.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if ((e.character == SWT.CR || e.character == SWT.LF) && e.stateMask == 0) {
                insertCommand(mViewer.getSelection());
            }
        }
    });
    mViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (!insertCommand(event.getSelection())) {
                if (event.getSelection() instanceof IStructuredSelection && !event.getSelection().isEmpty()) {
                    Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
                    if (element instanceof TreeNode) {
                        TreeNode node = (TreeNode) element;
                        mViewer.setExpandedState(node, !mViewer.getExpandedState(node));
                    }
                }
            }
        }
    });

    final boolean[] stopListening = { false };

    filterCombo.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (!stopListening[0]) {
                mFilterSetting = createFilterSetting(filterCombo.getText(), regexp.getSelection());
                apply.setEnabled(mFilterSetting != null);
            }
        }
    });
    filterCombo.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            if (mContentAssistFindField == null) {
                createFilterContentAssist(filterCombo, helpLabel);
            }
            mContentAssistFindField.setEnabled(regexp.getSelection());
        }
    });

    regexp.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            if (mContentAssistFindField == null) {
                createFilterContentAssist(filterCombo, helpLabel);
            }
            mContentAssistFindField.setEnabled(regexp.getSelection());
        }
    });
    regexp.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            if (mContentAssistFindField == null) {
                createFilterContentAssist(filterCombo, helpLabel);
            }
            mContentAssistFindField.setEnabled(regexp.getSelection());
            mFilterPanel.layout(new Control[] { filterCombo, helpLabel });
            helpLabel.setVisible(!regexp.getSelection());
            if (mContentAssistFindField != null) {
                mContentAssistFindField.setEnabled(regexp.getSelection());
            }
            if (!stopListening[0]) {
                mFilterSetting = createFilterSetting(filterCombo.getText(), regexp.getSelection());
                apply.setEnabled(mFilterSetting != null);
            }
        }
    });

    clear.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                stopListening[0] = true;
                filterComboViewer.setSelection(StructuredSelection.EMPTY);
                regexp.setSelection(false);
                mFilterSetting = null;
                updateInput();
            } finally {
                stopListening[0] = false;
            }
        }
    });

    final Runnable applyFilterRunnable = new Runnable() {
        public void run() {
            updateInput();
            FilterSetting filterSetting = mFilterSetting;
            mSavedFilterSettings.add(filterSetting);
            filterComboViewer.refresh();
            filterComboViewer.setSelection(new StructuredSelection(filterSetting));
            filterComboViewer.getCombo().clearSelection();
        }
    };

    apply.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            applyFilterRunnable.run();
        }
    });

    filterCombo.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if ((e.character == SWT.CR || e.character == SWT.LF) && e.stateMask == 0) {
                if (apply.isEnabled()) {
                    applyFilterRunnable.run();
                }
            }
        }
    });

    filterComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty()) {
                IStructuredSelection sel = (IStructuredSelection) event.getSelection();
                FilterSetting filterSetting = (FilterSetting) sel.getFirstElement();
                try {
                    stopListening[0] = true;
                    mFilterSetting = filterSetting;
                    regexp.setSelection(mFilterSetting.regexp);
                    apply.setEnabled(true);
                } finally {
                    stopListening[0] = false;
                }
            }
        }
    });
    makeActions();
    updateInput();
    PlatformUI.getWorkbench().getHelpSystem().setHelp(mViewer.getControl(),
            INSISConstants.PLUGIN_CONTEXT_PREFIX + "nsis_cmdview_context");
}

From source file:net.sf.eclipsensis.wizard.NSISWizardContentsPage.java

License:Open Source License

@Override
protected Control createPageControl(Composite parent) {
    NSISWizardSettings settings = mWizard.getSettings();

    final Composite composite = new Composite(parent, SWT.NONE);

    final GridLayout layout = new GridLayout(1, false);
    composite.setLayout(layout);/* w ww  .  j a v  a 2s  .c  om*/

    ResourceBundle bundle = EclipseNSISPlugin.getDefault().getResourceBundle();

    Label contentsLabel = NSISWizardDialogUtil.createLabel(composite, "wizard.contents.text", true, null, //$NON-NLS-1$
            false);
    Dialog.applyDialogFont(contentsLabel);
    final GridData gridData = (GridData) contentsLabel.getLayoutData();
    gridData.widthHint = Common.calculateControlSize(contentsLabel, 80, 0).x;
    composite.addListener(SWT.Resize, new Listener() {
        boolean init = false;

        public void handleEvent(Event e) {
            if (init) {
                Point size = composite.getSize();
                gridData.widthHint = size.x - 2 * layout.marginWidth;
                composite.layout();
            } else {
                init = true;
            }
        }
    });

    Group contentsGroup = NSISWizardDialogUtil.createGroup(composite, 1, "", null, false); //$NON-NLS-1$
    GridData gd = (GridData) contentsGroup.getLayoutData();
    gd.grabExcessVerticalSpace = true;
    gd.verticalAlignment = GridData.FILL;

    final ToolBar contentsToolbar = createToolBar(contentsGroup, bundle);
    gd = new GridData(SWT.FILL, SWT.CENTER, true, false);
    gd.horizontalSpan = 1;
    contentsToolbar.setLayoutData(gd);

    final ToolItem addToolItem = contentsToolbar.getItem(0);
    final ToolItem editToolItem = contentsToolbar.getItem(1);
    final ToolItem deleteToolItem = contentsToolbar.getItem(2);

    Composite composite2 = new Composite(contentsGroup, SWT.NONE);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.horizontalSpan = 1;
    composite2.setLayoutData(gd);

    GridLayout layout2 = new GridLayout(2, false);
    layout2.marginHeight = 0;
    layout2.marginWidth = 0;
    composite2.setLayout(layout2);

    final Tree contentsTree = new Tree(composite2, SWT.MULTI | SWT.BORDER);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.horizontalSpan = 1;
    contentsTree.setLayoutData(gd);

    updateSelectComponents();
    mContentsTreeViewer = new TreeViewer(contentsTree);
    mContentsTreeViewer.setLabelProvider(new NSISInstallElementLabelProvider());
    mContentsTreeViewer.setContentProvider(new NSISInstallElementTreeContentProvider(settings));
    mContentsTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    mContentsTreeViewer.setInput(settings);
    ColumnViewerToolTipSupport.enableFor(mContentsTreeViewer);

    final StructuredViewerUpDownMover<NSISWizardSettings, INSISInstallElement> mover = new StructuredViewerUpDownMover<NSISWizardSettings, INSISInstallElement>() {
        private TreeViewer mTreeViewer = null;

        @Override
        public void setViewer(StructuredViewer viewer) {
            mTreeViewer = (TreeViewer) viewer;
        }

        @Override
        public StructuredViewer getViewer() {
            return mTreeViewer;
        }

        @Override
        protected int[] getSelectedIndices() {
            List<INSISInstallElement> list = getSelectionList(mTreeViewer);
            INSISInstallElement parent = getSelectionParent(list);
            if (parent != null) {
                List<INSISInstallElement> allElements = getAllElements(parent);
                int[] selectedIndices = new int[list.size()];
                int i = 0;
                for (Iterator<INSISInstallElement> iter = list.iterator(); iter.hasNext();) {
                    selectedIndices[i++] = allElements.indexOf(iter.next());
                }

                return selectedIndices;
            }
            return new int[0];
        }

        private List<INSISInstallElement> getAllElements(INSISInstallElement parent) {
            if (parent != null) {
                INSISInstallElement[] children = parent.getChildren();
                if (!Common.isEmptyArray(children)) {
                    return Arrays.asList(children);
                }
            }
            return Collections.<INSISInstallElement>emptyList();
        }

        @Override
        protected List<INSISInstallElement> getAllElements() {
            return getAllElements(getSelectionParent(getSelectionList(mTreeViewer)));
        }

        @Override
        protected void updateStructuredViewerInput(NSISWizardSettings input, List<INSISInstallElement> elements,
                List<INSISInstallElement> move, boolean isDown) {
            INSISInstallElement parent = getSelectionParent(move);
            if (parent != null && parent instanceof AbstractNSISInstallGroup) {
                parent.removeAllChildren();
                for (Iterator<INSISInstallElement> iter = elements.iterator(); iter.hasNext();) {
                    INSISInstallElement element = iter.next();
                    parent.addChild(element);
                }
                mTreeViewer.refresh(parent, true);
                expandGroup(mTreeViewer, (AbstractNSISInstallGroup) parent);
            }
        }

        /**
         * @param viewer
         */
        @Override
        protected void refreshViewer(StructuredViewer viewer, List<INSISInstallElement> elements,
                List<INSISInstallElement> move, boolean isDown) {
        }
    };
    mover.setViewer(mContentsTreeViewer);

    Composite composite3 = new Composite(composite2, SWT.NONE);
    gd = new GridData();
    composite3.setLayoutData(gd);

    layout2 = new GridLayout();
    layout2.marginHeight = 0;
    layout2.marginWidth = 0;
    composite3.setLayout(layout2);

    final Button upButton = new Button(composite3, SWT.PUSH);
    upButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("up.icon"))); //$NON-NLS-1$
    upButton.setToolTipText(EclipseNSISPlugin.getResourceString("up.tooltip")); //$NON-NLS-1$
    upButton.setEnabled(mover.canMoveUp());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mover.moveUp();
        }
    });

    final Button downButton = new Button(composite3, SWT.PUSH);
    downButton.setImage(
            EclipseNSISPlugin.getImageManager().getImage(EclipseNSISPlugin.getResourceString("down.icon"))); //$NON-NLS-1$
    downButton.setToolTipText(EclipseNSISPlugin.getResourceString("down.tooltip")); //$NON-NLS-1$
    downButton.setEnabled(mover.canMoveDown());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mover.moveDown();
        }
    });

    mContentsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            enableItems(event.getSelection(), addToolItem, editToolItem, deleteToolItem);
            upButton.setEnabled(mover.canMoveUp());
            downButton.setEnabled(mover.canMoveDown());
        }
    });

    mContentsTreeViewer.addTreeListener(new ITreeViewerListener() {
        public void setState(TreeExpansionEvent event, boolean state) {
            Object element = event.getElement();
            if (element instanceof AbstractNSISInstallGroup) {
                ((AbstractNSISInstallGroup) element).setExpanded(state);
            }
        }

        public void treeCollapsed(TreeExpansionEvent event) {
            setState(event, false);
        }

        public void treeExpanded(TreeExpansionEvent event) {
            setState(event, true);
        }
    });

    configureDND(mContentsTreeViewer);

    SelectionAdapter editSelectionAdapter = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection sel = mContentsTreeViewer.getSelection();
            if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                Object obj = ((IStructuredSelection) sel).getFirstElement();
                if (obj instanceof INSISInstallElement) {
                    editElement(composite, mContentsTreeViewer, (INSISInstallElement) obj);
                    updateSelectComponents();
                    checkUnselectedSections();
                }
            }
        }
    };

    SelectionAdapter deleteSelectionAdapter = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection sel = mContentsTreeViewer.getSelection();
            if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                deleteElements(mContentsTreeViewer, sel);
                updateSelectComponents();
            }
        }
    };

    final SelectionAdapter addSelectionAdapter = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            MenuItem mi = (MenuItem) e.widget;
            String type = (String) mi.getData();
            INSISInstallElement element = NSISInstallElementFactory.create(type);
            if (element != null) {
                try {
                    if (element.isEditable()) {
                        ISelection se = mContentsTreeViewer.getSelection();
                        if (!se.isEmpty() && se instanceof IStructuredSelection) {
                            Object obj = ((IStructuredSelection) se).getFirstElement();
                            if (obj instanceof INSISInstallElement) {
                                INSISInstallElement parent = (INSISInstallElement) obj;
                                if (element.edit(mWizard)) {
                                    if (parent.addChild(element)) {
                                        mContentsTreeViewer.refresh(parent, true);
                                        mContentsTreeViewer.reveal(element);
                                        if (element.hasChildren()) {
                                            mContentsTreeViewer.expandToLevel(element,
                                                    AbstractTreeViewer.ALL_LEVELS);
                                        }
                                        updateSelectComponents();
                                        setPageComplete(validatePage(VALIDATE_ALL));
                                    }
                                }
                            }
                        }
                    }
                } catch (Exception ex) {
                    delayedValidateAfterError(ex.getLocalizedMessage(), 2000);
                }
            }
        }
    };

    final Menu addPopupMenu = new Menu(getShell(), SWT.POP_UP);
    addToolItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Rectangle rect = addToolItem.getBounds();
            Point pt = new Point(rect.x, rect.y + rect.height);
            pt = contentsToolbar.toDisplay(pt);
            updateAddMenu(addPopupMenu, mContentsTreeViewer.getSelection(), addSelectionAdapter);
            addPopupMenu.setLocation(pt.x, pt.y);
            addPopupMenu.setVisible(true);
        }
    });
    editToolItem.addSelectionListener(editSelectionAdapter);
    deleteToolItem.addSelectionListener(deleteSelectionAdapter);
    contentsToolbar.getItem(3).addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mContentsTreeViewer.expandAll();
        }
    });
    contentsToolbar.getItem(4).addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mContentsTreeViewer.collapseAll();
        }
    });

    final Menu itemPopupMenu = createMenu(bundle);
    final Menu addDropdownMenu = new Menu(getShell(), SWT.DROP_DOWN);

    final MenuItem addMenuItem = itemPopupMenu.getItem(0);
    final MenuItem editMenuItem = itemPopupMenu.getItem(1);
    final MenuItem deleteMenuItem = itemPopupMenu.getItem(2);

    addMenuItem.setMenu(addDropdownMenu);
    editMenuItem.addSelectionListener(editSelectionAdapter);
    deleteMenuItem.addSelectionListener(deleteSelectionAdapter);

    contentsTree.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            ISelection sel = mContentsTreeViewer.getSelection();
            if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                IStructuredSelection ssel = (IStructuredSelection) sel;
                Object obj = ssel.getFirstElement();
                if (obj instanceof INSISInstallElement) {
                    editElement(composite, mContentsTreeViewer, (INSISInstallElement) obj);
                    updateSelectComponents();
                    checkUnselectedSections();
                }
            }
        }
    });

    contentsTree.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            if (e.button == 3) {
                TreeItem ti = contentsTree.getItem(new Point(e.x, e.y));
                if (ti != null) {
                    ISelection sel = mContentsTreeViewer.getSelection();
                    enableItems(sel, addMenuItem, editMenuItem, deleteMenuItem);
                    updateAddMenu(addDropdownMenu, sel, addSelectionAdapter);
                    Point pt = contentsTree.toDisplay(e.x, e.y);
                    itemPopupMenu.setLocation(pt.x, pt.y);
                    itemPopupMenu.setVisible(true);
                }
            }
        }
    });

    contentsTree.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                if (e.stateMask == 0) {
                    ISelection sel = mContentsTreeViewer.getSelection();
                    if (!sel.isEmpty() && sel instanceof IStructuredSelection) {
                        if (canDeleteElements((IStructuredSelection) sel)) {
                            deleteElements(mContentsTreeViewer, sel);
                            updateSelectComponents();
                        }
                    }

                }
            }
        }
    });

    addPageChangedRunnable(new Runnable() {
        public void run() {
            checkUnselectedSections();
        }
    });

    final PropertyChangeListener propertyListener = new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            if (NSISWizardSettings.TARGET_PLATFORM.equals(evt.getPropertyName())) {
                mContentsTreeViewer.refresh(true);
            }
        }
    };
    settings.addPropertyChangeListener(propertyListener);
    final INSISWizardSettingsListener listener = new INSISWizardSettingsListener() {
        public void settingsChanged(NSISWizardSettings oldSettings, final NSISWizardSettings newSettings) {
            if (oldSettings != null) {
                oldSettings.removePropertyChangeListener(propertyListener);
            }
            mContentsTreeViewer.setInput(newSettings);
            mContentsTreeViewer.expandToLevel(newSettings.getInstaller(), AbstractTreeViewer.ALL_LEVELS);
            newSettings.addPropertyChangeListener(propertyListener);
        }
    };
    mWizard.addSettingsListener(listener);

    composite.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            mWizard.removeSettingsListener(listener);
            mWizard.getSettings().removePropertyChangeListener(propertyListener);
        }
    });

    setPageComplete(validatePage(VALIDATE_ALL));

    return composite;
}

From source file:net.sf.eclipsensis.wizard.NSISWizardContentsPage.java

License:Open Source License

private void editElement(Composite composite, TreeViewer tv, INSISInstallElement element) {
    try {/*from ww w .  j a va 2 s .co m*/
        if (element.edit(mWizard)) {
            tv.refresh(element, true);
            if (element.hasChildren()) {
                tv.expandToLevel(element, AbstractTreeViewer.ALL_LEVELS);
            }
            setPageComplete(validatePage(VALIDATE_ALL));
        }
    } catch (Exception ex) {
        delayedValidateAfterError(ex.getLocalizedMessage(), 2000);
    }
}

From source file:net.sf.webcat.eclipse.cxxtest.wizards.NewCxxTestSuiteWizardPageTwo.java

License:Open Source License

private void createFunctionsTreeControls(Composite container) {
    Label label = new Label(container, SWT.LEFT | SWT.WRAP);
    label.setFont(container.getFont());/*from  ww  w  .java 2s  .  com*/
    label.setText(Messages.NewCxxTestSuiteWizardPageTwo_AvailableFunctions);
    GridData gd = new GridData();
    gd.horizontalSpan = 2;
    label.setLayoutData(gd);

    functionsTree = new ContainerCheckedTreeViewer(container, SWT.BORDER);
    gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    gd.heightHint = 180;
    functionsTree.getTree().setLayoutData(gd);

    functionsTree.setLabelProvider(new CustomCElementLabelProvider());
    functionsTree.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    functionsTree.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            doCheckedStateChanged();
        }
    });

    Composite buttonContainer = new Composite(container, SWT.NONE);
    gd = new GridData(GridData.FILL_VERTICAL);
    buttonContainer.setLayoutData(gd);
    GridLayout buttonLayout = new GridLayout();
    buttonLayout.marginWidth = 0;
    buttonLayout.marginHeight = 0;
    buttonContainer.setLayout(buttonLayout);

    selectAllButton = new Button(buttonContainer, SWT.PUSH);
    selectAllButton.setText(Messages.NewCxxTestSuiteWizardPageTwo_SelectAll);
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
    selectAllButton.setLayoutData(gd);
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            functionsTree.setCheckedElements((Object[]) functionsTree.getInput());
            doCheckedStateChanged();
        }
    });
    SWTUtil.setButtonDimensionHint(selectAllButton);

    deselectAllButton = new Button(buttonContainer, SWT.PUSH);
    deselectAllButton.setText(Messages.NewCxxTestSuiteWizardPageTwo_DeselectAll);
    gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
    deselectAllButton.setLayoutData(gd);
    deselectAllButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            functionsTree.setCheckedElements(new Object[0]);
            doCheckedStateChanged();
        }
    });
    SWTUtil.setButtonDimensionHint(deselectAllButton);

    /* No of selected functions label */
    selectedFunctionsLabel = new Label(container, SWT.LEFT);
    selectedFunctionsLabel.setFont(container.getFont());
    doCheckedStateChanged();
    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan = 1;
    selectedFunctionsLabel.setLayoutData(gd);

    Label emptyLabel = new Label(container, SWT.LEFT);
    gd = new GridData();
    gd.horizontalSpan = 1;
    emptyLabel.setLayoutData(gd);
}

From source file:net.timedoctor.ui.statistics.LineStatTreeViewer.java

License:Open Source License

private void createTreeViewer(final Tree tree) {
    viewer = new TreeViewer(tree);
    viewer.setContentProvider(new StatContentProvider());
    viewer.setLabelProvider(new LineStatLabelProvider());

    viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
}