List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:eu.esdihumboldt.hale.ui.common.definition.selector.TypeDefinitionDialog.java
License:Open Source License
@Override protected void setupViewer(TreeViewer viewer, TypeDefinition initialSelection) { viewer.setLabelProvider(new DefinitionLabelProvider()); viewer.setContentProvider(new TypesContentProvider(viewer)); viewer.setInput(types);/*from w w w.j a v a 2 s .com*/ if (initialSelection != null) { viewer.setSelection(new StructuredSelection(initialSelection)); } }
From source file:eu.esdihumboldt.hale.ui.function.common.PropertyEntityDialog.java
License:Open Source License
/** * @see EntityDialog#setupViewer(TreeViewer, EntityDefinition) *///from w w w. j av a 2 s .c om @Override protected void setupViewer(TreeViewer viewer, EntityDefinition initialSelection) { viewer.setLabelProvider(new StyledDefinitionLabelProvider()); EntityDefinitionService entityDefinitionService = (EntityDefinitionService) PlatformUI.getWorkbench() .getService(EntityDefinitionService.class); if (parentType != null) { viewer.setContentProvider(new TreePathProviderAdapter( new EntityTypePropertyContentProvider(entityDefinitionService, ssid))); viewer.setInput(parentType); } else { flatRelevantProvider = new TreePathProviderAdapter( new EntityTypeIndexContentProvider(entityDefinitionService, ssid, true, false)); hierarchicalRelevantProvider = new TreePathProviderAdapter( new EntityTypeIndexHierarchy(entityDefinitionService, ssid, true, false)); flatAllProvider = new TreePathProviderAdapter( new EntityTypeIndexContentProvider(entityDefinitionService, ssid, false, false)); hierarchicalAllProvider = new TreePathProviderAdapter( new EntityTypeIndexHierarchy(entityDefinitionService, ssid, false, false)); viewer.setContentProvider(flatRelevantProvider); SchemaService ss = (SchemaService) PlatformUI.getWorkbench().getService(SchemaService.class); viewer.setInput(ss.getSchemas(ssid)); } if (initialSelection != null) { viewer.setSelection(new StructuredSelection(initialSelection)); } }
From source file:eu.esdihumboldt.hale.ui.function.common.TypeEntityDialog.java
License:Open Source License
/** * @see EntityDialog#setupViewer(TreeViewer, EntityDefinition) *///from ww w . j a v a 2s . c o m @Override protected void setupViewer(TreeViewer viewer, EntityDefinition initialSelection) { viewer.setLabelProvider(new StyledDefinitionLabelProvider()); EntityDefinitionService entityDefinitionService = (EntityDefinitionService) PlatformUI.getWorkbench() .getService(EntityDefinitionService.class); flatRelevantProvider = new TreePathProviderAdapter( new EntityTypeIndexContentProvider(entityDefinitionService, ssid, true, true)); if (!onlyMappingRelevant) { hierarchicalRelevantProvider = new TreePathProviderAdapter( new EntityTypeIndexHierarchy(entityDefinitionService, ssid, true, true)); flatAllProvider = new TreePathProviderAdapter( new EntityTypeIndexContentProvider(entityDefinitionService, ssid, false, true)); hierarchicalAllProvider = new TreePathProviderAdapter( new EntityTypeIndexHierarchy(entityDefinitionService, ssid, false, true)); viewer.setContentProvider(flatAllProvider); } else { viewer.setContentProvider(flatRelevantProvider); } SchemaService ss = (SchemaService) PlatformUI.getWorkbench().getService(SchemaService.class); viewer.setInput(ss.getSchemas(ssid)); if (initialSelection instanceof TypeEntityDefinition) { viewer.setSelection(new StructuredSelection(initialSelection)); } }
From source file:eu.esdihumboldt.hale.ui.functions.groovy.internal.PageFunctions.java
License:Open Source License
/** * @see org.eclipse.jface.dialogs.DialogTray#createContents(org.eclipse.swt.widgets.Composite) *//*from w w w . ja v a 2s . co m*/ @Override protected Control createContents(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(comp); Label label = new Label(comp, SWT.NONE); label.setText("Functions Overview"); label.setFont(JFaceResources.getHeaderFont()); // tree viwever PatternFilter patternFilter = new TreePathPatternFilter(); patternFilter.setIncludeLeadingWildcard(true); final FilteredTree filteredTree = new TreePathFilteredTree(comp, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, patternFilter, true); TreeViewer tree = filteredTree.getViewer(); tree.setUseHashlookup(true); HelperFunctionLabelProvider labelProvider = new HelperFunctionLabelProvider(); tree.setLabelProvider(labelProvider); IContentProvider contentProvider; HelperFunctionsService functions = HaleUI.getServiceProvider().getService(HelperFunctionsService.class); contentProvider = new TreePathProviderAdapter(new HelperFunctionContentProvider(functions)); tree.setContentProvider(contentProvider); GridDataFactory.fillDefaults().grab(true, true).hint(280, 400).applyTo(filteredTree); tree.setComparator(new HelperFunctionComparator()); tree.setInput(Category.ROOT); // Examples Label example = new Label(comp, SWT.NONE); example.setText("Function documentation"); try { browser = new Browser(comp, SWT.WRAP | SWT.BORDER); browser.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 250).create()); } catch (Throwable e) { if (BROWSER_ERROR_REPORTED.compareAndSet(false, true)) { log.error("Could not create embedded browser, using text field as fall-back", e); } textField = new Text(comp, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL); textField.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 250).create()); } tree.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { String eg = null; HelperFunctionSpecification hfs = null; if (!event.getSelection().isEmpty()) { TreeSelection treesel = (TreeSelection) event.getSelection(); TreePath[] paths = treesel.getPaths(); if (paths != null) { TreePath path = paths[0]; for (int i = 0; i < path.getSegmentCount(); i++) { if (path.getSegment(i) instanceof Category) { eg = "Select a function to see its documentation."; if (browser != null) { browser.setText(eg); } else if (textField != null) { textField.setText(eg); } } else if (path.getSegment(i) instanceof HelperFunctionOrCategory) { HelperFunctionOrCategory hfoc = ((HelperFunctionOrCategory) path.getSegment(i)); try { hfs = (HelperFunctionSpecification) hfoc.asFunction().getSpec(hfoc.getName()); } catch (Exception e) { log.error( "There is a problem in retrieving the specification for a helper function.", e); } // displaying the specification if (browser != null) { eg = getFunctionSpecHTML(hfs); browser.setText(eg); } else if (textField != null) { eg = getFunctionSpecText(hfs); textField.setText(eg); } } } } } } }); return comp; }
From source file:eu.esdihumboldt.hale.ui.functions.groovy.internal.TypeStructureTray.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite page = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(page); // retrieve the types final Collection<? extends TypeDefinition> types = this.types.getTypes(); // heading//from w w w . j a v a 2 s .c o m Label caption = new Label(page, SWT.NONE); switch (schemaSpace) { case SOURCE: caption.setText("Source structure"); break; case TARGET: caption.setText("Target structure"); break; } caption.setFont(JFaceResources.getHeaderFont()); // create tree viewer PatternFilter patternFilter = new SchemaPatternFilter(); patternFilter.setIncludeLeadingWildcard(true); final FilteredTree filteredTree = new TreePathFilteredTree(page, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, patternFilter, true); TreeViewer tree = filteredTree.getViewer(); tree.setUseHashlookup(true); StyledDefinitionLabelProvider labelProvider = new StyledDefinitionLabelProvider(); tree.setLabelProvider(labelProvider); IContentProvider contentProvider; if (types.size() == 1) { contentProvider = new TreePathProviderAdapter(new TypePropertyContentProvider(tree)); } else { contentProvider = new TreePathProviderAdapter(new TypeDefinitionContentProvider(tree)); } tree.setContentProvider(contentProvider); GridDataFactory.fillDefaults().grab(true, true).hint(280, 400).applyTo(filteredTree); tree.setComparator(new DefinitionComparator()); // set input if (types.size() == 1) { tree.setInput(types.iterator().next()); } else { tree.setInput(types); } /* * Groovy specific part */ // caption Label example = new Label(page, SWT.NONE); switch (schemaSpace) { case SOURCE: example.setText("Examples: Access variables"); break; case TARGET: example.setText("Example: Build instance"); break; default: example.setText("Example"); } // source viewer final SourceViewer viewer = new SourceViewer(page, null, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.READ_ONLY); final IColorManager colorManager = new GroovyColorManager(); SourceViewerConfiguration configuration = new SimpleGroovySourceViewerConfiguration(colorManager, ImmutableList.of(BINDING_TARGET, BINDING_BUILDER, BINDING_INDEX, BINDING_SOURCE, BINDING_SOURCE_TYPES, BINDING_TARGET_TYPE, BINDING_CELL, BINDING_LOG, BINDING_CELL_CONTEXT, BINDING_FUNCTION_CONTEXT, BINDING_TRANSFORMATION_CONTEXT), null); viewer.configure(configuration); GridDataFactory.fillDefaults().grab(true, false).hint(200, 130).applyTo(viewer.getControl()); // make sure the color manager is disposed viewer.getControl().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { colorManager.dispose(); } }); // react to tree selection changes tree.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IDocument doc = new Document(); GroovySourceViewerUtil.setupDocument(doc); String example = null; if (!event.getSelection().isEmpty()) { switch (schemaSpace) { case SOURCE: example = createSourceSample(event.getSelection(), types); break; case TARGET: example = createTargetSample(event.getSelection(), types); break; } } if (example == null || example.isEmpty()) { switch (schemaSpace) { case SOURCE: doc.set("// Please select schema elements to access"); break; case TARGET: doc.set("// Please select which schema elements\n// to include in the instance to build"); break; default: doc.set("// Please select one or more schema elements"); } } else { doc.set(example); } viewer.setDocument(doc); } }); tree.setSelection(StructuredSelection.EMPTY); return page; }
From source file:eu.esdihumboldt.hale.ui.schema.presets.internal.SchemaPresetSelectionDialog.java
License:Open Source License
/** * @see AbstractViewerSelectionDialog#setupViewer(StructuredViewer, Object) *//*from w ww . j ava 2 s . co m*/ @Override protected void setupViewer(TreeViewer viewer, SchemaPreset initialSelection) { viewer.setLabelProvider(new SchemaPresetLabelProvider()); viewer.setContentProvider(new SchemaPresetContentProvider()); viewer.setInput(SchemaCategoryExtension.getInstance().getElements()); if (initialSelection != null) { viewer.setSelection(new StructuredSelection(initialSelection)); } }
From source file:eu.esdihumboldt.hale.ui.service.align.resolver.internal.ViewerEntityTray.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite page = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().applyTo(page); // text / description Label label = new Label(page, SWT.WRAP); label.setText(/*from w w w . j a v a 2 s . c om*/ "An entity that is referenced in a mapping cell cannot be resolved. This may be due to a changed schema, with for instance changed namespaces or property names. To update the cell please select a replacement entity to the left, a candidate may already be selected. Cancel to leave the cell entity unchanged.\n\nBelow is a (inaccurate) reconstruction of the original entity for reference:"); GridDataFactory.swtDefaults().hint(300, SWT.DEFAULT).applyTo(label); // viewer for dummy entity TreeViewer viewer = new TreeViewer(page, SWT.BORDER); viewer.setContentProvider(new EntityContentProvider()); viewer.setLabelProvider(new StyledDefinitionLabelProvider()); viewer.setInput(Collections.singleton(entity)); viewer.getControl().setEnabled(false); viewer.expandAll(); GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl()); return page; }
From source file:eu.esdihumboldt.hale.ui.style.DataSetTypeSelectionDialog.java
License:Open Source License
@Override protected void setupViewer(TreeViewer viewer, Pair<TypeDefinition, DataSet> initialSelection) { viewer.setLabelProvider(new DefinitionLabelProvider() { @Override//www.j a va 2 s. c o m public String getText(Object element) { if (element instanceof DataSet) { switch ((DataSet) element) { case TRANSFORMED: return "Transformed"; case SOURCE: default: return "Source"; } } if (element instanceof Pair) { element = ((Pair<?, ?>) element).getFirst(); } return super.getText(element); } @Override public Image getImage(Object element) { if (element instanceof DataSet) { return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER); } if (element instanceof Pair) { element = ((Pair<?, ?>) element).getFirst(); } return super.getImage(element); } }); viewer.setContentProvider(new TypeIndexContentProvider(viewer) { @Override public Object[] getElements(Object inputElement) { return types.keySet().toArray(); } @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof DataSet) { DataSet dataSet = (DataSet) parentElement; List<Pair<TypeDefinition, DataSet>> typeList = new ArrayList<Pair<TypeDefinition, DataSet>>(); for (TypeDefinition type : types.get(dataSet)) { typeList.add(new Pair<TypeDefinition, DataSet>(type, dataSet)); } return typeList.toArray(); } return new Object[] {}; } @Override public boolean hasChildren(Object parentElement) { return parentElement instanceof DataSet && !types.get((DataSet) parentElement).isEmpty(); } }); viewer.setAutoExpandLevel(2); viewer.setInput(types); if (initialSelection != null) { viewer.setSelection(new StructuredSelection(initialSelection)); } }
From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.WebTemplatesDialog.java
License:Open Source License
@Override protected void setupViewer(final TreeViewer viewer, WebTemplate initialSelection) { // this label provider is used for filtering (I guess) viewer.setLabelProvider(new LabelProvider() { @Override//w w w . jav a2 s. co m public String getText(Object element) { if (element instanceof WebTemplate) { return ((WebTemplate) element).getName(); } return super.getText(element); } }); viewer.getTree().setHeaderVisible(true); // viewer.getTree().setLinesVisible(true); // main column TreeViewerColumn mainColumn = new TreeViewerColumn(viewer, SWT.NONE); mainColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof WebTemplate) { WebTemplate template = (WebTemplate) element; text.append(template.getName()); } else { text.append(element.toString()); } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); mainColumn.getColumn().setText("Template"); layout.setColumnData(mainColumn.getColumn(), new ColumnWeightData(7)); // link column if (Desktop.isDesktopSupported()) { TreeViewerColumn linkColumn = new TreeViewerColumn(viewer, SWT.CENTER); linkColumn.setLabelProvider(new LinkLabels()); // listener that reacts on link cell clicks viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (e.button == 1) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell != null && cell.getColumnIndex() == 1 && cell.getTextBounds().contains(e.x, e.y)) { Object element = cell.getElement(); if (element instanceof WebTemplate) { try { Desktop.getDesktop().browse(((WebTemplate) element).getSite()); } catch (IOException e1) { log.error("Could not launch browser", e1); } } } } } }); layout.setColumnData(linkColumn.getColumn(), new ColumnWeightData(1)); } viewer.setComparator(new ViewerComparator()); viewer.setContentProvider(new WebTemplatesContentProvider()); viewer.setInput(templates); }
From source file:eu.geclipse.servicejob.ui.wizard.ProjectSelectionPage.java
License:Open Source License
public void createControl(final Composite parent) { Composite mainComp = new Composite(parent, SWT.NONE); mainComp.setLayout(new GridLayout(1, false)); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;//from w w w.jav a 2s.co m gd.verticalSpan = 3; gd.horizontalSpan = 2; gd.heightHint = 300; gd.widthHint = 250; final TreeViewer treeViewer = new TreeViewer(mainComp, SWT.SINGLE | SWT.BORDER); treeViewer.setContentProvider(new CProvider()); treeViewer.setLabelProvider(new LProvider()); treeViewer.setInput(GridModel.getRoot()); setTree(treeViewer.getTree()); getTree().setLayoutData(gd); getTree().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { Object selectedData = (((Tree) e.getSource()).getSelection()[0]).getData(); if (selectedData instanceof IGridProject) { ProjectSelectionPage.selectedProject = (IGridProject) selectedData; ProjectSelectionPage.this.updateButtons(); } } }); this.tree.deselectAll(); this.tree.update(); treeViewer.refresh(); // this.tree.layout(); treeViewer.refresh(true); for (TreeItem item : this.tree.getItems()) { if (item.getData() instanceof IGridProject) { if (item.getData().equals(this.initialProject)) { this.tree.setSelection(item); break; } } } Composite textComp = new Composite(mainComp, SWT.NONE); textComp.setLayout(new GridLayout(2, false)); gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; textComp.setLayoutData(gd); Label nameLabel = new Label(textComp, SWT.LEAD); nameLabel.setText("Operator's Job name"); gd = new GridData(); nameLabel.setLayoutData(gd); this.nameText = new Text(textComp, SWT.BORDER | SWT.LEAD); gd = new GridData(GridData.FILL_HORIZONTAL); this.nameText.setLayoutData(gd); this.nameText.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { ProjectSelectionPage.this.serviceJobName = ProjectSelectionPage.this.nameText.getText(); ProjectSelectionPage.this.updateButtons(); } }); setControl(mainComp); }