List of usage examples for org.eclipse.jface.viewers ViewerCell getViewerRow
public ViewerRow getViewerRow()
From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);/*from www. j av a 2 s.c o m*/ v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 1 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return false; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return "Column 2 => " + element; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return textCellEditor; } @Override protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } @Override protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } @Override protected Object getValue(Object element) { return Boolean.valueOf(((MyModel) element).bool); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, Integer.valueOf(cell.getColumnIndex()), cell.getViewerRow(), e); } catch (SecurityException | NoSuchMethodException | IllegalArgumentException | IllegalAccessException | InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTableFindReplaceTarget.java
License:Open Source License
private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction, boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) { if (cell == null) return null; int dirCell = ViewerCell.RIGHT; if (!searchForward) dirCell = ViewerCell.LEFT;//from ww w . j a v a 2 s . c om Table table = _viewer.getTable(); if (!scope || table.isSelected(table.indexOf((TableItem) cell.getItem()))) { ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cellFound != null) return cellFound; } dirCell = ViewerCell.RIGHT; int dirRow = 0; if (searchForward) dirRow = ViewerRow.BELOW; else dirRow = ViewerRow.ABOVE; ViewerRow row = cell.getViewerRow(); if (table.getSelectionCount() == 0) { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } else { while (row.getNeighbor(dirRow, true) != null) { row = row.getNeighbor(dirRow, true); if (!scope || table.isSelected(table.indexOf((TableItem) row.getItem()))) { cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } } return null; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java
License:Open Source License
private ViewerCell findAndSelect(ViewerCell cell, String findString, boolean searchForward, boolean direction, boolean caseSensitive, boolean wholeWord, boolean wrapSearch, boolean regExSearch) { if (cell == null) return null; int dirCell = ViewerCell.RIGHT; if (!searchForward) dirCell = ViewerCell.LEFT;/*from w w w. ja v a 2 s. c om*/ if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) { ViewerCell cellFound = searchInRow(cell.getViewerRow(), cell.getColumnIndex(), findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cellFound != null) return cellFound; } dirCell = ViewerCell.RIGHT; int dirRow = 0; if (searchForward) dirRow = ViewerRow.BELOW; else dirRow = ViewerRow.ABOVE; ViewerRow row = cell.getViewerRow(); if (fSelections == null) { while (row.getNeighbor(dirRow, false) != null) { row = row.getNeighbor(dirRow, false); cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } else { while (row.getNeighbor(dirRow, false) != null) { row = row.getNeighbor(dirRow, false); if (!scope || fSelections.indexOf(cell.getViewerRow().getItem()) != -1) { cell = searchInRow(row, 0, findString, searchForward, caseSensitive, wholeWord, dirCell, regExSearch); if (cell != null) return cell; } } } return null; }
From source file:org.eclipse.linuxtools.dataviewers.findreplace.STTreeFindReplaceTarget.java
License:Open Source License
public ViewerCell getFirstCell(ViewerCell start, int direction) { if (direction == ViewerRow.ABOVE) { STTreeViewerRow row;/* w w w. ja va 2 s.c o m*/ if (scope && fSelections != null) row = new STTreeViewerRow(_viewer.getTree().getSelection()[0]); else row = new STTreeViewerRow(_viewer.getTree().getItem(0)); return row.getCell(0); } if (scope && fSelections != null) { STTreeViewerRow row = new STTreeViewerRow( _viewer.getTree().getSelection()[_viewer.getTree().getSelection().length - 1]); return row.getCell(0); } ViewerRow row = start.getViewerRow(); while (row.getNeighbor(direction, true) != null) row = row.getNeighbor(direction, true); return row.getCell(0); }
From source file:org.eclipse.nebula.jface.gridviewer.GridColumnLabelProvider.java
License:Open Source License
/** * {@inheritDoc}//from w w w . j a v a 2s .c o m */ public void update(ViewerCell cell) { super.update(cell); Object element = cell.getElement(); String rowText = getRowHeaderText(element); int colSpan = getColumnSpan(element); int rowSpan = getRowSpan(element); GridItem gridItem = (GridItem) cell.getViewerRow().getItem(); if (rowText != null) { gridItem.setHeaderText(rowText); } gridItem.setColumnSpan(cell.getColumnIndex(), colSpan); gridItem.setRowSpan(cell.getColumnIndex(), rowSpan); }
From source file:org.eclipse.rcptt.ui.actions.Q7ElementLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); Control ctrl = cell.getControl(); Widget item = cell.getViewerRow().getItem(); int index = 0; if (ctrl instanceof Tree) { index = ((Tree) ctrl).indexOf((TreeItem) item); } else if (ctrl instanceof Table) { index = ((Table) ctrl).indexOf((TableItem) item); }//from ww w . ja va 2 s .co m StyledString styled = getStyledText(element, index); cell.setText(styled.getString()); cell.setStyleRanges(styled.getStyleRanges()); cell.setImage(getImage(element)); }
From source file:org.eclipse.richbeans.generator.DeleteLableProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { TableItem item = (TableItem) cell.getItem(); Button button;/*www . ja v a 2 s . c o m*/ Object element = cell.getElement(); if (buttons.containsKey(element)) { button = buttons.get(cell.getElement()); } else { button = new Button((Composite) cell.getViewerRow().getControl(), SWT.NONE); button.setText(action.getName()); buttons.put(cell.getElement(), button); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { action.invoke(toModify, element); button.dispose(); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { logger.error("could not apply action", ex); } } }); } TableEditor editor = new TableEditor(item.getParent()); editor.grabHorizontal = true; editor.grabVertical = true; editor.setEditor(button, item, cell.getColumnIndex()); editor.layout(); }
From source file:org.eclipse.tcf.te.ui.views.internal.ViewViewerDecoratingLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { path = cell.getViewerRow().getTreePath(); super.update(cell); path = null; }
From source file:org.eclipse.team.svn.ui.composite.ResourceSelectionComposite.java
License:Open Source License
public void createControls() { GridLayout gridLayout = null; GridData data = null;/*from w w w. j a va 2 s.c o m*/ gridLayout = new GridLayout(); gridLayout.marginHeight = gridLayout.marginWidth = 0; this.setLayout(gridLayout); int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER; Table table = new Table(this, this.showCheckBoxesAndButtons ? style | SWT.CHECK : style); table.setHeaderVisible(true); table.setLinesVisible(true); TableLayout layout = new TableLayout(); table.setLayout(layout); this.tableViewer = new CheckboxTableViewer(table); data = new GridData(GridData.FILL_BOTH); this.tableViewer.getTable().setLayoutData(data); // creating a comparator right now to get column listeners ResourcesTableComparator comparator = new ResourcesTableComparator(this.tableViewer); // checkbox TableColumn col = new TableColumn(table, SWT.NONE); col.setResizable(false); layout.addColumnData(new ColumnPixelData(20, false)); // resource name col = new TableColumn(table, SWT.NONE); col.setResizable(true); col.setText(SVNUIMessages.ResourceSelectionComposite_Resource); layout.addColumnData(new ColumnWeightData(44, true)); col.addSelectionListener(comparator); // status col = new TableColumn(table, SWT.NONE); col.setResizable(true); col.setText(SVNUIMessages.ResourceSelectionComposite_Content); layout.addColumnData(new ColumnWeightData(12, true)); if (this.cacheEnabled) { col.addSelectionListener(comparator); } // propstatus col = new TableColumn(table, SWT.NONE); col.setResizable(true); col.setText(SVNUIMessages.ResourceSelectionComposite_Properties); layout.addColumnData(new ColumnWeightData(12, true)); if (this.cacheEnabled) { col.addSelectionListener(comparator); } TableColumn treatAsEdit = null; if (this.allowTreatAsEditsColumn) { treatAsEdit = col = new TableColumn(table, SWT.NONE); col.setResizable(false); col.setText(SVNUIMessages.ResourceSelectionComposite_TreatAsEdit); layout.addColumnData(new ColumnWeightData(12, true)); } // adding comparator and selection default sorting column and direction this.tableViewer.setComparator(comparator); comparator.setColumnNumber(ResourceSelectionComposite.COLUMN_STATUS); this.tableViewer.getTable() .setSortColumn(this.tableViewer.getTable().getColumn(ResourceSelectionComposite.COLUMN_STATUS)); this.tableViewer.getTable().setSortDirection(SWT.UP); this.tableViewer.setLabelProvider(new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == ResourceSelectionComposite.COLUMN_NAME && element instanceof IAdaptable) { IWorkbenchAdapter adapter = (IWorkbenchAdapter) ((IAdaptable) element) .getAdapter(IWorkbenchAdapter.class); if (adapter == null) { return null; } ImageDescriptor descriptor = adapter.getImageDescriptor(element); if (descriptor == null) { return null; } boolean hasWarning = false; boolean hasError = false; try { IResource currentResource = (IResource) element; IMarker[] markers = currentResource.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE); // Errors always with highest priority. So, other severities should be ignored. for (int i = 0; i < markers.length && !hasError; i++) { Integer severity = markers[i] != null ? (Integer) markers[i].getAttribute(IMarker.SEVERITY) : null; if (severity != null) { hasWarning |= severity.intValue() == IMarker.SEVERITY_WARNING; hasError |= severity.intValue() == IMarker.SEVERITY_ERROR; } } } catch (CoreException e) { // Markers are inaccessible: do not decorate resource icon } Image image = ResourceSelectionComposite.this.images.get(descriptor); if (image == null) { ResourceSelectionComposite.this.images.put(descriptor, image = descriptor.createImage()); } OverlayedImageDescriptor desc = null; if (hasError) { desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.ERROR_IMAGE_DESC, new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT); } else if (hasWarning) { desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.WARNING_IMAGE_DESC, new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT); } else { desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.EMPTY_IMAGE_DESC, new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.LEFT); } image = this.createImage(desc); if (ResourceSelectionComposite.this.externalResources.contains(element)) { desc = new OverlayedImageDescriptor(image, ResourceSelectionComposite.SWITCHED_IMAGE_DESC, new Point(16, 16), OverlayedImageDescriptor.BOTTOM | OverlayedImageDescriptor.RIGHT); } image = this.createImage(desc); return image; } return null; } protected Image createImage(OverlayedImageDescriptor descriptor) { Image image = ResourceSelectionComposite.this.images.get(descriptor); if (image == null) { ResourceSelectionComposite.this.images.put(descriptor, image = descriptor.createImage()); } return image; } public String getColumnText(Object element, int columnIndex) { if (columnIndex == ResourceSelectionComposite.COLUMN_CHECKBOX) { return ""; //$NON-NLS-1$ } IResource resource = (IResource) element; if (columnIndex == ResourceSelectionComposite.COLUMN_NAME) { String path = resource.getFullPath().toString(); return path.startsWith("/") ? path.substring(1) : path; //$NON-NLS-1$ } ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource); if (columnIndex == ResourceSelectionComposite.COLUMN_STATUS) { return ResourceSelectionComposite.this.contentStatusAsString(local); } else if (columnIndex == ResourceSelectionComposite.COLUMN_PROPSTATUS) { return ResourceSelectionComposite.this.propertiesStatusAsString(local); } return ""; //$NON-NLS-1$ } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }); if (this.allowTreatAsEditsColumn) { // the order is important otherwise the common label provider overrides this one TableViewerColumn cbColumn = new TableViewerColumn(this.tableViewer, treatAsEdit); cbColumn.setLabelProvider(new ColumnLabelProvider() { public void update(ViewerCell cell) { IResource resource = (IResource) cell.getElement(); ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource); if (IStateFilter.SF_PREREPLACEDREPLACED.accept(local)) { TableItem item = (TableItem) cell.getItem(); Button button; if (ResourceSelectionComposite.this.treatAsEditButtons.containsKey(cell.getElement())) { button = ResourceSelectionComposite.this.treatAsEditButtons.get(cell.getElement()); } else { button = new Button((Composite) cell.getViewerRow().getControl(), SWT.CHECK); button.setData(resource); button.setSelection(ResourceSelectionComposite.this.treatAsEdit.contains(resource)); button.setBackground(cell.getBackground()); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (((Button) e.getSource()).getSelection()) { ResourceSelectionComposite.this.treatAsEdit .add((IResource) ((Button) e.getSource()).getData()); } else { ResourceSelectionComposite.this.treatAsEdit .remove((IResource) ((Button) e.getSource()).getData()); } ResourceSelectionComposite.this.getTableViewer() .refresh(((Button) e.getSource()).getData()); } }); ResourceSelectionComposite.this.treatAsEditButtons.put(resource, button); } TableEditor editor = new TableEditor(item.getParent()); editor.grabHorizontal = true; editor.grabVertical = true; editor.setEditor(button, item, cell.getColumnIndex()); editor.layout(); } } }); } this.tableViewer.setContentProvider(new ArrayStructuredContentProvider()); this.tableViewer.setInput(this.resources); for (int i = 0; i < this.resources.length; i++) { this.tableViewer.setChecked(this.resources[i], this.isSelectableResource(this.resources[i])); } this.updateSelectedResources(); this.tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); final IResource resource = (IResource) selection.getFirstElement(); IResource[] resources = { resource }; if (selection.size() == 1 && FileUtility.checkForResourcesPresence(resources, IStateFilter.SF_ANY_CHANGE, IResource.DEPTH_ZERO)) { UIMonitorUtility.getDisplay().syncExec(new Runnable() { public void run() { ILocalResource local = SVNRemoteStorage.instance().asLocalResource(resource); if (!IStateFilter.SF_INTERNAL_INVALID.accept(local)) { IRepositoryResource remote = local.isCopied() ? SVNUtility.getCopiedFrom(resource) : SVNRemoteStorage.instance().asRepositoryResource(resource); remote.setSelectedRevision( CompareResourcesOperation.getRemoteResourceRevisionForCompare(resource)); UIMonitorUtility.doTaskScheduledDefault( new CompareResourcesOperation(local, remote, true, true)); } } }); } } }); if (!this.showCheckBoxesAndButtons) { return; } this.tableViewer.addSelectionChangedListener(this.selectionListener = new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ResourceSelectionComposite.this.updateSelectedResources(); ResourceSelectionComposite.this.fireResourcesSelectionChanged( new ResourceSelectionChangedEvent(ResourceSelectionComposite.this.selectedResources)); int selectedNumber = ResourceSelectionComposite.this.selectedResources.length; ResourceSelectionComposite.this.lblSelectedResourcesNumber .setText(ResourceSelectionComposite.this.resourceNumberToString(selectedNumber)); } }); Composite tComposite = new Composite(this, SWT.RIGHT); GridLayout gLayout = new GridLayout(); gLayout.numColumns = 4; gLayout.marginWidth = 0; tComposite.setLayout(gLayout); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); tComposite.setLayoutData(data); Button selectButton = new Button(tComposite, SWT.PUSH); selectButton.setText(SVNUIMessages.Button_SelectAll); data = new GridData(); data.widthHint = DefaultDialog.computeButtonWidth(selectButton); selectButton.setLayoutData(data); SelectionListener listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ResourceSelectionComposite.this.tableViewer.setAllChecked(true); Object[] elements = ResourceSelectionComposite.this.tableViewer.getCheckedElements(); ResourceSelectionComposite.this.selectionListener.selectionChanged(null); ResourceSelectionComposite.this.fireResourcesSelectionChanged(new ResourceSelectionChangedEvent( Arrays.asList(elements).toArray(new IResource[elements.length]))); } }; selectButton.addSelectionListener(listener); Button deselectButton = new Button(tComposite, SWT.PUSH); deselectButton.setText(SVNUIMessages.Button_ClearSelection); data = new GridData(); data.widthHint = DefaultDialog.computeButtonWidth(deselectButton); deselectButton.setLayoutData(data); listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { TableItem[] items = ResourceSelectionComposite.this.tableViewer.getTable().getSelection(); for (TableItem item : items) { ResourceSelectionComposite.this.tableViewer.setChecked(item.getData(), false); } ResourceSelectionComposite.this.selectionListener.selectionChanged(null); ResourceSelectionComposite.this .fireResourcesSelectionChanged(new ResourceSelectionChangedEvent(new IResource[0])); } }; deselectButton.addSelectionListener(listener); deselectButton = new Button(tComposite, SWT.PUSH); deselectButton.setText(SVNUIMessages.Button_ClearAll); data = new GridData(); data.widthHint = DefaultDialog.computeButtonWidth(deselectButton); deselectButton.setLayoutData(data); listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ResourceSelectionComposite.this.tableViewer.setAllChecked(false); ResourceSelectionComposite.this.selectionListener.selectionChanged(null); ResourceSelectionComposite.this .fireResourcesSelectionChanged(new ResourceSelectionChangedEvent(new IResource[0])); } }; deselectButton.addSelectionListener(listener); Composite lComposite = new Composite(tComposite, SWT.NONE); GridLayout lLayout = new GridLayout(); lLayout.horizontalSpacing = 0; lLayout.marginWidth = 0; lComposite.setLayout(lLayout); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); lComposite.setLayoutData(data); this.lblSelectedResourcesNumber = new Label(lComposite, SWT.RIGHT); this.lblSelectedResourcesNumber.setText(this.resourceNumberToString(this.selectedResources.length)); data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); this.lblSelectedResourcesNumber.setLayoutData(data); }
From source file:org.eclipse.ui.examples.views.properties.tabbed.logic.properties.Model.ModelOutputFiles.java
License:Open Source License
/** * @wbp.parser.entryPoint//w w w . j a va2 s . c o m */ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) { super.createControls(parent, tabbedPropertySheetPage); outputFileNames = new ArrayList<OutputPair>(); removeButtons = new HashMap<Object, Button>(); editButtons = new HashMap<Object, Button>(); final Composite composite = getWidgetFactory().createFlatFormComposite(parent); composite.setBounds(28, 10, 900, 252); composite.setLayout(null); ///------------- output file field lblOutputfile = new Label(composite, SWT.NONE); lblOutputfile.setBounds(10, 15, 55, 15); lblOutputfile.setText("File Name"); txtOutputFileName = new Text(composite, SWT.BORDER); txtOutputFileName.setBounds(105, 15, 300, 21); lblNumerOfLines = new Label(composite, SWT.NONE); lblNumerOfLines.setBounds(10, 45, 55, 15); lblNumerOfLines.setText("lines"); txtNumberOfLines = new Text(composite, SWT.BORDER); txtNumberOfLines.setBounds(105, 45, 50, 21); /// minimum size label and textbox lblFileSize = new Label(composite, SWT.NONE); lblFileSize.setBounds(220, 45, 85, 15); lblFileSize.setText("Minimum Size "); txtFileSize = new Text(composite, SWT.BORDER); txtFileSize.setBounds(320, 45, 50, 21); lblBytes = new Label(composite, SWT.NONE); lblBytes.setBounds(390, 45, 85, 15); lblBytes.setText("Bytes "); chkBreakOperation = new Button(composite, SWT.CHECK); chkBreakOperation.setBounds(10, 75, 255, 15); chkBreakOperation.setText("break the operation "); Button btnBrows = new Button(composite, SWT.NONE); btnBrows.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { FileDialog fileDialog = new FileDialog(composite.getShell()); // Set the text fileDialog.setText("Select File"); // Set filter on .txt files fileDialog.setFilterExtensions(new String[] { "*.*" }); // Put in a readable name for the filter fileDialog.setFilterNames(new String[] { "All Files(*.*)" }); // Open Dialog and save result of selection // if(!txtWorkingDirectory.getText().trim().equals("")) // fileDialog.setFilterPath(txtWorkingDirectory.getText()); String selected = fileDialog.open(); //btnAddToList.setEnabled(true); if (selected != null) txtOutputFileName.setText(selected.substring(selected.lastIndexOf("\\") + 1)); //else btnAddToList.setEnabled(false); } }); btnBrows.setBounds(415, 13, 75, 25); btnBrows.setText("brows"); btnAddToList = new Button(composite, SWT.NONE); btnAddToList.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (txtOutputFileName.getText().trim().equals("")) return; OutputPair op = new OutputPair(); op.setFileName(txtOutputFileName.getText().trim()); op.setNumberOfLines(txtNumberOfLines.getText().trim()); op.setMinFileSize(txtFileSize.getText().trim()); op.setBreakIfHappend(chkBreakOperation.getSelection()); if (!outputFileNames.contains(op)) { outputFileNames.add(op); //((ResusModel)getElement()).setInputFileNames((ArrayList<String>)inputFileNames); setOutputFiles(outputFileNames); } else { MessageBox messageBox = new MessageBox(composite.getShell(), SWT.ICON_ERROR | SWT.OK); messageBox.setText("Error"); messageBox.setMessage("Your selected file is already in list"); System.out.println("errror "); return; } //ListChanged(); viewer.setInput(outputFileNames); viewer.refresh(); } }); btnAddToList.setBounds(15, 103, 95, 25); btnAddToList.setText("Add To List"); //-----------------------------------------table------------------- viewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); final Table table_1 = viewer.getTable(); table_1.setBounds(5, 136, 685, 132); viewer.getTable().setHeaderVisible(true); viewer.getTable().setLinesVisible(true); viewer.setContentProvider(new ArrayContentProvider()); TableColumn column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText(" Row "); column.setWidth(50); TableViewerColumn rowCol = new TableViewerColumn(viewer, column); rowCol.setLabelProvider(new RowNumberLabelProvider()); column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText("File Name"); column.setWidth(300); TableViewerColumn firstNameCol = new TableViewerColumn(viewer, column); firstNameCol.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { OutputPair p = (OutputPair) element; return p.getFileName(); } }); column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText("Number Of Lines"); column.setWidth(105); TableViewerColumn linesCol = new TableViewerColumn(viewer, column); linesCol.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { OutputPair p = (OutputPair) element; return p.getNumberOfLines(); } }); column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText("Min File Size"); column.setWidth(85); TableViewerColumn MinFileSizeCol = new TableViewerColumn(viewer, column); MinFileSizeCol.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { OutputPair p = (OutputPair) element; return p.getMinFileSize(); } }); column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText("Break"); column.setWidth(50); TableViewerColumn breakCol = new TableViewerColumn(viewer, column); breakCol.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { OutputPair p = (OutputPair) element; return Boolean.toString(p.isBreakIfHappend()); } }); column = new TableColumn(viewer.getTable(), SWT.NONE); column.setText("Remove"); column.setWidth(80); TableViewerColumn actionsNameCol = new TableViewerColumn(viewer, column); actionsNameCol.setLabelProvider(new ColumnLabelProvider() { //make sure you dispose these buttons when viewer input changes //final Map<Object, Button> @Override public void update(ViewerCell cell) { TableItem item = (TableItem) cell.getItem(); Button button; if (removeButtons.containsKey(cell.getElement())) { button = removeButtons.get(cell.getElement()); } else { button = new Button((Composite) cell.getViewerRow().getControl(), SWT.NONE); button.setText("Remove"); final OutputPair pair = (OutputPair) cell.getElement(); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { outputFileNames.remove(pair); ((Button) e.getSource()).dispose(); removeButtons.remove(pair); setOutputFiles(outputFileNames); viewer.setInput(outputFileNames); viewer.refresh(); } }); removeButtons.put(cell.getElement(), button); } TableEditor editor = new TableEditor(item.getParent()); editor.grabHorizontal = true; editor.grabVertical = true; editor.setEditor(button, item, cell.getColumnIndex()); editor.layout(); } }); viewer.setInput(outputFileNames); Label lblHelpTip = new Label(composite, SWT.WRAP | SWT.BORDER); lblHelpTip.setText(ResusMessages.Model_OutputFiles_information); lblHelpTip.setBounds(composite.getBounds().width + composite.getLocation().x, 10, 500, 200); }