List of usage examples for org.eclipse.jface.viewers TableViewer getElementAt
public Object getElementAt(int index)
From source file:org.eclipse.mylyn.gerrit.dashboard.ui.internal.model.ReviewTableSorter.java
License:Open Source License
private int defaultCompare(Viewer aViewer, Object aE1, Object aE2) { if (aViewer instanceof TableViewer) { // We are in a table TableViewer tv = (TableViewer) aViewer; tv.getTable().setSortColumn(tv.getTable().getColumn(columnIndex)); // Lookup aE1 and aE2 int idx1 = -1, idx2 = -1; for (int i = 0; i < tv.getTable().getItemCount(); i++) { Object obj = tv.getElementAt(i); if (obj.equals(aE1)) { idx1 = i;/*from ww w . ja va2 s . co m*/ } else if (obj.equals(aE2)) { idx2 = i; } if (idx1 != -1 && idx2 != -1) { break; } } // Compare the respective fields int order = 0; if (idx1 > -1 && idx2 > -1) { String str1 = tv.getTable().getItems()[idx1].getText(this.columnIndex); String str2 = tv.getTable().getItems()[idx2].getText(this.columnIndex); order = str1.compareTo(str2); } return order; } else if (aViewer instanceof TreeViewer) { TreeViewer tv = (TreeViewer) aViewer; tv.getTree().setSortColumn(tv.getTree().getColumn(columnIndex)); int idx1 = -1, idx2 = -1; Object[] listObj = tv.getTree().getItems(); for (int i = 0; i < listObj.length; i++) { Object obj = null; if (listObj[i] instanceof TreeItem) { obj = ((TreeItem) listObj[i]).getData(); ((TreeItem) listObj[i]).setExpanded(true); } else { } if (obj != null) { if (obj.equals(aE1)) { idx1 = i; } else if (obj.equals(aE2)) { idx2 = i; } if (idx1 > 0 && idx2 > 0) { break; } } } int order = 0; if (idx1 > -1 && idx2 > -1) { String str1 = tv.getTree().getItems()[idx1].getText(this.columnIndex); String str2 = tv.getTree().getItems()[idx2].getText(this.columnIndex); order = str1.compareTo(str2); } return order; } return 0; }
From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.sorters.FindUsersTableViewerSorter.java
License:Open Source License
/** * Method compare./* w w w . j av a 2 s. c o m*/ * * @param aViewer * Viewer * @param aObj1 * Object * @param aObj2 * Object * @return int */ @Override public int compare(Viewer aViewer, Object aObj1, Object aObj2) { if (aViewer instanceof TableViewer) { final TableViewer tv = (TableViewer) aViewer; tv.getTable().setSortColumn(tv.getTable().getColumn(fColumnIndex)); int idx1 = -1, idx2 = -1; final int numItems = tv.getTable().getItemCount(); Object obj = null; for (int i = 0; i < numItems; i++) { obj = tv.getElementAt(i); if (obj.equals(aObj1)) { idx1 = i; } else if (obj.equals(aObj2)) { idx2 = i; } if (idx1 > 0 && idx2 > 0) { break; } } int order = 0; if (idx1 > -1 && idx2 > -1) { final String str1 = tv.getTable().getItems()[idx1].getText(fColumnIndex); final String str2 = tv.getTable().getItems()[idx2].getText(fColumnIndex); order = str1.compareTo(str2); if (tv.getTable().getSortDirection() != SWT.UP) { order *= -1; } } return order; } else if (aViewer instanceof TreeViewer) { final TreeViewer tv = (TreeViewer) aViewer; tv.getTree().setSortColumn(tv.getTree().getColumn(fColumnIndex)); int idx1 = -1, idx2 = -1; final Object[] listObj = tv.getTree().getItems(); Object obj = null; for (int i = 0; i < listObj.length; i++) { if (listObj[i] instanceof TreeItem) { obj = ((TreeItem) listObj[i]).getData(); ((TreeItem) listObj[i]).setExpanded(true); } if (null != obj) { if (obj.equals(aObj1)) { idx1 = i; } else if (obj.equals(aObj2)) { idx2 = i; } if (idx1 > 0 && idx2 > 0) { break; } } } int order = 0; if (idx1 > -1 && idx2 > -1) { final String str1 = tv.getTree().getItems()[idx1].getText(fColumnIndex); final String str2 = tv.getTree().getItems()[idx2].getText(fColumnIndex); order = str1.compareTo(str2); if (tv.getTree().getSortDirection() != SWT.UP) { order *= -1; } } return order; } return 0; }
From source file:org.eclipse.mylyn.reviews.r4e_gerrit.ui.internal.model.ReviewTableSorter.java
License:Open Source License
private int defaultCompare(Viewer aViewer, Object aE1, Object aE2) { if (aViewer instanceof TableViewer) { // We are in a table TableViewer tv = (TableViewer) aViewer; tv.getTable().setSortColumn(tv.getTable().getColumn(columnIndex)); // Lookup aE1 and aE2 int idx1 = -1, idx2 = -1; for (int i = 0; i < tv.getTable().getItemCount(); i++) { Object obj = tv.getElementAt(i); if (obj.equals(aE1)) { idx1 = i;/*from www . j av a 2s .c o m*/ } else if (obj.equals(aE2)) { idx2 = i; } if (idx1 != -1 && idx2 != -1) { break; } } // Compare the respective fields int order = 0; if (idx1 > -1 && idx2 > -1) { String str1 = tv.getTable().getItems()[idx1].getText(this.columnIndex); String str2 = tv.getTable().getItems()[idx2].getText(this.columnIndex); order = str1.compareTo(str2); } if (tv.getTable().getSortDirection() != SWT.UP) { order *= -1; } return order; } else if (aViewer instanceof TreeViewer) { TreeViewer tv = (TreeViewer) aViewer; tv.getTree().setSortColumn(tv.getTree().getColumn(columnIndex)); int idx1 = -1, idx2 = -1; Object[] listObj = tv.getTree().getItems(); for (int i = 0; i < listObj.length; i++) { Object obj = null; if (listObj[i] instanceof TreeItem) { obj = ((TreeItem) listObj[i]).getData(); ((TreeItem) listObj[i]).setExpanded(true); } else { } if (obj != null) { if (obj.equals(aE1)) { idx1 = i; } else if (obj.equals(aE2)) { idx2 = i; } if (idx1 > 0 && idx2 > 0) { break; } } } int order = 0; if (idx1 > -1 && idx2 > -1) { String str1 = tv.getTree().getItems()[idx1].getText(this.columnIndex); String str2 = tv.getTree().getItems()[idx2].getText(this.columnIndex); order = str1.compareTo(str2); if (tv.getTree().getSortDirection() != SWT.UP) { order *= -1; } } return order; } return 0; }
From source file:org.eclipse.rcptt.ctx.parameters.ui.ParametersContextEditor.java
License:Open Source License
private TableViewer createTable(Composite parent, FormToolkit toolkit) { table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); GridDataFactory.fillDefaults().grab(true, true).hint(100, 50).applyTo(table); table.setHeaderVisible(true);// www . j a v a 2s .com toolkit.adapt(table); table.setLinesVisible(true); nameColumn = new TableColumn(table, SWT.LEFT); nameColumn.setText("Name"); nameColumn.setWidth(200); nameColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(nameColumn); } }); valueColumn = new TableColumn(table, SWT.LEFT); valueColumn.setText("Value"); valueColumn.setWidth(350); valueColumn.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { sortBy(valueColumn); } }); table.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { switch (e.keyCode) { case SWT.DEL: case SWT.BS: removeSelected(); break; case SWT.INSERT: addNew(); break; case SWT.CR: case SWT.F2: lastNewName = ""; Object el = ((StructuredSelection) viewer.getSelection()).getFirstElement(); if (el != null) viewer.editElement(el, 0); else viewer.editElement(newParameterItem, 0); break; } } }); final TableViewer viewer = new TableViewer(table); viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { // do nothing } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public Object[] getElements(Object inputElement) { ParametersContext ctx = (ParametersContext) inputElement; List<Parameter> elements = new ArrayList<Parameter>(); elements.addAll(ctx.getParameters()); elements.add(newParameterItem); return elements.toArray(); } }); // -- TableViewerColumn nameViewerColumn = new TableViewerColumn(viewer, nameColumn); nameViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { Parameter p = (Parameter) element; return p.getName(); } public Image getImage(Object element) { return element == newParameterItem ? Images.getImageDescriptor(ISharedImages.IMG_OBJ_ADD).createImage() : Images.getImage(Images.PARAMETER); } public Font getFont(Object element) { if (element == newParameterItem) { Font tableFont = table.getFont(); FontData fd = tableFont.getFontData()[0]; fd.setStyle(fd.getStyle() | SWT.ITALIC); return new Font(tableFont.getDevice(), fd); } else return null; } }); nameViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final TextCellEditor editor = new TextCellEditor(table); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_NEXT: if (validateName(element, text.getText())) viewer.editElement(element, 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; case SWT.TRAVERSE_ARROW_NEXT: if (e.keyCode == SWT.ARROW_DOWN) { if (table.getItemCount() > table.getSelectionIndex() + 1 && (isNewAndBlank(element, text.getText()) || validateName(element, text.getText()))) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() + 1), 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; case SWT.TRAVERSE_ARROW_PREVIOUS: if (e.keyCode == SWT.ARROW_UP) { if (table.getSelectionIndex() > 0 && (isNewAndBlank(element, text.getText()) || validateName(element, text.getText()))) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() - 1), 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; } } }); return editor; } protected boolean canEdit(Object element) { return true; } protected Object getValue(Object element) { if (lastNewName.length() > 0) return lastNewName; else if (element == newParameterItem) return ""; else { Parameter p = (Parameter) element; return p.getName(); } } protected void setValue(final Object element, Object value) { String name = (String) value; Parameter param = (Parameter) element; ParametersContext ctx = getContextElement(); if (isNewAndBlank(element, name)) { lastNewName = ""; return; } if (!validateName(element, name)) { table.getDisplay().asyncExec(new Runnable() { public void run() { if (!table.isDisposed()) viewer.editElement(element, 0); } }); return; } if (param != newParameterItem) { if (!param.getName().equals(name)) { Integer index = nameToIndex.get(param.getName()); nameToIndex.remove(param.getName()); nameToIndex.put(name, index); param.setName(name); viewer.update(element, NAME_PROPERTIES); } } else { final Parameter newParam = ParametersFactory.eINSTANCE.createParameter(); newParam.setName(name); newParam.setValue(""); nameToIndex.put(name, table.getItemCount() - 1); ctx.getParameters().add(newParam); viewer.add(newParam); viewer.setSelection(new StructuredSelection(newParam), true); table.getDisplay().asyncExec(new Runnable() { public void run() { viewer.editElement(newParam, 1); } }); } } }); // -- TableViewerColumn valueViewerColumn = new TableViewerColumn(viewer, valueColumn); valueViewerColumn.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { Parameter p = (Parameter) element; return p.getValue(); } }); valueViewerColumn.setEditingSupport(new EditingSupport(viewer) { protected CellEditor getCellEditor(final Object element) { final TextCellEditor editor = new TextCellEditor(table); editor.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { Text text = (Text) editor.getControl(); switch (e.detail) { case SWT.TRAVERSE_TAB_PREVIOUS: if (validateName(element, text.getText())) viewer.editElement(element, 0); e.detail = SWT.TRAVERSE_NONE; e.doit = false; break; case SWT.TRAVERSE_ARROW_NEXT: if (e.keyCode == SWT.ARROW_DOWN) { if (table.getItemCount() > table.getSelectionIndex() + 1) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() + 1), 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; case SWT.TRAVERSE_ARROW_PREVIOUS: if (e.keyCode == SWT.ARROW_UP) { if (table.getSelectionIndex() > 0) viewer.editElement(viewer.getElementAt(table.getSelectionIndex() - 1), 1); e.detail = SWT.TRAVERSE_NONE; e.doit = false; } break; } } }); return editor; } protected boolean canEdit(Object element) { return element != newParameterItem; } protected Object getValue(Object element) { Parameter p = (Parameter) element; return p.getValue(); } protected void setValue(Object element, Object value) { Parameter p = (Parameter) element; String v = (String) value; if (!p.getValue().equals(v)) { p.setValue((String) value); viewer.update(element, VALUE_PROPERTIES); } } }); // -- updateIndexes(); viewer.setComparator(new Comparator()); // -- viewer.setInput(getContextElement()); return viewer; }
From source file:org.eclipse.ui.internal.dialogs.cpd.CustomizePerspectiveDialog.java
License:Open Source License
/** * Creates the page used to allow users to choose menu items to hide. *//* w ww .j a va 2 s .c om*/ private Composite createMenuVisibilityPage(Composite parent) { GridData data; Composite hideMenuItemsComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); hideMenuItemsComposite.setLayout(layout); // Label for entire tab Label label = new Label(hideMenuItemsComposite, SWT.WRAP); label.setText(WorkbenchMessages.HideMenuItems_chooseMenuItemsLabel); data = new GridData(SWT.FILL, SWT.CENTER, true, false); label.setLayoutData(data); Label sep = new Label(hideMenuItemsComposite, SWT.HORIZONTAL | SWT.SEPARATOR); sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // Main contents of tab final PageBook book = new PageBook(hideMenuItemsComposite, SWT.NONE); data = new GridData(GridData.FILL_BOTH); book.setLayoutData(data); // Simple view: just the menu structure final Composite simpleComposite = createItemStructureGroup(book, WorkbenchMessages.HideMenuItems_menuStructure); menuStructureViewer1 = initStructureViewer(simpleComposite, new TreeManager.ViewerCheckStateListener(), null); // Update the viewer when the model changes treeManager.getCheckListener(menuStructureViewer1); // To update ctv on // model changes // Simply grab the checkstate out of the model menuStructureViewer1.setCheckStateProvider(TreeManager.getCheckStateProvider()); // Init with input menuStructureViewer1.setInput(menuItems); // Advanced view: action set with filtered menu structure final SashForm advancedComposite = new SashForm(book, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); advancedComposite.setLayoutData(data); // Action set list final TableViewer actionSetViewer = initActionSetViewer(createActionSetGroup(advancedComposite)); // Filter to only show action sets which have useful menu items actionSetViewer.addFilter(new ShowUsedActionSetsFilter(menuItems)); // Init with input actionSetViewer.setInput(actionSets.toArray()); // Filter to only show items in the current action set final ActionSetFilter menuStructureFilterByActionSet = new ActionSetFilter(); final Composite menuStructureComposite = createItemStructureGroup(advancedComposite, WorkbenchMessages.HideMenuItems_menuStructure); final ICheckStateListener menuStructureFilter = new FilteredViewerCheckListener( TreeManager.getTreeContentProvider(), menuStructureFilterByActionSet); menuStructureViewer2 = initStructureViewer(menuStructureComposite, menuStructureFilter, menuStructureFilterByActionSet); treeManager .addListener(new FilteredModelCheckListener(menuStructureFilterByActionSet, menuStructureViewer2)); menuStructureViewer2.addFilter(menuStructureFilterByActionSet); // Update filter when a new action set is selected actionSetViewer.addSelectionChangedListener( new ActionSetSelectionChangedListener(menuStructureViewer2, menuStructureFilterByActionSet)); // Check state provider to emulate standard SWT // behaviour on visual tree menuStructureViewer2.setCheckStateProvider(new FilteredTreeCheckProvider( TreeManager.getTreeContentProvider(), menuStructureFilterByActionSet)); // Init input menuStructureViewer2.setInput(menuItems); // Override any attempts to set an item to visible // which exists in an unavailable action set treeManager.addListener(new CheckListener() { @Override public void checkChanged(TreeItem changedItem) { if (!(changedItem instanceof DisplayItem)) { return; } if (!changedItem.getState()) { return; } if (isAvailable((DisplayItem) changedItem)) { return; } changedItem.setCheckState(false); } }); final Button showCommandGroupFilterButton = new Button(hideMenuItemsComposite, SWT.CHECK); showCommandGroupFilterButton.setText(WorkbenchMessages.HideItems_turnOnActionSets); showCommandGroupFilterButton.addSelectionListener(new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { } @Override public void widgetSelected(SelectionEvent e) { if (showCommandGroupFilterButton.getSelection()) { Object o = ((StructuredSelection) menuStructureViewer1.getSelection()).getFirstElement(); ActionSet initSelectAS = null; DisplayItem initSelectCI = null; if (o instanceof DisplayItem) { initSelectCI = ((DisplayItem) o); initSelectAS = initSelectCI.getActionSet(); } if (initSelectAS == null) { initSelectAS = (ActionSet) actionSetViewer.getElementAt(0); } if (initSelectAS != null) { setSelectionOn(actionSetViewer, initSelectAS); actionSetViewer.reveal(initSelectAS); } if (initSelectCI != null) { setSelectionOn(menuStructureViewer2, initSelectCI); menuStructureViewer2.reveal(initSelectCI); } book.showPage(advancedComposite); } else { book.showPage(simpleComposite); } } }); book.showPage(simpleComposite); advancedComposite.setWeights(new int[] { 30, 70 }); return hideMenuItemsComposite; }
From source file:org.eclipse.ui.internal.dialogs.cpd.CustomizePerspectiveDialog.java
License:Open Source License
/** * Creates the page used to allow users to choose menu items to hide. *///w w w . j a v a 2 s . c o m private Composite createToolBarVisibilityPage(Composite parent) { GridData data; Composite hideToolbarItemsComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); hideToolbarItemsComposite.setLayout(layout); // Label for entire tab Label label = new Label(hideToolbarItemsComposite, SWT.WRAP); label.setText(WorkbenchMessages.HideToolBarItems_chooseToolBarItemsLabel); data = new GridData(SWT.FILL, SWT.CENTER, true, false); label.setLayoutData(data); Label sep = new Label(hideToolbarItemsComposite, SWT.HORIZONTAL | SWT.SEPARATOR); sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // Main contents of tab final PageBook book = new PageBook(hideToolbarItemsComposite, SWT.NONE); data = new GridData(GridData.FILL_BOTH); book.setLayoutData(data); // Simple view: just the toolbar structure final Composite simpleComposite = createItemStructureGroup(book, WorkbenchMessages.HideToolBarItems_toolBarStructure); toolbarStructureViewer1 = initStructureViewer(simpleComposite, new TreeManager.ViewerCheckStateListener(), null); // Update the viewer when the model changes treeManager.getCheckListener(toolbarStructureViewer1); // To update ctv // on model // changes // Simply grab the check state out of the model toolbarStructureViewer1.setCheckStateProvider(TreeManager.getCheckStateProvider()); // Init with input toolbarStructureViewer1.setInput(toolBarItems); // Advanced view: action set with filtered toolbar structure final SashForm advancedComposite = new SashForm(book, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); advancedComposite.setLayoutData(data); // Action set list final TableViewer actionSetViewer = initActionSetViewer(createActionSetGroup(advancedComposite)); // Filter to only show action sets which have useful toolbar items actionSetViewer.addFilter(new ShowUsedActionSetsFilter(toolBarItems)); // Init with input actionSetViewer.setInput(actionSets.toArray()); // Filter to only show items in the current action set final ActionSetFilter toolbarStructureFilterByActionSet = new ActionSetFilter(); final Composite toolbarStructureComposite = createItemStructureGroup(advancedComposite, WorkbenchMessages.HideToolBarItems_toolBarStructure); final ICheckStateListener toolbarStructureFilter = new FilteredViewerCheckListener( TreeManager.getTreeContentProvider(), toolbarStructureFilterByActionSet); toolbarStructureViewer2 = initStructureViewer(toolbarStructureComposite, toolbarStructureFilter, toolbarStructureFilterByActionSet); toolbarStructureViewer2.addFilter(toolbarStructureFilterByActionSet); treeManager.addListener( new FilteredModelCheckListener(toolbarStructureFilterByActionSet, toolbarStructureViewer2)); // Update filter when a new action set is selected actionSetViewer.addSelectionChangedListener( new ActionSetSelectionChangedListener(toolbarStructureViewer2, toolbarStructureFilterByActionSet)); // Check state provider to emulate standard SWT // behaviour on visual tree toolbarStructureViewer2.setCheckStateProvider(new FilteredTreeCheckProvider( TreeManager.getTreeContentProvider(), toolbarStructureFilterByActionSet)); // Init input toolbarStructureViewer2.setInput(toolBarItems); // Override any attempts to set an item to visible // which exists in an unavailable action set treeManager.addListener(new CheckListener() { @Override public void checkChanged(TreeItem changedItem) { if (!(changedItem instanceof DisplayItem)) { return; } if (!changedItem.getState()) { return; } if (isAvailable((DisplayItem) changedItem)) { return; } changedItem.setCheckState(false); } }); final Button showCommandGroupFilterButton = new Button(hideToolbarItemsComposite, SWT.CHECK); showCommandGroupFilterButton.setText(WorkbenchMessages.HideItems_turnOnActionSets); showCommandGroupFilterButton.addSelectionListener(new SelectionListener() { @Override public void widgetDefaultSelected(SelectionEvent e) { } @Override public void widgetSelected(SelectionEvent e) { if (showCommandGroupFilterButton.getSelection()) { Object o = ((StructuredSelection) toolbarStructureViewer1.getSelection()).getFirstElement(); ActionSet initSelectAS = null; DisplayItem initSelectCI = null; if (o instanceof DisplayItem) { initSelectCI = ((DisplayItem) o); initSelectAS = initSelectCI.getActionSet(); } if (initSelectAS == null) { initSelectAS = (ActionSet) actionSetViewer.getElementAt(0); } if (initSelectAS != null) { setSelectionOn(actionSetViewer, initSelectAS); actionSetViewer.reveal(initSelectAS); } if (initSelectCI != null) { setSelectionOn(toolbarStructureViewer2, initSelectCI); toolbarStructureViewer2.reveal(initSelectCI); } book.showPage(advancedComposite); } else { book.showPage(simpleComposite); } } }); book.showPage(simpleComposite); advancedComposite.setWeights(new int[] { 30, 70 }); return hideToolbarItemsComposite; }
From source file:org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog.java
License:Open Source License
/** * Creates the page used to allow users to choose menu items to hide. *//*from w w w .j av a 2s .co m*/ private Composite createMenuVisibilityPage(Composite parent) { GridData data; Composite hideMenuItemsComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); hideMenuItemsComposite.setLayout(layout); // Label for entire tab Label label = new Label(hideMenuItemsComposite, SWT.WRAP); label.setText(WorkbenchMessages.HideMenuItems_chooseMenuItemsLabel); data = new GridData(SWT.FILL, SWT.CENTER, true, false); label.setLayoutData(data); Label sep = new Label(hideMenuItemsComposite, SWT.HORIZONTAL | SWT.SEPARATOR); sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // Main contents of tab final PageBook book = new PageBook(hideMenuItemsComposite, SWT.NONE); data = new GridData(GridData.FILL_BOTH); book.setLayoutData(data); // Simple view: just the menu structure final Composite simpleComposite = createItemStructureGroup(book, WorkbenchMessages.HideMenuItems_menuStructure); menuStructureViewer1 = initStructureViewer(simpleComposite, new TreeManager.ViewerCheckStateListener(), null); // Update the viewer when the model changes treeManager.getCheckListener(menuStructureViewer1); // To update ctv on // model changes // Simply grab the checkstate out of the model menuStructureViewer1.setCheckStateProvider(TreeManager.getCheckStateProvider()); // Init with input menuStructureViewer1.setInput(menuItems); // Advanced view: action set with filtered menu structure final SashForm advancedComposite = new SashForm(book, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); advancedComposite.setLayoutData(data); // Action set list final TableViewer actionSetViewer = initActionSetViewer(createActionSetGroup(advancedComposite)); // Filter to only show action sets which have useful menu items actionSetViewer.addFilter(new ShowUsedActionSetsFilter(menuItems)); // Init with input actionSetViewer.setInput(actionSets.toArray()); // Filter to only show items in the current action set final ActionSetFilter menuStructureFilterByActionSet = new ActionSetFilter(); final Composite menuStructureComposite = createItemStructureGroup(advancedComposite, WorkbenchMessages.HideMenuItems_menuStructure); final ICheckStateListener menuStructureFilter = new FilteredViewerCheckListener( TreeManager.getTreeContentProvider(), menuStructureFilterByActionSet); menuStructureViewer2 = initStructureViewer(menuStructureComposite, menuStructureFilter, menuStructureFilterByActionSet); treeManager .addListener(new FilteredModelCheckListener(menuStructureFilterByActionSet, menuStructureViewer2)); menuStructureViewer2.addFilter(menuStructureFilterByActionSet); // Update filter when a new action set is selected actionSetViewer.addSelectionChangedListener( new ActionSetSelectionChangedListener(menuStructureViewer2, menuStructureFilterByActionSet)); // Check state provider to emulate standard SWT // behaviour on visual tree menuStructureViewer2.setCheckStateProvider(new FilteredTreeCheckProvider( TreeManager.getTreeContentProvider(), menuStructureFilterByActionSet)); // Init input menuStructureViewer2.setInput(menuItems); // Override any attempts to set an item to visible // which exists in an unavailable action set treeManager.addListener(new CheckListener() { public void checkChanged(TreeItem changedItem) { if (!(changedItem instanceof DisplayItem)) return; if (!changedItem.getState()) return; if (isAvailable((DisplayItem) changedItem)) return; changedItem.setCheckState(false); } }); final Button showCommandGroupFilterButton = new Button(hideMenuItemsComposite, SWT.CHECK); showCommandGroupFilterButton.setText(WorkbenchMessages.HideItems_turnOnActionSets); showCommandGroupFilterButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { if (showCommandGroupFilterButton.getSelection()) { Object o = ((StructuredSelection) menuStructureViewer1.getSelection()).getFirstElement(); ActionSet initSelectAS = null; DisplayItem initSelectCI = null; if (o instanceof DisplayItem) { initSelectCI = ((DisplayItem) o); initSelectAS = initSelectCI.getActionSet(); } if (initSelectAS == null) { initSelectAS = (ActionSet) actionSetViewer.getElementAt(0); } setSelectionOn(actionSetViewer, initSelectAS); actionSetViewer.reveal(initSelectAS); if (initSelectCI != null) { setSelectionOn(menuStructureViewer2, initSelectCI); menuStructureViewer2.reveal(initSelectCI); } book.showPage(advancedComposite); } else { book.showPage(simpleComposite); } } }); book.showPage(simpleComposite); advancedComposite.setWeights(new int[] { 30, 70 }); return hideMenuItemsComposite; }
From source file:org.eclipse.ui.internal.dialogs.CustomizePerspectiveDialog.java
License:Open Source License
/** * Creates the page used to allow users to choose menu items to hide. */// w w w .j a v a2s . c o m private Composite createToolBarVisibilityPage(Composite parent) { GridData data; Composite hideToolbarItemsComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); hideToolbarItemsComposite.setLayout(layout); // Label for entire tab Label label = new Label(hideToolbarItemsComposite, SWT.WRAP); label.setText(WorkbenchMessages.HideToolBarItems_chooseToolBarItemsLabel); data = new GridData(SWT.FILL, SWT.CENTER, true, false); label.setLayoutData(data); Label sep = new Label(hideToolbarItemsComposite, SWT.HORIZONTAL | SWT.SEPARATOR); sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // Main contents of tab final PageBook book = new PageBook(hideToolbarItemsComposite, SWT.NONE); data = new GridData(GridData.FILL_BOTH); book.setLayoutData(data); // Simple view: just the toolbar structure final Composite simpleComposite = createItemStructureGroup(book, WorkbenchMessages.HideToolBarItems_toolBarStructure); toolbarStructureViewer1 = initStructureViewer(simpleComposite, new TreeManager.ViewerCheckStateListener(), null); // Update the viewer when the model changes treeManager.getCheckListener(toolbarStructureViewer1); // To update ctv // on model // changes // Simply grab the check state out of the model toolbarStructureViewer1.setCheckStateProvider(TreeManager.getCheckStateProvider()); // Init with input toolbarStructureViewer1.setInput(toolBarItems); // Advanced view: action set with filtered toolbar structure final SashForm advancedComposite = new SashForm(book, SWT.HORIZONTAL); data = new GridData(SWT.FILL, SWT.FILL, true, true); advancedComposite.setLayoutData(data); // Action set list final TableViewer actionSetViewer = initActionSetViewer(createActionSetGroup(advancedComposite)); // Filter to only show action sets which have useful toolbar items actionSetViewer.addFilter(new ShowUsedActionSetsFilter(toolBarItems)); // Init with input actionSetViewer.setInput(actionSets.toArray()); // Filter to only show items in the current action set final ActionSetFilter toolbarStructureFilterByActionSet = new ActionSetFilter(); final Composite toolbarStructureComposite = createItemStructureGroup(advancedComposite, WorkbenchMessages.HideToolBarItems_toolBarStructure); final ICheckStateListener toolbarStructureFilter = new FilteredViewerCheckListener( TreeManager.getTreeContentProvider(), toolbarStructureFilterByActionSet); toolbarStructureViewer2 = initStructureViewer(toolbarStructureComposite, toolbarStructureFilter, toolbarStructureFilterByActionSet); toolbarStructureViewer2.addFilter(toolbarStructureFilterByActionSet); treeManager.addListener( new FilteredModelCheckListener(toolbarStructureFilterByActionSet, toolbarStructureViewer2)); // Update filter when a new action set is selected actionSetViewer.addSelectionChangedListener( new ActionSetSelectionChangedListener(toolbarStructureViewer2, toolbarStructureFilterByActionSet)); // Check state provider to emulate standard SWT // behaviour on visual tree toolbarStructureViewer2.setCheckStateProvider(new FilteredTreeCheckProvider( TreeManager.getTreeContentProvider(), toolbarStructureFilterByActionSet)); // Init input toolbarStructureViewer2.setInput(toolBarItems); // Override any attempts to set an item to visible // which exists in an unavailable action set treeManager.addListener(new CheckListener() { public void checkChanged(TreeItem changedItem) { if (!(changedItem instanceof DisplayItem)) return; if (!changedItem.getState()) return; if (isAvailable((DisplayItem) changedItem)) return; changedItem.setCheckState(false); } }); final Button showCommandGroupFilterButton = new Button(hideToolbarItemsComposite, SWT.CHECK); showCommandGroupFilterButton.setText(WorkbenchMessages.HideItems_turnOnActionSets); showCommandGroupFilterButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { if (showCommandGroupFilterButton.getSelection()) { Object o = ((StructuredSelection) toolbarStructureViewer1.getSelection()).getFirstElement(); ActionSet initSelectAS = null; DisplayItem initSelectCI = null; if (o instanceof DisplayItem) { initSelectCI = ((DisplayItem) o); initSelectAS = initSelectCI.getActionSet(); } if (initSelectAS == null) { initSelectAS = (ActionSet) actionSetViewer.getElementAt(0); } setSelectionOn(actionSetViewer, initSelectAS); actionSetViewer.reveal(initSelectAS); if (initSelectCI != null) { setSelectionOn(toolbarStructureViewer2, initSelectCI); toolbarStructureViewer2.reveal(initSelectCI); } book.showPage(advancedComposite); } else { book.showPage(simpleComposite); } } }); book.showPage(simpleComposite); advancedComposite.setWeights(new int[] { 30, 70 }); return hideToolbarItemsComposite; }
From source file:org.eclipse.xtext.ui.search.XtextEObjectSearchDialog.java
License:Open Source License
@Override protected Label createMessageArea(Composite composite) { Label label = super.createMessageArea(composite); searchControl = new Text(composite, SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL); setDefaultGridData(searchControl);/*from ww w . ja v a2 s . c o m*/ Label typePatternLabel = new Label(composite, SWT.NONE); typePatternLabel.setText(Messages.XtextEObjectSearchDialog_TypeSearchLabel); setDefaultGridData(typePatternLabel); typeSearchControl = new Text(composite, SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL); setDefaultGridData(typeSearchControl); Composite labelComposite = new Composite(composite, SWT.NONE); setDefaultGridData(labelComposite); GridLayout labelCompositeLayout = new GridLayout(2, true); labelCompositeLayout.marginWidth = 0; labelComposite.setLayout(labelCompositeLayout); matchingElementsLabel = new Label(labelComposite, SWT.NONE); matchingElementsLabel.setText(Messages.XtextEObjectSearchDialog_MatchingElementsLabel); matchingElementsLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); searchStatusLabel = new Label(labelComposite, SWT.RIGHT); searchStatusLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); ModifyListener textModifyListener = new ModifyListener() { @Override public void modifyText(ModifyEvent e) { applyFilter(); } }; searchControl.addModifyListener(textModifyListener); typeSearchControl.addModifyListener(textModifyListener); searchControl.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { typeSearchControl.setFocus(); } } }); if (initialPatternText != null) { searchControl.setText(initialPatternText); searchControl.selectAll(); } typeSearchControl.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.ARROW_DOWN) { TableViewer tableViewer = getTableViewer(); tableViewer.getTable().setFocus(); if (tableViewer.getSelection().isEmpty()) { Object firstElement = tableViewer.getElementAt(0); if (firstElement != null) { tableViewer.setSelection(new StructuredSelection(firstElement)); } } } } }); if (initialTypeText != null) typeSearchControl.setText(initialTypeText); typeSearchControl.setEditable(editableTypePattern); return label; }
From source file:org.eclipse.xtext.ui.wizard.template.NewProjectWizardTemplateSelectionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite main = new Composite(parent, SWT.NONE); main.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); main.setLayout(new GridLayout(1, false)); Label availableTemplatesLabel = new Label(main, SWT.NONE); availableTemplatesLabel.setText(Messages.NewProjectWizardTemplateSelectionPage_available_templates); availableTemplatesLabel.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, true, false)); SashForm sash = new SashForm(main, SWT.HORIZONTAL); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = 400;/* w w w . jav a 2s.c o m*/ sash.setLayoutData(data); TableViewer templateTable = new TableViewer(sash, SWT.BORDER); templateTable.setContentProvider(new ArrayContentProvider()); templateTable.setLabelProvider(labelProvider); templateTable.setInput(loadTemplatesFromExtensionPoint()); FormText text = new FormText(sash, SWT.BORDER); text.setText("", false, false); //$NON-NLS-1$ text.setBackground(templateTable.getTable().getBackground()); templateTable.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; Object element = structuredSelection.getFirstElement(); if (element instanceof AbstractProjectTemplate) { selectedTemplate = (AbstractProjectTemplate) element; setPageComplete(true); String content = "<form>" + selectedTemplate.getDescription() + "</form>"; //$NON-NLS-1$ //$NON-NLS-2$ try { text.setText(content, true, true); } catch (Exception e) { text.setText(e.getMessage(), false, false); } } else { selectedTemplate = null; text.setText("", false, false); //$NON-NLS-1$ setPageComplete(false); } } else { selectedTemplate = null; text.setText("", false, false); //$NON-NLS-1$ setPageComplete(false); } } }); templateTable.setSelection(new StructuredSelection(templateTable.getElementAt(0))); setControl(main); }