List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file:org.jboss.tools.openshift.express.internal.ui.utils.TreeUtils.java
License:Open Source License
/** * Initializes a given tree editor for a given viewer cell with a given (editor-)control. * // w ww . j ava 2s . c om * @param treeEditor the tree editor that shall get initialized * @param control the control that shall be positioned by the tree editor * @param cellText the text that will get displayed in the cell (only used to make sure, the cell has the required size) * @param cell the cell the table editor shall be positioned to. * * @see TreeEditor * @see ViewerCell */ public static void initializeTreeEditor(TreeEditor treeEditor, Control control, String cellText, ViewerCell cell) { treeEditor.grabHorizontal = true; treeEditor.grabVertical = true; treeEditor.horizontalAlignment = SWT.FILL; treeEditor.verticalAlignment = SWT.FILL; TreeItem treeItem = (TreeItem) cell.getItem(); treeEditor.setEditor(control, treeItem, cell.getColumnIndex()); // ensure cell is as large as space needed for link //cell.setText( " " + cellText + " "); }
From source file:org.jboss.tools.openshift.internal.common.ui.utils.TableViewerCellDecorationManager.java
License:Open Source License
public void show(ViewerCell cell) { TableEditor editor = decorationByCell.get(cell); if (editor == null) { Control decoration = createDecoration(image, table); editor = createTableEditor(image, table); decorationByCell.put(cell, editor); editor.setEditor(decoration, (TableItem) cell.getItem(), cell.getColumnIndex()); }// www. ja va 2s .co m }
From source file:org.jboss.tools.project.examples.cheatsheet.internal.util.CheatSheetUtil.java
License:Open Source License
private static void configureViewer(final TableViewer viewer) { TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { ViewerCell cell = viewer.getColumnViewerEditor().getFocusCell(); if (cell != null && cell.getColumnIndex() == 1) { return super.isEditorActivationEvent(event); }//w w w. ja v a 2 s .c om return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(viewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); }
From source file:org.jkiss.dbeaver.ext.mockdata.MockDataWizardPageSettings.java
License:Apache License
public void createControl(Composite parent) { Composite composite = UIUtils.createPlaceholder(parent, 1); {/*from w w w . j a va2 s.com*/ SelectionListener changeListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { updateState(); } }; Composite entityPlaceholder = UIUtils.createPlaceholder(composite, 2); this.entityNameText = UIUtils.createLabelText(entityPlaceholder, MockDataMessages.tools_mockdata_wizard_page_settings_text_entity, "", SWT.NONE | SWT.READ_ONLY); GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.widthHint = 230; gd.verticalIndent = 5; gd.horizontalIndent = 9; entityPlaceholder.setLayoutData(gd); Group settingsGroup = UIUtils.createControlGroup(composite, MockDataMessages.tools_mockdata_wizard_page_settings_group_settings, 4, GridData.FILL_HORIZONTAL, 0); gd = new GridData(GridData.FILL_HORIZONTAL); gd.verticalIndent = 5; settingsGroup.setLayoutData(gd); this.removeOldDataCheck = UIUtils.createCheckbox(settingsGroup, MockDataMessages.tools_mockdata_wizard_page_settings_checkbox_remove_old_data, null, mockDataSettings.isRemoveOldData(), 4); removeOldDataCheck.addSelectionListener(changeListener); this.rowsText = UIUtils.createLabelText(settingsGroup, MockDataMessages.tools_mockdata_wizard_page_settings_combo_rows, String.valueOf(mockDataSettings.getRowsNumber()), SWT.BORDER, new GridData(110, SWT.DEFAULT)); rowsText.addSelectionListener(changeListener); rowsText.addVerifyListener(UIUtils.getLongVerifyListener(rowsText)); rowsText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { updateState(); } }); } { Group generatorsGroup = UIUtils.createControlGroup(composite, MockDataMessages.tools_mockdata_wizard_page_settings_group_generators, 5, GridData.FILL_BOTH, 0); GridData gd = new GridData(GridData.FILL_BOTH); gd.verticalIndent = 5; generatorsGroup.setLayoutData(gd); Composite placeholder = UIUtils.createPlaceholder(generatorsGroup, 1); gd = new GridData(GridData.FILL_VERTICAL); gd.widthHint = 250; placeholder.setLayoutData(gd); Button autoAssignButton = new Button(placeholder, SWT.PUSH); autoAssignButton.setText(MockDataMessages.tools_mockdata_wizard_page_settings_button_autoassign); autoAssignButton.setImage(DBeaverIcons.getImage(UIIcon.OBJ_REFRESH)); autoAssignButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (UIUtils.confirmAction(getShell(), MockDataMessages.tools_mockdata_wizard_title, MockDataMessages.tools_mockdata_wizard_page_settings_button_autoassign_confirm)) { autoAssignGenerators(); } } }); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); // gd.horizontalIndent = 5; autoAssignButton.setLayoutData(gd); generatorsTableViewer = new TableViewer(placeholder, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); final Table table = generatorsTableViewer.getTable(); gd = new GridData(GridData.FILL_BOTH); gd.verticalIndent = 5; table.setLayoutData(gd); table.setHeaderVisible(true); table.setLinesVisible(true); generatorsTableViewer.setContentProvider(new IStructuredContentProvider() { @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection) { return ((Collection<?>) inputElement).toArray(); } return new Object[0]; } }); CellLabelProvider labelProvider = new CellLabelProvider() { @Override public void update(ViewerCell cell) { DBSAttributeBase attribute = (DBSAttributeBase) cell.getElement(); AttributeGeneratorProperties attributeGeneratorProperties = mockDataSettings .getAttributeGeneratorProperties(attribute); if (cell.getColumnIndex() == 0) { cell.setImage(DBeaverIcons.getImage(DBValueFormatting.getTypeImage(attribute))); cell.setText(attribute.getName()); try { if (DBUtils.checkUnique(mockDataSettings.getMonitor(), mockDataSettings.getEntity(), attribute) != null) { cell.setFont(boldFont); } } catch (DBException e) { log.error("Error checking the attribute '" + attribute.getName() + "' properties", e); } if (attributeGeneratorProperties != null && attributeGeneratorProperties.isEmpty()) { cell.setForeground(table.getDisplay().getSystemColor(SWT.COLOR_RED)); noGeneratorInfoLabel.setVisible(true); } } else { if (attributeGeneratorProperties != null && !attributeGeneratorProperties.isEmpty()) { String selectedGeneratorId = attributeGeneratorProperties.getSelectedGeneratorId(); String label = mockDataSettings.getGeneratorDescriptor(selectedGeneratorId).getLabel(); cell.setText(label.trim()); } } } }; TableViewerColumn attributeColumn = new TableViewerColumn(generatorsTableViewer, SWT.LEFT); attributeColumn.setLabelProvider(labelProvider); attributeColumn.getColumn() .setText(MockDataMessages.tools_mockdata_wizard_page_settings_generatorselector_attribute); TableViewerColumn generatorColumn = new TableViewerColumn(generatorsTableViewer, SWT.LEFT); generatorColumn.setLabelProvider(labelProvider); TableColumn column = generatorColumn.getColumn(); column.setText(MockDataMessages.tools_mockdata_wizard_page_settings_generatorselector_generator); generatorColumn.setEditingSupport(new EditingSupport(generatorsTableViewer) { @Override protected CellEditor getCellEditor(Object element) { DBSAttributeBase attribute = (DBSAttributeBase) element; AttributeGeneratorProperties attributeGenerators = mockDataSettings .getAttributeGeneratorProperties(attribute); Set<String> generators = new LinkedHashSet<>(); if (attributeGenerators.isEmpty()) { noGeneratorInfoLabel.setVisible(true); TextCellEditor textCellEditor = new TextCellEditor(generatorsTableViewer.getTable()); textCellEditor.getControl().setEnabled(false); return textCellEditor; } else { for (String generatorId : attributeGenerators.getGenerators()) { generators.add(mockDataSettings.getGeneratorDescriptor(generatorId).getLabel()); } CustomComboBoxCellEditor customComboBoxCellEditor = new CustomComboBoxCellEditor( generatorsTableViewer, generatorsTableViewer.getTable(), generators.toArray(new String[generators.size()]), SWT.BORDER | SWT.READ_ONLY); return customComboBoxCellEditor; } } @Override protected boolean canEdit(Object element) { return true; } // disable the generator selection @Override protected Object getValue(Object element) { DBSAttributeBase attribute = (DBSAttributeBase) element; String selectedGenerator = mockDataSettings.getAttributeGeneratorProperties(attribute) .getSelectedGeneratorId(); if (selectedGenerator != null) { return mockDataSettings.getGeneratorDescriptor(selectedGenerator).getLabel(); } else { return ""; } } @Override protected void setValue(Object element, Object value) { DBSAttributeBase attribute = (DBSAttributeBase) element; selectGenerator(attribute, (String) value); } }); table.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { saveGeneratorProperties(); reloadProperties((DBSAttributeBase) e.item.getData(), null); } }); // generator properties placeholder = UIUtils.createPlaceholder(generatorsGroup, 1); placeholder.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite labelCombo = UIUtils.createPlaceholder(placeholder, 5); gd = new GridData(GridData.FILL_HORIZONTAL); labelCombo.setLayoutData(gd); generatorCombo = new Combo(labelCombo, SWT.READ_ONLY | SWT.DROP_DOWN); gd = new GridData(); gd.widthHint = 80; generatorCombo.setLayoutData(gd); generatorCombo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { selectGenerator(selectedAttribute, generatorCombo.getText()); } }); Composite descriptionCombo = UIUtils.createPlaceholder(labelCombo, 2); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL); descriptionCombo.setLayoutData(gd); generatorDescriptionLabel = new Label(descriptionCombo, SWT.NONE); generatorDescriptionLabel .setFont(JFaceResources.getFontRegistry().getItalic(JFaceResources.DEFAULT_FONT)); generatorDescriptionLabel.setText(""); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; generatorDescriptionLabel.setLayoutData(gd); generatorDescriptionLink = UIUtils.createLink(descriptionCombo, "", new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (!CommonUtils.isEmpty(generatorLinkUrl)) { IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport(); try { support.getExternalBrowser().openURL(new URL(generatorLinkUrl)); } catch (Exception ex) { } } } }); gd = new GridData(GridData.HORIZONTAL_ALIGN_END); gd.horizontalIndent = 5; generatorDescriptionLink.setLayoutData(gd); Button resetButton = new Button(labelCombo, SWT.PUSH); resetButton.setText(MockDataMessages.tools_mockdata_wizard_page_settings_button_reset); resetButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { for (Object key : propertySource.getProperties().keySet()) { propertySource.resetPropertyValueToDefault(key); } propsEditor.loadProperties(propertySource); generatorsTableViewer.refresh(true, true); } }); gd = new GridData(); gd.horizontalIndent = 5; resetButton.setLayoutData(gd); propsEditor = new PropertyTreeViewer(placeholder, SWT.BORDER); gd = new GridData(GridData.FILL_BOTH); gd.verticalIndent = 5; propsEditor.getControl().setLayoutData(gd); noGeneratorInfoLabel = UIUtils.createInfoLabel(composite, MockDataMessages.tools_mockdata_wizard_page_settings_button_info_notfound); //noGeneratorInfoLabel.setForeground(generatorsTableViewer.getDisplay().getSystemColor(SWT.COLOR_RED)); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalSpan = 2; gd.verticalIndent = 5; noGeneratorInfoLabel.setLayoutData(gd); noGeneratorInfoLabel.setVisible(false); table.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { UIUtils.packColumns(table); UIUtils.maxTableColumnsWidth(table); table.removeControlListener(this); } }); } setControl(composite); boldFont = UIUtils.makeBoldFont(generatorsTableViewer.getControl().getFont()); }
From source file:org.jkiss.dbeaver.tools.transfer.wizard.DataTransferPagePipes.java
License:Open Source License
@Override public void createControl(Composite parent) { initializeDialogUnits(parent);/*from w ww . ja va 2 s .c o m*/ Composite composite = new Composite(parent, SWT.NULL); composite.setLayout(new GridLayout()); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); consumersTable = new TableViewer(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); consumersTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); consumersTable.getTable().setLinesVisible(true); consumersTable.setContentProvider(new IStructuredContentProvider() { @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof Collection) { return ((Collection<?>) inputElement).toArray(); } return new Object[0]; } }); CellLabelProvider labelProvider = new CellLabelProvider() { @Override public void update(ViewerCell cell) { TransferTarget element = (TransferTarget) cell.getElement(); if (cell.getColumnIndex() == 0) { if (element.processor != null) { cell.setImage(DBeaverIcons.getImage(element.processor.getIcon())); cell.setText(element.processor.getName()); } else { cell.setImage(DBeaverIcons.getImage(element.consumer.getIcon())); cell.setText(element.consumer.getName()); } } else { if (element.processor != null) { cell.setText(element.processor.getDescription()); } else { cell.setText(element.consumer.getDescription()); } } } }; { TableViewerColumn columnName = new TableViewerColumn(consumersTable, SWT.LEFT); columnName.setLabelProvider(labelProvider); columnName.getColumn().setText(CoreMessages.data_transfer_wizard_init_column_exported); TableViewerColumn columnDesc = new TableViewerColumn(consumersTable, SWT.LEFT); columnDesc.setLabelProvider(labelProvider); columnDesc.getColumn().setText(CoreMessages.data_transfer_wizard_init_column_description); } loadConsumers(); consumersTable.getTable().addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { final IStructuredSelection selection = (IStructuredSelection) consumersTable.getSelection(); TransferTarget target; if (!selection.isEmpty()) { target = (TransferTarget) selection.getFirstElement(); } else { target = null; } if (target == null) { getWizard().getSettings().selectConsumer(null, null); } else { getWizard().getSettings().selectConsumer(target.consumer, target.processor); } updatePageCompletion(); } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); if (isPageComplete()) { getWizard().getContainer().showPage(getWizard().getNextPage(DataTransferPagePipes.this)); } } }); consumersTable.getTable().addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { UIUtils.packColumns(consumersTable.getTable()); UIUtils.maxTableColumnsWidth(consumersTable.getTable()); consumersTable.getTable().removeControlListener(this); } }); setControl(composite); DataTransferNodeDescriptor consumer = getWizard().getSettings().getConsumer(); DataTransferProcessorDescriptor processor = getWizard().getSettings().getProcessor(); if (consumer != null) { Collection<TransferTarget> targets = (Collection<TransferTarget>) consumersTable.getInput(); for (TransferTarget target : targets) { if (target.consumer == consumer && target.processor == processor) { consumersTable.setSelection(new StructuredSelection(target)); break; } } } updatePageCompletion(); }
From source file:org.kalypso.contribs.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter.java
License:Open Source License
private void hookListener(final ColumnViewer viewer) { final Listener listener = new Listener() { @Override//from w w w. j a v a2 s. c o m public void handleEvent(final Event event) { if ((event.detail & SWT.SELECTED) > 0) { final ViewerCell focusCell = getFocusCell(); final Widget focusItem = focusCell == null ? null : focusCell.getItem(); final Widget currentItem = event.item; if (focusItem != null && focusItem.equals(currentItem) && focusCell.getColumnIndex() == event.index) { markFocusedCell(event); } } } }; viewer.getControl().addListener(SWT.EraseItem, listener); }
From source file:org.kalypso.contribs.eclipse.jface.viewers.FocusCellOwnerDrawHighlighter.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.FocusCellHighlighter#focusCellChanged(org.eclipse.jface.viewers.ViewerCell, * org.eclipse.jface.viewers.ViewerCell) *//*from w w w . jav a 2 s . c om*/ @Override protected void focusCellChanged(final ViewerCell cell, final ViewerCell oldCell2) { super.focusCellChanged(cell, m_oldCell); // Redraw new area if (cell != null) { final Rectangle rect = cell.getBounds(); final int x = cell.getColumnIndex() == 0 ? 0 : rect.x; final int width = cell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; // 1 is a fix for Linux-GTK cell.getControl().redraw(x, rect.y - 1, width, rect.height + 1, true); } if (m_oldCell != null) { final Rectangle rect = m_oldCell.getBounds(); final int x = m_oldCell.getColumnIndex() == 0 ? 0 : rect.x; final int width = m_oldCell.getColumnIndex() == 0 ? rect.x + rect.width : rect.width; // 1 is a fix for Linux-GTK m_oldCell.getControl().redraw(x, rect.y - 1, width, rect.height + 1, true); } m_oldCell = cell; }
From source file:org.openscada.ca.ui.importer.wizard.DiffEntryLabelProvider.java
License:Open Source License
@Override public void update(final ViewerCell cell) { final Object ele = cell.getElement(); if (ele instanceof DiffEntry) { final DiffEntry entry = (DiffEntry) ele; final int idx = cell.getColumnIndex(); switch (idx) { case 0://w ww.jav a 2s . c o m cell.setText(entry.getFactoryId()); break; case 1: cell.setText(entry.getConfigurationId()); break; case 2: cell.setText(entry.getOperation().toString()); break; case 3: cell.setText(formatData(entry.getAddedOrUpdatedData(), MAX_STR_LENGTH)); break; case 4: cell.setText(formatData(entry.getOldData(), MAX_STR_LENGTH)); break; } } else if (ele instanceof DiffSubEntry) { final DiffSubEntry entry = (DiffSubEntry) ele; final int idx = cell.getColumnIndex(); switch (idx) { case 0: break; case 1: cell.setText(entry.getKey()); break; case 2: break; case 3: cell.setText(entry.getNewValue()); break; case 4: cell.setText(entry.getOldValue()); break; } } }
From source file:org.openscada.da.ui.widgets.realtime.ItemCellLabelProvider.java
License:Open Source License
private void updateListEntry(final ListEntry listEntry, final ViewerCell cell) { cell.setFont(listEntry.getFont());//from ww w.ja va 2 s .c om cell.setForeground(listEntry.getForeground()); cell.setBackground(listEntry.getBackground()); switch (cell.getColumnIndex()) { case 0: cell.setImage(listEntry.getImage()); cell.setText(listEntry.getDataItem().getItem().getId()); break; case 1: if (listEntry.getSubscriptionError() != null) { cell.setText(String.format("%s (%s)", listEntry.getSubscriptionState(), //$NON-NLS-1$ listEntry.getSubscriptionError().getMessage())); } else { cell.setText(listEntry.getSubscriptionState().name()); } break; case 2: if (listEntry.getValue() != null) { cell.setText(listEntry.getValue().getType().name()); } break; case 3: if (listEntry.getValue() != null) { cell.setText(listEntry.getValue().asString("<null>")); //$NON-NLS-1$ } break; default: break; } }
From source file:org.pepstock.jem.plugin.views.jobs.running.RunningLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex())); Job job = (Job) cell.getElement();/*from w w w. j a va 2 s. co m*/ // if job is waiting, sets gray color if (job.getRunningStatus() == Job.WAITING_FOR_RESOURCES) { Display display = Display.getCurrent(); Color gray = display.getSystemColor(SWT.COLOR_GRAY); cell.setForeground(gray); } else { Display display = Display.getCurrent(); Color gray = display.getSystemColor(SWT.COLOR_BLACK); cell.setForeground(gray); } }