List of usage examples for org.eclipse.jface.viewers ViewerCell setFont
public void setFont(Font font)
From source file:org.eclipsetrader.ui.internal.trading.portfolio.GainLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { if (!(cell.getElement() instanceof IViewItem)) { return;// w w w. j a v a2 s . c o m } GainViewItemVisitor visitor = new GainViewItemVisitor(); ((IViewItem) cell.getElement()).accept(visitor); double value = visitor.getValue(); double percentage = visitor.getPercentage(); cell.setText((value > 0 ? "+" : "") + formatter.format(value) + " (" + (value > 0 ? "+" : "") + percentageFormatter.format(percentage) + "%)"); cell.setForeground(value != 0 ? value > 0 ? positiveColor : negativeColor : null); if (cell.getElement() instanceof BrokerElement) { cell.setFont(font); } }
From source file:org.eclipsetrader.ui.internal.views.WatchListViewCellLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { WatchListViewItem element = (WatchListViewItem) cell.getElement(); IAdaptable adaptableValue = (IAdaptable) attributeMaps[0].get(element); WatchListViewCellAttribute attribute = (WatchListViewCellAttribute) attributeMaps[1].get(element); if (adaptableValue == null) { return;//from ww w .java 2 s. co m } if (!objectEquals(adaptableValue, valueMap.get(element))) { String text = (String) adaptableValue.getAdapter(String.class); if (text == null) { text = ""; //$NON-NLS-1$ } if (!text.equals(cell.getText())) { cell.setText(text); } cell.setForeground((Color) adaptableValue.getAdapter(Color.class)); cell.setFont((Font) adaptableValue.getAdapter(Font.class)); ImageData imageData = (ImageData) adaptableValue.getAdapter(ImageData.class); if (imageData != null) { imageData.transparentPixel = imageData.palette.getPixel(new RGB(255, 255, 255)); Image newImage = new Image(Display.getDefault(), imageData); Image oldImage = cell.getImage(); cell.setImage(newImage); if (oldImage != null) { oldImage.dispose(); } } else { Image image = (Image) adaptableValue.getAdapter(Image.class); cell.setImage(image != null && image.isDisposed() ? null : image); } valueMap.put(element, adaptableValue); } if (!objectEquals(attribute, decoratorMap.get(element))) { if (ownerDrawEnabled) { cell.setBackground(null); Rectangle rect = cell.getBounds(); cell.getControl().redraw(rect.x, rect.y, rect.width, rect.height, false); } else { if (attribute == null) { cell.setBackground(null); } else { TableItem tableItem = (TableItem) cell.getViewerRow().getItem(); int rowIndex = tableItem.getParent().indexOf(tableItem); if ((rowIndex & 1) != 0) { if (attribute.oddBackground == null || !attribute.oddBackground.isDisposed()) { cell.setBackground(attribute.oddBackground); } } else { if (attribute.evenBackground == null || !attribute.evenBackground.isDisposed()) { cell.setBackground(attribute.evenBackground); } } } } decoratorMap.put(element, attribute); } }
From source file:org.eclipsetrader.ui.trading.OrdersLabelProviderWrapper.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); cell.setText(labelProvider.getText(element)); cell.setImage(labelProvider.getImage(element)); cell.setBackground(labelProvider.getBackground(element)); Color color = labelProvider.getForeground(element); cell.setForeground(color != null ? color : getForeground(element)); cell.setFont(labelProvider.getFont(element)); }
From source file:org.emftrace.quarc.ui.views.PropertiesView.java
License:Open Source License
/** * fills the TableViewer with ratings/*from w ww . j a va 2 s .c om*/ * @param tableViewer a TableViewer * @param builder the AbstractElementGraphBuilder * @param builder the AbstractElementGraphBuilder * @param heatmapCheckbox the heatmap checkbox * @param symbolsCheckbox the symbols checkbox * @grlSymbolsCheckbox the GRL symbols checkbox * @param attributeExplorerCheckbox the attribute explorer checkbox * @param thresholdSpinner the threshold Spinner * @param thresholdScale the threshold Scale * @param thresholdCombo the threshold Combo * @param showRatingsToGoals show Ratings to Goals (true) of Priniplies (false) */ private void fillTable(final TableViewer tableViewer, final AbstractElementGraphBuilder builder, final Button heatmapCheckbox, final Button symbolsCheckbox, final Button grlSymbolsCheckbox, final Button attributeExplorerCheckbox, final Spinner thresholdSpinner, final Scale thresholdScale, final Combo thresholdCombo, final boolean showRatingsToGoals) { TableViewerColumn indexColumn = new TableViewerColumn(tableViewer, SWT.NONE); TableViewerColumn nameColumn = new TableViewerColumn(tableViewer, SWT.NONE); indexColumn.getColumn().setText("rank"); indexColumn.getColumn().setWidth(75); indexColumn.getColumn().setToolTipText("the rank of the alternative element"); nameColumn.getColumn().setText("name"); nameColumn.getColumn().setWidth(250); nameColumn.getColumn().setToolTipText("the name of the alternative element"); heatmapCheckbox.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); thresholdSpinner.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); thresholdScale.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); attributeExplorerCheckbox.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); thresholdCombo.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); symbolsCheckbox.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); grlSymbolsCheckbox.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { tableViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); nameColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { cell.setText(((Element) cell.getElement()).getName()); } }); indexColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { cell.setText(String.valueOf(tableViewer.getTable().indexOf((TableItem) cell.getItem()) + 1)); // +1 due to index // starts with 0 } }); new ColumnViewerSorter(tableViewer, nameColumn) { protected int doCompare(Viewer viewer, Object e1, Object e2) { return ((Element) e1).getName().compareTo(((Element) e2).getName()); } }; final HashMap<TableColumn, Element> elementColumnMap = new HashMap<TableColumn, Element>(); /////add an ExpandListener to all nodes final IExpandListener expandListener = new IExpandListener() { @Override public void expanded() { tableViewer.refresh(); } @Override public void collapsed() { tableViewer.refresh(); } }; for (Object node : builder.getZestGraph().getNodes()) { if (node instanceof GSSElementGraphNode) { ((GSSElementGraphNode) node).getElementFigure().addExpandListener(expandListener); } } /////remove the ExpandListener after dispose tableViewer.getTable().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { for (Object node : builder.getZestGraph().getNodes()) { if (node instanceof GSSElementGraphNode) { ((GSSElementGraphNode) node).getElementFigure().removeExpandListener(expandListener); } } } }); //the content provider ///show elements of visible nodes only tableViewer.setContentProvider(new ArrayContentProvider() { @Override public Object[] getElements(Object inputElement) { @SuppressWarnings("unchecked") //TODO suppresswarning! List<Element> inputList = (List<Element>) inputElement; List<Element> result = new ArrayList<Element>(); for (Element e : inputList) { if (builder.getNodeForElement(e).isVisbile()) result.add(e); } Element[] output = new Element[result.size()]; int i = 0; for (Element e : result) { output[i] = e; i++; } return output; } }); final List<Element> leafElements = new ArrayList<Element>(); final List<Element> markedLeafElements = new ArrayList<Element>(); boolean hasMarkedElements = !builder.getSelectedElements().isEmpty(); if (showRatingsToGoals) { leafElements.addAll(builder.getCacheManager().getLeafApplicableElementElements(GSSLayer.layer1)); if (hasMarkedElements) markedLeafElements.addAll(builder.getMarkedLeafGoals()); } else { leafElements.addAll(builder.getCacheManager().getLeafApplicableElementElements(GSSLayer.layer3)); if (hasMarkedElements) markedLeafElements.addAll(builder.getMarkedLeafPrinciples()); } boolean weightsIncluded = false; if (showRatingsToGoals) weightsIncluded = !builder.getCacheManager().getSelectedGoals().isEmpty(); else weightsIncluded = !builder.getCacheManager().getSelectedPrinciples().isEmpty(); for (final Object leafElement : leafElements) { // if (leafElement instanceof GSS.Goal) { if (weightsIncluded) { final TableViewerColumn weightedImpactViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); elementColumnMap.put(weightedImpactViewerColumn.getColumn(), (Element) leafElement); Float priority = null; if (leafElement instanceof Goal) { priority = builder.getCacheManager().getSelectedGoalPriority((Goal) leafElement); } else if (leafElement instanceof Principle) { priority = builder.getCacheManager().getSelectedPrinciplePriority((Principle) leafElement); } if (priority == null) priority = 0.0f; weightedImpactViewerColumn.getColumn() .setText(String.format("%s (%.2f)", ((Element) leafElement).getName(), priority)); weightedImpactViewerColumn.getColumn() .setToolTipText("the weighted rating to " + ((Element) leafElement).getName()); weightedImpactViewerColumn.getColumn().setWidth(100); weightedImpactViewerColumn.getColumn().setMoveable(true); weightedImpactViewerColumn.getColumn().setResizable(true); new ColumnViewerSorter(tableViewer, weightedImpactViewerColumn) { protected int doCompare(Viewer viewer, Object e1, Object e2) { Element element = elementColumnMap.get(tableViewer.getTable().getSortColumn()); Float v1 = calcWeightedImpact(builder, element, (Element) e1); Float v2 = calcWeightedImpact(builder, element, (Element) e2); return v1.compareTo(v2); } }; weightedImpactViewerColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { String weightString = calcWeightedImpactString(builder, (Element) leafElement, (Element) cell.getElement()); float impact = calcWeightedImpact(builder, (Element) leafElement, (Element) cell.getElement()); Color backgroundColor = null; Color foregroundColor = null; if (symbolsCheckbox.getSelection()) { setSymbol(cell, impact); } else if (grlSymbolsCheckbox.getSelection()) { setGRLSymbol(cell, impact); } else { cell.setFont(Display.getDefault().getSystemFont()); cell.setText(weightString); } if (attributeExplorerCheckbox.getSelection()) { if (impact >= thresholdSpinner.getSelection()) { backgroundColor = new Color(null, 255, 255, 0); foregroundColor = new Color(null, 0, 0, 0); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } } else if (heatmapCheckbox.getSelection()) { backgroundColor = DefaultColors.getBackgroundColor(impact); foregroundColor = DefaultColors.getForegroundColor(impact); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } cell.setBackground(backgroundColor); cell.setForeground(foregroundColor); } }); } final TableViewerColumn unweightedImpactViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); elementColumnMap.put(unweightedImpactViewerColumn.getColumn(), (Element) leafElement); unweightedImpactViewerColumn.getColumn() .setText(String.format("%s", ((Element) leafElement).getName())); unweightedImpactViewerColumn.getColumn() .setToolTipText("the rating to " + ((Element) leafElement).getName()); unweightedImpactViewerColumn.getColumn().setWidth(100); unweightedImpactViewerColumn.getColumn().setMoveable(true); unweightedImpactViewerColumn.getColumn().setResizable(true); new ColumnViewerSorter(tableViewer, unweightedImpactViewerColumn) { protected int doCompare(Viewer viewer, Object e1, Object e2) { Element element = elementColumnMap.get(tableViewer.getTable().getSortColumn()); Float v1 = getRating(builder, element, (Element) e1); Float v2 = getRating(builder, element, (Element) e2); return v1.compareTo(v2); } }; unweightedImpactViewerColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { String weightString = getRatingString(builder, (Element) leafElement, (Element) cell.getElement()); float impact = getRating(builder, (Element) leafElement, (Element) cell.getElement()); Color backgroundColor = null; Color foregroundColor = null; if (symbolsCheckbox.getSelection()) { setSymbol(cell, impact); } else if (grlSymbolsCheckbox.getSelection()) { setGRLSymbol(cell, impact); } else { cell.setFont(Display.getDefault().getSystemFont()); cell.setText(weightString); } if (attributeExplorerCheckbox.getSelection()) { if (impact >= thresholdSpinner.getSelection()) { backgroundColor = new Color(null, 255, 255, 0); foregroundColor = new Color(null, 0, 0, 0); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } } else if (heatmapCheckbox.getSelection()) { backgroundColor = DefaultColors.getBackgroundColor(impact); foregroundColor = DefaultColors.getForegroundColor(impact); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } cell.setBackground(backgroundColor); cell.setForeground(foregroundColor); } }); // } } setCalculators(leafElements, builder, tableViewer, symbolsCheckbox, grlSymbolsCheckbox, heatmapCheckbox, attributeExplorerCheckbox, thresholdSpinner, weightsIncluded, "[global]", "of all seleted goals"); if (hasMarkedElements) setCalculators(markedLeafElements, builder, tableViewer, symbolsCheckbox, grlSymbolsCheckbox, heatmapCheckbox, attributeExplorerCheckbox, thresholdSpinner, weightsIncluded, "[selection]", "of the currently selection of the seleted goals only"); }
From source file:org.emftrace.quarc.ui.views.PropertiesView.java
License:Open Source License
private void setCalculators(List<Element> leafElements, AbstractElementGraphBuilder builder, final TableViewer tableViewer, final Button symbolsCheckbox, final Button grlSymbolsCheckbox, final Button heatmapCheckbox, final Button filterEnabledCheckbox, final Spinner thresholdSpinner, boolean weightsIncluded, String decoratorString, String tooltipDecoratorString) { HashMap<String, AbstractCalculator> calculators = new HashMap<String, AbstractCalculator>(); decoratorString = " " + decoratorString; final HashMap<TableColumn, AbstractCalculator> calculatorsColumnMap = new HashMap<TableColumn, AbstractCalculator>(); calculators.put("max", new MaxCalculator(leafElements, builder.getCacheManager())); calculators.put("min", new MinCalculator(leafElements, builder.getCacheManager())); calculators.put("avg", new AvgCalculator(leafElements, builder.getCacheManager())); if (weightsIncluded) { calculators.put("weighted max", new WeightedMaxCalculator(leafElements, builder.getCacheManager())); calculators.put("weighted min", new WeightedMinCalculator(leafElements, builder.getCacheManager())); calculators.put("weighted avg", new WeightedAvgCalculator(leafElements, builder.getCacheManager())); }//from ww w . j a v a2s. com for (Entry<String, AbstractCalculator> entry : calculators.entrySet()) { final AbstractCalculator calculator = entry.getValue(); String caption = entry.getKey(); final TableViewerColumn viewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn = viewerColumn.getColumn(); calculatorsColumnMap.put(tableColumn, calculator); tableColumn.setText(caption + decoratorString); tableColumn.setToolTipText(caption + " " + tooltipDecoratorString); tableColumn.setWidth(100); tableColumn.setMoveable(true); tableColumn.setResizable(true); viewerColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { Float weight = calculator.calcAggregation((ConstrainedElement) cell.getElement()); setCellTooltip(cell, weight); if (symbolsCheckbox.getSelection()) { setSymbol(cell, weight); } else if (grlSymbolsCheckbox.getSelection()) { setGRLSymbol(cell, weight); } else { String texString = calculator .calcAggregationAsString((ConstrainedElement) cell.getElement()); cell.setFont(Display.getDefault().getSystemFont()); cell.setText(texString); } Color backgroundColor = null; Color foregroundColor = null; if (filterEnabledCheckbox.getSelection()) { if (weight >= thresholdSpinner.getSelection()) { backgroundColor = new Color(null, 255, 255, 0); foregroundColor = new Color(null, 0, 0, 0); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } } else if (heatmapCheckbox.getSelection()) { backgroundColor = DefaultColors.getBackgroundColor(weight); foregroundColor = DefaultColors.getForegroundColor(weight); } else { backgroundColor = new Color(null, 255, 255, 255); foregroundColor = new Color(null, 0, 0, 0); } cell.setBackground(backgroundColor); cell.setForeground(foregroundColor); } }); new ColumnViewerSorter(tableViewer, viewerColumn) { protected int doCompare(Viewer viewer, Object e1, Object e2) { AbstractCalculator calculator = calculatorsColumnMap .get(tableViewer.getTable().getSortColumn()); Float v1 = calculator.calcAggregation((ConstrainedElement) e1); Float v2 = calculator.calcAggregation((ConstrainedElement) e2); return v1.compareTo(v2); } }; } }
From source file:org.jboss.tools.openshift.internal.common.ui.utils.TableViewerBuilder.java
License:Open Source License
/** * Call this method from update(ViewerCell) to flip normal/italic font style. * If column is created with IColumnLabelProvider, this method is called by inner * implementation of CellLabelProvider with italic=IColumnLabelProvider.isModified(element) * Custom implementation of CellLabelProvider may keep to the same behavior * or choose another condition for using italic font. * * @param cell/*from www.ja v a 2 s.c o m*/ * @param italic */ public void applyFont(ViewerCell cell, boolean italic) { cell.setFont(italic ? italicFont : normalFont); }
From source file:org.jkiss.dbeaver.ext.mockdata.MockDataWizardPageSettings.java
License:Apache License
public void createControl(Composite parent) { Composite composite = UIUtils.createPlaceholder(parent, 1); {/*www . j av a2 s . c o m*/ 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.database.ColumnsMappingDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { DBPDataSource targetDataSource = settings.getTargetDataSource(mapping); getShell().setText("Map columns of " + mapping.getTargetName()); boldFont = UIUtils.makeBoldFont(parent.getFont()); Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(1, false)); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); new Label(composite, SWT.NONE).setText("Source entity: " + DBUtils.getObjectFullName(mapping.getSource()) + " [" + mapping.getSource().getDataSource().getContainer().getName() + "]"); new Label(composite, SWT.NONE).setText("Target entity: " + mapping.getTargetName() + " [" + (targetDataSource == null ? "?" : targetDataSource.getContainer().getName()) + "]"); mappingViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gd = new GridData(GridData.FILL_BOTH); gd.widthHint = 600;//w ww . j a va2s .c o m gd.heightHint = 300; mappingViewer.getTable().setLayoutData(gd); mappingViewer.getTable().setLinesVisible(true); mappingViewer.getTable().setHeaderVisible(true); mappingViewer.setContentProvider(new ListContentProvider()); mappingViewer.getTable().addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { if (e.character == SWT.DEL) { for (TableItem item : mappingViewer.getTable().getSelection()) { DatabaseMappingAttribute attribute = (DatabaseMappingAttribute) item.getData(); attribute.setMappingType(DatabaseMappingType.skip); } updateStatus(Status.OK_STATUS); mappingViewer.refresh(); } else if (e.character == SWT.SPACE) { for (TableItem item : mappingViewer.getTable().getSelection()) { DatabaseMappingAttribute attribute = (DatabaseMappingAttribute) item.getData(); attribute.setMappingType(DatabaseMappingType.existing); try { attribute.updateMappingType(VoidProgressMonitor.INSTANCE); } catch (DBException e1) { updateStatus(GeneralUtils.makeExceptionStatus(e1)); } } mappingViewer.refresh(); } } }); { TableViewerColumn columnSource = new TableViewerColumn(mappingViewer, SWT.LEFT); columnSource.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) cell.getElement(); cell.setText(DBUtils.getObjectFullName(attrMapping.getSource())); if (attrMapping.getIcon() != null) { cell.setImage(DBeaverIcons.getImage(attrMapping.getIcon())); } } }); columnSource.getColumn().setText("Source Column"); columnSource.getColumn().setWidth(170); } { TableViewerColumn columnSourceType = new TableViewerColumn(mappingViewer, SWT.LEFT); columnSourceType.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((DatabaseMappingAttribute) cell.getElement()).getSourceType()); } }); columnSourceType.getColumn().setText("Source Type"); columnSourceType.getColumn().setWidth(100); } { TableViewerColumn columnTarget = new TableViewerColumn(mappingViewer, SWT.LEFT); columnTarget.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) cell.getElement(); cell.setText(mapping.getTargetName()); if (mapping.mappingType == DatabaseMappingType.unspecified) { cell.setBackground( DBeaverUI.getSharedTextColors().getColor(SharedTextColors.COLOR_WARNING)); } else { cell.setBackground(null); } cell.setFont(boldFont); } }); columnTarget.getColumn().setText("Target Column"); columnTarget.getColumn().setWidth(170); columnTarget.setEditingSupport(new EditingSupport(mappingViewer) { @Override protected CellEditor getCellEditor(Object element) { try { java.util.List<String> items = new ArrayList<>(); DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) element; if (mapping.getParent().getMappingType() == DatabaseMappingType.existing && mapping.getParent().getTarget() instanceof DBSEntity) { DBSEntity parentEntity = (DBSEntity) mapping.getParent().getTarget(); for (DBSEntityAttribute attr : CommonUtils .safeCollection(parentEntity.getAttributes(VoidProgressMonitor.INSTANCE))) { items.add(attr.getName()); } } items.add(DatabaseMappingAttribute.TARGET_NAME_SKIP); CustomComboBoxCellEditor editor = new CustomComboBoxCellEditor(mappingViewer.getTable(), items.toArray(new String[items.size()]), SWT.DROP_DOWN); updateStatus(Status.OK_STATUS); return editor; } catch (DBException e) { updateStatus(GeneralUtils.makeExceptionStatus(e)); return null; } } @Override protected boolean canEdit(Object element) { return true; } @Override protected Object getValue(Object element) { return ((DatabaseMappingAttribute) element).getTargetName(); } @Override protected void setValue(Object element, Object value) { try { String name = CommonUtils.toString(value); DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element; if (DatabaseMappingAttribute.TARGET_NAME_SKIP.equals(name)) { attrMapping.setMappingType(DatabaseMappingType.skip); } else { if (attrMapping.getParent().getMappingType() == DatabaseMappingType.existing && attrMapping.getParent().getTarget() instanceof DBSEntity) { DBSEntity parentEntity = (DBSEntity) attrMapping.getParent().getTarget(); for (DBSEntityAttribute attr : CommonUtils .safeCollection(parentEntity.getAttributes(VoidProgressMonitor.INSTANCE))) { if (name.equalsIgnoreCase(attr.getName())) { attrMapping.setTarget(attr); attrMapping.setMappingType(DatabaseMappingType.existing); return; } } } attrMapping.setMappingType(DatabaseMappingType.create); attrMapping.setTargetName(name); } updateStatus(Status.OK_STATUS); } catch (DBException e) { updateStatus(GeneralUtils.makeExceptionStatus(e)); } finally { mappingViewer.refresh(); } } }); } { TableViewerColumn columnTargetType = new TableViewerColumn(mappingViewer, SWT.LEFT); columnTargetType.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) cell.getElement(); DBPDataSource dataSource = settings.getTargetDataSource(attrMapping); cell.setText(attrMapping.getTargetType(dataSource)); cell.setFont(boldFont); } }); columnTargetType.getColumn().setText("Target Type"); columnTargetType.getColumn().setWidth(100); columnTargetType.setEditingSupport(new EditingSupport(mappingViewer) { @Override protected CellEditor getCellEditor(Object element) { DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element; Set<String> types = new LinkedHashSet<>(); DBPDataSource dataSource = settings.getTargetDataSource(attrMapping); if (dataSource instanceof DBPDataTypeProvider) { for (DBSDataType type : ((DBPDataTypeProvider) dataSource).getLocalDataTypes()) { types.add(type.getName()); } } types.add(attrMapping.getTargetType(dataSource)); return new CustomComboBoxCellEditor(mappingViewer.getTable(), types.toArray(new String[types.size()]), SWT.BORDER); } @Override protected boolean canEdit(Object element) { return true; } @Override protected Object getValue(Object element) { DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element; return attrMapping.getTargetType(settings.getTargetDataSource(attrMapping)); } @Override protected void setValue(Object element, Object value) { DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element; attrMapping.setTargetType(CommonUtils.toString(value)); mappingViewer.refresh(element); } }); } { TableViewerColumn columnType = new TableViewerColumn(mappingViewer, SWT.LEFT); columnType.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) cell.getElement(); String text = ""; switch (mapping.getMappingType()) { case unspecified: text = "?"; break; case existing: text = "existing"; break; case create: text = "new"; break; case skip: text = "skip"; break; } cell.setText(text); } }); columnType.getColumn().setText("Mapping"); columnType.getColumn().setWidth(60); } mappingViewer.setInput(attributeMappings); return parent; }
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()); cell.setForeground(listEntry.getForeground()); cell.setBackground(listEntry.getBackground()); switch (cell.getColumnIndex()) { case 0:/*from w w w.ja va 2 s . c o m*/ 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.polymap.rhei.batik.toolkit.md.TreeExpandStateDecorator.java
License:Open Source License
@Override public void update(ViewerCell cell) { ((CellLabelProvider) delegate).update(cell); Object elm = cell.getElement(); boolean expanded = viewer.getExpandedState(elm); TreeItem item = (TreeItem) cell.getItem(); int level = 0; for (TreeItem i = item; i != null; i = i.getParentItem()) { level++;/*from ww w . j a v a 2 s . c o m*/ } HSLColor bg = bgColor.map(color -> new HSLColor(color).adjustLuminance(34).adjustSaturation(-100)) .orElse(new HSLColor(viewer.getTree().getBackground())); if (expanded) { level--; cell.setFont(UIUtils.bold(MdAppDesign.font(FontStyle.Subhead))); } else { level--; cell.setFont(MdAppDesign.font(FontStyle.Subhead)); } float delta = saturationDelta.get() * level; HSLColor levelColor = bg.adjustSaturation(delta).adjustLuminance(luminanceDelta.get() * level); item.setBackground(levelColor.toSWT()); }