List of usage examples for org.eclipse.jface.dialogs Dialog convertHorizontalDLUsToPixels
public static int convertHorizontalDLUsToPixels(FontMetrics fontMetrics, int dlus)
From source file:org.eclipse.ui.internal.activities.ws.ActivityEnabler.java
License:Open Source License
private GridLayout createGridLayoutWithoutMargins(int nColumns, FontMetrics fontMetrics) { GridLayout layout = new GridLayout(nColumns, false); layout.marginHeight = 0;//from www. ja va 2s.c o m layout.marginWidth = 0; layout.horizontalSpacing = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.HORIZONTAL_SPACING); layout.verticalSpacing = Dialog.convertVerticalDLUsToPixels(fontMetrics, IDialogConstants.VERTICAL_SPACING); return layout; }
From source file:org.eclipse.ui.internal.activities.ws.ActivityEnabler.java
License:Open Source License
private GridData setButtonLayoutData(Button button, FontMetrics fontMetrics) { GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); Point minSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true); data.widthHint = Math.max(widthHint, minSize.x); button.setLayoutData(data);//from ww w. j av a2 s .co m return data; }
From source file:org.eclipse.ui.internal.ide.dialogs.LinkedResourceEditor.java
License:Open Source License
/** * @param parent//from w ww. j a v a 2 s.c o m * @param text * @return the new button */ private Button createButton(Composite parent, String text) { Button button = new Button(parent, SWT.PUSH); button.setText(text); button.setFont(parent.getFont()); GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL); int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); data.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); button.setLayoutData(data); return button; }
From source file:org.eclipse.ui.internal.ide.dialogs.ResourceFilterGroup.java
License:Open Source License
private static int getButtonWidthHint(Button button) { button.setFont(JFaceResources.getDialogFont()); FontMetrics fontMetrics;/*from w ww .ja va 2 s . c om*/ GC gc = new GC(button); try { gc.setFont(button.getFont()); fontMetrics = gc.getFontMetrics(); } finally { gc.dispose(); } int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x); }
From source file:org.eclipse.wst.common.frameworks.internal.ui.NewProjectGroup.java
License:Open Source License
private void createUserSpecifiedProjectLocationGroup(Composite projectGroup) { Font font = projectGroup.getFont(); // location label final Label locationLabel = new Label(projectGroup, SWT.NONE); locationLabel.setFont(font);//from www . jav a2 s.c o m locationLabel.setText(InternalCommonWorkbenchMessages.WizardNewProjectCreationPage_locationLabel); // project location entry field locationPathField = new Text(projectGroup, SWT.BORDER); GridData data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = SIZING_TEXT_FIELD_WIDTH; locationPathField.setLayoutData(data); locationPathField.setFont(font); BidiUtils.applyBidiProcessing(locationPathField, StructuredTextTypeHandlerFactory.FILE); // browse button browseButton = new Button(projectGroup, SWT.PUSH); GridDataFactory.defaultsFor(browseButton).applyTo(browseButton); browseButton.setFont(font); browseButton.setText(defBrowseButtonLabel); GC gc = new GC(projectGroup); gc.setFont(projectGroup.getFont()); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); int widthHint = Dialog.convertHorizontalDLUsToPixels(fontMetrics, IDialogConstants.BUTTON_WIDTH); Object layoutData = browseButton.getLayoutData(); //This if statement fixes the truncated value of the browse button text if (layoutData instanceof GridData) { GridData dataForBrowseButton = (GridData) layoutData; Point minButtonSize = browseButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true); dataForBrowseButton.widthHint = Math.max(widthHint, minButtonSize.x); dataForBrowseButton.heightHint = Math.max(dataForBrowseButton.heightHint, minButtonSize.y); browseButton.setLayoutData(dataForBrowseButton); } browseButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { handleLocationBrowseButtonPressed(); } }); final IDataModel localModel = model; class LocationListener implements ModifyListener, IDataModelListener { private boolean typing = false; public void modifyText(ModifyEvent e) { if (!localModel.getBooleanProperty(USE_DEFAULT_LOCATION)) { try { typing = true; localModel.setProperty(USER_DEFINED_LOCATION, locationPathField.getText()); } finally { typing = false; } } } public void propertyChanged(DataModelEvent event) { boolean useDefault = localModel.getBooleanProperty(USE_DEFAULT_LOCATION); if (USE_DEFAULT_LOCATION.equals(event.getPropertyName())) { locationLabel.setEnabled(!useDefault); locationPathField.setEnabled(!useDefault); browseButton.setEnabled(!useDefault); if (useDefault) { locationPathField.setText(localModel.getStringProperty(DEFAULT_LOCATION)); } else { locationPathField.setText(localModel.getStringProperty(USER_DEFINED_LOCATION)); } } else if (!typing) { if ((useDefault && DEFAULT_LOCATION.equals(event.getPropertyName())) || (!useDefault && USER_DEFINED_LOCATION.equals(event.getPropertyName()))) { locationPathField.setText((String) event.getProperty()); } } } } LocationListener listener = new LocationListener(); listener.propertyChanged(new DataModelEvent(model, USE_DEFAULT_LOCATION, IDataModel.VALUE_CHG)); locationPathField.addModifyListener(listener); model.addListener(listener); }
From source file:org.eclipsetrader.ui.internal.ats.ReportViewPart.java
License:Open Source License
private Control createSummaryPage(Composite parent) { SashForm content = new SashForm(parent, SWT.VERTICAL | SWT.NO_FOCUS); GC gc = new GC(content); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose();/*from ww w. j ava2s . c o m*/ Composite composite = new Composite(content, SWT.NONE); composite.setLayout(new GridLayout(1, false)); Label label = new Label(composite, SWT.NONE); label.setText(Messages.ReportViewPart_Performance); equityChartViewer = new BaseChartViewer(composite, SWT.BORDER); equityChartViewer.setFillAvailableSpace(true); equityChartViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); composite = new Composite(content, SWT.NONE); composite.setLayout(new GridLayout(1, false)); label = new Label(composite, SWT.NONE); label.setText(Messages.ReportViewPart_Trades); tradesViewer = new TableViewer(composite, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); tradesViewer.getTable().setHeaderVisible(true); tradesViewer.getTable().setLinesVisible(false); tradesViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); content.setWeights(new int[] { 75, 25 }); final DateFormat dateFormat = Util.getDateFormat(); final NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setGroupingUsed(true); numberFormat.setMinimumFractionDigits(2); numberFormat.setMaximumFractionDigits(2); final NumberFormat priceNumberFormat = NumberFormat.getInstance(); priceNumberFormat.setGroupingUsed(false); priceNumberFormat.setMinimumFractionDigits(1); priceNumberFormat.setMaximumFractionDigits(4); TableViewerColumn vewerColumn = new TableViewerColumn(tradesViewer, SWT.NONE); vewerColumn.getColumn().setText(Messages.ReportViewPart_DateTime); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 60)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ITransaction transaction = (ITransaction) cell.getElement(); cell.setText(dateFormat.format(transaction.getOrder().getDate())); } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.NONE); vewerColumn.getColumn().setText(Messages.ReportViewPart_Instrument); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 150)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { IOrder order = ((ITransaction) cell.getElement()).getOrder(); if (order != null) { cell.setText(order.getSecurity().getName()); } } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.NONE); vewerColumn.getColumn().setText(Messages.ReportViewPart_Side); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 50)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { IOrder order = ((ITransaction) cell.getElement()).getOrder(); if (order != null) { cell.setText(order.getSide().toString()); } } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.RIGHT); vewerColumn.getColumn().setText(Messages.ReportViewPart_Qty); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 60)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ITransaction transaction = (ITransaction) cell.getElement(); if (transaction instanceof IStockTransaction) { cell.setText(String.valueOf(((IStockTransaction) transaction).getFilledQuantity())); } } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.RIGHT); vewerColumn.getColumn().setText(Messages.ReportViewPart_AvgPrice); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 60)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ITransaction transaction = (ITransaction) cell.getElement(); if (transaction instanceof IStockTransaction) { cell.setText(priceNumberFormat.format(((IStockTransaction) transaction).getAveragePrice())); } } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.RIGHT); vewerColumn.getColumn().setText(Messages.ReportViewPart_Amount); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 60)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { ITransaction transaction = (ITransaction) cell.getElement(); IOrder order = transaction.getOrder(); double amount = transaction.getAmount().getAmount(); if (order != null) { cell.setText(numberFormat.format(order.getSide() == IOrderSide.Buy ? -amount : amount)); } else { cell.setText(numberFormat.format(amount)); } } }); vewerColumn = new TableViewerColumn(tradesViewer, SWT.NONE); vewerColumn.getColumn().setText(Messages.ReportViewPart_Message); vewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 100)); vewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { IOrder order = ((ITransaction) cell.getElement()).getOrder(); if (order != null && order.getReference() != null) { cell.setText(order.getReference()); } } }); tradesViewer.setContentProvider(new ArrayContentProvider()); return content; }
From source file:org.eclipsetrader.ui.internal.charts.views.HistoryDataDetailEditor.java
License:Open Source License
void createViewer(Composite parent) { Tree tree = new Tree(parent, SWT.FULL_SELECTION | SWT.MULTI); tree.setHeaderVisible(true);//from ww w. jav a 2s . c o m tree.setLinesVisible(true); viewer = new TreeViewer(tree); IObservableFactory observableFactory = new IObservableFactory() { @Override public IObservable createObservable(Object target) { if (target instanceof HistoryDataDetailEditorModel) { return Observables .unmodifiableObservableList(((HistoryDataDetailEditorModel) target).getList()); } if (target instanceof HistoryDataEditorModel) { return Observables.unmodifiableObservableList(((HistoryDataEditorModel) target).getList()); } return null; } }; TreeStructureAdvisor treeStructureAdvisor = new TreeStructureAdvisor() { @Override public Boolean hasChildren(Object element) { if (element instanceof HistoryDataEditorModel) { return true; } return false; } }; ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider(observableFactory, treeStructureAdvisor); viewer.setContentProvider(contentProvider); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Time); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.timeValue(), BeanProperties.value(HistoryDataElement.PROP_DATE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Open); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_OPEN))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_High); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_HIGH))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Low); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_LOW))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Close); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_CLOSE))); viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataDetailEditor_Volume); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(tree), CellEditorValueProperty.longValue(), BeanProperties.value(HistoryDataElement.PROP_VOLUME))); if (Platform.WS_GTK.equals(Platform.getWS())) { viewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setWidth(1); } final String[] properties = new String[] { HistoryDataElement.PROP_DATE, HistoryDataElement.PROP_OPEN, HistoryDataElement.PROP_HIGH, HistoryDataElement.PROP_LOW, HistoryDataElement.PROP_CLOSE, HistoryDataElement.PROP_VOLUME, "" //$NON-NLS-1$ }; DataViewerLabelProvider labelProvider = new DataViewerLabelProvider( BeansObservables.observeMaps(contentProvider.getKnownElements(), properties)); labelProvider.setDateFormat(Util.getTimeFormat()); viewer.setLabelProvider(labelProvider); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object o1, Object o2) { if ((o1 instanceof HistoryDataEditorModel) && (o2 instanceof HistoryDataEditorModel)) { TimeSpan ts1 = ((HistoryDataEditorModel) o1).getBarSize(); TimeSpan ts2 = ((HistoryDataEditorModel) o2).getBarSize(); if (ts1.higherThan(ts2)) { return 1; } if (ts2.higherThan(ts1)) { return -1; } return 0; } else if ((o1 instanceof HistoryDataElement) && (o2 instanceof HistoryDataElement)) { HistoryDataElement e1 = (HistoryDataElement) o1; HistoryDataElement e2 = (HistoryDataElement) o2; if (e1.getDate() != null && e2.getDate() != null) { return e1.getDate().compareTo(e2.getDate()); } if (e1.getDate() != null && e2.getDate() == null) { return -1; } if (e1.getDate() == null && e2.getDate() != null) { return 1; } } return 0; } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { if (cell.getColumnIndex() == properties.length - 1) { return null; } Tree tree = ((TreeViewer) viewer).getTree(); tree.showColumn(tree.getColumn(cell.getColumnIndex())); } return cell; } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer), naviStrat); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, focusCellManager, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); tree.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_ESCAPE) { e.doit = false; } } }); tree.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (viewer.isCellEditorActive()) { return; } if (e.keyCode == SWT.INSERT) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); HistoryDataEditorModel parent = null; int index = 0; if (!selection.isEmpty()) { parent = model.getParent(selection.getFirstElement()); if (parent == null) { return; } index = parent.getList().indexOf(selection.getFirstElement()); if (index == -1) { index = parent.getList().size(); } } final HistoryDataElement element = new HistoryDataElement(); parent.getList().add(index, element); e.doit = false; Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getControl().isDisposed()) { viewer.editElement(element, 0); } } }); } else if (e.character == SWT.DEL) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); for (Object element : selection.toList()) { HistoryDataEditorModel parent = model.getParent(selection.getFirstElement()); if (parent != null) { if (parent.getList().remove(element)) { changeSupport.firePropertyChange(PROP_DIRTY, dirty, dirty = true); } } } } } }); viewer.setInput(model); }
From source file:org.eclipsetrader.ui.internal.charts.views.HistoryDataEditor.java
License:Open Source License
void createViewer(Composite parent) { Table table = new Table(parent, SWT.FULL_SELECTION | SWT.MULTI); table.setHeaderVisible(true);//www . j a v a 2 s. com table.setLinesVisible(true); viewer = new TableViewer(table); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); viewer.setContentProvider(contentProvider); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_Date); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.dateValue(), BeanProperties.value(HistoryDataElement.PROP_DATE))); viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_Open); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_OPEN))); viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_High); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_HIGH))); viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_Low); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_LOW))); viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_Close); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 55)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.doubleValue(), BeanProperties.value(HistoryDataElement.PROP_CLOSE))); viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setText(Messages.HistoryDataEditor_Volume); viewerColumn.getColumn().setWidth(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 70)); viewerColumn.setEditingSupport(ObservableValueEditingSupport.create(viewer, dbc, new TextCellEditor(table), CellEditorValueProperty.longValue(), BeanProperties.value(HistoryDataElement.PROP_VOLUME))); if (Platform.WS_GTK.equals(Platform.getWS())) { viewerColumn = new TableViewerColumn(viewer, SWT.RIGHT); viewerColumn.getColumn().setWidth(1); } final String[] properties = new String[] { HistoryDataElement.PROP_DATE, HistoryDataElement.PROP_OPEN, HistoryDataElement.PROP_HIGH, HistoryDataElement.PROP_LOW, HistoryDataElement.PROP_CLOSE, HistoryDataElement.PROP_VOLUME, "" //$NON-NLS-1$ }; DataViewerLabelProvider labelProvider = new DataViewerLabelProvider( BeansObservables.observeMaps(contentProvider.getKnownElements(), properties)); labelProvider.setDateFormat(Util.getDateFormat()); viewer.setLabelProvider(labelProvider); viewer.setSorter(new ViewerSorter() { @Override public int compare(Viewer viewer, Object o1, Object o2) { HistoryDataElement e1 = (HistoryDataElement) o1; HistoryDataElement e2 = (HistoryDataElement) o2; if (e1.getDate() != null && e2.getDate() != null) { return e1.getDate().compareTo(e2.getDate()); } if (e1.getDate() != null && e2.getDate() == null) { return -1; } if (e1.getDate() == null && e2.getDate() != null) { return 1; } return 0; } }); CellNavigationStrategy naviStrat = new CellNavigationStrategy() { @Override public ViewerCell findSelectedCell(ColumnViewer viewer, ViewerCell currentSelectedCell, Event event) { ViewerCell cell = super.findSelectedCell(viewer, currentSelectedCell, event); if (cell != null) { if (cell.getColumnIndex() == properties.length - 1) { return null; } Table table = ((TableViewer) viewer).getTable(); table.showColumn(table.getColumn(cell.getColumnIndex())); } return cell; } }; TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer), naviStrat); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(viewer, focusCellManager, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); table.addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN || e.detail == SWT.TRAVERSE_ESCAPE) { e.doit = false; } } }); table.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (viewer.isCellEditorActive()) { return; } if (e.keyCode == SWT.INSERT) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); int index = 0; if (!selection.isEmpty()) { index = model.getList().indexOf(selection.getFirstElement()); if (index == -1) { index = model.getList().size(); } } final HistoryDataElement element = new HistoryDataElement(); model.getList().add(index, element); e.doit = false; Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getControl().isDisposed()) { viewer.editElement(element, 0); } } }); } else if (e.character == SWT.DEL) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (model.getList().removeAll(selection.toList())) { changeSupport.firePropertyChange(PROP_DIRTY, dirty, dirty = true); } } } }); viewer.setInput(model.getList()); }
From source file:org.eclipsetrader.ui.internal.editors.BaseJavaScriptEditor.java
License:Open Source License
private void createStatusBar(Composite parent) { Composite contents = new Composite(parent, SWT.NONE); contents.setLayout(new GridLayout(5, false)); contents.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose();//w w w. j a v a2 s .c o m int heightHint = Dialog.convertVerticalDLUsToPixels(fontMetrics, 12); Label label = new Label(contents, SWT.NONE); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); label = new Label(contents, SWT.SEPARATOR | SWT.VERTICAL); label.setLayoutData(new GridData(SWT.DEFAULT, heightHint)); cursorLocation = new Label(contents, SWT.NONE); cursorLocation .setLayoutData(new GridData(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 60), SWT.DEFAULT)); cursorLocation.setAlignment(SWT.CENTER); label = new Label(contents, SWT.SEPARATOR | SWT.VERTICAL); label.setLayoutData(new GridData(SWT.DEFAULT, heightHint)); label = new Label(contents, SWT.NONE); label.setLayoutData(new GridData(Dialog.convertHorizontalDLUsToPixels(fontMetrics, 16), SWT.DEFAULT)); }
From source file:org.fusesource.ide.foundation.ui.form.FormSupport.java
License:Open Source License
protected int convertHorizontalDLUsToPixels(int dlus) { // test for failure to initialize for backward compatibility if (fontMetrics == null) { return 0; }//from w w w. j a va2 s .co m return Dialog.convertHorizontalDLUsToPixels(fontMetrics, dlus); }