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

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

Introduction

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

Prototype

public TreeViewer(Composite parent, int style) 

Source Link

Document

Creates a tree viewer on a newly-created tree control under the given parent.

Usage

From source file:com.motorolamobility.studio.android.db.core.ui.wizards.createdb.CreateDatabaseWizardPage.java

License:Apache License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.FILL);
    composite.setLayout(new GridLayout(2, false));

    GridData layoutData = new GridData(SWT.FILL, SWT.NONE, true, false);

    Composite nameComposite = new Composite(composite, SWT.FILL);
    nameComposite.setLayout(new GridLayout(2, false));
    nameComposite.setLayoutData(layoutData);

    layoutData = new GridData(SWT.LEFT, SWT.NONE, false, false);

    Label dbNameLabel = new Label(nameComposite, SWT.NONE);
    dbNameLabel.setLayoutData(layoutData);
    dbNameLabel.setText(DbCoreNLS.CreateDatabaseWizardPage_DB_Name_Label);

    layoutData = new GridData(SWT.FILL, SWT.NONE, true, false);
    databaseName = new Text(nameComposite, SWT.BORDER | SWT.SINGLE);
    databaseName.setLayoutData(layoutData);
    databaseName.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent e) {
            validatePage();//from   w  ww .j  a  v a2s .c  om
            getContainer().updateButtons();

        }
    });

    Composite emptyComposite = new Composite(composite, SWT.RIGHT);
    emptyComposite.setLayout(new GridLayout(1, false));
    emptyComposite.layout();

    Group tableGroup = new Group(composite, SWT.FILL);

    GridLayout gridLayout = new GridLayout(2, false);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);

    tableGroup.setLayout(gridLayout);
    tableGroup.setLayoutData(gridData);

    tableGroup.setText(DbCoreNLS.CreateDatabaseWizardPage_Table_Group);

    viewer = new TreeViewer(tableGroup, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    // Set content and label provider
    viewer.setLabelProvider(new TableLabelProvider());
    viewer.setContentProvider(new TreeNodeContentProvider());

    viewer.setInput(treeNodeArray);

    layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);

    viewer.getTree().setLayoutData(layoutData);

    viewer.addSelectionChangedListener(new TreeViewerListener());

    Composite buttonBar = new Composite(tableGroup, SWT.NONE);
    layoutData = new GridData(SWT.RIGHT, SWT.TOP, false, true);
    buttonBar.setLayoutData(layoutData);

    buttonBar.setLayout(new FillLayout(SWT.VERTICAL));
    addButton = new Button(buttonBar, SWT.PUSH);
    addButton.setText(DbCoreNLS.CreateDatabaseWizardPage_Add_Button);
    addButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean tableAdded = false;

            // loop used to validate the new table name. If it already exists 
            // tell the user and open the table wizard again.
            while (!tableAdded) {
                CreateTableWizard createTableWizard = new CreateTableWizard();
                WizardDialog dialog = new WizardDialog(getShell(), createTableWizard);
                dialog.open();
                if (dialog.getReturnCode() == Dialog.OK) {
                    TableModel newTable = createTableWizard.getTable();
                    if (newTable != null) {
                        boolean tableNameAlreadyExists = false;
                        for (TableModel tableModel : tables) {
                            if (tableModel.getName().equalsIgnoreCase(newTable.getName())) {
                                tableNameAlreadyExists = true;
                                break;
                            }
                        }
                        if (!tableNameAlreadyExists) {
                            tables.add(newTable);

                            ArrayList<TreeNode> treeNodeColletion = new ArrayList<TreeNode>();
                            treeNodeColletion.addAll(Arrays.asList((TreeNode[]) viewer.getInput()));
                            TreeNode treeNode = new TreeNode(newTable);
                            treeNodeColletion.add(treeNode);
                            viewer.setInput(treeNodeColletion.toArray(new TreeNode[0]));
                            tableAdded = true;
                        } else {
                            MessageDialog.openError(getShell(),
                                    DbCoreNLS.CreateDatabaseWizardPage_Table_Already_Exists_Title,
                                    NLS.bind(DbCoreNLS.CreateDatabaseWizardPage_Table_Already_Exists_Msg,
                                            newTable.getName()));
                        }
                    }
                } else {
                    break;
                }
            }
        }

    });

    editButton = new Button(buttonBar, SWT.PUSH);
    editButton.setText(DbCoreNLS.CreateDatabaseWizardPage_Edit_Button);
    editButton.setEnabled(false);
    editButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeNode selectedNode = null;

            if (viewer.getSelection() instanceof ITreeSelection) {
                ITreeSelection treeSelection = (ITreeSelection) viewer.getSelection();
                selectedNode = (TreeNode) treeSelection.getFirstElement();
                TableModel table = (TableModel) selectedNode.getValue();

                CreateTableWizard createTableWizard = new CreateTableWizard();
                createTableWizard.init(table);
                WizardDialog dialog = new WizardDialog(getShell(), createTableWizard);
                dialog.open();
                TableModel newTable = createTableWizard.getTable();
                if (newTable != null) {
                    tables.add(newTable);
                }
                viewer.refresh();
            }
        }
    });

    removeButton = new Button(buttonBar, SWT.PUSH);
    removeButton.setText(DbCoreNLS.CreateDatabaseWizardPage_Remove_Button);
    removeButton.setEnabled(false);
    removeButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ArrayList<TreeNode> treeNodeColletion = new ArrayList<TreeNode>();
            treeNodeColletion.addAll(Arrays.asList((TreeNode[]) viewer.getInput()));

            TreeNode selectedNode = null;

            if (viewer.getSelection() instanceof ITreeSelection) {
                ITreeSelection treeSelection = (ITreeSelection) viewer.getSelection();
                selectedNode = (TreeNode) treeSelection.getFirstElement();

                treeNodeColletion.remove(selectedNode);
                viewer.setInput(treeNodeColletion.toArray(new TreeNode[0]));
            }
        }
    });

    composite.pack();
    composite.layout();
    setPageComplete(false);
    setErrorMessage(null);

    setControl(composite);

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, DATABASE_CONTEXT_HELP_ID);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, DATABASE_CONTEXT_HELP_ID);
}

