Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

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

Prototype

public TreeColumn getColumn() 

Source Link

Usage

From source file:ch.elexis.impfplan.view.EditVaccinationDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    DisplayPanel panel = new DisplayPanel(parent, fields, 2, 2, new IAction[0]);
    panel.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    panel.setAutosave(true);//  www .  ja  v a2 s. co m
    panel.setObject(vt);

    Composite treeComposite = new Composite(parent, SWT.NONE);
    GridLayout gridLayout = new GridLayout(1, false);
    gridLayout.marginLeft = 5;
    treeComposite.setLayout(gridLayout);
    treeComposite.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));

    treeViewer = new CheckboxTreeViewer(treeComposite, SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL);
    Tree tree = treeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true));
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    TreeViewerColumn col = new TreeViewerColumn(treeViewer, SWT.NONE);
    col.getColumn().setWidth(225);
    col.getColumn().setText("Impfung gegen Krankheit(en)");

    treeViewer.setContentProvider(new DiseaseTreeContentProvider());
    treeViewer.setLabelProvider(new DiseaseTreeLabelProvider());
    treeViewer.setInput(DiseaseDefinitionModel.getDiseaseDefinitions());
    treeViewer.setCheckedElements(loadSelected().toArray());

    return panel;
}

From source file:ch.wess.ezclipse.varbrowser.internal.VarBrowser.java

License:Open Source License

/**
 * Method called at start to create the GUI of the view.
 *//*from w  w  w  . ja  v a2 s  . co m*/
@Override
public void createPartControl(final Composite parent) {
    IFile file = null;
    try {
        file = (IFile) getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
    } catch (Exception e) {
        // Nothing to do
    }

    String nodeId = ""; //$NON-NLS-1$
    IProject project = null;

    if (file != null) {
        try {
            nodeId = file.getPersistentProperty(IFileProperties.NODE_ID);
            project = file.getProject();
        } catch (CoreException ce) {
            // Nothing to do.
        }
    }

    contentProvider = new VariableTreeContentProvider(project, nodeId);

    treeViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.VIRTUAL);
    treeViewer.setContentProvider(contentProvider);

    if (file != null)
        treeViewer.setInput(new VariableTreeInput(file.getProject(), nodeId));

    TreeViewerColumn column1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return Messages.getString("VarBrowser.0"); //$NON-NLS-1$
            return ((Variable) element).getName();
        }
    });
    column1.getColumn().setText(Messages.getString("VarBrowser.1")); //$NON-NLS-1$
    column1.getColumn().setWidth(200);

    TreeViewerColumn column2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return ""; //$NON-NLS-1$
            return ((Variable) element).getType();
        }
    });
    column2.getColumn().setText(Messages.getString("VarBrowser.2")); //$NON-NLS-1$
    column2.getColumn().setWidth(200);

    TreeViewerColumn column3 = new TreeViewerColumn(treeViewer, SWT.NONE);
    column3.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (!(element instanceof Variable))
                return ""; //$NON-NLS-1$
            return ((Variable) element).getValue();
        }
    });
    column3.getColumn().setText(Messages.getString("VarBrowser.3")); //$NON-NLS-1$
    column3.getColumn().setWidth(300);

    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.getTree().setLinesVisible(true);

    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);

    createContextMenu();
}

From source file:com.android.ide.eclipse.adt.internal.lint.LintList.java

License:Open Source License

private void createColumns() {
    LintColumn[] columns = getVisibleColumns();
    TableLayout layout = new TableLayout();

    for (int i = 0; i < columns.length; i++) {
        LintColumn column = columns[i];//from  w ww. java2 s.c o  m
        TreeViewerColumn viewerColumn = null;
        TreeColumn treeColumn;
        viewerColumn = new TreeViewerColumn(mTreeViewer, SWT.NONE);
        treeColumn = viewerColumn.getColumn();
        treeColumn.setData(KEY_COLUMN, column);
        treeColumn.setResizable(true);
        treeColumn.addSelectionListener(getHeaderListener());
        if (!column.isLeftAligned()) {
            treeColumn.setAlignment(SWT.RIGHT);
        }
        viewerColumn.setLabelProvider(new LintColumnLabelProvider(column));
        treeColumn.setText(column.getColumnHeaderText());
        treeColumn.setImage(column.getColumnHeaderImage());
        IMemento columnWidths = null;
        if (mMemento != null && !mSingleFile) {
            columnWidths = mMemento.getChild(KEY_WIDTHS);
        }
        int columnWidth = getColumnWidth(column, false);
        if (columnWidths != null) {
            columnWidths.putInteger(getKey(column), columnWidth);
        }
        if (i == 0) {
            // The first column should use layout -weights- to get all the
            // remaining room
            layout.addColumnData(new ColumnWeightData(1, true));
        } else if (columnWidth < 0) {
            int defaultColumnWidth = column.getPreferredWidth();
            layout.addColumnData(new ColumnPixelData(defaultColumnWidth, true, true));
        } else {
            layout.addColumnData(new ColumnPixelData(columnWidth, true));
        }
    }
    mTreeViewer.getTree().setLayout(layout);
    mTree.layout(true);
}

From source file:com.android.ide.eclipse.adt.internal.preferences.LintPreferencePage.java

License:Open Source License

@Override
public Control createContents(Composite parent) {
    IAdaptable resource = getElement();/*from   w  w  w.j av  a 2 s. c o  m*/
    if (resource != null) {
        mProject = (IProject) resource.getAdapter(IProject.class);
    }

    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout(2, false));

    if (mProject != null) {
        Label projectLabel = new Label(container, SWT.CHECK);
        projectLabel.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1));
        projectLabel.setText("Project-specific configuration:");

        mWorkspaceLink = new Link(container, SWT.NONE);
        mWorkspaceLink.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        mWorkspaceLink.setText("<a>Configure Workspace Settings...</a>");
        mWorkspaceLink.addSelectionListener(this);
    } else {
        mCheckFileCheckbox = new Button(container, SWT.CHECK);
        mCheckFileCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
        mCheckFileCheckbox.setSelection(true);
        mCheckFileCheckbox.setText("When saving files, check for errors");

        mCheckExportCheckbox = new Button(container, SWT.CHECK);
        mCheckExportCheckbox.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
        mCheckExportCheckbox.setSelection(true);
        mCheckExportCheckbox
                .setText("Run full error check when exporting app and abort if fatal errors are found");

        Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
        separator.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));

        Label checkListLabel = new Label(container, SWT.NONE);
        checkListLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
        checkListLabel.setText("Issues:");
    }

    mRegistry = EclipseLintClient.getRegistry();
    mClient = new EclipseLintClient(mRegistry, mProject != null ? Collections.singletonList(mProject) : null,
            null, false);
    Project project = null;
    if (mProject != null) {
        File dir = AdtUtils.getAbsolutePath(mProject).toFile();
        project = mClient.getProject(dir, dir);
    }
    mConfiguration = mClient.getConfigurationFor(project);

    mSearch = new Text(container, SWT.SEARCH | SWT.ICON_CANCEL | SWT.ICON_SEARCH);
    mSearch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
    mSearch.addSelectionListener(this);
    mSearch.addModifyListener(this);
    // Grab the Enter key such that pressing return in the search box filters (instead
    // of closing the options dialog)
    mSearch.setMessage("type filter text (use ~ to filter by severity, e.g. ~ignore)");
    mSearch.addTraverseListener(new TraverseListener() {
        @Override
        public void keyTraversed(TraverseEvent e) {
            if (e.keyCode == SWT.CR) {
                updateFilter();
                e.doit = false;
            } else if (e.keyCode == SWT.ARROW_DOWN) {
                // Allow moving from the search into the table
                if (mTree.getItemCount() > 0) {
                    TreeItem firstCategory = mTree.getItem(0);
                    if (firstCategory.getItemCount() > 0) {
                        TreeItem first = firstCategory.getItem(0);
                        mTree.setFocus();
                        mTree.select(first);
                    }
                }
            }
        }
    });

    mTreeViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION);
    mTree = mTreeViewer.getTree();
    GridData gdTable = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    gdTable.widthHint = 500;
    gdTable.heightHint = 160;
    mTree.setLayoutData(gdTable);
    mTree.setLinesVisible(true);
    mTree.setHeaderVisible(true);

    TreeViewerColumn column1 = new TreeViewerColumn(mTreeViewer, SWT.NONE);
    mIdColumn = column1.getColumn();
    mIdColumn.setWidth(100);
    mIdColumn.setText("Id");

    TreeViewerColumn column2 = new TreeViewerColumn(mTreeViewer, SWT.FILL);
    mNameColumn = column2.getColumn();
    mNameColumn.setWidth(100);
    mNameColumn.setText("Name");

    mTreeViewer.setContentProvider(new ContentProvider());
    mTreeViewer.setLabelProvider(new LabelProvider());

    mDetailsText = new Text(container, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL | SWT.MULTI);
    GridData gdText = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 2);
    gdText.heightHint = 80;
    mDetailsText.setLayoutData(gdText);

    Label severityLabel = new Label(container, SWT.NONE);
    severityLabel.setText("Severity:");

    mSeverityCombo = new Combo(container, SWT.READ_ONLY);
    mSeverityCombo.setItems(new String[] { "(Default)", "Fatal", "Error", "Warning", "Information", "Ignore" });
    GridData gdSeverityCombo = new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1);
    gdSeverityCombo.widthHint = 90;
    mSeverityCombo.setLayoutData(gdSeverityCombo);
    mSeverityCombo.setText("");
    mSeverityCombo.addSelectionListener(this);

    List<Issue> issues = mRegistry.getIssues();
    for (Issue issue : issues) {
        Severity severity = mConfiguration.getSeverity(issue);
        mSeverities.put(issue, severity);
    }
    mInitialSeverities = new HashMap<Issue, Severity>(mSeverities);

    mTreeViewer.setInput(mRegistry);

    mTree.addSelectionListener(this);
    // Add a listener to resize the column to the full width of the table
    mTree.addControlListener(this);

    loadSettings(false);

    mTreeViewer.expandAll();

    return container;
}

