List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.babel.runtime.actions.LocalizeDialog.java
License:Open Source License
/** * Create the table part of the dialog./*from w w w . ja v a 2 s . c o m*/ * * @param parent the parent composite to contain the dialog area */ protected void createFeaturesTree(Composite parent) { TreeViewer table = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true); gridData.heightHint = convertVerticalDLUsToPixels(TABLE_HEIGHT); table.getTree().setLayoutData(gridData); table.getTree().setHeaderVisible(true); // ViewContentProvider contentProvider; //table.setContentProvider(contentProvider); // table.setLabelProvider(labelProvider); table.getTree().setLinesVisible(true); table.getTree().setFont(parent.getFont()); // table.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent e) { // AboutBundleGroupData info = (AboutBundleGroupData) e.item // .getData(); // updateButtons(info); // } // }); int[] columnWidths = { convertHorizontalDLUsToPixels(120), convertHorizontalDLUsToPixels(120), convertHorizontalDLUsToPixels(70), convertHorizontalDLUsToPixels(130) }; // for (int i = 0; i < columnTitles.length; i++) { // TreeColumn tableColumn = new TreeColumn(table, SWT.NULL); // tableColumn.setWidth(columnWidths[i]); // tableColumn.setText(columnTitles[i]); // final int columnIndex = i; // tableColumn.addSelectionListener(new SelectionAdapter() { // public void widgetSelected(SelectionEvent e) { // sort(columnIndex); // } // }); // } // // create a table row for each bundle group // String selId = lastSelection == null ? null : lastSelection.getId(); // int sel = 0; // for (int i = 0; i < bundleGroupInfos.length; i++) { // if (bundleGroupInfos[i].getId().equals(selId)) { // sel = i; // } // TableItem item = new TableItem(table, SWT.NULL); // item.setText(createRow(bundleGroupInfos[i])); // item.setData(bundleGroupInfos[i]); // } // if an item was specified during construction, it should be // selected when the table is created // if (bundleGroupInfos.length > 0) { // table.setSelection(sel); // table.showSelection(); // } }
From source file:org.eclipse.babel.runtime.actions.TranslatableTreeComposite.java
License:Open Source License
public TranslatableTreeComposite(Composite parent, ITreeContentProvider contentProvider, Object input, TranslatableSet languageSet, Set<TranslatableResourceBundle> updatedBundles) { super(parent, SWT.NONE); setLayout(new GridLayout(1, false)); final TreeViewer viewer = new TreeViewer(this, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); treeControl = viewer.getTree(); viewer.getTree().setHeaderVisible(true); viewer.getTree().setLinesVisible(true); viewer.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); viewer.setContentProvider(contentProvider); createTreeColumns(viewer, languageSet, updatedBundles); viewer.setInput(input);//from ww w . j av a2 s. c om ColumnViewerToolTipSupport.enableFor(viewer); createButtonsSection(this, viewer, languageSet, updatedBundles) .setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); }
From source file:org.eclipse.babel.runtime.actions.TranslatableTreeComposite.java
License:Open Source License
private void createLocaleColumn(final TreeViewer viewer, final Set<TranslatableResourceBundle> updatedBundles, final Locale locale, final Locale previousLocale) { TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.LEFT); column.getColumn().setWidth(150);//from w w w . j av a 2 s . c o m column.getColumn().setText(locale.getDisplayName()); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { ITranslatableText text = getTranslatableText(element); String message = text.getLocalizedText(locale); if (previousLocale == null) { return message; } else { String fallbackMessage = text.getLocalizedText(previousLocale); return (message.equals(fallbackMessage)) ? "" : message; //$NON-NLS-1$ } } @Override public Color getForeground(Object element) { ITranslatableText text = getTranslatableText(element); return (text instanceof TranslatableText && ((TranslatableText) text).isDirty(locale)) ? Display.getDefault().getSystemColor(SWT.COLOR_DARK_MAGENTA) : null; } }); column.setEditingSupport(new EditingSupport(viewer) { @Override protected boolean canEdit(Object element) { ITranslatableText text = getTranslatableText(element); return text instanceof TranslatableText; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTree()); } @Override protected Object getValue(Object element) { // The text cell editor requires that null is never returned // by this method. ITranslatableText text = getTranslatableText(element); String message = text.getLocalizedText(locale); if (previousLocale == null) { return message; } else { String fallbackMessage = text.getLocalizedText(previousLocale); return (message.equals(fallbackMessage)) ? "" : message; //$NON-NLS-1$ } } @Override protected void setValue(Object element, Object value) { ITranslatableText translatableText = getTranslatableText(element); String text = (String) value; /* * If the text is all white space then we assume that the user * is clearing out the locale override. The text would then be * obtained by looking to the parent locale. For example, if the * user was using Canadian English and saw "colour", but the user then blanked * that out, then "color" would be used for Canadian locales. * * Note this means that an entry must be placed in the delta properties * file for Canadian English. "Colour" would be in the original (immutable) * properties file, and so we need an entry in the delta file to say that * we should ignore that and use whatever might be used for US-English. * We should not simply put the current US-English in the file because then * we would not pick up future changes to the US-English. * * We never allow the user to set text to be blank. If the original * developer displayed a message, then a message must be displayed, * regardless of the language. It is conceivable that this could be * a problem in very specific circumstances. Suppose a developer uses * a message to be the suffix that is appended to a word to make it plural. * In English the text for most words would be "s". In another language * the word may be the same in the singular and plural so would be the empty * string. This is, however, not a good example, because that would be bad * localization. So this is probably not a problem. * * This is a restriction caused by the UI design of this dialog. The resource * bundle implementation would allow an empty string to be passed * and that would result in the user seeing a blank string. Null, on the * other hand, results in the value from the parent locale being used. */ text = text.trim(); if (text.length() == 0) { // Setting null means use value from parent locale. text = null; } // If the text can be edited, the text must be of type TranslatableText // because that is the only type that the user can edit. ((TranslatableText) translatableText).setLocalizedText(locale, text, updatedBundles); viewer.update(element, null); revertButton.setEnabled(((TranslatableText) translatableText).isDirty(locale)); } }); column.getColumn().setData(locale); }
From source file:org.eclipse.babel.runtime.actions.TranslatableTreeComposite.java
License:Open Source License
private Control createButtonsSection(Composite parent, final TreeViewer viewer, TranslatableSet languageSet, final Set<TranslatableResourceBundle> updatedBundles) { Composite container = new Composite(parent, SWT.NONE); container.setLayout(new GridLayout()); revertButton = new Button(container, SWT.PUSH); languageSet.associate(revertButton, Messages.LocalizeDialog_CommandLabel_Revert); languageSet.associateToolTip(revertButton, Messages.LocalizeDialog_CommandTooltip_Revert); revertButton.setEnabled(false);/*from w w w. ja v a2s. c om*/ GridData gd = new GridData(); gd.horizontalIndent = 20; revertButton.setLayoutData(gd); revertButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { int columnIndex = focusCellManager.getFocusCell().getColumnIndex(); Object element = focusCellManager.getFocusCell().getElement(); ITranslatableText translatableText = getTranslatableText(element); Locale locale = (Locale) viewer.getTree().getColumn(columnIndex).getData(); // If this button is enabled, the text must be of type TranslatableText // because that is the only type that the user can edit. ((TranslatableText) translatableText).revertLocalizedText(locale, updatedBundles); viewer.update(element, null); } }); return container; }
From source file:org.eclipse.babel.tapiji.tools.core.ui.widgets.provider.ResKeyTreeLabelProvider.java
License:Open Source License
public void updateTreeViewer(TreeViewer treeViewer) { for (TreeItem item : treeViewer.getTree().getItems()) { Rectangle bounds = item.getBounds(); ViewerCell cell = treeViewer.getCell(new Point(bounds.x, bounds.y)); ViewerRow viewerRow = cell.getViewerRow(); for (int i = 0; i < viewerRow.getColumnCount(); i++) { updateCell(viewerRow.getCell(i)); }/*w ww . j a v a 2s . c o m*/ } }
From source file:org.eclipse.birt.data.oda.pojo.ui.impl.dialogs.ColumnMappingDialog.java
License:Open Source License
private void createTreeViewer(Composite paramArea) { Composite left = new Composite(paramArea, SWT.NONE); left.setLayout(new GridLayout(1, false)); GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = 150;/*from ww w . ja va 2 s. c o m*/ left.setLayoutData(data); Label label = new Label(left, SWT.NONE); label.setText(Messages.getString("ColumnMappingDialog.Label.methodHierarchy")); //$NON-NLS-1$ final TreeViewer treeViewer = new TreeViewer(left, SWT.BORDER | SWT.SINGLE); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); TreeProvider treeProvider = new TreeProvider(); treeViewer.setLabelProvider(treeProvider); treeViewer.setContentProvider(treeProvider); if (this.input != null) treeViewer.setInput(this.input.getMappingPath()); treeViewer.expandAll(); TreeItem[] items = treeViewer.getTree().getItems(); TreeItem item = null; while (items.length > 0) { item = items[0]; items = item.getItems(); } if (item != null) treeViewer.getTree().select(item); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { editBtn.setEnabled(false); if (treeViewer.getTree().getSelectionCount() == 1) { Object item = treeViewer.getTree().getSelection()[0].getData(); if (item instanceof MethodSource) { checkBoxViewer.setInput((MethodSource) item); // updateCheckBoxStatus( ); checkBoxViewer.refresh(); } } } }); }
From source file:org.eclipse.birt.report.designer.data.ui.dataset.PromptParameterDialog.java
License:Open Source License
private void createParameterGroup(Composite composite) { final Group group2 = new Group(composite, SWT.NONE); group2.setLayout(new GridLayout()); group2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 8));// GridData.FILL_BOTH)); group2.setText(Messages.getString("PromptParameterDialog.parameterGroup.title")); Label label1 = new Label(group2, SWT.NONE); label1.setText(Messages.getString("PromptParameterDialog.parameterGroup.label")); TreeViewer viewer2 = new TreeViewer(group2, SWT.FULL_SELECTION); Tree tableTree2 = viewer2.getTree(); GridData gd = new GridData(GridData.FILL_BOTH); tableTree2.setLayoutData(gd);//from w ww .j a v a 2 s .c o m tableTree2.setHeaderVisible(true); tableTree2.setLinesVisible(true); TreeViewerColumn tvc21 = new TreeViewerColumn(viewer2, SWT.NONE); tvc21.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.nameColumn")); //$NON-NLS-1$ tvc21.getColumn().setWidth(200); tvc21.setLabelProvider(new NameLabelProvider(selectedStatusMap)); tvc21.setEditingSupport(new ParameterEditingSupport(viewer2, selectedStatusMap)); TreeViewerColumn tvc22 = new TreeViewerColumn(viewer2, SWT.NONE); tvc22.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.previousValue")); //$NON-NLS-1$ tvc22.getColumn().setWidth(200); tvc22.setLabelProvider(new PreviousValueLabelProvider()); TreeViewerColumn tvc23 = new TreeViewerColumn(viewer2, SWT.NONE); tvc23.getColumn().setText(Messages.getString("PromptParameterDialog.parameterGroup.revisedValue")); //$NON-NLS-1$ tvc23.getColumn().setWidth(200); tvc23.setLabelProvider(new RevisedValueLabelProvider()); viewer2.setContentProvider(new ParameterContentProvider()); viewer2.setInput(((IAmbiguousOption) input).getAmbiguousParameters()); viewer2.expandAll(); }
From source file:org.eclipse.birt.report.designer.testutil.ViewerUnti.java
License:Open Source License
/** * View Tree// ww w . ja v a 2s . c om * * @param treeViewer * the tree viewer to display */ public static void viewTree(TreeViewer treeViewer) { viewTree(treeViewer.getTree()); }
From source file:org.eclipse.birt.report.designer.ui.dialogs.ExpressionBuilder.java
License:Open Source License
private void initTree(TreeViewer treeViewer) { final Tree tree = treeViewer.getTree(); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 150;//from www . ja va 2s . co m tree.setLayoutData(gd); tree.setToolTipText(null); treeViewer.setLabelProvider(new ExpressionLabelProvider()); treeViewer.setContentProvider(new ITreeContentProvider() { public Object[] getChildren(Object parentElement) { return provider.getChildren(parentElement); } public Object getParent(Object element) { return null; } public boolean hasChildren(Object element) { return provider.hasChildren(element); } public Object[] getElements(Object inputElement) { return getChildren(inputElement); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); treeViewer.addSelectionChangedListener(selectionListener); treeViewer.addDoubleClickListener(doubleClickListener); }
From source file:org.eclipse.birt.report.designer.ui.dialogs.TreeValueDialog.java
License:Open Source License
/** * Creates and initializes the tree viewer. * // w w w .j av a 2 s . c o m * @param parent * the parent composite * @return the tree viewer * @see #doCreateTreeViewer(Composite, int) */ protected TreeViewer createTreeViewer(Composite parent) { TreeViewer treeViewer = super.createTreeViewer(parent); Tree tree = treeViewer.getTree(); assert (tree != null); for (int i = 0; i < listeners.size(); i++) { int type = listeners.get(i).type; Listener listener = listeners.get(i).listener; tree.addListener(type, listener); } return treeViewer; }