From source file:com.mountainminds.eclipseinspector.ui.debug.AbstractObjectBrowserPropertyPage.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    noDefaultAndApplyButton();/*from  w  w  w.  j  a  va  2s  . c o m*/
    IObjectInspector inspector = InspectorRegistry.DEFAULT;

    TreeViewer viewer = new TreeViewer(parent, SWT.BORDER);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setHeaderVisible(true);
    viewer.setContentProvider(new InspectionContentProvider(inspector));

    TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    nameColumn.getColumn().setText("Name");
    nameColumn.getColumn().setWidth(200);
    nameColumn.setLabelProvider(new InspectionNameLabelProvider(inspector));

    TreeViewerColumn valueColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    valueColumn.getColumn().setText("Value");
    valueColumn.getColumn().setWidth(200);
    valueColumn.setLabelProvider(new InspectionValueLabelProvider(inspector));

    viewer.setInput(getRoots());

    return viewer.getTree();
}

From source file:com.netxforge.base.cdo.ui.CDOStorageView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    parent.setLayout(new FillLayout());

    treeViewer = new TreeViewer(parent, SWT.NONE);

    Tree tree = treeViewer.getTree();//from   ww w  . ja v a 2s. c  om
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    {
        TreeViewerColumn tblViewerC = new TreeViewerColumn(treeViewer, SWT.LEFT);

        TreeColumn tblclmnName = tblViewerC.getColumn();
        tblclmnName.setWidth(200);
        tblclmnName.setText("Provider");
    }
    {
        TreeViewerColumn tblViewerC = new TreeViewerColumn(treeViewer, SWT.LEFT);

        TreeColumn tblclmnName = tblViewerC.getColumn();
        tblclmnName.setWidth(200);
        tblclmnName.setText("Session (S)");

    }
    {
        TreeViewerColumn tblViewerC = new TreeViewerColumn(treeViewer, SWT.LEFT);

        TreeColumn tblclmnName = tblViewerC.getColumn();
        tblclmnName.setWidth(150);
        tblclmnName.setText("Transaction (S)");
    }

    // {
    // TableViewerColumn tblViewerC = new TableViewerColumn(tableViewer,
    // SWT.LEFT);
    // TableColumn tblclmnName = tblViewerC.getColumn();
    // tblclmnName.setWidth(150);
    // tblclmnName.setText("View)");
    // }

    initDataBindings();
}