From source file:com.android.ide.eclipse.gltrace.editors.GLFunctionTraceViewer.java

License:Apache License

private void createFrameTraceView(Composite parent) {
    Composite c = new Composite(parent, SWT.NONE);
    c.setLayout(new GridLayout(2, false));
    GridData gd = new GridData(GridData.FILL_BOTH);
    c.setLayoutData(gd);/*from  w w  w  .  j  ava  2  s  . c om*/

    final Tree tree = new Tree(c, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    gd = new GridData(GridData.FILL_BOTH);
    tree.setLayoutData(gd);
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);

    mFrameTreeViewer = new TreeViewer(tree);
    CellLabelProvider labelProvider = new GLFrameLabelProvider();

    // column showing the GL context id
    TreeViewerColumn tvc = new TreeViewerColumn(mFrameTreeViewer, SWT.NONE);
    tvc.setLabelProvider(labelProvider);
    TreeColumn column = tvc.getColumn();
    column.setText("Function");
    column.setWidth(500);

    // column showing the GL function duration (wall clock time)
    tvc = new TreeViewerColumn(mFrameTreeViewer, SWT.NONE);
    tvc.setLabelProvider(labelProvider);
    column = tvc.getColumn();
    column.setText("Wall Time (ns)");
    column.setWidth(150);
    column.setAlignment(SWT.RIGHT);

    // column showing the GL function duration (thread time)
    tvc = new TreeViewerColumn(mFrameTreeViewer, SWT.NONE);
    tvc.setLabelProvider(labelProvider);
    column = tvc.getColumn();
    column.setText("Thread Time (ns)");
    column.setWidth(150);
    column.setAlignment(SWT.RIGHT);

    mFrameTreeViewer.setContentProvider(new GLFrameContentProvider());

    mGLCallFilter = new GLCallFilter();
    mFrameTreeViewer.addFilter(mGLCallFilter);

    // when the control is resized, give all the additional space
    // to the function name column.
    tree.addControlListener(new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent e) {
            int w = mFrameTreeViewer.getTree().getClientArea().width;
            if (w > 200) {
                mFrameTreeViewer.getTree().getColumn(2).setWidth(100);
                mFrameTreeViewer.getTree().getColumn(1).setWidth(100);
                mFrameTreeViewer.getTree().getColumn(0).setWidth(w - 200);
            }
        }
    });

    mDurationMinimap = new DurationMinimap(c, mTrace);
    gd = new GridData(GridData.FILL_VERTICAL);
    gd.widthHint = gd.minimumWidth = mDurationMinimap.getMinimumWidth();
    mDurationMinimap.setLayoutData(gd);
    mDurationMinimap.addCallSelectionListener(new ICallSelectionListener() {
        @Override
        public void callSelected(int selectedCallIndex) {
            if (selectedCallIndex > 0 && selectedCallIndex < mTreeViewerNodes.size()) {
                TreeItem item = tree.getItem(selectedCallIndex);
                tree.select(item);
                tree.setTopItem(item);
            }
        }
    });

    mVerticalScrollBar = tree.getVerticalBar();
    mVerticalScrollBar.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            updateVisibleRange();
        }
    });
}

From source file:com.android.sdkuilib.internal.repository.ui.PackagesPage.java

License:Apache License

