List of usage examples for org.eclipse.jface.viewers Viewer getInput
@Override
public abstract Object getInput();
From source file:com.amalto.workbench.dialogs.AnnotationOrderedListsDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { // Should not really be here but well,.... parent.getShell().setText(this.title); Composite composite = (Composite) super.createDialogArea(parent); GridLayout layout = (GridLayout) composite.getLayout(); layout.numColumns = 3;// w w w . ja v a2 s. c om layout.makeColumnsEqualWidth = false; // layout.verticalSpacing = 10; if (actionType == AnnotationWrite_ActionType || actionType == AnnotationHidden_ActionType) { textControl = new CCombo(composite, SWT.BORDER | SWT.READ_ONLY); // roles=Util.getCachedXObjectsNameSet(this.xObject, TreeObject.ROLE); roles = getAllRolesStr(); ((CCombo) textControl).setItems(roles.toArray(new String[roles.size()])); } else if (actionType == AnnotationLookupField_ActionType || actionType == AnnotationPrimaKeyInfo_ActionType) { textControl = new CCombo(composite, SWT.BORDER | SWT.READ_ONLY); // roles=Util.getCachedXObjectsNameSet(this.xObject, TreeObject.ROLE); roles = getConceptElements(); ((CCombo) textControl).setItems(roles.toArray(new String[roles.size()])); } else { if (actionType == AnnotationOrderedListsDialog.AnnotationSchematron_ActionType) { textControl = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL); } else { textControl = new Text(composite, SWT.BORDER | SWT.SINGLE); } } if (actionType == AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType) { textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); } else { if (actionType == AnnotationOrderedListsDialog.AnnotationSchematron_ActionType) { textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 7)); } else { textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); } } ((GridData) textControl.getLayoutData()).minimumWidth = 400; textControl.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { if ((e.stateMask == 0) && (e.character == SWT.CR)) { xPaths.add(AnnotationOrderedListsDialog.getControlText(textControl)); viewer.refresh(); fireXPathsChanges(); } } }); if (actionType == AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType) { Button xpathButton = new Button(composite, SWT.PUSH | SWT.CENTER); xpathButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); xpathButton.setText("...");//$NON-NLS-1$ xpathButton.setToolTipText(Messages.AnnotationOrderedListsDialog_SelectXpath); xpathButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { XpathSelectDialog dlg = getNewXpathSelectDialog(parentPage, dataModelName); dlg.setLock(lock); dlg.setBlockOnOpen(true); dlg.open(); if (dlg.getReturnCode() == Window.OK) { ((Text) textControl).setText(dlg.getXpath()); dlg.close(); } } }); } Button addLabelButton = new Button(composite, SWT.PUSH); addLabelButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); // addLabelButton.setText("Set"); addLabelButton.setImage(ImageCache.getCreatedImage(EImage.ADD_OBJ.getPath())); addLabelButton.setToolTipText(Messages.AnnotationOrderedListsDialog_Add); addLabelButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { boolean exist = false; for (String string : xPaths) { if (string.equals(getControlText(textControl))) { exist = true; } } if (!exist && getControlText(textControl) != null && getControlText(textControl) != "") { xPaths.add(getControlText(textControl)); } viewer.refresh(); fireXPathsChanges(); }; }); final String COLUMN = columnName; viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); ((GridData) viewer.getControl().getLayoutData()).heightHint = 100; // Set up the underlying table Table table = viewer.getTable(); // table.setLayoutData(new GridData(GridData.FILL_BOTH)); new TableColumn(table, SWT.CENTER).setText(COLUMN); table.getColumn(0).setWidth(500); for (int i = 1, n = table.getColumnCount(); i < n; i++) { table.getColumn(i).pack(); } table.setHeaderVisible(true); table.setLinesVisible(true); // Create the cell editors --> We actually discard those later: not natural for an user CellEditor[] editors = new CellEditor[1]; if (actionType == AnnotationOrderedListsDialog.AnnotationWrite_ActionType || actionType == AnnotationOrderedListsDialog.AnnotationHidden_ActionType || actionType == AnnotationLookupField_ActionType || actionType == AnnotationPrimaKeyInfo_ActionType) { editors[0] = new ComboBoxCellEditor(table, roles.toArray(new String[] {}), SWT.READ_ONLY); } else { editors[0] = new TextCellEditor(table); } viewer.setCellEditors(editors); // set the content provider viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public Object[] getElements(Object inputElement) { @SuppressWarnings("unchecked") ArrayList<String> xPaths = (ArrayList<String>) inputElement; ArrayList<DescriptionLine> lines = new ArrayList<DescriptionLine>(); for (String xPath : xPaths) { DescriptionLine line = new DescriptionLine(xPath); lines.add(line); } // we return an instance line made of a Sring and a boolean return lines.toArray(new DescriptionLine[lines.size()]); } }); // set the label provider viewer.setLabelProvider(new ITableLabelProvider() { public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public void removeListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { // System.out.println("getColumnText() "+columnIndex); DescriptionLine line = (DescriptionLine) element; switch (columnIndex) { case 0: return line.getLabel(); } return "";//$NON-NLS-1$ } public Image getColumnImage(Object element, int columnIndex) { return null; } }); // Set the column properties viewer.setColumnProperties(new String[] { COLUMN }); // set the Cell Modifier viewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { // if (INSTANCE_ACCESS.equals(property)) return true; Deactivated return true; // return false; } public void modify(Object element, String property, Object value) { TableItem item = (TableItem) element; DescriptionLine line = (DescriptionLine) item.getData(); String orgValue = line.getLabel(); if (actionType != AnnotationWrite_ActionType && actionType != AnnotationHidden_ActionType && actionType != AnnotationLookupField_ActionType && actionType != AnnotationPrimaKeyInfo_ActionType) { int targetPos = xPaths.indexOf(value.toString()); if (targetPos < 0) { line.setLabel(value.toString()); int index = xPaths.indexOf(orgValue); xPaths.remove(index); xPaths.add(index, value.toString()); viewer.update(line, null); } else if (targetPos >= 0 && !value.toString().equals(orgValue)) { MessageDialog.openInformation(null, Messages.Warning, Messages.AnnotationOrderedListsDialog_ValueAlreadyExists); } } else { String[] attrs = roles.toArray(new String[] {}); int index = Integer.parseInt(value.toString()); if (index == -1) { return; } value = attrs[index]; int pos = xPaths.indexOf(value.toString()); if (pos >= 0 && !(orgValue.equals(value))) { MessageDialog.openInformation(null, Messages.Warning, Messages.AnnotationOrderedListsDialog_); return; } else if (pos < 0) { line.setLabel(value.toString()); xPaths.set(index, value.toString()); viewer.update(line, null); } } fireXPathsChanges(); } public Object getValue(Object element, String property) { DescriptionLine line = (DescriptionLine) element; String value = line.getLabel(); if (actionType == AnnotationWrite_ActionType || actionType == AnnotationHidden_ActionType || actionType == AnnotationLookupField_ActionType || actionType == AnnotationPrimaKeyInfo_ActionType) { String[] attrs = roles.toArray(new String[] {}); return Arrays.asList(attrs).indexOf(value); } else { return value; } } }); // Listen for changes in the selection of the viewer to display additional parameters viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (line != null) { if (textControl instanceof CCombo) { ((CCombo) textControl).setText(line.getLabel()); } if (textControl instanceof Text) { ((Text) textControl).setText(line.getLabel()); } } } }); // display for Delete Key events to delete an instance viewer.getTable().addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { // System.out.println("Table keyReleased() "); if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) { DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); @SuppressWarnings("unchecked") ArrayList<String> xPaths = (ArrayList<String>) viewer.getInput(); xPaths.remove(line.getLabel()); viewer.refresh(); } } }); viewer.setInput(xPaths); viewer.refresh(); Composite rightButtonsComposite = new Composite(composite, SWT.NULL); rightButtonsComposite.setLayout(new GridLayout(1, true)); rightButtonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); Button upButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER); upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath())); upButton.setToolTipText(Messages.AnnotationOrderedListsDialog_MoveUpTheItem); upButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (line == null) { return; } int i = 0; for (String xPath : xPaths) { if (xPath.equals(line.getLabel())) { if (i > 0) { xPaths.remove(i); xPaths.add(i - 1, xPath); viewer.refresh(); viewer.getTable().setSelection(i - 1); viewer.getTable().showSelection(); fireXPathsChanges(); } return; } i++; } }; }); Button downButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER); downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath())); downButton.setToolTipText(Messages.AnnotationOrderedListsDialog_MoveDownTheItem); downButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (line == null) { return; } int i = 0; for (String xPath : xPaths) { if (xPath.equals(line.getLabel())) { if (i < xPaths.size() - 1) { xPaths.remove(i); xPaths.add(i + 1, xPath); viewer.refresh(); viewer.getTable().setSelection(i + 1); viewer.getTable().showSelection(); fireXPathsChanges(); } return; } i++; } }; }); Button delButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER); delButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); delButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath())); delButton.setToolTipText(Messages.AnnotationOrderedListsDialog_DelTheItem); delButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection()) .getFirstElement(); if (line != null) { @SuppressWarnings("unchecked") ArrayList<String> xPaths = (ArrayList<String>) viewer.getInput(); xPaths.remove(line.getLabel()); viewer.refresh(); fireXPathsChanges(); } }; }); textControl.setFocus(); if (actionType != AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType && actionType != AnnotationOrderedListsDialog.AnnotationTargetSystems_ActionType && actionType != AnnotationOrderedListsDialog.AnnotationSchematron_ActionType && actionType != AnnotationOrderedListsDialog.AnnotationLookupField_ActionType && actionType != AnnotationOrderedListsDialog.AnnotationPrimaKeyInfo_ActionType) { checkBox = new Button(composite, SWT.CHECK); checkBox.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, 2, 1)); checkBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { recursive = checkBox.getSelection(); }; }); checkBox.setSelection(recursive); checkBox.setText(Messages.AnnotationOrderedListsDialog_SetRoleRecursively); // Label label = new Label(composite, SWT.LEFT); // label.setText("set role recursively"); // label.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, // 1, 1)); } if (actionType == AnnotationForeignKeyInfo_ActionType) { createFKInfoFormatComp(composite); addDoubleClickListener(); } return composite; }
From source file:com.amalto.workbench.widgets.ComplexTableViewer.java
License:Open Source License
protected void createViewer() { createTable();/*from w ww . j a va 2s. c o m*/ GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, columns.size(), 1); table.setLayoutData(gd); gd.heightHint = 80; // Up Down Delete button group Composite stepUpDownComposite = toolkit.createComposite(mainComposite, SWT.NONE); stepUpDownComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1)); stepUpDownComposite.setLayout(new GridLayout(1, false)); upButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath())); upButton.setToolTipText(Messages.ComplexTableViewer_UpBtnTip); upButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { int index = viewer.getTable().getSelectionIndex(); if (index > 0 && index < viewer.getTable().getItemCount()) { // commit as we go if (mainPage != null) { mainPage.setComitting(true); } List<Line> items = (List<Line>) viewer.getInput(); Line line = items.get(index); items.remove(index); items.add(index - 1, line); viewer.refresh(); if (mainPage != null) { mainPage.setComitting(false); } markDirty(); } }; }); downButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath())); downButton.setToolTipText(Messages.ComplexTableViewer_DownBtnTip); downButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { int index = viewer.getTable().getSelectionIndex(); if (index >= 0 && index < viewer.getTable().getItemCount() - 1) { // commit as we go if (mainPage != null) { mainPage.setComitting(true); } List<Line> items = (List<Line>) viewer.getInput(); Line line = items.get(index); items.remove(index); items.add(index + 1, line); // viewer.setInput(items); viewer.refresh(); // TODO if (mainPage != null) { mainPage.setComitting(false); } markDirty(); } }; }); deleteButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); deleteButton.setToolTipText(Messages.ComplexTableViewer_DelBtnLabel); deleteButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath())); deleteButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { int index = viewer.getTable().getSelectionIndex(); if (index >= 0 && index < viewer.getTable().getItemCount()) { List<Line> items = (List<Line>) viewer.getInput(); items.remove(index); viewer.refresh(); int pos = index - 1; if (pos >= 0) { viewer.getTable().select(pos); } markDirty(); } }; }); // Create the cell editors --> We actually discard those later: not natural for an user CellEditor[] editors = new CellEditor[columns.size()]; for (int i = 0; i < columns.size(); i++) { if (columns.get(i).isText()) { editors[i] = new TextCellEditor(table); } else if (columns.get(i).isCombo()) { editors[i] = new ComboBoxCellEditor(table, columns.get(i).getComboValues(), SWT.READ_ONLY); } else if (columns.get(i).isXPATH()) { editors[i] = new XpathCellEditor(table, validators.get(columns.get(i))); } else if (columns.get(i).isMultiMessage()) { editors[i] = new MultiMessageEditor(table); multiMsg.setColumn(table.getColumn(i)); } else if (columns.get(i).isValidationRule()) { editors[i] = new ValidationRuleEditor(table); validationRule.setColumn(table.getColumn(i)); } } viewer.setCellEditors(editors); // set the content provider viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @SuppressWarnings("unchecked") public Object[] getElements(Object inputElement) { List<Line> lines = (List<Line>) inputElement; return lines.toArray(new Line[lines.size()]); } }); // set the label provider viewer.setLabelProvider(new ITableLabelProvider() { public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public void removeListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { Line line = (Line) element; if (columnIndex >= 0 && columnIndex < columns.size()) { for (KeyValue keyvalue : line.keyValues) { if (keyvalue.key.equals(columns.get(columnIndex).getName())) { String val = keyvalue.value; if (columns.get(columnIndex).isNillable()) { if (columns.get(columnIndex).getNillValue().equals(val)) { val = columns.get(columnIndex).getNillDisplay(); } } return val; } } } return "";//$NON-NLS-1$ } public Image getColumnImage(Object element, int columnIndex) { return null; } }); // Set the column properties ArrayList<String> columnNames = new ArrayList<String>(); for (ComplexTableViewerColumn column : columns) { columnNames.add(column.getName()); } viewer.setColumnProperties(columnNames.toArray(new String[columnNames.size()])); // set the Cell Modifier viewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { // if (INSTANCE_ACCESS.equals(property)) return true; Deactivated return editable; } @SuppressWarnings("unchecked") public void modify(Object element, String property, Object value) { if (value instanceof Integer) { if (Integer.valueOf(value.toString()) == -1) { return; } } // modify the text and combo cell value TableItem item = (TableItem) element; Line line = (Line) item.getData(); int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property); if (!isForceTextCellEditor(columnIndex) && isAColumnWithCombo(columnIndex)) { String[] attrs = columns.get(columnIndex).getComboValues(); value = attrs[Integer.parseInt(value.toString())]; } KeyValue kv = line.keyValues.get(columnIndex); boolean noChange = kv.value.equals(value.toString()); kv.value = value.toString(); viewer.refresh(); if (!noChange) { markDirty(); } } public Object getValue(Object element, String property) { int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property); Line line = (Line) element; // add getting value from combo if (isAColumnWithCombo(columnIndex)) { String value = line.keyValues.get(columnIndex).value; String[] attrs = columns.get(columnIndex).getComboValues(); return Arrays.asList(attrs).indexOf(value); } for (KeyValue keyvalue : line.keyValues) { if (property.equals(keyvalue.key)) { if (keyvalue.value.equals("")) {//$NON-NLS-1$ return columns.get(columnIndex).getNillDisplay(); } return keyvalue.value; } } return null; } private boolean isAColumnWithCombo(int columnIdx) { return columns.get(columnIdx).isCombo(); } private boolean isForceTextCellEditor(int columnIdx) { return columns.get(columnIdx).isText(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { Line line = (Line) ((IStructuredSelection) event.getSelection()).getFirstElement(); for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { if (line == null) { Control control = columns.get(columnIndex).getControl(); if (control instanceof Text) { ((Text) control).setText("");//$NON-NLS-1$ } if (control instanceof CCombo) { ((CCombo) control).select(0); } if (control instanceof Combo) { ((CCombo) control).select(0); } } else { for (KeyValue keyvalue : line.keyValues) { if (keyvalue.key.equals(columns.get(columnIndex).getName())) { String val = keyvalue.value; Control control = columns.get(columnIndex).getControl(); if (control instanceof Text) { ((Text) control).setText(val); } if (control instanceof CCombo) { ((CCombo) control).setText(val); } if (control instanceof Combo) { ((CCombo) control).setText(val); } } } } } } }); // display for Delete Key events to delete an instance viewer.getTable().addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { } @SuppressWarnings("unchecked") public void keyReleased(KeyEvent e) { if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) { Line line = (Line) ((IStructuredSelection) viewer.getSelection()).getFirstElement(); // update the underlying role and refresh the table // update the underlying model List<Line> items = (List<Line>) viewer.getInput(); items.remove(line); // refresh viewer.refresh(); // mark for update markDirty(); } } }); }
From source file:com.amalto.workbench.widgets.TisTableViewer.java
License:Open Source License
@Override protected void createViewer() { super.createTable(); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); table.setLayoutData(gd);//from w w w . j a v a 2 s. c om gd.heightHint = 80; // Up Down Delete button group Composite stepUpDownComposite = toolkit.createComposite(mainComposite, SWT.NONE); stepUpDownComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); GridLayout layout = new GridLayout(8, false); layout.marginTop = 0; layout.marginBottom = 0; layout.marginHeight = 0; stepUpDownComposite.setLayout(layout); // addButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); addButton.setToolTipText(Messages.Add); if (isXpath()) { addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_NEWXPATH.getPath())); } else { addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_OBJ.getPath())); } addButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { // check uniqueness by concatenating all the values List<Line> list = (List<Line>) getViewer().getInput(); // Update the model Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]), getInitValues()); list.add(line); viewer.setInput(list); // update the instances viewer viewer.setSelection(null); viewer.refresh(); viewer.getTable().select(viewer.getTable().getItemCount() - 1); markDirty(); }; }); // Add Multi if (isAddMulti()) { Button selNewPathButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ selNewPathButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); selNewPathButton.setToolTipText(Messages.AddMultiple); selNewPathButton.setImage(ImageCache.getCreatedImage(EImage.SELECT_NEWXPATH.getPath())); selNewPathButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { xpathDialog = getNewXpathDlgInstance(); xpathDialog.setConceptName(conceptName); xpathDialog.setBlockOnOpen(true); xpathDialog.open(); if (xpathDialog.getReturnCode() == Window.OK) { datamodelName = xpathDialog.getDataModelName(); String[] xpaths = xpathDialog.getXpath().split("&");//$NON-NLS-1$ List<Line> list = new LinkedList<Line>(); for (String xpath : xpaths) { // check uniqueness by concatenating all the values list = (List<Line>) getViewer().getInput(); // Update the model Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]), getLineValues(xpath, 0)); list.add(line); } viewer.setInput(list); // update the instances viewer viewer.setSelection(null); viewer.refresh(); viewer.getTable().select(viewer.getTable().getItemCount() - 1); markDirty(); } }; }); } deleteButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ deleteButton.setToolTipText(Messages.DeleteSelectedItem); deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); deleteButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { List<Line> input = (List<Line>) viewer.getInput(); TableItem[] items = viewer.getTable().getSelection(); for (int i = 0; i < items.length; i++) { input.remove(items[i].getData()); } viewer.setInput(input); markDirty(); }; }); deleteButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath())); // delete all Button deleteAllButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ deleteAllButton.setToolTipText(Messages.DeleteAllItems); deleteAllButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); deleteAllButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { List<Line> items = (List<Line>) viewer.getInput(); items.clear(); viewer.setInput(items); viewer.refresh(); markDirty(); }; }); deleteAllButton.setImage(ImageCache.getCreatedImage(EImage.PROGRESS_REMALL.getPath())); upButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ upButton.setToolTipText(Messages.MoveUpSelectedItem); upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath())); upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); upButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { int index = viewer.getTable().getSelectionIndex(); if (index > 0 && index < viewer.getTable().getItemCount()) { // commit as we go if (mainPage != null) { mainPage.setComitting(true); } List<Line> items = (List<Line>) viewer.getInput(); Line line = items.get(index); items.remove(index); items.add(index - 1, line); viewer.refresh(); if (mainPage != null) { mainPage.setComitting(false); } markDirty(); } }; }); downButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ downButton.setToolTipText(Messages.MovedownSelectedItem); downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath())); downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); downButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { int index = viewer.getTable().getSelectionIndex(); if (index >= 0 && index < viewer.getTable().getItemCount() - 1) { // commit as we go if (mainPage != null) { mainPage.setComitting(true); } List<Line> items = (List<Line>) viewer.getInput(); Line line = items.get(index); items.remove(index); items.add(index + 1, line); // viewer.setInput(items); viewer.refresh(); // TODO if (mainPage != null) { mainPage.setComitting(false); } markDirty(); } }; }); copyButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ copyButton.setToolTipText(Messages.CopySelectedItems); copyButton.setImage(ImageCache.getCreatedImage(EImage.COPY.getPath())); copyButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); copyButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { int[] indexs = viewer.getTable().getSelectionIndices(); List<Line> copyLines = new ArrayList<Line>(); for (int index : indexs) { if (index >= 0 && index <= viewer.getTable().getItemCount() - 1) { List<Line> items = (List<Line>) viewer.getInput(); Line line = items.get(index); Line copyLine = line.clone(); copyLines.add(copyLine); } } if (indexs.length > 0) { // enable all paste buttons HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size())); if (btns != null) { for (Button btn : btns) { if (btn != null) { btn.setEnabled(true); } } } // add to workbenchclipboard WorkbenchClipboard.getWorkbenchClipboard().setLines(String.valueOf(columns.size()), copyLines); } } }); pastButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$ pastButton.setToolTipText(Messages.PasteSelectedItem); pastButton.setImage(ImageCache.getCreatedImage(EImage.PASTE.getPath())); pastButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); pastButton.setEnabled(false); pastButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) { }; @SuppressWarnings("unchecked") public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { if (mainPage != null) { mainPage.setComitting(true); } boolean dirty = false; List<Line> items = (List<Line>) viewer.getInput(); List<Line> cacheLine = WorkbenchClipboard.getWorkbenchClipboard() .getLines(String.valueOf(columns.size())); List<Line> coloneLine = new ArrayList<Line>(); for (Line l : cacheLine) { coloneLine.add(l.clone()); } if (cacheLine.size() > 0) { items.addAll(coloneLine); dirty = true; } viewer.refresh(); // TODO if (mainPage != null) { mainPage.setComitting(false); } if (dirty) { markDirty(); } }; }); HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size())); if (btns == null) { btns = new HashSet<Button>(); pastBtns.put(String.valueOf(columns.size()), btns); } btns.add(pastButton); // Create the cell editors --> We actually discard those later: not natural for an user CellEditor[] editors = new CellEditor[columns.size()]; for (int i = 0; i < columns.size(); i++) { if (columns.get(i).isText()) { editors[i] = new TextCellEditor(table); } else if (columns.get(i).isCombo()) { editors[i] = new ComboBoxCellEditor(table, columns.get(i).getComboValues(), SWT.READ_ONLY); } else if (columns.get(i).isXPATH()) { editors[i] = new XpathCellEditor(table, validators.get(columns.get(i))); } else if (columns.get(i).isMultiMessage()) { editors[i] = new MultiMessageEditor(table); multiMsg.setColumn(table.getColumn(i)); } else if (columns.get(i).isValidationRule()) { editors[i] = createValidationRuleEditor(); validationRule.setColumn(table.getColumn(i)); } } viewer.setCellEditors(editors); // set the content provider viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @SuppressWarnings("unchecked") public Object[] getElements(Object inputElement) { ArrayList<Line> lines = (ArrayList<Line>) inputElement; return lines.toArray(new Line[lines.size()]); } }); // set the label provider viewer.setLabelProvider(new ITableLabelProvider() { public boolean isLabelProperty(Object element, String property) { return false; } public void dispose() { } public void addListener(ILabelProviderListener listener) { } public void removeListener(ILabelProviderListener listener) { } public String getColumnText(Object element, int columnIndex) { Line line = (Line) element; if (columnIndex >= 0 && columnIndex < columns.size()) { for (KeyValue keyvalue : line.keyValues) { if (keyvalue.key.equals(columns.get(columnIndex).getName())) { String val = keyvalue.value; if (columns.get(columnIndex).isNillable()) { if (columns.get(columnIndex).getNillValue().equals(val)) { val = columns.get(columnIndex).getNillDisplay(); } } return val; } } } return "";//$NON-NLS-1$ } public Image getColumnImage(Object element, int columnIndex) { return null; } }); // Set the column properties ArrayList<String> columnNames = new ArrayList<String>(); for (ComplexTableViewerColumn column : columns) { columnNames.add(column.getName()); } viewer.setColumnProperties(columnNames.toArray(new String[columnNames.size()])); // set the Cell Modifier viewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return editable; } @SuppressWarnings("unchecked") public void modify(Object element, String property, Object value) { if (value instanceof Integer) { if (Integer.valueOf(value.toString()) == -1) { return; } } // modify the text and combo cell value TableItem item = (TableItem) element; Line line = (Line) item.getData(); int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property); if (columnIndex >= 0 && columnIndex < viewer.getColumnProperties().length) { if (isAColumnWithCombo(columnIndex)) { String[] attrs = columns.get(columnIndex).getComboValues(); value = attrs[Integer.parseInt(value.toString())]; } KeyValue kv = line.keyValues.get(columnIndex); boolean noChange = kv.value.equals(value.toString()); kv.value = value.toString(); viewer.refresh(); if (!noChange) { markDirty(); } } } public Object getValue(Object element, String property) { int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property); Line line = (Line) element; // add getting value from combo if (isAColumnWithCombo(columnIndex)) { String value = line.keyValues.get(columnIndex).value; String[] attrs = columns.get(columnIndex).getComboValues(); return Arrays.asList(attrs).indexOf(value); } for (KeyValue keyvalue : line.keyValues) { if (property.equals(keyvalue.key)) { if (keyvalue.value.equals("")) {//$NON-NLS-1$ return columns.get(columnIndex).getNillDisplay(); } return keyvalue.value; } } return null; } private boolean isAColumnWithCombo(int columnIdx) { return columns.get(columnIdx).isCombo(); } }); // display for Delete Key events to delete an instance viewer.getTable().addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { } @SuppressWarnings("unchecked") public void keyReleased(KeyEvent e) { if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) { Line line = (Line) ((IStructuredSelection) viewer.getSelection()).getFirstElement(); // update the underlying role and refresh the table // update the underlying model List<Line> items = (List<Line>) viewer.getInput(); items.remove(line); // refresh viewer.refresh(); // mark for update markDirty(); } } }); // add dispose listener viewer.getTable().addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size())); btns.remove(pastButton); } }); }
From source file:com.aptana.ide.installer.views.LatestFeatureFilter.java
License:Open Source License
private Collection<IPlugin> findMatching(Viewer viewer, IPlugin ref) { Collection<IPlugin> matches = new ArrayList<IPlugin>(); Object input = viewer.getInput(); if (input instanceof Collection) { Collection<IPlugin> coll = (Collection<IPlugin>) input; for (IPlugin ref2 : coll) { if (ref.getId().equals(ref2.getId())) { matches.add(ref2);//from ww w . j a va 2s.c om } } } return matches; }
From source file:com.maccasoft.composer.MusicEditor.java
License:Open Source License
void createMusicViewer(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText("Pattern"); group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); group.setLayout(new GridLayout(1, false)); final Font font; if ("win32".equals(SWT.getPlatform())) { font = new Font(Display.getDefault(), "Courier New", 10, SWT.NONE); } else {/* w w w . j a v a 2s . co m*/ font = new Font(Display.getDefault(), "mono", 10, SWT.NONE); } GC gc = new GC(group); gc.setFont(font); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); Grid table = new Grid(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); table.setHeaderVisible(true); table.setLinesVisible(false); table.setRowHeaderVisible(true); table.setItemHeaderWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); table.setCellSelectionEnabled(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); table.setFont(font); table.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { font.dispose(); } }); viewer = new GridTableViewer(table); ObservableListContentProvider contentProvider = new ObservableListContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (oldInput != null) { ((IObservableList) oldInput).removeListChangeListener(listChangeListener); } if (newInput != null) { ((IObservableList) newInput).addListChangeListener(listChangeListener); } Display.getDefault().timerExec(0, rowBackgroundUpdateRunnable); super.inputChanged(viewer, oldInput, newInput); } }; viewer.setContentProvider(contentProvider); viewer.setRowHeaderLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { int index = ((IObservableList) viewer.getInput()).indexOf(cell.getElement()); cell.setText(String.format("%02X", index)); } }); for (int ch = 0; ch < Project.channelLabels.length; ch++) { final int channel = ch; GridColumnGroup columnGroup = new GridColumnGroup(table, SWT.NONE); columnGroup.setText(Project.channelLabels[ch]); GridColumn column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Note"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); GridViewerColumn viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); cell.setText(element.getNote(channel)); } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getNote(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setNote(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Ins."); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getInstrument(channel); cell.setText(value); if (project.getInstrument(value) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getInstrument(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setInstrument(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx1"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx1(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx1(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx1(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx2"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx2(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx2(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx2(channel, value.toString()); viewer.update(element, null); } }); } table.addKeyListener(new NoteKeyListener(viewer) { @Override protected int getOctave() { return octave.getSelection(); } @Override protected String getInstrument() { IStructuredSelection selection = instrumentToolBar.getStructuredSelection(); String id = project.getInstrumentId((Instrument) selection.getFirstElement()); return id != null ? id : super.getInstrument(); } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.character == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationStrategy.setEnableEditorActivationWithKeyboard(true); GridViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | GridViewerEditor.SELECTION_FOLLOWS_EDITOR); }
From source file:com.nokia.tools.variant.confml.ui.views.CustomSorter.java
License:Open Source License
public int compare(Viewer viewer, TreePath parentPath, Object e1, Object e2) { if (contentService == null) return -1; if (e1 instanceof EAppGroup || e1 instanceof EAppView) { return -1; }// w w w .java 2s . c o m if (e1 instanceof EAppSettingRef) { EAppSettingRef setting = (EAppSettingRef) e1; if (setting.eContainer() instanceof EAppGroup) return -1; } INavigatorContentDescriptor sourceOfLvalue = contentService.getSourceOfContribution(e1); INavigatorContentDescriptor sourceOfRvalue = contentService.getSourceOfContribution(e2); Object parent; if (parentPath == null) { parent = viewer.getInput(); } else { parent = parentPath.getLastSegment(); } // shortcut if contributed by same source if (sourceOfLvalue == sourceOfRvalue) { ViewerSorter sorter = sorterService.findSorter(sourceOfLvalue, parent, e1, e2); if (sorter != null) { return sorter.compare(viewer, e1, e2); } } if (sourceOfLvalue == null) sourceOfLvalue = getSource(e1); if (sourceOfRvalue == null) sourceOfRvalue = getSource(e2); boolean flags[] = new boolean[4]; flags[0] = sourceOfLvalue.isPossibleChild(e1); flags[1] = sourceOfLvalue.isPossibleChild(e2); flags[2] = sourceOfRvalue.isPossibleChild(e1); flags[3] = sourceOfRvalue.isPossibleChild(e2); int whoknows = 0; whoknows = whoknows | (flags[0] & flags[1] ? LEFT_UNDERSTANDS : 0); whoknows = whoknows | (flags[2] & flags[3] ? RIGHT_UNDERSTANDS : 0); ViewerSorter sorter = null; switch (whoknows) { case BOTH_UNDERSTAND: sorter = sourceOfLvalue.getPriority() > sourceOfRvalue.getPriority() ? sorterService.findSorter(sourceOfLvalue, parent, e1, e2) : sorterService.findSorter(sourceOfRvalue, parent, e1, e2); break; case LEFT_UNDERSTANDS: sorter = sorterService.findSorter(sourceOfLvalue, parent, e1, e2); break; case RIGHT_UNDERSTANDS: sorter = sorterService.findSorter(sourceOfRvalue, parent, e1, e2); break; } if (sorter != null) { return sorter.compare(viewer, e1, e2); } int categoryDelta = category(e1) - category(e2); if (categoryDelta == 0) { return super.compare(viewer, e1, e2); } return categoryDelta; }
From source file:de.topicmapslab.onotoa.wordlisteditor.editor.WordListEditor.java
License:Open Source License
/** * hooks the listeners to the buttons and widgets *///w w w . j av a2 s. c o m private void hookListeners() { viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { String tmp = filterText.getText(); if (tmp.length() == 0) return true; if (!((WordListContainer) viewer.getInput()).contains(element)) return true; return ((Word) element).getWord().startsWith(tmp); } }); removeButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { CompoundCommand compundCmd = new CompoundCommand(); WordListContainer container = (WordListContainer) viewer.getInput(); for (Object w : viewer.getCheckedElements()) { compundCmd.append(new RemoveWordCommand(container, (Word) w)); } commandStack.execute(compundCmd); viewer.refresh(); } }); createAllTypesButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { createTopicTypes(true); } }); createSelectedTypesButton.addSelectionListener(new SelectionAdapter() { /** * {@inheritDoc} */ @Override public void widgetSelected(SelectionEvent e) { createTopicTypes(false); } }); }
From source file:hydrograph.ui.propertywindow.widgets.dialog.hiveInput.HiveFieldDialogCellModifier.java
License:Apache License
/** * Returns a boolean value// ww w .j a v a 2 s. c o m * * @param viewer * * @param errorLabel * * This method will always return a boolean value to the caller. * The viewer argument is the specific table viewer for which the user * wants to validate the data. The errorLabel is used just for checking the present status * like whether the calling class has already set its value or not. * */ public static boolean validatePartitionKeyTable(Viewer viewer, Label errorLabel) { errorLabel.setVisible(false); for (HivePartitionFields row : (List<HivePartitionFields>) viewer.getInput()) { if (errorLabel.getVisible()) { return false; } for (int i = 0; i < row.getRowFields().size() - 1; i++) { List<FilterProperties> list = (List<FilterProperties>) viewer.getData(Constants.PARTITION_KEYS); if (StringUtils.isBlank(row.getRowFields().get(0))) { errorLabel.setVisible(true); errorLabel.setText( "Column " + list.get(i).getPropertyname() + " " + Messages.HIVE_FIELD_DIALOG_ERROR); break; } else { if ((StringUtils.isBlank(row.getRowFields().get(i))) && (StringUtils.isNotBlank((row.getRowFields().get(i + 1))))) { errorLabel.setVisible(true); errorLabel.setText( "Column " + list.get(i).getPropertyname() + " " + Messages.HIVE_FIELD_DIALOG_ERROR); break; } else { errorLabel.setVisible(false); } } } } if (!errorLabel.getVisible()) { return true; } return false; }
From source file:net.sourceforge.tagsea.core.ui.internal.views.CachingTreePatternFilter.java
License:Open Source License
/** * Answers whether the given element in the given viewer matches * the filter pattern. This is a default implementation that will * show a leaf element in the tree based on whether the provided * filter text matches the text of the given element's text, or that * of it's children (if the element has any). * /* w ww . j av a 2s .c o m*/ * Subclasses may override this method. * * @param viewer the tree viewer in which the element resides * @param element the element in the tree to check for a match * * @return true if the element matches the filter pattern */ public boolean isElementVisible(Viewer viewer, Object element) { if (!visibleElementsMap.containsKey(viewer)) { hookViewer(viewer); } else if (viewer.getInput() != viewerInputs.get(viewer)) { hookViewer(viewer); } HashSet<Object> visibleElements = visibleElementsMap.get(viewer); return visibleElements.contains(element); }
From source file:net.sourceforge.tagsea.core.ui.internal.views.CachingTreePatternFilter.java
License:Open Source License
/** * Hooks the given viewer and computes all of the visible elements * in it, and caches them in order that the tree need only be * walked once.//from ww w . java2 s . c om * @param viewer */ private void hookViewer(Viewer viewer) { unhookViewer(viewer); viewer.getControl().addDisposeListener(viewerDisposeListener); viewerInputs.put(viewer, viewer.getInput()); visibleElementsMap.put(viewer, new HashSet<Object>()); calculateVisibility(viewer); }