From source file:com.netxforge.netxstudio.callflow.screens.CallFlows.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    @SuppressWarnings("unused")
    int widgetStyle = SWT.None;
    if (ScreenUtil.isReadOnlyOperation(getOperation())) {
        widgetStyle |= SWT.READ_ONLY;//  w ww.  j  ava  2s.  co m
    }

    // Create the form.
    frmCallFlows = toolkit.createForm(this);
    frmCallFlows.setSeparatorVisible(true);

    frmCallFlows.setText(this.getScreenName());

    // frmCallFlows.getToolBarManager().add(
    // new EditCallFlowsAction("Visual Editor"));
    frmCallFlows.getToolBarManager().add(new NewCallFlowAction(""));
    frmCallFlows.getToolBarManager().update(true);
    frmCallFlows.setToolBarVerticalAlignment(SWT.TOP);

    toolkit.decorateFormHeading(frmCallFlows);
    toolkit.paintBordersFor(frmCallFlows);

    // Body of the form.
    FillLayout fl = new FillLayout();
    frmCallFlows.getBody().setLayout(fl);

    // FILTER
    Composite composite = toolkit.createComposite(frmCallFlows.getBody(), SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(2, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            ViewerFilter[] filters = callFlowTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
            callFlowTreeViewer.refresh();

            // TODO, somehow find out which objects are shown, and expand
            // for these.
            // callFlowTreeViewer.expandAll();
        }
    });

    Composite cmpCallFlows = new Composite(composite, SWT.NONE);
    toolkit.adapt(cmpCallFlows);
    toolkit.paintBordersFor(cmpCallFlows);

    cmpCallFlows.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));

    TreeColumnLayout treeColumnLayout = new TreeColumnLayout();
    cmpCallFlows.setLayout(treeColumnLayout);

    callFlowTreeViewer = new TreeViewer(cmpCallFlows, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    callFlowTree = callFlowTreeViewer.getTree();
    callFlowTree.setHeaderVisible(true);
    callFlowTree.setLinesVisible(true);

    toolkit.paintBordersFor(callFlowTree);

    callFlowTreeViewer.addFilter(new TreeSearchFilter());

    /**
     * Set a comparator to sort our columns, only sort the objects of type
     * 
     */
    callFlowTreeViewer.setComparator(new ViewerComparator() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#category(java.lang
         * .Object)
         */
        @Override
        public int category(Object element) {

            // Set categories for our objects, only interrested in Service
            // flows for now.
            if (element instanceof ServiceFlow)
                return 1;
            return super.category(element);
        }

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse
         * .jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            int cat1 = category(e1);
            int cat2 = category(e2);

            if (cat1 != cat2) {
                return cat1 - cat2;
            }

            if (e1 instanceof ServiceFlow && e2 instanceof ServiceFlow) {
                ServiceFlow eq1 = (ServiceFlow) e1;
                ServiceFlow eq2 = (ServiceFlow) e2;

                if (eq1.getName() != null && eq2.getName() != null) {
                    return eq1.getName().compareTo(eq2.getName());
                }
            }
            return 0; // Do not compare other types.
            // return super.compare(viewer, e1, e2);
        }

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

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.ViewerComparator#sort(org.eclipse.jface
         * .viewers.Viewer, java.lang.Object[])
         */
        @Override
        public void sort(Viewer viewer, Object[] elements) {
            super.sort(viewer, elements);
        }

    });

    TreeViewerColumn treeViewerColumnIndex = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnIndex = treeViewerColumnIndex.getColumn();
    treeColumnLayout.setColumnData(trclmnIndex, new ColumnPixelData(107, true, true));
    trclmnIndex.setText("Index");

    treeViewerColumnName = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnName = treeViewerColumnName.getColumn();
    treeColumnLayout.setColumnData(trclmnName, new ColumnPixelData(107, true, true));
    trclmnName.setText("Name");

    treeViewerColumnLink = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnLink = treeViewerColumnLink.getColumn();
    treeColumnLayout.setColumnData(trclmnLink, new ColumnPixelData(100, true, true));
    trclmnLink.setText("Link");

    treeViewerColumnA = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnA = treeViewerColumnA.getColumn();
    treeColumnLayout.setColumnData(trclmnA, new ColumnPixelData(100, true, true));
    trclmnA.setText("A");

    treeViewerColumnDirection = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnDirection = treeViewerColumnDirection.getColumn();
    treeColumnLayout.setColumnData(trclmnDirection, new ColumnPixelData(100, true, true));
    trclmnDirection.setText("Direction");

    treeViewerColumnB = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);
    TreeColumn trclmnB = treeViewerColumnB.getColumn();
    treeColumnLayout.setColumnData(trclmnB, new ColumnPixelData(100, true, true));
    trclmnB.setText("B");

    treeViewerColumnProtocol = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);

    TreeColumn trclmnProtocol = treeViewerColumnProtocol.getColumn();
    treeColumnLayout.setColumnData(trclmnProtocol, new ColumnPixelData(150, true, true));
    trclmnProtocol.setText("Protocol");

    treeViewerColumnMessage = new TreeViewerColumn(callFlowTreeViewer, SWT.NONE);

    TreeColumn trclmnMessage = treeViewerColumnMessage.getColumn();
    treeColumnLayout.setColumnData(trclmnMessage, new ColumnPixelData(100, true, true));
    trclmnMessage.setText("Message");

}