@SuppressWarnings("unused")
private void createContents(Composite parent) {
    GridLayoutBuilder.create(parent).noMargins().columns(2);

    mGroupSdk = new Composite(parent, SWT.NONE);
    GridDataBuilder.create(mGroupSdk).hFill().vCenter().hGrab().hSpan(2);
    GridLayoutBuilder.create(mGroupSdk).columns(2);

    Label label1 = new Label(mGroupSdk, SWT.NONE);
    label1.setText("SDK Path:");

    mTextSdkOsPath = new Text(mGroupSdk, SWT.NONE);
    GridDataBuilder.create(mTextSdkOsPath).hFill().vCenter().hGrab();
    mTextSdkOsPath.setEnabled(false);/*from   w  ww .  jav a 2 s  . c om*/

    Group groupPackages = new Group(parent, SWT.NONE);
    mGroupPackages = groupPackages;
    GridDataBuilder.create(mGroupPackages).fill().grab().hSpan(2);
    groupPackages.setText("Packages");
    GridLayoutBuilder.create(groupPackages).columns(1);

    mTreeViewer = new CheckboxTreeViewer(groupPackages, SWT.BORDER);
    mImpl.setITreeViewer(new PackagesPageImpl.ICheckboxTreeViewer() {
        @Override
        public Object getInput() {
            return mTreeViewer.getInput();
        }

        @Override
        public void setInput(List<PkgCategory> cats) {
            mTreeViewer.setInput(cats);
        }

        @Override
        public void setContentProvider(PkgContentProvider pkgContentProvider) {
            mTreeViewer.setContentProvider(pkgContentProvider);
        }

        @Override
        public void refresh() {
            mTreeViewer.refresh();
        }

        @Override
        public Object[] getCheckedElements() {
            return mTreeViewer.getCheckedElements();
        }
    });
    mTreeViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return filterViewerItem(element);
        }
    });

    mTreeViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            onTreeCheckStateChanged(event); //$hide$
        }
    });

    mTreeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            onTreeDoubleClick(event); //$hide$
        }
    });

    Tree tree = mTreeViewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    GridDataBuilder.create(tree).fill().grab();

    // column name icon is set when loading depending on the current filter type
    // (e.g. API level or source)
    TreeViewerColumn columnName = new TreeViewerColumn(mTreeViewer, SWT.NONE);
    mTreeColumnName = columnName.getColumn();
    mTreeColumnName.setText("Name");
    mTreeColumnName.setWidth(340);

    TreeViewerColumn columnApi = new TreeViewerColumn(mTreeViewer, SWT.NONE);
    TreeColumn treeColumn2 = columnApi.getColumn();
    treeColumn2.setText("API");
    treeColumn2.setAlignment(SWT.CENTER);
    treeColumn2.setWidth(50);

    TreeViewerColumn columnRevision = new TreeViewerColumn(mTreeViewer, SWT.NONE);
    TreeColumn treeColumn3 = columnRevision.getColumn();
    treeColumn3.setText("Rev.");
    treeColumn3.setToolTipText("Revision currently installed");
    treeColumn3.setAlignment(SWT.CENTER);
    treeColumn3.setWidth(50);

    TreeViewerColumn columnStatus = new TreeViewerColumn(mTreeViewer, SWT.NONE);
    TreeColumn treeColumn4 = columnStatus.getColumn();
    treeColumn4.setText("Status");
    treeColumn4.setAlignment(SWT.LEAD);
    treeColumn4.setWidth(190);

    mImpl.setIColumns(wrapColumn(columnName), wrapColumn(columnApi), wrapColumn(columnRevision),
            wrapColumn(columnStatus));

    mGroupOptions = new Composite(groupPackages, SWT.NONE);
    GridDataBuilder.create(mGroupOptions).hFill().vCenter().hGrab();
    GridLayoutBuilder.create(mGroupOptions).columns(7).noMargins();

    // Options line 1, 7 columns

    Label label3 = new Label(mGroupOptions, SWT.NONE);
    label3.setText("Show:");

    mCheckFilterNew = new Button(mGroupOptions, SWT.CHECK);
    mCheckFilterNew.setText("Updates/New");
    mCheckFilterNew.setToolTipText("Show Updates and New");
    mCheckFilterNew.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            refreshViewerInput();
        }
    });
    mCheckFilterNew.setSelection(true);

    mCheckFilterInstalled = new Button(mGroupOptions, SWT.CHECK);
    mCheckFilterInstalled.setToolTipText("Show Installed");
    mCheckFilterInstalled.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            refreshViewerInput();
        }
    });
    mCheckFilterInstalled.setSelection(true);
    mCheckFilterInstalled.setText("Installed");

    new Label(mGroupOptions, SWT.NONE);

    Link linkSelectNew = new Link(mGroupOptions, SWT.NONE);
    // Note for i18n: we need to identify which link is used, and this is done by using the
    // text itself so for translation purposes we want to keep the <a> link strings separate.
    final String strLinkNew = "New";
    final String strLinkUpdates = "Updates";
    linkSelectNew.setText(String.format("Select <a>%1$s</a> or <a>%2$s</a>", strLinkNew, strLinkUpdates));
    linkSelectNew.setToolTipText("Selects all items that are either new or updates.");
    GridDataBuilder.create(linkSelectNew).hFill();
    linkSelectNew.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            super.widgetSelected(e);
            boolean selectNew = e.text == null || e.text.equals(strLinkNew);
            onSelectNewUpdates(selectNew, !selectNew, false/*selectTop*/);
        }
    });

    // placeholder between "select all" and "install"
    Label placeholder = new Label(mGroupOptions, SWT.NONE);
    GridDataBuilder.create(placeholder).hFill().hGrab();

    mButtonInstall = new Button(mGroupOptions, SWT.NONE);
    mButtonInstall.setText(""); //$NON-NLS-1$  placeholder, filled in updateButtonsState()
    mButtonInstall.setToolTipText("Install one or more packages");
    GridDataBuilder.create(mButtonInstall).vCenter().wHint(150);
    mButtonInstall.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onButtonInstall(); //$hide$
        }
    });

    // Options line 2, 7 columns

    new Label(mGroupOptions, SWT.NONE);

    mCheckFilterObsolete = new Button(mGroupOptions, SWT.CHECK);
    mCheckFilterObsolete.setText("Obsolete");
    mCheckFilterObsolete.setToolTipText("Also show obsolete packages");
    mCheckFilterObsolete.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            refreshViewerInput();
        }
    });
    mCheckFilterObsolete.setSelection(false);

    // placeholder before "deselect"
    new Label(mGroupOptions, SWT.NONE);
    new Label(mGroupOptions, SWT.NONE);

    Link linkDeselect = new Link(mGroupOptions, SWT.NONE);
    linkDeselect.setText("<a>Deselect All</a>");
    linkDeselect.setToolTipText("Deselects all the currently selected items");
    GridDataBuilder.create(linkDeselect).hFill();
    linkDeselect.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            super.widgetSelected(e);
            onDeselectAll();
        }
    });

    // placeholder between "deselect" and "delete"
    placeholder = new Label(mGroupOptions, SWT.NONE);
    GridDataBuilder.create(placeholder).hFill().hGrab();

    mButtonDelete = new Button(mGroupOptions, SWT.NONE);
    mButtonDelete.setText(""); //$NON-NLS-1$  placeholder, filled in updateButtonsState()
    mButtonDelete.setToolTipText("Delete one ore more installed packages");
    GridDataBuilder.create(mButtonDelete).vCenter().wHint(150);
    mButtonDelete.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            onButtonDelete(); //$hide$
        }
    });
}

