List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn
public TreeColumn getColumn()
From source file:com.arm.cmsis.pack.installer.ui.views.ExamplesView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance(); PatternFilter patternFilter = new PatternFilter() { @Override//from ww w. j a va 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; } }; patternFilter.setIncludeLeadingWildcard(true); fExamplesViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter }; fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true); fTree.setInitialText(Messages.ExamplesView_SearchExample); fViewer = fTree.getViewer(); Tree tree = fViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); // ------ Start Setting ALL Columns for the Examples View // ------ First Column TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setText(CmsisConstants.EXAMPLE_TITLE); column0.getColumn().setWidth(300); column0.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { ICpExample e = ((IRteExampleItem) element).getExample(); return e.getId(); } @Override public String getToolTipText(Object element) { ICpExample e = ((IRteExampleItem) element).getExample(); return constructExampleTooltipText(e); } }); // ------ Second Column TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.ACTION_TITLE); column1.getColumn().setWidth(90); fColumnAdvisor = new ExamplesViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON)); // ------ Third Column TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT); column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE); column2.getColumn().setWidth(400); column2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object obj) { IRteExampleItem example = getRteExampleItem(obj); if (example != null) { return example.getExample().getDescription(); } return null; } }); // ------ End Setting ALL Columns for the Examples View fViewer.setContentProvider(new TreeObjectContentProvider()); fViewer.setComparator(new ExampleTreeColumnComparator(fViewer, fColumnAdvisor)); refresh(); ColumnViewerToolTipSupport.enableFor(fViewer); // Create the help context id for the viewer's control PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), IHelpContextIds.EXAMPLES_VIEW); getSite().setSelectionProvider(fViewer); hookViewSelection(); makeActions(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); fViewer.setFilters(fExamplesViewFilters); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.installer.ui.views.PacksView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { fPacksExamplesViewFilter = PacksExamplesViewFilter.getInstance(); PatternFilter patternFilter = new PatternFilter() { @Override/*from ww w . j av a 2 s . c om*/ 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; } }; patternFilter.setIncludeLeadingWildcard(true); fPacksViewFilters = new ViewerFilter[] { patternFilter, fPacksExamplesViewFilter }; fTree = new FilteredTree(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, patternFilter, true); fTree.setInitialText(Messages.PacksView_SearchPack); fViewer = fTree.getViewer(); Tree tree = fViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); //------ Start Setting ALL Columns for the Packs View //------ First Column TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(CmsisConstants.PACK_TITLE); column0.getColumn().setWidth(250); column0.setLabelProvider(fColumnLabelProviderWithImage); //------ Second Column TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(CmsisConstants.ACTION_TITLE); column1.getColumn().setWidth(90); fColumnAdvisor = new PacksViewColumnAdvisor(fViewer); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLBUTTON)); //------ Third Column TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT); column2.getColumn().setText(CmsisConstants.DESCRIPTION_TITLE); column2.getColumn().setWidth(400); column2.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object obj) { ICpItem item = getCpItem(obj); if (item == null) { return null; } // Add selection string on the first line if (item instanceof ICpPackCollection) { if (CmsisConstants.DEVICE_SPECIFIC.equals(item.getTag())) { String filterString = fPacksExamplesViewFilter.getFilterString(); return filterString == null ? null : filterString + Messages.PacksView_Selected; } else if (CmsisConstants.GENERIC.equals(item.getTag())) { return Messages.PacksView_GenericPacksDescription; } } if (item instanceof ICpPackFamily) { ICpPackFamily packFamily = (ICpPackFamily) item; if (CmsisConstants.ERRORS.equals(packFamily.getTag())) { return Messages.PacksView_CannotLoadPdscFiles; } return formatDescription(item.getDescription()); } if (CmsisConstants.RELEASE_TAG.equals(item.getTag())) { return formatDescription(item.getText()); } else if (CmsisConstants.PREVIOUS.equals(item.getTag())) { return item.getPackFamilyId() + Messages.PacksView_PreviousPackVersions; } ICpPack pack = item.getPack(); if (pack.getPackState() != PackState.ERROR) { for (ICpItem cpItem : pack.getGrandChildren(CmsisConstants.RELEASES_TAG)) { if (cpItem.getAttribute(CmsisConstants.VERSION).equals(pack.getVersion())) { return formatDescription(cpItem.getText()); } } } else { return Messages.PacksView_Location + pack.getFileName(); } return null; } // Due to the multi-line table cell in Linux, we // only use the first line when OS is Linux private String formatDescription(String description) { boolean isWinOS = System.getProperty("os.name").startsWith("Windows"); //$NON-NLS-1$ //$NON-NLS-2$ return isWinOS ? description : description.split("\\r?\\n")[0]; //$NON-NLS-1$ } }); //------ End Setting ALL Columns for the Packs View fViewer.setContentProvider(new PacksViewContentProvider()); fViewer.setComparator(new PackTreeColumnComparator(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.PACKS_VIEW); getSite().setSelectionProvider(fViewer); makeActions(); hookViewSelection(); hookContextMenu(); hookDoubleClickAction(); contributeToActionBars(); CpInstallerPlugInUI.registerViewPart(this); fViewer.setFilters(fPacksViewFilters); CpPlugIn.addRteListener(this); }
From source file:com.arm.cmsis.pack.project.wizards.CmsisCodeTemplateNewWizardPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout);//from ww w . jav a2s . c o m layout.numColumns = 3; //layout.verticalSpacing = 5; Label label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplateNewWizardPage_Project); projectText = new Text(container, SWT.BORDER | SWT.SINGLE); projectText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); projectText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { projectChanged(); } }); projectBrowse = new Button(container, SWT.PUSH); projectBrowse.setText(Messages.CmsisCodeTemplate_Browse); projectBrowse.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleProjectBrowse(); } }); fViewer = new TreeViewer(container, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); Tree tree = fViewer.getTree(); GridData gd_tree = new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1); gd_tree.heightHint = 300; tree.setLayoutData(gd_tree); tree.setHeaderVisible(true); tree.setLinesVisible(true); tree.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Object obj = e.item.getData(); if (obj instanceof ICpCodeTemplate) { selectedCodeTemplate = (ICpCodeTemplate) obj; String[] codeTemplates = selectedCodeTemplate.getCodeTemplates(); if (codeTemplates.length == 0) { fileText.setEditable(false); fileText.setText(CmsisConstants.EMPTY_STRING); return; } fileText.setEditable(true); StringBuilder sb = new StringBuilder(Utils.extractFileName(codeTemplates[0])); for (int i = 1; i < codeTemplates.length; i++) { fileText.setEditable(false); sb.append(' '); sb.append(Utils.extractFileName(codeTemplates[i])); } fileText.setText(sb.toString()); } } }); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); column0.getColumn().setText(Messages.CmsisCodeTemplate_Component); column0.getColumn().setWidth(200); column0.setLabelProvider(new ComponentColumnLabelProvider()); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT); column1.getColumn().setText(Messages.CmsisCodeTemplate_Name); column1.getColumn().setWidth(320); column1.setLabelProvider(new NameColumnLabelProvider()); fViewer.setContentProvider(new CodeTemplateContentProvider()); IRteProject rteProject = getRteProject(); if (rteProject != null) { ICpCodeTemplate codeTemplate = rteProject.getRteConfiguration().getCmsisCodeTemplate(); fViewer.setInput(codeTemplate); fViewer.getControl().setFocus(); } label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplate_Location); containerText = new Text(container, SWT.BORDER | SWT.SINGLE); containerText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); containerText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { dialogChanged(); } }); containerBrowse = new Button(container, SWT.PUSH); containerBrowse.setText(Messages.CmsisCodeTemplate_Browse); containerBrowse.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { handleContainerBrowse(); } }); label = new Label(container, SWT.NULL); label.setText(Messages.CmsisCodeTemplate_FileName); fileText = new Text(container, SWT.BORDER | SWT.SINGLE); fileText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fileText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { dialogChanged(); } }); initialize(); projectChanged(); setControl(container); new Label(container, SWT.NONE); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent.getParent(), IHelpContextIds.CODE_TEMPLATE_WIZARD); }
From source file:com.arm.cmsis.pack.ui.widgets.RteComponentSelectorWidget.java
License:Open Source License
@Override public Composite createControl(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setHeaderVisible(true);//w w w . ja v a 2s . c o m tree.setLinesVisible(true); viewer = new TreeViewer(tree); ColumnViewerToolTipSupport.enableFor(viewer); fColumnAdvisor = new RteComponentColumnAdvisor(viewer); // Tree item name TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT); column0.getColumn().setAlignment(SWT.LEFT); column0.getColumn().setText(CpStringsUI.RteComponentTreeWidget_SoftwareComponents); column0.getColumn().setWidth(180); column0.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 0)); AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, 0); // workaround jface bug: first owner-draw column is not correctly painted when column is resized col0LabelProvider.setOwnerDrawEnabled(false); column0.setLabelProvider(col0LabelProvider); // Check box for selection TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.CENTER); column1.getColumn().setAlignment(SWT.CENTER); column1.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Sel); column1.getColumn().setWidth(35); column1.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 1)); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 1)); // Variant TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT); column2.getColumn().setAlignment(SWT.LEFT); column2.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Variant); column2.getColumn().setWidth(110); column2.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 2)); column2.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 2)); // Vendor TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT); column3.getColumn().setAlignment(SWT.LEFT); column3.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Vendor); column3.getColumn().setWidth(110); column3.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 3)); column3.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 3)); // Version TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT); column4.getColumn().setAlignment(SWT.LEFT); column4.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Version); column4.getColumn().setWidth(70); column4.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 4)); column4.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 4)); // Description/URL TreeViewerColumn column5 = new TreeViewerColumn(viewer, SWT.RIGHT); column5.getColumn().setAlignment(SWT.LEFT); column5.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Description); column5.getColumn().setWidth(400); column5.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, 5)); column5.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 5)); RteComponentContentProvider rteContentProvider = new RteComponentContentProvider(); viewer.setContentProvider(rteContentProvider); GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalSpan = 2; tree.setLayoutData(gridData); if (getModelController() != null) { viewer.setInput(getModelController()); } hookContextMenu(); return tree; }
From source file:com.arm.cmsis.pack.ui.widgets.RtePackSelectorWidget.java
License:Open Source License
@Override public Composite createControl(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setHeaderVisible(true);/*from w w w. java2 s .c o m*/ viewer = new TreeViewer(tree); ColumnViewerToolTipSupport.enableFor(viewer); // Tree item name TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setAlignment(SWT.LEFT); column0.getColumn().setText(CpStrings.Pack); column0.getColumn().setWidth(180); fColumnAdvisor = new RtePackSelectorColumnAdvisor(viewer); column0.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLPACK)); AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, COLPACK); // workaround jface bug: first owner-draw column is not correctly painted when column is resized col0LabelProvider.setOwnerDrawEnabled(false); column0.setLabelProvider(col0LabelProvider); // Check/menu box for selection TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.LEFT); tree.setLinesVisible(true); column1.getColumn().setAlignment(SWT.LEFT); column1.getColumn().setText(CpStrings.Selection); column1.getColumn().setWidth(100); column1.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLSEL)); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLSEL)); // Version TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT); column2.getColumn().setAlignment(SWT.LEFT); column2.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Version); column2.getColumn().setWidth(70); column2.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLVERSION)); column2.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLVERSION)); // Description/URL TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT); column3.getColumn().setAlignment(SWT.LEFT); column3.getColumn().setText(CpStringsUI.RteComponentTreeWidget_Description); column3.getColumn().setWidth(400); column3.setEditingSupport(new AdvisedEditingSupport(viewer, fColumnAdvisor, COLDESCR)); column3.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLDESCR)); viewer.setContentProvider(new RtePackProvider()); GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalSpan = 2; tree.setLayoutData(gridData); // hookContextMenu(); return tree; }
From source file:com.arm.cmsis.pack.ui.widgets.RteValidateWidget.java
License:Open Source License
@Override public Composite createControl(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setHeaderVisible(true);// www . j av a 2 s . c o m fViewer = new TreeViewer(tree); ColumnViewerToolTipSupport.enableFor(fViewer); fColumnAdvisor = new RteValidateColumnAdvisor(fViewer); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setAlignment(SWT.LEFT); column0.getColumn().setText(CpStringsUI.RteValidateWidget_ValidationOutput); column0.getColumn().setWidth(400); column0.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, 0)); fViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleTreeSelectionChanged(event); } }); AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(fColumnAdvisor, 0); // workaround jface bug: first owner-draw column is not correctly painted when column is resized col0LabelProvider.setOwnerDrawEnabled(false); column0.setLabelProvider(col0LabelProvider); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.RIGHT); column1.getColumn().setAlignment(SWT.LEFT); column1.getColumn().setText(CpStringsUI.RteValidateWidget_Description); column1.getColumn().setWidth(500); column1.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, 1)); column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, 1)); RteValidateContentProvider validateProvider = new RteValidateContentProvider(); fViewer.setContentProvider(validateProvider); GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; tree.setLayoutData(gridData); if (getModelController() != null) { fViewer.setInput(getModelController()); } return tree; }
From source file:com.arm.cmsis.pack.widgets.RteComponentTreeWidget.java
License:Apache License
/** * Create a widget containing the RTE component * @param parent a parent composite containing this RTE component tree widget */// w w w. j av a2s. c o m public void createControl(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setHeaderVisible(true); viewer = new TreeViewer(tree); ColumnViewerToolTipSupport.enableFor(viewer); // Tree item name TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setAlignment(SWT.LEFT); column0.getColumn().setText(SOFTWARECOMPONENT); column0.getColumn().setWidth(180); IColumnAdvisor columnAdvisor = new ColumnAdvisor(); column0.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 0)); AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(columnAdvisor, 0); // workaround jface bug: first owner-draw column is not correctly painted when column is resized col0LabelProvider.setOwnerDrawEnabled(false); column0.setLabelProvider(col0LabelProvider); // Check box for selection TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.CENTER); tree.setLinesVisible(true); column1.getColumn().setAlignment(SWT.CENTER); column1.getColumn().setText("Sel."); column1.getColumn().setWidth(35); column1.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 1)); column1.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 1)); // Variant TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.RIGHT); column2.getColumn().setAlignment(SWT.LEFT); column2.getColumn().setText("Variant"); column2.getColumn().setWidth(110); column2.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 2)); column2.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 2)); // Vendor TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.RIGHT); column3.getColumn().setAlignment(SWT.LEFT); column3.getColumn().setText("Vendor"); column3.getColumn().setWidth(110); column3.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 3)); column3.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 3)); // Version TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.RIGHT); column4.getColumn().setAlignment(SWT.LEFT); column4.getColumn().setText("Version"); column4.getColumn().setWidth(70); column4.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 4)); column4.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 4)); // Description/URL TreeViewerColumn column5 = new TreeViewerColumn(viewer, SWT.RIGHT); column5.getColumn().setAlignment(SWT.LEFT); column5.getColumn().setText("Description"); column5.getColumn().setWidth(400); column5.setEditingSupport(new AdvisedEditingSupport(viewer, columnAdvisor, 5)); column5.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 5)); RteContentProvider rteContentProvider = new RteContentProvider(); viewer.setContentProvider(rteContentProvider); GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalSpan = 2; tree.setLayoutData(gridData); if (getConfiguration() != null) { viewer.setInput(getConfiguration().getComponents()); } }
From source file:com.arm.cmsis.pack.widgets.RteValidateWidget.java
License:Apache License
public void createControl(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setHeaderVisible(true);// w w w .j a v a2 s.c o m fViewer = new TreeViewer(tree); ColumnViewerToolTipSupport.enableFor(fViewer); TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT); tree.setLinesVisible(true); column0.getColumn().setAlignment(SWT.LEFT); column0.getColumn().setText("Validation Output"); column0.getColumn().setWidth(500); IColumnAdvisor columnAdvisor = new ColumnAdvisor(); column0.setEditingSupport(new AdvisedEditingSupport(fViewer, columnAdvisor, 0)); fViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleTreeSelectionChanged(event); } }); AdvisedCellLabelProvider col0LabelProvider = new AdvisedCellLabelProvider(columnAdvisor, 0); // workaround jface bug: first owner-draw column is not correctly painted when column is resized col0LabelProvider.setOwnerDrawEnabled(false); column0.setLabelProvider(col0LabelProvider); TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.RIGHT); column1.getColumn().setAlignment(SWT.LEFT); column1.getColumn().setText("Description"); column1.getColumn().setWidth(500); column1.setEditingSupport(new AdvisedEditingSupport(fViewer, columnAdvisor, 1)); column1.setLabelProvider(new AdvisedCellLabelProvider(columnAdvisor, 1)); ValidateProvider validateProvider = new ValidateProvider(); fViewer.setContentProvider(validateProvider); GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.verticalAlignment = SWT.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; tree.setLayoutData(gridData); if (getConfiguration() != null) { fViewer.setInput(getConfiguration()); } }
From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java
License:Open Source License
@SuppressWarnings("unused") private Control createSharedGroup(CTabFolder parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); comp.setLayout(new GridLayout()); Composite innerComp = new Composite(comp, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0;/* w ww .ja v a 2 s .co m*/ layout.marginHeight = 20; innerComp.setLayout(layout); innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); Label label = new Label(innerComp, SWT.WRAP); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1)); label.setText(Messages.PeerPreferencePage_shared_cats_msg); catViewer = new TreeViewer(innerComp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); catViewer.getTree().setLinesVisible(true); catViewer.getTree().setHeaderVisible(true); catViewer.getTree().setLayoutData(new GridData(SWT.BEGINNING, SWT.FILL, false, true)); TreeViewerColumn col1 = new TreeViewerColumn(catViewer, SWT.NONE); col1.getColumn().setWidth(400); col1.getColumn().setText(Messages.PeerPreferencePage_path); col1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance()); TreeViewerColumn col2 = new TreeViewerColumn(catViewer, SWT.NONE); col2.getColumn().setWidth(200); col2.getColumn().setText(Messages.PeerPreferencePage_privacy); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SharedCatalog) return translatePrivacy(((SharedCatalog) element).getPrivacy()); if (element instanceof PeerDefinition) return ((PeerDefinition) element).getRightsLabel(); return ""; //$NON-NLS-1$ } }); col1.setEditingSupport(new EditingSupport(catViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof PeerDefinition && value instanceof PeerDefinition) { ((PeerDefinition) element).setHost(((PeerDefinition) value).getHost()); ((PeerDefinition) element).setPort(((PeerDefinition) value).getPort()); catViewer.update(element, null); validate(); } } @Override protected Object getValue(Object element) { if (element instanceof PeerDefinition) return element; return null; } @Override protected CellEditor getCellEditor(final Object element) { if (element instanceof PeerDefinition) { return new DialogCellEditor(catViewer.getTree()) { @Override protected Object openDialogBox(Control cellEditorWindow) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(), (PeerDefinition) element, true, true, true); if (dialog.open() == Window.OK) return dialog.getResult(); return null; } }; } return null; } @Override protected boolean canEdit(Object element) { return (element instanceof PeerDefinition); } }); col2.setEditingSupport(new EditingSupport(catViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof SharedCatalog && value instanceof Integer) { ((SharedCatalog) element).setPrivacy((Integer) value); catViewer.update(element, null); } else if (element instanceof PeerDefinition && value instanceof PeerDefinition) { ((PeerDefinition) element).setRights(((PeerDefinition) value).getRights()); catViewer.update(element, null); } } @Override protected Object getValue(Object element) { if (element instanceof SharedCatalog) return ((SharedCatalog) element).getPrivacy(); if (element instanceof PeerDefinition) return element; return null; } @Override protected CellEditor getCellEditor(final Object element) { if (element instanceof SharedCatalog) { ComboBoxViewerCellEditor editor = new ComboBoxViewerCellEditor(catViewer.getTree()); editor.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return translatePrivacy(((Integer) element)); } }); editor.setContentProvider(ArrayContentProvider.getInstance()); editor.setInput(((SharedCatalog) element).getRestrictions().isEmpty() ? new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE, QueryField.SAFETY_SAFE, QueryField.SAFETY_LOCAL } : new Integer[] { QueryField.SAFETY_RESTRICTED, QueryField.SAFETY_MODERATE, QueryField.SAFETY_SAFE }); return editor; } if (element instanceof PeerDefinition) { return new DialogCellEditor(catViewer.getTree()) { @Override protected Object openDialogBox(Control cellEditorWindow) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(), (PeerDefinition) element, false, true, false); if (dialog.open() == Window.OK) return dialog.getResult(); return null; } @Override protected void updateContents(Object value) { if (value instanceof PeerDefinition) super.updateContents(((PeerDefinition) value).getRightsLabel()); } }; } return null; } @Override protected boolean canEdit(Object element) { return true; } }); catViewer.setContentProvider(new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public boolean hasChildren(Object element) { if (element instanceof SharedCatalog) return !((SharedCatalog) element).getRestrictions().isEmpty(); return false; } public Object getParent(Object element) { if (element instanceof PeerDefinition) return ((PeerDefinition) element).getParent(); return null; } public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection<?>) return ((Collection<?>) inputElement).toArray(); return EMPTY; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof SharedCatalog) return ((SharedCatalog) parentElement).getRestrictions().toArray(); return EMPTY; } }); new SortColumnManager(catViewer, new int[] { SWT.UP, SWT.NONE }, 0); catViewer.setComparator(ZViewerComparator.INSTANCE); UiUtilities.installDoubleClickExpansion(catViewer); Composite buttonGroup = new Composite(innerComp, SWT.NONE); buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true)); buttonGroup.setLayout(new GridLayout()); addCurrentButton = new Button(buttonGroup, SWT.PUSH); addCurrentButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addCurrentButton.setText(Messages.PeerPreferencePage_add_current); addCurrentButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String catFile = Core.getCore().getDbManager().getFileName(); SharedCatalog cat = new SharedCatalog(catFile, QueryField.SAFETY_RESTRICTED); @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.add(cat); catViewer.setInput(catalogs); catViewer.setSelection(new StructuredSelection(cat)); updateButtons(); } }); final Button addButton = new Button(buttonGroup, SWT.PUSH); addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addButton.setText(Messages.PeerPreferencePage_add); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(getShell(), SWT.OPEN); dialog.setFileName(Core.getCore().getDbManager().getFileName()); String filename = dialog.open(); if (filename != null) { SharedCatalog cat = new SharedCatalog(filename, QueryField.SAFETY_RESTRICTED); @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.add(cat); catViewer.setInput(catalogs); catViewer.setSelection(new StructuredSelection(cat)); } } }); addRestrictionButton = new Button(buttonGroup, SWT.PUSH); addRestrictionButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); addRestrictionButton.setText(Messages.PeerPreferencePage_add_restriction); addRestrictionButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) catViewer.getSelection(); Object firstElement = selection.getFirstElement(); if (firstElement instanceof SharedCatalog) { PeerDefinitionDialog dialog = new PeerDefinitionDialog(getControl().getShell(), null, true, true, true); if (dialog.open() == PeerDefinitionDialog.OK) { PeerDefinition result = dialog.getResult(); result.setParent((SharedCatalog) firstElement); catViewer.setInput(catViewer.getInput()); catViewer.expandToLevel(firstElement, 1); catViewer.setSelection(new StructuredSelection(result)); validate(); } } } }); removeCatButton = new Button(buttonGroup, SWT.PUSH); removeCatButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); removeCatButton.setText(Messages.PeerPreferencePage_remove); removeCatButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) catViewer.getSelection(); Object firstElement = sel.getFirstElement(); if (firstElement instanceof SharedCatalog) { @SuppressWarnings("unchecked") List<SharedCatalog> catalogs = (List<SharedCatalog>) catViewer.getInput(); catalogs.remove(firstElement); catViewer.setInput(catalogs); validate(); updateButtons(); } } }); catViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); return comp; }
From source file:com.bdaum.zoom.ui.internal.dialogs.AlbumSelectionDialog.java
License:Open Source License
@SuppressWarnings("unused") @Override//from ww w. ja v a 2s. co m protected Control createDialogArea(final Composite parent) { Composite area = (Composite) super.createDialogArea(parent); Composite composite = new Composite(area, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); composite.setLayout(new GridLayout()); composite.setLayout(new GridLayout(2, false)); viewer = new CheckboxTreeViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION); TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE); col1.getColumn().setWidth(200); col1.getColumn().setText(Messages.AlbumSelectionDialog_name); col1.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SmartCollectionImpl) return ((SmartCollectionImpl) element).getName(); return element.toString(); } }); if (!small) { TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE); col2.getColumn().setWidth(250); col2.getColumn().setText(Messages.AlbumSelectionDialog_description); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SmartCollectionImpl) return ((SmartCollectionImpl) element).getDescription(); return element.toString(); } }); viewer.getTree().setHeaderVisible(true); } viewer.setContentProvider(new ITreeContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public boolean hasChildren(Object element) { if (element instanceof SmartCollection) return !((SmartCollection) element).getSubSelection().isEmpty(); return false; } public Object getParent(Object element) { if (element instanceof SmartCollection) return ((SmartCollection) element).getSmartCollection_subSelection_parent(); return null; } public Object[] getElements(Object inputElement) { if (inputElement instanceof List) { List<SmartCollection> rootalbums = new ArrayList<SmartCollection>(); for (Object obj : (List<?>) inputElement) if (obj instanceof SmartCollection) { SmartCollection album = (SmartCollection) obj; if (album.getSmartCollection_subSelection_parent() == null) rootalbums.add(album); } return rootalbums.toArray(); } return null; } public Object[] getChildren(Object parentElement) { if (parentElement instanceof SmartCollection) return ((SmartCollection) parentElement).getSubSelection().toArray(); return EMPTY; } }); UiUtilities.installDoubleClickExpansion(viewer); viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { validate(); } }); GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); layoutData.heightHint = small ? 150 : 400; viewer.getControl().setLayoutData(layoutData); viewer.setComparator(ZViewerComparator.INSTANCE); if (assignedAlbums != null && !assignedAlbums.isEmpty()) viewer.setFilters(new ViewerFilter[] { new ViewerFilter() { @Override public boolean select(Viewer v, Object parentElement, Object element) { return !assignedAlbums.contains(((SmartCollectionImpl) element).getName()); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (cntrlDwn) { SmartCollectionImpl sm = (SmartCollectionImpl) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (sm != null) { CollectionEditDialog dialog = new CollectionEditDialog(getShell(), sm, Messages.AlbumSelectionDialog_edit_person, Messages.AlbumSelectionDialog_person_album_msg, false, true, false, false); if (dialog.open() == Window.OK) { final SmartCollectionImpl album = dialog.getResult(); if (album != null) { Set<Object> toBeDeleted = new HashSet<Object>(); List<Object> toBeStored = new ArrayList<Object>(); Utilities.updateCollection(dbManager, sm, album, toBeDeleted, toBeStored); dbManager.safeTransaction(toBeDeleted, toBeStored); } viewer.update(sm, null); } } cntrlDwn = false; } validate(); } }); viewer.getControl().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = true; } @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = false; } }); if (!small) new AllNoneGroup(composite, new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (e.widget.getData() == AllNoneGroup.ALL) { viewer.expandAll(); viewer.setCheckedElements(albums.toArray()); } else viewer.setCheckedElements(EMPTY); validate(); } }); return area; }