From source file:com.netxforge.netxstudio.callflow.screens.nodetypes.NodeTypes.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    // Readonlyness.
    boolean readonly = ScreenUtil.isReadOnlyOperation(this.getOperation());
    String actionText = readonly ? "View: " : "Edit: ";
    int widgetStyle = readonly ? SWT.READ_ONLY : SWT.NONE;

    frmNodeTypes = toolkit.createForm(this);
    frmNodeTypes.setSeparatorVisible(true);

    // frmCallFlows.getToolBarManager().add(new
    // EditCallFlowsAction("Visual Editor"));
    frmNodeTypes.getToolBarManager().update(true);
    frmNodeTypes.setToolBarVerticalAlignment(SWT.TOP);

    toolkit.decorateFormHeading(frmNodeTypes);
    toolkit.paintBordersFor(frmNodeTypes);

    frmNodeTypes.setText(actionText + "Network Element Types");
    frmNodeTypes.getBody().setLayout(new FillLayout(SWT.HORIZONTAL));

    sashForm = new SashForm(frmNodeTypes.getBody(), SWT.VERTICAL);
    sashForm.setOrientation(SWT.HORIZONTAL);
    toolkit.adapt(sashForm);/*w  ww . j  a va 2  s  .c  o m*/
    toolkit.paintBordersFor(sashForm);

    Composite composite = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(3, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    // txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            ViewerFilter[] filters = nodeTypeTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
            nodeTypeTreeViewer.refresh();
            nodeTypeTreeViewer.expandAll();
        }
    });

    hypLnkNewNodeType = toolkit.createImageHyperlink(composite, SWT.NONE);
    hypLnkNewNodeType.setImage(ResourceManager.getPluginImage("com.netxforge.netxstudio.models.edit",
            "icons/full/ctool16/Node_E.png"));
    hypLnkNewNodeType.addHyperlinkListener(new IHyperlinkListener() {
        public void linkActivated(HyperlinkEvent e) {
            // Create a new top level nodetype.
            NodeType newNodeType = LibraryFactory.eINSTANCE.createNodeType();
            newNodeType.setName("<new NE Type>");

            // Use the default reference network. We don't have an option to
            // add one here.
            Command add = new AddCommand(editingService.getEditingDomain(), refNet.getNodeTypes(), newNodeType);

            editingService.getEditingDomain().getCommandStack().execute(add);
        }

        public void linkEntered(HyperlinkEvent e) {
        }

        public void linkExited(HyperlinkEvent e) {
        }
    });
    hypLnkNewNodeType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    toolkit.paintBordersFor(hypLnkNewNodeType);
    hypLnkNewNodeType.setText("New");

    nodeTypeTreeViewer = new TreeViewer(composite,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL | widgetStyle);
    nodeTypeTreeViewer.setUseHashlookup(true);
    // nodeTypeTreeViewer.setComparer(new CDOElementComparer());
    nodeTypeTreeViewer.addFilter(new TreeSearchFilter());

    nodeTypeTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection s = event.getSelection();
            // TODO, We coud even wait to see if we get another
            // update within 100ms.
            // If we do, we would cancel.

            NodeTypes.this.getDisplay().asyncExec(new Runnable() {
                public void run() {
                    if (s instanceof IStructuredSelection) {
                        IStructuredSelection ss = (IStructuredSelection) s;
                        Object o = ss.getFirstElement();
                        try {
                            handleDetailsSelection(o);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
            });

        }
    });
    Tree tree = nodeTypeTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 2));
    tree.setSize(74, 81);
    toolkit.paintBordersFor(tree);

    cmpDetails = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(cmpDetails);
    cmpDetails.setLayout(new FillLayout());
    sashForm.setWeights(new int[] { 3, 7 });

}