From source file:com.apicloud.navigator.ui.editors.ConfigEditor.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    parent.setLayout(new GridLayout(1, false));

    ScrolledComposite scrolledComposite = new ScrolledComposite(parent,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    scrolledComposite.setExpandVertical(true);
    scrolledComposite.setExpandHorizontal(true);
    scrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    formToolkit.adapt(scrolledComposite);
    formToolkit.paintBordersFor(scrolledComposite);
    scrolledComposite.setMinWidth(600);/*from  w  w  w.  jav  a  2 s . c  om*/
    scrolledComposite.setMinHeight(1400);
    scrolledComposite.getVerticalBar().setIncrement(10);

    Composite composite_3 = new Composite(scrolledComposite, SWT.NONE);
    formToolkit.adapt(composite_3);
    formToolkit.paintBordersFor(composite_3);
    composite_3.setLayout(new GridLayout(1, false));

    generalSection = new GeneralSectionBuilder(formToolkit, composite_3, this);
    generalSection.buildUI();
    generalSection.bindData(config);

    Section preferenceSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR);
    preferenceSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.paintBordersFor(preferenceSection);
    preferenceSection.setText("\u504F\u597D\u8BBE\u7F6E");
    preferenceSection.setExpanded(true);

    Composite preferenceComposite = formToolkit.createComposite(preferenceSection, SWT.NONE);
    preferenceComposite.setToolTipText("");
    formToolkit.paintBordersFor(preferenceComposite);
    preferenceSection.setClient(preferenceComposite);
    preferenceComposite.setLayout(new GridLayout(2, false));

    Label appBackground = new Label(preferenceComposite, SWT.NONE);
    appBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    formToolkit.adapt(appBackground, true, true);
    appBackground.setText("appBackground:");

    Composite appBackgroundComposite = new Composite(preferenceComposite, SWT.NONE);
    appBackgroundComposite.setLayout(new GridLayout(1, false));
    appBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(appBackgroundComposite);
    formToolkit.paintBordersFor(appBackgroundComposite);

    appBackgroundText = new Text(appBackgroundComposite, SWT.BORDER);
    GridData gd_appBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_appBackgroundText.widthHint = 200;
    appBackgroundText.setLayoutData(gd_appBackgroundText);
    appBackgroundText.setText(getPreferenceValue("appBackground", config) == null ? ""
            : getPreferenceValue("appBackground", config));
    appBackgroundText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            String value = appBackgroundText.getText() == null ? "" : appBackgroundText.getText();
            changePreferenceValue("appBackground", value);
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    formToolkit.adapt(appBackgroundText, true, true);

    Label windowBackground = new Label(preferenceComposite, SWT.NONE);
    windowBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(windowBackground, true, true);
    windowBackground.setText("windowBackground:");

    Composite windowBackgroundComposite = new Composite(preferenceComposite, SWT.NONE);
    windowBackgroundComposite.setLayout(new GridLayout(1, false));
    windowBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(windowBackgroundComposite);
    formToolkit.paintBordersFor(windowBackgroundComposite);

    windowBackgroundText = new Text(windowBackgroundComposite, SWT.BORDER);
    GridData gd_windowBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_windowBackgroundText.widthHint = 200;
    windowBackgroundText.setLayoutData(gd_windowBackgroundText);
    windowBackgroundText.setText(getPreferenceValue("windowBackground", config) == null ? ""
            : getPreferenceValue("windowBackground", config));
    windowBackgroundText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            String value = windowBackgroundText.getText() == null ? "" : windowBackgroundText.getText();
            changePreferenceValue("windowBackground", value);
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    formToolkit.adapt(windowBackgroundText, true, true);

    Label frameBackground = new Label(preferenceComposite, SWT.NONE);
    frameBackground.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(frameBackground, true, true);
    frameBackground.setText("frameBackgroundColor:");

    Composite frameBackgroundComposite = new Composite(preferenceComposite, SWT.NONE);
    frameBackgroundComposite.setLayout(new GridLayout(6, false));
    frameBackgroundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(frameBackgroundComposite);
    formToolkit.paintBordersFor(frameBackgroundComposite);

    frameBackgroundText = new Text(frameBackgroundComposite, SWT.BORDER);
    GridData gd_frameBackgroundText = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_frameBackgroundText.widthHint = 200;
    frameBackgroundText.setLayoutData(gd_frameBackgroundText);
    frameBackgroundText.setText(getPreferenceValue("frameBackgroundColor", config) == null ? ""
            : getPreferenceValue("frameBackgroundColor", config));
    frameBackgroundText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            String value = frameBackgroundText.getText() == null ? "" : frameBackgroundText.getText();
            changePreferenceValue("frameBackgroundColor", value);
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    formToolkit.adapt(frameBackgroundText, true, true);

    Label lblNewLabel_4 = new Label(frameBackgroundComposite, SWT.NONE);
    formToolkit.adapt(lblNewLabel_4, true, true);
    new Label(frameBackgroundComposite, SWT.NONE);
    new Label(frameBackgroundComposite, SWT.NONE);
    new Label(frameBackgroundComposite, SWT.NONE);
    new Label(frameBackgroundComposite, SWT.NONE);

    Label pageBounce = new Label(preferenceComposite, SWT.NONE);
    pageBounce.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(pageBounce, true, true);
    pageBounce.setText("pageBounce:");

    Composite pageBounceComposite = new Composite(preferenceComposite, SWT.NONE);
    pageBounceComposite.setLayout(new GridLayout(2, false));
    pageBounceComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(pageBounceComposite);
    formToolkit.paintBordersFor(pageBounceComposite);

    pageBounceButton_ok = new Button(pageBounceComposite, SWT.RADIO | SWT.RIGHT);
    pageBounceButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("pageBounce", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    pageBounceButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(pageBounceButton_ok, true, true);
    pageBounceButton_ok.setText("true");

    pageBounceButton_cancel = new Button(pageBounceComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("pageBounce", config) == null ? "false"
            : getPreferenceValue("pageBounce", config))) {
        pageBounceButton_ok.setSelection(true);
        changePreferenceValue("pageBounce", "true");
    } else {
        pageBounceButton_cancel.setSelection(true);
        changePreferenceValue("pageBounce", "false");
    }
    pageBounceButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("pageBounce", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(pageBounceButton_cancel, true, true);
    pageBounceButton_cancel.setText("false");

    Label hScrollBarEnabled = new Label(preferenceComposite, SWT.NONE);
    hScrollBarEnabled.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(hScrollBarEnabled, true, true);
    hScrollBarEnabled.setText("hScrollBarEnabled:");

    Composite hScrollBarEnabledComposite = new Composite(preferenceComposite, SWT.NONE);
    hScrollBarEnabledComposite.setLayout(new GridLayout(2, false));
    hScrollBarEnabledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(hScrollBarEnabledComposite);
    formToolkit.paintBordersFor(hScrollBarEnabledComposite);

    hScrollBarEnabledButton_ok = new Button(hScrollBarEnabledComposite, SWT.RADIO | SWT.RIGHT);
    hScrollBarEnabledButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("hScrollBarEnabled", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    hScrollBarEnabledButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(hScrollBarEnabledButton_ok, true, true);
    hScrollBarEnabledButton_ok.setText("true");

    hScrollBarEnabledButton_cancel = new Button(hScrollBarEnabledComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("hScrollBarEnabled", config) == null ? "false"
            : getPreferenceValue("hScrollBarEnabled", config))) {
        hScrollBarEnabledButton_ok.setSelection(true);
        changePreferenceValue("hScrollBarEnabled", "true");
    } else {
        hScrollBarEnabledButton_cancel.setSelection(true);
        changePreferenceValue("hScrollBarEnabled", "false");
    }
    hScrollBarEnabledButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("hScrollBarEnabled", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(hScrollBarEnabledButton_cancel, true, true);
    hScrollBarEnabledButton_cancel.setText("false");

    Label vScrollBarEnabled = new Label(preferenceComposite, SWT.NONE);
    vScrollBarEnabled.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(vScrollBarEnabled, true, true);
    vScrollBarEnabled.setText("vScrollBarEnabled:");

    Composite vScrollBarEnabledComposite = new Composite(preferenceComposite, SWT.NONE);
    vScrollBarEnabledComposite.setLayout(new GridLayout(2, false));
    vScrollBarEnabledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(vScrollBarEnabledComposite);
    formToolkit.paintBordersFor(vScrollBarEnabledComposite);

    vScrollBarEnabledButton_ok = new Button(vScrollBarEnabledComposite, SWT.RADIO | SWT.RIGHT);
    vScrollBarEnabledButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("vScrollBarEnabled", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    vScrollBarEnabledButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(vScrollBarEnabledButton_ok, true, true);
    vScrollBarEnabledButton_ok.setText("true");

    vScrollBarEnabledButton_cancel = new Button(vScrollBarEnabledComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("vScrollBarEnabled", config) == null ? "false"
            : getPreferenceValue("vScrollBarEnabled", config))) {
        vScrollBarEnabledButton_ok.setSelection(true);
        changePreferenceValue("vScrollBarEnabled", "true");
    } else {
        vScrollBarEnabledButton_cancel.setSelection(true);
        changePreferenceValue("vScrollBarEnabled", "false");
    }
    vScrollBarEnabledButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("vScrollBarEnabled", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(vScrollBarEnabledButton_cancel, true, true);
    vScrollBarEnabledButton_cancel.setText("false");

    Label fullScreen = new Label(preferenceComposite, SWT.NONE);
    fullScreen.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(fullScreen, true, true);
    fullScreen.setText("fullScreen:");

    Composite fullScreenComposite = new Composite(preferenceComposite, SWT.NONE);
    fullScreenComposite.setLayout(new GridLayout(2, false));
    fullScreenComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(fullScreenComposite);
    formToolkit.paintBordersFor(fullScreenComposite);

    fullScreenButton_ok = new Button(fullScreenComposite, SWT.RADIO | SWT.RIGHT);
    fullScreenButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("fullScreen", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });

    fullScreenButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(fullScreenButton_ok, true, true);
    fullScreenButton_ok.setText("true");

    fullScreenButton_cancel = new Button(fullScreenComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("fullScreen", config) == null ? "false"
            : getPreferenceValue("fullScreen", config))) {
        fullScreenButton_ok.setSelection(true);
        changePreferenceValue("fullScreen", "true");
    } else {
        fullScreenButton_cancel.setSelection(true);
        changePreferenceValue("fullScreen", "false");
    }
    fullScreenButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("fullScreen", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(fullScreenButton_cancel, true, true);
    fullScreenButton_cancel.setText("false");

    Label ios7 = new Label(preferenceComposite, SWT.NONE);
    ios7.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(ios7, true, true);
    ios7.setText("IOS7StatusBarAppearance:");

    Composite ios7Composite = new Composite(preferenceComposite, SWT.NONE);
    ios7Composite.setLayout(new GridLayout(2, false));
    ios7Composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(ios7Composite);
    formToolkit.paintBordersFor(ios7Composite);

    ios7Button_ok = new Button(ios7Composite, SWT.RADIO | SWT.RIGHT);
    ios7Button_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("iOS7StatusBarAppearance", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    ios7Button_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(ios7Button_ok, true, true);
    ios7Button_ok.setText("true");

    ios7Button_cancel = new Button(ios7Composite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("iOS7StatusBarAppearance", config) == null ? "false"
            : getPreferenceValue("iOS7StatusBarAppearance", config))) {
        ios7Button_ok.setSelection(true);
        changePreferenceValue("iOS7StatusBarAppearance", "true");
    } else {
        ios7Button_cancel.setSelection(true);
        changePreferenceValue("iOS7StatusBarAppearance", "false");
    }
    ios7Button_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("iOS7StatusBarAppearance", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(ios7Button_cancel, true, true);
    ios7Button_cancel.setText("false");

    Label autoLaunch = new Label(preferenceComposite, SWT.NONE);
    autoLaunch.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(autoLaunch, true, true);
    autoLaunch.setText("autoLaunch:");

    Composite autoLaunchComposite = new Composite(preferenceComposite, SWT.NONE);
    autoLaunchComposite.setLayout(new GridLayout(2, false));
    autoLaunchComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(autoLaunchComposite);
    formToolkit.paintBordersFor(autoLaunchComposite);

    autoLaunchButton_ok = new Button(autoLaunchComposite, SWT.RADIO | SWT.RIGHT);
    autoLaunchButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("autoLaunch", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    autoLaunchButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(autoLaunchButton_ok, true, true);
    autoLaunchButton_ok.setText("true");

    autoLaunchButton_cancel = new Button(autoLaunchComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("autoLaunch", config) == null ? "false"
            : getPreferenceValue("autoLaunch", config))) {
        autoLaunchButton_ok.setSelection(true);
        changePreferenceValue("autoLaunch", "true");
    } else {
        autoLaunchButton_cancel.setSelection(true);
        changePreferenceValue("autoLaunch", "false");
    }
    autoLaunchButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("autoLaunch", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(autoLaunchButton_cancel, true, true);
    autoLaunchButton_cancel.setText("false");

    Label autoUpdate = new Label(preferenceComposite, SWT.NONE);
    autoUpdate.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(autoUpdate, true, true);
    autoUpdate.setText("autoUpdate:");

    Composite autoUpdateComposite = new Composite(preferenceComposite, SWT.NONE);
    autoUpdateComposite.setLayout(new GridLayout(2, false));
    autoUpdateComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(autoUpdateComposite);
    formToolkit.paintBordersFor(autoUpdateComposite);

    autoUpdateButton_ok = new Button(autoUpdateComposite, SWT.RADIO | SWT.RIGHT);
    autoUpdateButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("autoUpdate", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    autoUpdateButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(autoUpdateButton_ok, true, true);
    autoUpdateButton_ok.setText("true");

    autoUpdateButton_cancel = new Button(autoUpdateComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("autoUpdate", config) == null ? "false"
            : getPreferenceValue("autoUpdate", config))) {
        autoUpdateButton_ok.setSelection(true);
        changePreferenceValue("autoUpdate", "true");
    } else {
        autoUpdateButton_cancel.setSelection(true);
        changePreferenceValue("autoUpdate", "false");
    }
    autoUpdateButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("autoUpdate", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(autoUpdateButton_cancel, true, true);
    autoUpdateButton_cancel.setText("false");

    Label smartUpdate = new Label(preferenceComposite, SWT.NONE);
    smartUpdate.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(smartUpdate, true, true);
    smartUpdate.setText("smartUpdate:");

    Composite smartUpdateComposite = new Composite(preferenceComposite, SWT.NONE);
    smartUpdateComposite.setLayout(new GridLayout(2, false));
    smartUpdateComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.adapt(smartUpdateComposite);
    formToolkit.paintBordersFor(smartUpdateComposite);

    smartUpdateButton_ok = new Button(smartUpdateComposite, SWT.RADIO | SWT.RIGHT);
    smartUpdateButton_ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("smartUpdate", "true");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    smartUpdateButton_ok.setAlignment(SWT.LEFT);
    formToolkit.adapt(smartUpdateButton_ok, true, true);
    smartUpdateButton_ok.setText("true");

    smartUpdateButton_cancel = new Button(smartUpdateComposite, SWT.RADIO);
    if (Boolean.parseBoolean(getPreferenceValue("smartUpdate", config) == null ? "false"
            : getPreferenceValue("smartUpdate", config))) {
        smartUpdateButton_ok.setSelection(true);
        changePreferenceValue("smartUpdate", "true");
    } else {
        smartUpdateButton_cancel.setSelection(true);
        changePreferenceValue("smartUpdate", "false");
    }
    smartUpdateButton_cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            changePreferenceValue("smartUpdate", "false");
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }

    });
    formToolkit.adapt(smartUpdateButton_cancel, true, true);
    smartUpdateButton_cancel.setText("false");
    Section featureSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR);
    GridData gd_featureSection = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
    gd_featureSection.heightHint = 112;
    featureSection.setLayoutData(gd_featureSection);
    formToolkit.paintBordersFor(featureSection);
    featureSection.setText(Messages.FEATURESETUP);
    featureSection.setExpanded(true);

    Composite composite_8 = new Composite(featureSection, SWT.NONE);
    formToolkit.adapt(composite_8);
    formToolkit.paintBordersFor(composite_8);
    featureSection.setClient(composite_8);
    composite_8.setLayout(new GridLayout(1, false));

    Label lblNewLabel_1 = new Label(composite_8, SWT.NONE);
    lblNewLabel_1.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(lblNewLabel_1, true, true);
    lblNewLabel_1.setText(Messages.SYSTEMINFO);

    Composite composite = new Composite(composite_8, SWT.NONE);
    GridData gd_composite = new GridData(SWT.CENTER, SWT.CENTER, true, false, 1, 1);
    gd_composite.widthHint = 380;
    composite.setLayoutData(gd_composite);
    formToolkit.adapt(composite);
    formToolkit.paintBordersFor(composite);

    final Label addFeatureLabel = formToolkit.createLabel(composite, "", SWT.NONE);
    addFeatureLabel.setImage(Activator.getImage("icons/addfeature.png"));
    addFeatureLabel.setBounds(0, 0, 90, 26);
    addFeatureLabel.addMouseListener(new MouseAdapter() {

        public void mouseUp(MouseEvent e) {
            AddFeatureDialog dialog = new AddFeatureDialog(getSite().getShell(), ConfigEditor.this, treeViewer,
                    config);

            dialog.open();
        }
    });
    addFeatureLabel.addMouseTrackListener(new MouseTrackListener() {
        @Override
        public void mouseHover(MouseEvent e) {
            addFeatureLabel.setImage(Activator.getImage("icons/addfeaturefocus.png"));
        }

        @Override
        public void mouseExit(MouseEvent e) {
            addFeatureLabel.setImage(Activator.getImage("icons/addfeature.png"));
        }

        @Override
        public void mouseEnter(MouseEvent e) {
            addFeatureLabel.setImage(Activator.getImage("icons/addfeaturefocus.png"));
        }
    });

    final Label addParamLabel = formToolkit.createLabel(composite, "", SWT.NONE);
    addParamLabel.setImage(Activator.getImage("icons/addParam.png"));
    addParamLabel.setBounds(95, 0, 90, 26);
    addParamLabel.addMouseListener(new MouseAdapter() {

        public void mouseUp(MouseEvent e) {
            if (config.getFeatures().size() == 0) {
                MessageDialog.openInformation(getSite().getShell(), Messages.PackageAppItemDialog_INFO,
                        Messages.ADDFEATURE);
                return;
            }
            CreateParamDialog dialog = new CreateParamDialog(getSite().getShell(), ConfigEditor.this,
                    treeViewer, config);
            dialog.open();
        }
    });
    addParamLabel.addMouseTrackListener(new MouseTrackListener() {
        @Override
        public void mouseHover(MouseEvent e) {
            addParamLabel.setImage(Activator.getImage("icons/addParamfocus.png"));
        }

        @Override
        public void mouseExit(MouseEvent e) {
            addParamLabel.setImage(Activator.getImage("icons/addParam.png"));
        }

        @Override
        public void mouseEnter(MouseEvent e) {
            addParamLabel.setImage(Activator.getImage("icons/addParamfocus.png"));
        }
    });

    final Label deleteNodeLabel = formToolkit.createLabel(composite, "", SWT.NONE);
    deleteNodeLabel.setImage(Activator.getImage("icons/deleteNode.png"));
    deleteNodeLabel.setBounds(290, 0, 90, 26);
    deleteNodeLabel.addMouseListener(new MouseAdapter() {

        public void mouseUp(MouseEvent e) {
            if (treeViewer.getSelection() == null)
                return;
            IStructuredSelection ss = (StructuredSelection) treeViewer.getSelection();
            if (ss.getFirstElement() instanceof TreeNode) {
                TreeNode node = (TreeNode) ss.getFirstElement();
                if (node.getValue() instanceof Feature) {
                    config.getFeatures().remove((Feature) node.getValue());
                }
                if (node.getValue() instanceof Param) {
                    TreeNode parent = node.getParent();
                    Feature feature = (Feature) parent.getValue();
                    Param param = (Param) node.getValue();
                    feature.removeParams(param);
                }
                dirty = true;
                firePropertyChange(PROP_DIRTY);
                treeViewer.setInput(config.createTreeNode());
                treeViewer.refresh();
            }
        }
    });
    deleteNodeLabel.addMouseTrackListener(new MouseTrackListener() {
        @Override
        public void mouseHover(MouseEvent e) {
            deleteNodeLabel.setImage(Activator.getImage("icons/deleteNodefocus.png"));
        }

        @Override
        public void mouseExit(MouseEvent e) {
            deleteNodeLabel.setImage(Activator.getImage("icons/deleteNode.png"));
        }

        @Override
        public void mouseEnter(MouseEvent e) {
            deleteNodeLabel.setImage(Activator.getImage("icons/deleteNodefocus.png"));
        }
    });

    treeViewer = new TreeViewer(composite_8, SWT.BORDER | SWT.FULL_SELECTION);
    Tree tree = treeViewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    GridData gd_tree = new GridData(SWT.CENTER, SWT.FILL, true, true, 1, 1);
    gd_tree.heightHint = 112;
    tree.setLayoutData(gd_tree);
    formToolkit.paintBordersFor(tree);
    this.treeViewer.setContentProvider(new TreeNodeContentProvider());
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnNewColumn = treeViewerColumn.getColumn();
    trclmnNewColumn.setWidth(180);
    trclmnNewColumn.setText("\u540D\u79F0");
    treeViewerColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TreeNode treeNode = TreeNode.class.cast(element);
            if (treeNode.getValue() instanceof Feature) {
                return ((Feature) treeNode.getValue()).getName();
            }
            if (treeNode.getValue() instanceof Param) {
                return ((Param) treeNode.getValue()).getName();
            }
            return element.toString();
        }

    });

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnNewColumn_1 = treeViewerColumn_1.getColumn();
    trclmnNewColumn_1.setWidth(180);
    trclmnNewColumn_1.setText("\u503C");
    treeViewerColumn_1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TreeNode treeNode = TreeNode.class.cast(element);
            if (treeNode.getValue() instanceof Feature) {
                return "";
            }
            if (treeNode.getValue() instanceof Param) {
                return ((Param) treeNode.getValue()).getValue();
            }
            return element.toString();
        }

    });
    this.treeViewer.setInput(config.createTreeNode());
    treeViewer.setColumnProperties(new String[] { "name", "value" });
    CellEditor[] treeViewer_editors = new CellEditor[tree.getColumnCount()];
    treeViewer_editors[0] = new TextCellEditor(tree);
    treeViewer_editors[1] = new TextCellEditor(tree);

    treeViewer.setCellEditors(treeViewer_editors);
    treeViewer.setCellModifier(new ICellModifier() {

        @Override
        public boolean canModify(Object element, String property) {
            TreeNode treeNode = TreeNode.class.cast(element);
            if (treeNode.getValue() instanceof Feature && property.equals("value")) { //$NON-NLS-1$
                return false;
            }
            if (property.equals("name"))
                return false;
            return true;
        }

        @Override
        public Object getValue(Object element, String property) {
            Object value = ""; //$NON-NLS-1$
            TreeNode treeNode = TreeNode.class.cast(element);
            if (treeNode.getValue() instanceof Feature) {
                Feature feautre = Feature.class.cast(treeNode.getValue());
                if (property.equals("name")) {
                    value = feautre.getName();
                }
            }
            if (treeNode.getValue() instanceof Param) {
                Param param = Param.class.cast(treeNode.getValue());
                if (property.equals("name")) {
                    value = param.getName();
                } else if (property.equals("value")) {
                    value = param.getValue();
                }
            }
            return value;
        }

        @Override
        public void modify(Object element, String property, Object value) {
            TreeItem item = (TreeItem) element;
            Object o = item.getData();
            TreeNode treeNode = TreeNode.class.cast(o);
            if (treeNode.getValue() instanceof Feature) {
                Feature feautre = Feature.class.cast(treeNode.getValue());
                if (property.equals("name")) {
                    if ("".equals(value)) {
                        MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION,
                                Messages.CreateFeatureDialog_FEATURE_NMAE_NOT_NULL);
                    } else {
                        if (!feautre.getName().equals((String) value)) {
                            feautre.setName((String) value);
                            dirty = true;
                            firePropertyChange(PROP_DIRTY);
                            treeViewer.refresh();
                        }
                    }
                }
            }
            if (treeNode.getValue() instanceof Param) {
                Param param = Param.class.cast(treeNode.getValue());
                if (property.equals("name")) {
                    if ("".equals(value)) {
                        MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO,
                                Messages.PARAMNAMEISNULL);
                    } else {
                        if (!param.getName().equals((String) value)) {
                            param.setName((String) value);
                            dirty = true;
                            firePropertyChange(PROP_DIRTY);
                            treeViewer.refresh();
                        }
                    }
                } else if (property.equals("value")) {
                    if ("".equals(value)) {
                        MessageDialog.openInformation(null, Messages.PackageAppItemDialog_INFO,
                                Messages.PARAMNAMEISNULL);
                    } else {
                        if (!param.getValue().equals((String) value)) {
                            param.setValue((String) value);
                            dirty = true;
                            firePropertyChange(PROP_DIRTY);
                            treeViewer.refresh();
                        }
                    }
                }
            }
        }
    });

    final Section sctnNewSection_1 = formToolkit.createSection(composite_3,
            Section.TWISTIE | Section.TITLE_BAR);
    GridData gd_sctnNewSection_1 = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
    gd_sctnNewSection_1.heightHint = 73;
    sctnNewSection_1.setLayoutData(gd_sctnNewSection_1);
    formToolkit.paintBordersFor(sctnNewSection_1);
    sctnNewSection_1.setText(Messages.PERMISSIONSETTINGS);
    sctnNewSection_1.setExpanded(true);

    Composite composite_5 = formToolkit.createComposite(sctnNewSection_1, SWT.NONE);
    formToolkit.paintBordersFor(composite_5);
    sctnNewSection_1.setClient(composite_5);
    composite_5.setLayout(new GridLayout(3, false));

    Label lblNewLabel_2 = new Label(composite_5, SWT.NONE);
    lblNewLabel_2.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false, 3, 1));
    formToolkit.adapt(lblNewLabel_2, true, true);
    lblNewLabel_2.setText(Messages.PERMISSIONINFO);

    tableViewer_1 = new TableViewer(composite_5, SWT.BORDER | SWT.FULL_SELECTION);
    table_1 = tableViewer_1.getTable();
    table_1.setLinesVisible(true);
    table_1.setHeaderVisible(true);
    GridData gd_table_1 = new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1);
    gd_table_1.heightHint = 250;
    table_1.setLayoutData(gd_table_1);
    formToolkit.paintBordersFor(table_1);

    TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tableViewer_1, SWT.NONE);
    TableColumn tblclmnNewColumn_2 = tableViewerColumn_2.getColumn();
    tblclmnNewColumn_2.setResizable(false);
    tblclmnNewColumn_2.setMoveable(false);
    tblclmnNewColumn_2.setWidth(160);
    tblclmnNewColumn_2.setText(Messages.STARTED);
    tableViewerColumn_2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Permission) element).getName();
        }

    });

    tableViewer_1.setContentProvider(new ArrayContentProvider());
    tableViewer_1.setInput(config.getPermissions());
    tableViewer_1.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {

            StructuredSelection ss = (StructuredSelection) event.getSelection();
            Permission p = (Permission) ss.getFirstElement();
            config.getPermissions().remove(p);
            tableViewer_1.setInput(config.getPermissions());
            tableViewer_3.setInput(getUnauthorized(config));
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
            dirty = true;
            firePropertyChange(PROP_DIRTY);

        }
    });
    table_1.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
        }

        @Override
        public void focusGained(FocusEvent e) {
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
        }
    });

    Label lblNewLabel = new Label(composite_5, SWT.NONE);
    lblNewLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(lblNewLabel, true, true);
    lblNewLabel.setText(Messages.CHANGEBUTTON);

    tableViewer_3 = new TableViewer(composite_5, SWT.BORDER | SWT.FULL_SELECTION);
    table_3 = tableViewer_3.getTable();
    table_3.setLinesVisible(true);
    table_3.setHeaderVisible(true);
    table_3.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false, 1, 1));
    formToolkit.paintBordersFor(table_3);

    TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer_3, SWT.NONE);
    TableColumn tableColumn = tableViewerColumn.getColumn();
    tableColumn.setResizable(false);
    tableColumn.setMoveable(false);
    tableColumn.setWidth(160);
    tableColumn.setText(Messages.UNSTARTED);
    tableViewerColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Permission) element).getName();
        }

    });

    tableViewer_3.setContentProvider(new ArrayContentProvider());
    tableViewer_3.setInput(getUnauthorized(config));
    tableViewer_3.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            StructuredSelection ss = (StructuredSelection) event.getSelection();
            Permission p = (Permission) ss.getFirstElement();
            config.getPermissions().add(p);
            tableViewer_1.setInput(config.getPermissions());
            tableViewer_3.setInput(getUnauthorized(config));
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    table_3.addFocusListener(new FocusListener() {

        @Override
        public void focusLost(FocusEvent e) {
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
        }

        @Override
        public void focusGained(FocusEvent e) {
            sctnNewSection_1.setExpanded(false);
            sctnNewSection_1.setExpanded(true);
        }
    });

    Section sctnNewSection = formToolkit.createSection(composite_3, Section.TWISTIE | Section.TITLE_BAR);
    sctnNewSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    formToolkit.paintBordersFor(sctnNewSection);
    sctnNewSection.setText(Messages.ACCESSSETTINGS);
    sctnNewSection.setExpanded(true);

    Composite composite_9 = formToolkit.createComposite(sctnNewSection, SWT.NONE);
    formToolkit.paintBordersFor(composite_9);
    sctnNewSection.setClient(composite_9);
    composite_9.setLayout(new GridLayout(1, false));

    Label lblNewLabel_9 = new Label(composite_9, SWT.NONE);
    lblNewLabel_9.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    formToolkit.adapt(lblNewLabel_9, true, true);
    lblNewLabel_9.setText(Messages.ACCESSSINFO);

    Composite composite_2 = formToolkit.createComposite(composite_9, SWT.NONE);
    composite_2.setLayout(null);
    GridData gd_composite_2 = new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1);
    gd_composite_2.widthHint = 380;
    composite_2.setLayoutData(gd_composite_2);
    formToolkit.paintBordersFor(composite_2);

    final Label addLabel = formToolkit.createLabel(composite_2, "", SWT.NONE);
    addLabel.setImage(Activator.getImage("icons/add.png"));
    addLabel.setBounds(0, 0, 55, 26);
    addLabel.addMouseListener(new MouseAdapter() {

        public void mouseUp(MouseEvent e) {
            Access a = new Access();
            a.setOrigin("*");
            config.getAccesses().add(a);
            tableViewer_2.setInput(config.getAccesses());
            tableViewer_2.refresh();
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    addLabel.addMouseTrackListener(new MouseTrackListener() {
        @Override
        public void mouseHover(MouseEvent e) {
            addLabel.setImage(Activator.getImage("icons/addfocus.png"));
        }

        @Override
        public void mouseExit(MouseEvent e) {
            addLabel.setImage(Activator.getImage("icons/add.png"));
        }

        @Override
        public void mouseEnter(MouseEvent e) {
            addLabel.setImage(Activator.getImage("icons/addfocus.png"));
        }
    });

    final Label deleteLabel = formToolkit.createLabel(composite_2, "", SWT.NONE);
    deleteLabel.setImage(Activator.getImage("icons/delete.png"));
    deleteLabel.setBounds(60, 0, 55, 26);
    deleteLabel.addMouseListener(new MouseAdapter() {

        public void mouseUp(MouseEvent e) {
            StructuredSelection ss = (StructuredSelection) tableViewer_2.getSelection();
            if (ss.getFirstElement() == null) {
                return;
            }
            Access a = (Access) ss.getFirstElement();
            config.getAccesses().remove(a);
            tableViewer_2.refresh();
            dirty = true;
            firePropertyChange(PROP_DIRTY);
        }
    });
    deleteLabel.addMouseTrackListener(new MouseTrackListener() {
        @Override
        public void mouseHover(MouseEvent e) {
            deleteLabel.setImage(Activator.getImage("icons/deletefocus.png"));
        }

        @Override
        public void mouseExit(MouseEvent e) {
            deleteLabel.setImage(Activator.getImage("icons/delete.png"));
        }

        @Override
        public void mouseEnter(MouseEvent e) {
            deleteLabel.setImage(Activator.getImage("icons/deletefocus.png"));
        }
    });

    tableViewer_2 = new TableViewer(composite_9, SWT.BORDER | SWT.FULL_SELECTION);
    table_2 = tableViewer_2.getTable();
    table_2.setLinesVisible(true);
    table_2.setHeaderVisible(true);
    GridData gd_table_2 = new GridData(SWT.CENTER, SWT.CENTER, true, false, 1, 1);
    gd_table_2.heightHint = 120;
    table_2.setLayoutData(gd_table_2);
    formToolkit.paintBordersFor(table_2);

    TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(tableViewer_2, SWT.NONE);
    TableColumn tblclmnNewColumn_3 = tableViewerColumn_3.getColumn();
    tblclmnNewColumn_3.setWidth(360);
    tblclmnNewColumn_3.setText(Messages.SOURCE);
    tableViewerColumn_3.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Access) element).getOrigin();
        }

    });

    tableViewer_2.setContentProvider(new ArrayContentProvider());
    tableViewer_2.setInput(config.getAccesses());
    tableViewer_2.setColumnProperties(new String[] { "origin" });
    CellEditor[] tableViewer2_editor = new CellEditor[table_2.getColumnCount()];
    tableViewer2_editor[0] = new TextCellEditor(table_2);

    tableViewer_2.setCellEditors(tableViewer2_editor);
    tableViewer_2.setCellModifier(new ICellModifier() {

        @Override
        public boolean canModify(Object element, String property) {

            return true;
        }

        @Override
        public Object getValue(Object element, String property) {
            Object value = ""; //$NON-NLS-1$
            Access access = Access.class.cast(element);
            if (property.equals("origin")) {
                value = access.getOrigin();
            }
            return value;
        }

        @Override
        public void modify(Object element, String property, Object value) {
            TableItem item = (TableItem) element;
            Object o = item.getData();
            Access access = Access.class.cast(o);
            if (property.equals("origin")) {
                if ("".equals(value)) {
                    MessageDialog.openInformation(null, Messages.AddFeatureDialog_INFORMATION,
                            Messages.PERMISSIONISNULL);
                } else {
                    if (!access.getOrigin().equals((String) value)) {
                        access.setOrigin((String) value);
                        dirty = true;
                        firePropertyChange(PROP_DIRTY);
                        tableViewer_2.refresh();
                    }
                }
            }
        }
    });
    scrolledComposite.setMinSize(new Point(700, 1500));
    scrolledComposite.setContent(composite_3);
}

