List of usage examples for org.eclipse.jface.viewers TableViewer getControl
@Override
public Control getControl()
From source file:net.karlmartens.ui.widget.GridChooser.java
License:Apache License
private static GridChooserItem getItem(TableViewer viewer, Point point) { final Rectangle r1 = viewer.getControl().getBounds(); if (r1.contains(point)) { final Point clientPoint = new Point(point.x - r1.x, point.y - r1.y); final TableItem item = viewer.getTable().getItem(clientPoint); if (item != null) { return (GridChooserItem) item.getData(); }//from w w w . jav a 2 s. c om } return null; }
From source file:net.officefloor.eclipse.common.dialog.input.impl.BeanListInput.java
License:Open Source License
/** * Obtains the check box image.//from w w w. j av a2s . co m * * @param tableViewer * {@link TableViewer}. * @param type * Type of image. * @return {@link Image} for the check box. */ private Image getCheckboxImage(TableViewer tableViewer, boolean type) { /* * Method code derived from: * * http://tom-eclipse-dev.blogspot.com.au/2007/01/tableviewers-and- * nativelooking.html */ // Obtain the control for the table viewer Control control = tableViewer.getControl(); // Obtain the image registry key String imageRegistryKey = (type ? "CHECKED" : "UNCHECKED"); // Lazy create the image Image image = JFaceResources.getImageRegistry().get(imageRegistryKey); if (image != null) { return image; } // Colour to use for transparency Color greenScreen = new Color(control.getDisplay(), 222, 223, 224); // Create shell to screen capture the image Shell shell = new Shell(control.getShell(), SWT.NO_TRIM | SWT.NO_BACKGROUND); shell.setBackground(greenScreen); Button button = new Button(shell, SWT.CHECK); button.setBackground(greenScreen); button.setSelection(type); Point buttonSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); // Stop image being stretched by width buttonSize.x = Math.max(buttonSize.x - 1, buttonSize.y - 1); buttonSize.y = Math.max(buttonSize.x - 1, buttonSize.y - 1); button.setSize(buttonSize); shell.setSize(buttonSize); // Remove focus highlighting button.setEnabled(false); // Open shell and take the screen shot shell.open(); button.setEnabled(true); // re-enable while (shell.getDisplay().readAndDispatch()) { // Ensure open and displaying for screen shot } GC gc = new GC(shell); Image tempImage = new Image(control.getDisplay(), buttonSize.x, buttonSize.y); gc.copyArea(tempImage, 0, 0); gc.dispose(); shell.close(); // Make the background of image transparent ImageData imageData = tempImage.getImageData(); imageData.transparentPixel = imageData.palette.getPixel(greenScreen.getRGB()); // Create and register the image image = new Image(control.getDisplay(), imageData); JFaceResources.getImageRegistry().put(imageRegistryKey, image); // Clean up temporary image tempImage.dispose(); // Return the image return image; }
From source file:net.rim.ejde.internal.ui.editors.locale.ResourceEditor.java
License:Open Source License
public void doSave(IProgressMonitor monitor) { try {/* w w w. j a v a 2 s. c om*/ _resources.save(); // Check if package was changed. String rrhPackage = PackageUtils.getRRHPackageID(rrhFile); if (!_originalPackage.equals(rrhPackage)) { // Attempt to find a non linked rrhIFile IFile files[] = ResourcesPlugin.getWorkspace().getRoot() .findFilesForLocation(new Path(rrhFile.getAbsolutePath())); IFile rrhIFile = null; for (IFile file : files) { if (!file.isLinked()) { rrhIFile = file; break; } } if (files.length != 0 && rrhIFile == null) { rrhIFile = files[0]; } IJavaElement packageFolder = JavaCore.create(rrhIFile.getParent()); IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) packageFolder.getParent(); try { moveResources(rrhIFile, sourceFolder.createPackageFragment(rrhPackage, true, new NullProgressMonitor())); } catch (Exception e) { _logger.error("doSave: error moving resources", e); //$NON-NLS-1$ } } if (_wasDirty) { _wasDirty = false; firePropertyChange(IEditorPart.PROP_DIRTY); } // get eclipse workspace final IWorkspace workspace = ResourcesPlugin.getWorkspace(); // get eclipse workspace description final IWorkspaceDescription workspaceDescription = workspace.getDescription(); // get autoBuildFlag final boolean autoBuild = workspaceDescription.isAutoBuilding(); IProject project = ((FileEditorInput) (this.getEditorInput())).getFile().getProject(); // if autobuild is checked build eclipse project if (autoBuild) { try { project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null); } catch (CoreException e) { e.printStackTrace(); } } // We must refresh the project because we are using a JAR that uses File objects to save, instead of eclipse IFiles. project.refreshLocal(IProject.DEPTH_INFINITE, monitor); } catch (IOException e) { TableViewer viewer = getActiveResourceEditorPage().getTableViewer(); Status status = new Status(IStatus.ERROR, ContextManager.PLUGIN_ID, IStatus.OK, "Unable to open file for writing.", e); ErrorDialog.openError(viewer.getControl().getShell(), "Error - Resource Editor", "Error saving file.", status); monitor.setCanceled(true); } catch (CoreException e) { _logger.error("doSave: error getting package", e); //$NON-NLS-1$ } }
From source file:net.sourceforge.sqlexplorer.dataset.DataSetTable.java
License:Open Source License
/** * Create a new table element for a resultset in a given composite. * //from ww w. j av a 2s. c om * @param composite canvas to draw table on * @param dataSet content of table * @param info text displayed in bottem left corner under table */ public DataSetTable(Composite parent, final DataSet dataSet, String info) throws Exception { final Composite composite = new Composite(parent, SWT.FILL); GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginLeft = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 2; layout.marginWidth = 0; layout.marginHeight = 0; GridData gridData = new GridData(GridData.FILL_BOTH); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; composite.setLayout(layout); composite.setLayoutData(gridData); // check column labels & types DataSet.Column[] columns = dataSet.getColumns(); String[] columnLabels = new String[columns.length]; for (int i = 0; i < columnLabels.length; i++) columnLabels[i] = columns[i].getCaption(); if (columnLabels == null || columnLabels.length == 0) throw new Exception(Messages.getString("DataSetTable.errorInvalid")); // create table structure final TableViewer tableViewer = new TableViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.VIRTUAL); final Table table = tableViewer.getTable(); tableViewer.setColumnProperties(columnLabels); table.setItemCount(dataSet.getRows().length); // create listener for sorting Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = table.getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = table.getSortDirection(); if (sortColumn == currentColumn) { dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; } else { table.setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction dataSet.sort(((Integer) currentColumn.getData("orignalColumnIndex")).intValue(), dir);//$NON-NLS-1$ // update data displayed in table table.setSortDirection(dir); table.clearAll(); } }; GridData tGridData = new GridData(); tGridData.horizontalSpan = 2; tGridData.grabExcessHorizontalSpace = true; tGridData.grabExcessVerticalSpace = true; tGridData.horizontalAlignment = SWT.FILL; tGridData.verticalAlignment = SWT.FILL; table.setLayoutData(tGridData); GridLayout tlayout = new GridLayout(); tlayout.numColumns = 2; tlayout.marginLeft = 0; table.setLayout(tlayout); table.setHeaderVisible(true); table.setLinesVisible(true); // store dataset for use in actions table.setData(dataSet); // add all column headers to our table for (int i = 0; i < columns.length; i++) { DataSet.Column colDef = columns[i]; // add column header TableColumn column = new TableColumn(table, colDef.isRightJustify() ? SWT.RIGHT : SWT.LEFT); column.setText(colDef.getCaption()); column.setMoveable(true); column.setResizable(true); column.addListener(SWT.Selection, sortListener); column.setData("orignalColumnIndex", new Integer(i));//$NON-NLS-1$ } tableViewer.setContentProvider(new DataSetTableContentProvider()); tableViewer.setLabelProvider(new DataSetTableLabelProvider()); tableViewer.setInput(dataSet); // add status bar labels Label infoLabel = new Label(composite, SWT.NULL); infoLabel.setText(info); infoLabel.setLayoutData(new GridData(SWT.LEFT, SWT.NULL, true, false)); final Label positionLabel = new Label(composite, SWT.NULL); positionLabel.setText("");//$NON-NLS-1$ positionLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NULL, true, false)); // create a TableCursor to navigate around the table final TableCursor cursor = new TableCursor(table, SWT.NONE); cursor.setBackground(table.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION)); cursor.setForeground(table.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT)); cursor.setLayout(new FillLayout()); cursor.setVisible(false); cursor.addSelectionListener(new SelectionAdapter() { // when the TableEditor is over a cell, select the corresponding row in // the table public void widgetSelected(SelectionEvent e) { table.setSelection(new TableItem[] { cursor.getRow() }); cursor.setVisible(true); // update label with row/column position positionLabel.setText(Messages.getString("DatabaseDetailView.Tab.RowPrefix") + " " + (table.indexOf(cursor.getRow()) + 1) + Messages.getString("DatabaseDetailView.Tab.ColumnPrefix") + " " + (cursor.getColumn() + 1)); //$NON-NLS-2$ $NON-NLS-4$ positionLabel.getParent().layout(); positionLabel.redraw(); // Show the preview IWorkbenchPage page = SQLExplorerPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow() .getActivePage(); if (page != null) { DataPreviewView view = (DataPreviewView) page.findView(DataPreviewView.class.getName()); if (view != null) { TableItem row = cursor.getRow(); int column = cursor.getColumn(); DataSetRow dsRow = (DataSetRow) row.getData(); Object obj = dsRow.getRawObjectValue(column); try { view.previewData(null, obj); } catch (ExplorerException ex) { SQLExplorerPlugin.error(ex.getMessage(), ex); } } } } }); // add resize listener for cursor, to stop cursor from // taking strange shapes after being table is resized cursor.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { if (cursor != null) { if (cursor.getRow() == null) { cursor.setVisible(false); } else { cursor.layout(); cursor.redraw(); cursor.setVisible(true); } } } }); table.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { Table t = (Table) e.widget; if (t.getItemCount() != 0) { cursor.setVisible(true); } } }); // refresh tab on F5, copy cell on CTRL-C, etc KeyListener keyListener = new DataSetTableKeyListener(parent, table, cursor); cursor.addKeyListener(keyListener); table.addKeyListener(keyListener); // add context menu to table & cursor final DataSetTableActionGroup actionGroup = new DataSetTableActionGroup(table, cursor); MenuManager menuManager = new MenuManager("DataSetTableContextMenu");//$NON-NLS-1$ menuManager.setRemoveAllWhenShown(true); Menu contextMenu = menuManager.createContextMenu(table); tableViewer.getControl().setMenu(contextMenu); cursor.setMenu(contextMenu); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { actionGroup.fillContextMenu(manager); } }); tableViewer.getTable().pack(); for (TableColumn column : tableViewer.getTable().getColumns()) column.pack(); }
From source file:net.sourceforge.sqlexplorer.dialogs.FilterStructureDialog.java
License:Open Source License
protected Control createDialogArea(Composite parent) { final Composite composite = (Composite) super.createDialogArea(parent); try {/*from w ww . ja va 2 s .co m*/ GridLayout layout = new GridLayout(); layout.numColumns = 2; layout.marginLeft = 10; layout.marginRight = 15; layout.horizontalSpacing = 0; layout.verticalSpacing = 5; layout.marginWidth = 0; layout.marginHeight = 5; GridData gridData = new GridData(GridData.FILL_BOTH); gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; composite.setLayout(layout); composite.setLayoutData(gridData); GridData tGridData = new GridData(GridData.FILL_HORIZONTAL); tGridData.horizontalSpan = 2; tGridData.horizontalAlignment = SWT.FILL; tGridData.widthHint = 280; GridData t2GridData = new GridData(GridData.FILL_HORIZONTAL); t2GridData.horizontalSpan = 2; t2GridData.horizontalAlignment = SWT.FILL; t2GridData.verticalIndent = 15; GridData bData = new GridData(); bData.horizontalIndent = 10; // add schema text Label selectSchemaLabel = new Label(composite, SWT.WRAP); selectSchemaLabel.setLayoutData(tGridData); selectSchemaLabel.setText(Messages.getString("FilterStructureDialog.SelectSchema")); // add schema selection table final TableViewer schemaTable = new TableViewer(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL); _schemaTable = schemaTable.getTable(); GridData tableGridData = new GridData(); tableGridData.horizontalSpan = 2; tableGridData.horizontalAlignment = SWT.FILL; tableGridData.heightHint = 50; tableGridData.grabExcessHorizontalSpace = true; schemaTable.getControl().setLayoutData(tableGridData); schemaTable.setContentProvider(new TableContentProvider()); schemaTable.setInput(_db); // select correct values TableItem[] items = _schemaTable.getItems(); if (_schemaFilter != null && items != null) { for (int i = 0; i < items.length; i++) { for (int j = 0; j < _schemaFilter.length; j++) { if (_schemaFilter[j].equalsIgnoreCase(items[i].getText())) { items[i].setChecked(true); } } } } // add schema selection buttons Button selectAllSchemas = new Button(composite, SWT.PUSH); selectAllSchemas.setLayoutData(bData); selectAllSchemas.setText(Messages.getString("FilterStructureDialog.Buttons.SelectAll")); selectAllSchemas.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { Table table = schemaTable.getTable(); TableItem[] items = table.getItems(); if (items == null) { return; } for (int i = 0; i < items.length; i++) { items[i].setChecked(true); } } }); Button deselectAllSchemas = new Button(composite, SWT.PUSH); deselectAllSchemas.setText(Messages.getString("FilterStructureDialog.Buttons.DeselectAll")); deselectAllSchemas.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { Table table = schemaTable.getTable(); TableItem[] items = table.getItems(); if (items == null) { return; } for (int i = 0; i < items.length; i++) { items[i].setChecked(false); } } }); // add folder text Label selectFolderLabel = new Label(composite, SWT.WRAP); selectFolderLabel.setLayoutData(t2GridData); selectFolderLabel.setText(Messages.getString("FilterStructureDialog.SelectFolder")); // add folder selection table final TableViewer folderTable = new TableViewer(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL); _folderTable = folderTable.getTable(); folderTable.getControl().setLayoutData(tableGridData); folderTable.setContentProvider(new TableContentProvider()); if (_db.getChildNodes() != null && _db.getChildNodes().length != 0) { folderTable.setInput(_db.getChildNodes()[0]); } // select correct values items = _folderTable.getItems(); if (_folderFilter != null && items != null) { for (int i = 0; i < items.length; i++) { for (int j = 0; j < _folderFilter.length; j++) { if (_folderFilter[j].equalsIgnoreCase(items[i].getText())) { items[i].setChecked(true); } } } } // add folder selection buttons Button selectAllFolders = new Button(composite, SWT.PUSH); selectAllFolders.setLayoutData(bData); selectAllFolders.setText(Messages.getString("FilterStructureDialog.Buttons.SelectAll")); selectAllFolders.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { Table table = folderTable.getTable(); TableItem[] items = table.getItems(); if (items == null) { return; } for (int i = 0; i < items.length; i++) { items[i].setChecked(true); } } }); Button deselectAllFolders = new Button(composite, SWT.PUSH); deselectAllFolders.setText(Messages.getString("FilterStructureDialog.Buttons.DeselectAll")); deselectAllFolders.addMouseListener(new MouseAdapter() { public void mouseUp(MouseEvent e) { Table table = folderTable.getTable(); TableItem[] items = table.getItems(); if (items == null) { return; } for (int i = 0; i < items.length; i++) { items[i].setChecked(false); } } }); // add filter text _patternButton = new Button(composite, SWT.CHECK | SWT.WRAP); _patternButton.setLayoutData(t2GridData); _patternButton.setText(Messages.getString("FilterStructureDialog.ElementPattern")); final Text pattern = new Text(composite, SWT.BORDER); _filterText = pattern; GridData textData = new GridData(GridData.FILL_HORIZONTAL); textData.horizontalSpan = 2; pattern.setLayoutData(textData); pattern.setEnabled(_patternButton.getSelection()); // restore values if (_nameFilter != null) { _patternButton.setSelection(true); pattern.setEnabled(true); pattern.setText(_nameFilter); } else { _patternButton.setSelection(false); } // add filter help text final Label filterHelpLabel = new Label(composite, SWT.WRAP); GridData helpData = new GridData(GridData.FILL_HORIZONTAL); helpData.horizontalSpan = 2; filterHelpLabel.setLayoutData(helpData); filterHelpLabel.setText(Messages.getString("FilterStructureDialog.ElementPattern.help")); filterHelpLabel.setEnabled(_patternButton.getSelection()); // activate field and help when checkbox is selected _patternButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { pattern.setEnabled(((Button) e.widget).getSelection()); filterHelpLabel.setEnabled(((Button) e.widget).getSelection()); } }); composite.addListener(SWT.RESIZE, new Listener() { public void handleEvent(Event event) { composite.layout(); composite.redraw(); } }); return composite; } catch (Exception e) { SQLExplorerPlugin.error("Couldn't create dialog.", e); } return null; }
From source file:optm.bettingschedule.view.LevelEditingSupport.java
License:Apache License
/** * @param viewer//from w ww . ja va2 s.co m */ public LevelEditingSupport(final TableViewer viewer) { super(viewer); this.viewer = viewer; this.editor = new TextCellEditor(viewer.getTable()); this.editor.setValidator(new ICellEditorValidator() { @Override public String isValid(final Object value) { if (value instanceof String) { try { Integer valueOf = Integer.valueOf((String) value); if (valueOf.compareTo(Integer.valueOf(0)) <= 0) { return Messages.LevelEditingSupport_0; } } catch (NumberFormatException e) { return Messages.LevelEditingSupport_1; } } return null; } }); editor.addListener(new ICellEditorListener() { @Override public void editorValueChanged(final boolean oldValidState, final boolean newValidState) { } @Override public void cancelEditor() { } @Override public void applyEditorValue() { if (!editor.isValueValid()) { MessageDialog.openError(viewer.getControl().getShell(), "No did not work", //$NON-NLS-1$ editor.getErrorMessage()); } } }); }
From source file:org.apache.directory.studio.ldapbrowser.ui.editors.searchresult.SearchResultEditorConfiguration.java
License:Apache License
/** * Gets the context menu manager./*from w w w . j av a 2s . c o m*/ * * @param viewer the viewer * * @return the context menu manager */ public IMenuManager getContextMenuManager(TableViewer viewer) { if (contextMenuManager == null) { contextMenuManager = new MenuManager(); Menu menu = contextMenuManager.createContextMenu(viewer.getControl()); getCursor(viewer).setMenu(menu); } return contextMenuManager; }
From source file:org.apache.directory.studio.openldap.config.editor.databases.DatabasesDetailsPage.java
License:Apache License
/** * Adds a double-click listener to the given Viewer. * * @param viewer the Viewer control/*from w ww . ja v a 2s.co m*/ * @param listener the listener */ protected void addDoubleClickListener(TableViewer viewer, IDoubleClickListener listener) { if ((viewer != null) && (!viewer.getControl().isDisposed()) && (listener != null)) { viewer.addDoubleClickListener(listener); } }
From source file:org.apache.directory.studio.openldap.config.editor.databases.DatabasesDetailsPage.java
License:Apache License
/** * Removes a selection changed listener to the given Button. * * @param viewer the TableViewer/*from w ww. j a va2 s .c o m*/ * @param listener the listener */ protected void removeDoubleClickListener(TableViewer viewer, IDoubleClickListener listener) { if ((viewer != null) && (!viewer.getControl().isDisposed()) && (listener != null)) { viewer.removeDoubleClickListener(listener); } }
From source file:org.apache.sling.ide.eclipse.ui.views.JcrCellLabelProvider.java
License:Apache License
public JcrCellLabelProvider(TableViewer viewer) { this.viewer = viewer; Display display = viewer.getControl().getDisplay(); greyColor = display.getSystemColor(SWT.COLOR_DARK_GRAY); normalColor = viewer.getTable().getForeground(); }