From source file:com.netxforge.netxstudio.callflow.screens.protocols.Protocols.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    // Readonlyness.
    boolean readonly = ScreenUtil.isReadOnlyOperation(this.getOperation());
    String actionText = readonly ? "View: " : "Edit: ";
    int widgetStyle = readonly ? SWT.READ_ONLY : SWT.NONE;

    frmProtocols = toolkit.createForm(this);
    frmProtocols.setSeparatorVisible(true);

    toolkit.decorateFormHeading(frmProtocols);
    toolkit.paintBordersFor(frmProtocols);

    frmProtocols.setText(actionText + "Protocols");
    frmProtocols.getBody().setLayout(new GridLayout(3, false));

    Label lblFilterLabel = toolkit.createLabel(frmProtocols.getBody(), "Filter:", SWT.NONE);
    GridData gd_lblFilterLabel = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_lblFilterLabel.widthHint = 36;// w w  w . j a  va 2  s .  c o  m
    lblFilterLabel.setLayoutData(gd_lblFilterLabel);

    txtFilterText = toolkit.createText(frmProtocols.getBody(), "New Text",
            SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    txtFilterText.setText("");
    GridData gd_txtFilterText = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
    gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            treeViewer.refresh();
            ViewerFilter[] filters = treeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof SearchFilter) {
                    ((SearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
        }
    });

    // Conditional widget.
    if (!readonly) {
        ImageHyperlink mghprlnkNew = toolkit.createImageHyperlink(frmProtocols.getBody(), SWT.NONE);
        mghprlnkNew.addHyperlinkListener(new IHyperlinkListener() {
            public void linkActivated(HyperlinkEvent e) {

                NewEditProtocol protocolScreen = new NewEditProtocol(screenService.getScreenContainer(),
                        SWT.NONE);
                protocolScreen.setOperation(ScreenUtil.OPERATION_NEW);
                protocolScreen.setScreenService(screenService);
                Protocol protocol = ProtocolsFactory.eINSTANCE.createProtocol();
                protocolScreen.injectData(protocolResource, protocol);
                screenService.setActiveScreen(protocolScreen);

            }

            public void linkEntered(HyperlinkEvent e) {
            }

            public void linkExited(HyperlinkEvent e) {
            }
        });
        mghprlnkNew.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        mghprlnkNew.setImage(ResourceManager.getPluginImage("com.netxforge.netxstudio.models.edit",
                "icons/full/ctool16/Protocol_E.png"));
        mghprlnkNew.setBounds(0, 0, 114, 17);
        toolkit.paintBordersFor(mghprlnkNew);
        mghprlnkNew.setText("New");

    }

    // new Label(frmProtocols.getBody(), SWT.NONE);

    treeViewer = new TreeViewer(frmProtocols.getBody(),
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | widgetStyle);
    tree = treeViewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
    toolkit.paintBordersFor(tree);

    {
        TreeViewerColumn tableViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
        TreeColumn tblclmnName = tableViewerColumn.getColumn();
        tblclmnName.setWidth(50);
        tblclmnName.setText("Index");
    }
    {
        tvcName = new TreeViewerColumn(treeViewer, SWT.NONE);
        TreeColumn tblclmnName = tvcName.getColumn();
        tblclmnName.setWidth(111);
        tblclmnName.setText("Name");
    }

    {
        tvcDescription = new TreeViewerColumn(treeViewer, SWT.NONE);
        TreeColumn tblclmnDescription = tvcDescription.getColumn();
        tblclmnDescription.setWidth(214);
        tblclmnDescription.setText("Description");
    }
    {
        TreeViewerColumn tableViewerColumn_2 = new TreeViewerColumn(treeViewer, SWT.NONE);
        TreeColumn tblclmnOSI = tableViewerColumn_2.getColumn();
        tblclmnOSI.setWidth(250);
        tblclmnOSI.setText("OSI");
    }
    TreeViewerColumn tableViewerColumn_3 = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn tblclmnSpecification = tableViewerColumn_3.getColumn();
    tblclmnSpecification.setWidth(100);
    tblclmnSpecification.setText("Specification");
    treeViewer.addFilter(new SearchFilter());
}