From source file:com.arm.cmsis.config.editors.ConfigEditor.java

License:Open Source License

private void buildTreeViewer(Composite parent) {
    fViewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    Tree tree = fViewer.getTree();//w  w  w  .jav  a 2  s.  c  o m
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
    tree.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeItem item = (TreeItem) e.item;
            if (item != null) {
                IConfigWizardItem configItem = getConfigWizardItem(item.getData());
                if (configItem != null) {
                    setCursorAndRevealAt(configItem.getStartLine());
                    showTooltipText(configItem);
                }
            }
        }
    });
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    fColumnAdvisor = new ConfigColumnAdvisor(fViewer);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(Messages.ConfigEditor_Option);
    column0.getColumn().setWidth(320);
    column0.setLabelProvider(new FirstColumnLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(Messages.ConfigEditor_Value);
    column1.getColumn().setWidth(100);
    column1.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, COLEDIT));
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLEDIT));

    // Add an empty column and adjust its width automatically for better looking
    TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column2.getColumn().setWidth(1);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    if (System.getProperty("os.name").startsWith("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$
        parent.addControlListener(new ControlAdapter() {
            @Override
            public void controlResized(ControlEvent e) {
                Tree tree = (Tree) fViewer.getControl();
                Rectangle area = parent.getClientArea();
                Point preferredSize = tree.computeSize(SWT.DEFAULT, SWT.DEFAULT);
                int width = area.width - 2 * tree.getBorderWidth();
                if (preferredSize.y > tree.getBounds().height) {
                    // Subtract the scrollbar width from the total column width
                    // if a vertical scrollbar will be required
                    Point vBarSize = tree.getVerticalBar().getSize();
                    width -= vBarSize.x;
                }
                Point oldSize = tree.getSize();
                if (oldSize.x > area.width) {
                    // tree is getting smaller so make the columns
                    // smaller first and then resize the tree to
                    // match the client area width
                    column2.getColumn().setWidth(Math.max(0,
                            width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10));
                    tree.setSize(area.width, area.height);
                } else {
                    // tree is getting bigger so make the tree
                    // bigger first and then make the columns wider
                    // to match the client area width
                    tree.setSize(area.width, area.height);
                    column2.getColumn().setWidth(Math.max(0,
                            width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10));
                }
            }
        });
    }

    fViewer.setContentProvider(new ContentProvider());
    fViewer.setInput(fParser.getConfigWizardRoot());

    ColumnViewerToolTipSupport.enableFor(fViewer);
}