From source file:com.netxforge.netxstudio.screens.editing.DirtyStateMessageDialog.java

License:Open Source License

@Override
protected Control createCustomArea(Composite parent) {

    if (transaction != null) {
        dirtyStateViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.VIRTUAL | SWT.READ_ONLY);

        Tree tree = dirtyStateViewer.getTree();
        GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
        gridData.heightHint = 200;//from  www .  jav  a2  s .com
        tree.setLayoutData(gridData);
        initBinding();
        dirtyStateViewer.expandAll();
        return tree;
    }
    return super.createCustomArea(parent);
}

From source file:com.netxforge.netxstudio.screens.f1.MonitoringTree.java

License:Open Source License

protected void buildUI() {
    super.buildUI();

    Form monitoring = getScreenForm();/*from  www . j a  v  a2 s . c o m*/
    monitoring.setText(this.getOperationText() + "Monitoring");
    Composite composite = toolkit.createComposite(monitoring.getBody(), SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(3, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            monitoringTreeViewer.refresh();
            ViewerFilter[] filters = monitoringTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
        }
    });

    monitoringTreeViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI | SWT.VIRTUAL | SWT.READ_ONLY);
    monitoringTreeViewer.setUseHashlookup(true);
    monitoringTreeViewer.setComparer(new CDOElementComparer());

    monitoringTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection s = event.getSelection();
            @SuppressWarnings("unused")
            final Object o;
            if (s instanceof IStructuredSelection) {
                IStructuredSelection ss = (IStructuredSelection) s;
                o = ss.getFirstElement();
            } else {
                o = null;
            }
        }
    });

    Tree tree = monitoringTreeViewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 2));
    tree.setSize(74, 81);

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(monitoringTreeViewer, SWT.NONE);

    TreeColumn trclmnName_1 = treeViewerColumn_1.getColumn();
    trclmnName_1.setWidth(300);
    trclmnName_1.setText("ID");
    trclmnName_1.setResizable(true);

    TreeViewerColumn treeViewerColumn_2 = new TreeViewerColumn(monitoringTreeViewer, SWT.NONE);
    TreeColumn trclmn_2 = treeViewerColumn_2.getColumn();
    trclmn_2.setWidth(50);
    trclmn_2.setResizable(true);

    TreeViewerColumn treeViewerColumn_3 = new TreeViewerColumn(monitoringTreeViewer, SWT.NONE);
    TreeColumn trclmn_3 = treeViewerColumn_3.getColumn();
    trclmn_3.setWidth(50);
    trclmn_3.setResizable(true);

    TreeViewerColumn treeViewerColumn_4 = new TreeViewerColumn(monitoringTreeViewer, SWT.NONE);
    TreeColumn trclmn_4 = treeViewerColumn_4.getColumn();
    trclmn_4.setWidth(50);
    trclmn_4.setResizable(true);

    toolkit.paintBordersFor(tree);

    monitoringTreeViewer.addFilter(new TreeSearchFilter());
}

From source file:com.netxforge.netxstudio.screens.f1.ServicesTree.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    // Readonlyness.
    boolean readonly = ScreenUtil.isReadOnlyOperation(this.getOperation());
    int widgetStyle = readonly ? SWT.READ_ONLY : SWT.NONE;

    frmServices = toolkit.createForm(this);

    frmServices.setSeparatorVisible(true);
    toolkit.paintBordersFor(frmServices);

    frmServices.setText(this.getOperationText() + "Services");
    frmServices.getBody().setLayout(new FillLayout(SWT.HORIZONTAL));

    sashForm = new SashForm(frmServices.getBody(), SWT.VERTICAL);
    sashForm.setOrientation(SWT.HORIZONTAL);
    toolkit.adapt(sashForm);/*from  w w w .  j  av a2 s.c o m*/
    toolkit.paintBordersFor(sashForm);

    Composite composite = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(3, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            serviceTreeViewer.refresh();
            ViewerFilter[] filters = serviceTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
        }
    });

    if (!readonly) {
        hypLnkNewRFSService = toolkit.createImageHyperlink(composite, SWT.NONE);
        hypLnkNewRFSService.setImage(ResourceManager.getPluginImage("com.netxforge.netxstudio.models.edit",
                "icons/full/ctool16/Service_E.png"));
        hypLnkNewRFSService.addHyperlinkListener(new IHyperlinkListener() {
            public void linkActivated(HyperlinkEvent e) {

                OperatorFilterDialog dialog = new OperatorFilterDialog(ServicesTree.this.getShell(),
                        operatorsResource);
                int result = dialog.open();

                if (result == Window.OK) {
                    Operator operator = (Operator) dialog.getFirstResult();

                    // Create a new top level nodetype.
                    RFSService newRFSService = ServicesFactory.eINSTANCE.createRFSService();
                    newRFSService.setServiceName("<new Resource Facing Service>");
                    Command add = new AddCommand(editingService.getEditingDomain(), operator.getServices(),
                            newRFSService);
                    editingService.getEditingDomain().getCommandStack().execute(add);
                }
            }

            public void linkEntered(HyperlinkEvent e) {
            }

            public void linkExited(HyperlinkEvent e) {
            }
        });
        hypLnkNewRFSService.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        toolkit.paintBordersFor(hypLnkNewRFSService);
        hypLnkNewRFSService.setText("New");

    }

    serviceTreeViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI | SWT.VIRTUAL | widgetStyle);
    serviceTreeViewer.setUseHashlookup(true);
    serviceTreeViewer.setComparer(new CDOElementComparer());

    serviceTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection s = event.getSelection();
            final Object o;
            if (s instanceof IStructuredSelection) {
                IStructuredSelection ss = (IStructuredSelection) s;
                o = ss.getFirstElement();
            } else {
                o = null;
            }

            ServicesTree.this.getDisplay().asyncExec(new Runnable() {
                public void run() {
                    try {
                        handleDetailsSelection(o);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                }
            });
        }
    });
    Tree tree = serviceTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 2));
    tree.setSize(74, 81);
    toolkit.paintBordersFor(tree);

    serviceTreeViewer.addFilter(new TreeSearchFilter());

    cmpDetails = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(cmpDetails);
    cmpDetails.setLayout(new FillLayout());
    sashForm.setWeights(new int[] { 3, 7 });

}

From source file:com.netxforge.netxstudio.screens.f2.NodeTypes.java

License:Open Source License