From source file:com.arm.cmsis.pack.installer.ui.views.BoardsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    PatternFilter filter = new PatternFilter() {
        @Override/*ww  w.  j ava  2 s. c o m*/
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    filter.setIncludeLeadingWildcard(true);
    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter,
            true);
    fTree.setInitialText(Messages.BoardsView_SearchBoard);
    fViewer = fTree.getViewer();
    fViewer.getTree().setLinesVisible(true);
    fViewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(CmsisConstants.BOARD_TITLE);
    column0.getColumn().setWidth(200);
    column0.setLabelProvider(new BoardsViewLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE);
    column1.getColumn().setWidth(300);
    fColumnAdvisor = new BoardsViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL));

    fViewer.setContentProvider(new BoardViewContentProvider());
    fViewer.setComparator(new BoardTreeColumnComparator(fViewer, fColumnAdvisor));
    fViewer.setAutoExpandLevel(2);
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.BOARDS_VIEW);

    getSite().setSelectionProvider(fViewer);

    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    CpPlugIn.addRteListener(this);
}

From source file:com.arm.cmsis.pack.installer.ui.views.DevicesView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    PatternFilter filter = new PatternFilter() {
        @Override//  w w  w.  j a va2s .co  m
        protected boolean isLeafMatch(final Viewer viewer, final Object element) {
            TreeViewer treeViewer = (TreeViewer) viewer;
            boolean isMatch = false;
            ColumnLabelProvider labelProvider = (ColumnLabelProvider) treeViewer.getLabelProvider(0);
            String labelText = labelProvider.getText(element);
            isMatch |= wordMatches(labelText);
            return isMatch;
        }
    };
    filter.setIncludeLeadingWildcard(true);
    fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, filter,
            true);
    fTree.setInitialText(Messages.DevicesView_SearchDevice);
    fViewer = fTree.getViewer();
    fViewer.getTree().setLinesVisible(true);
    fViewer.getTree().setHeaderVisible(true);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(CmsisConstants.DEVICE_TITLE);
    column0.getColumn().setWidth(200);
    column0.setLabelProvider(new DevicesViewLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(CmsisConstants.SUMMARY_TITLE);
    column1.getColumn().setWidth(300);
    fColumnAdvisor = new DevicesViewColumnAdvisor(fViewer);
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLURL));

    fViewer.setContentProvider(new DeviceViewContentProvider());
    fViewer.setComparator(new DeviceTreeColumnComparator(fViewer, fColumnAdvisor));
    fViewer.setAutoExpandLevel(2);
    refresh();

    ColumnViewerToolTipSupport.enableFor(fViewer);

    // Create the help context id for the viewer's control
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.DEVICES_VIEW);

    getSite().setSelectionProvider(fViewer);

    makeActions();
    hookContextMenu();
    hookDoubleClickAction();
    contributeToActionBars();

    CpInstallerPlugInUI.registerViewPart(this);

    CpPlugIn.addRteListener(this);
}