private void buildUI() {
    setLayout(new FillLayout(SWT.HORIZONTAL));

    // Readonlyness.
    boolean readonly = ScreenUtil.isReadOnlyOperation(this.getOperation());
    String actionText = readonly ? "View: " : "Edit: ";
    int widgetStyle = readonly ? SWT.READ_ONLY : SWT.NONE;

    frmNodeTypes = toolkit.createForm(this);

    frmNodeTypes.setSeparatorVisible(true);
    toolkit.paintBordersFor(frmNodeTypes);

    frmNodeTypes.setText(actionText + "Network Element Types");
    frmNodeTypes.getBody().setLayout(new FillLayout(SWT.HORIZONTAL));

    sashForm = new SashForm(frmNodeTypes.getBody(), SWT.VERTICAL);
    sashForm.setOrientation(SWT.HORIZONTAL);
    toolkit.adapt(sashForm);//ww w.  ja v  a 2  s .com
    toolkit.paintBordersFor(sashForm);

    Composite composite = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(composite);
    composite.setLayout(new GridLayout(3, false));

    Label lblFilterLabel = toolkit.createLabel(composite, "Filter:", SWT.NONE);
    lblFilterLabel.setSize(64, 81);

    txtFilterText = toolkit.createText(composite, "New Text", SWT.H_SCROLL | SWT.SEARCH | SWT.CANCEL);
    GridData gd_txtFilterText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
    // gd_txtFilterText.widthHint = 200;
    txtFilterText.setLayoutData(gd_txtFilterText);
    // txtFilterText.setSize(64, 81);
    txtFilterText.setText("");

    txtFilterText.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent ke) {
            ViewerFilter[] filters = nodeTypeTreeViewer.getFilters();
            for (ViewerFilter viewerFilter : filters) {
                if (viewerFilter instanceof TreeSearchFilter) {
                    ((TreeSearchFilter) viewerFilter).setSearchText(txtFilterText.getText());
                }
            }
            nodeTypeTreeViewer.refresh();
            nodeTypeTreeViewer.expandAll();
        }
    });

    if (!readonly) {

        hypLnkNewNodeType = toolkit.createImageHyperlink(composite, SWT.NONE);
        hypLnkNewNodeType.setImage(ResourceManager.getPluginImage("com.netxforge.netxstudio.models.edit",
                "icons/full/ctool16/Node_E.png"));
        hypLnkNewNodeType.addHyperlinkListener(new IHyperlinkListener() {
            public void linkActivated(HyperlinkEvent e) {
                // Create a new top level nodetype.
                NodeType newNodeType = LibraryFactory.eINSTANCE.createNodeType();
                newNodeType.setName("<new NE Type>");
                Command add = new AddCommand(editingService.getEditingDomain(), nodeTypeResource.getContents(),
                        newNodeType);

                editingService.getEditingDomain().getCommandStack().execute(add);
            }

            public void linkEntered(HyperlinkEvent e) {
            }

            public void linkExited(HyperlinkEvent e) {
            }
        });
        hypLnkNewNodeType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        toolkit.paintBordersFor(hypLnkNewNodeType);
        hypLnkNewNodeType.setText("New");

    }

    nodeTypeTreeViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI | SWT.VIRTUAL | widgetStyle);
    nodeTypeTreeViewer.setUseHashlookup(true);
    nodeTypeTreeViewer.setComparer(new CDOElementComparer());
    nodeTypeTreeViewer.addFilter(new TreeSearchFilter());
    nodeTypeTreeViewer.setComparator(new NetworkViewerComparator());

    nodeTypeTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            final ISelection s = event.getSelection();
            // TODO, We coud even wait to see if we get another
            // update within 100ms.
            // If we do, we would cancel.

            NodeTypes.this.getDisplay().asyncExec(new Runnable() {
                public void run() {
                    if (s instanceof IStructuredSelection) {
                        IStructuredSelection ss = (IStructuredSelection) s;
                        Object o = ss.getFirstElement();
                        try {
                            handleDetailsSelection(o);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                }
            });

        }
    });
    Tree tree = nodeTypeTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 2));
    tree.setSize(74, 81);
    toolkit.paintBordersFor(tree);

    cmpDetails = toolkit.createComposite(sashForm, SWT.NONE);
    toolkit.paintBordersFor(cmpDetails);
    cmpDetails.setLayout(new FillLayout());
    sashForm.setWeights(new int[] { 3, 7 });

}