List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider ObservableListContentProvider
public ObservableListContentProvider()
From source file:com.hibouhome.rcp.spikes.databinding.parts.StockistsPart.java
License:Open Source License
private void createRegionsListViewer(final Composite parent) { regionsListViewer = new ListViewer(parent); regionsListViewer.getList().setLayoutData(new GridData(120, 300)); regionsListViewer.setLabelProvider(new LabelProvider() { @Override//from ww w. j a v a 2s . c o m public String getText(final Object element) { return ((Region) element).getName(); } }); regionsListViewer.setContentProvider(new ObservableListContentProvider()); }
From source file:com.hibouhome.rcp.spikes.databinding.parts.StockistsPart.java
License:Open Source License
private void createStockistsListViewer(final Composite parent) { stockistsListViewer = new ListViewer(parent); stockistsListViewer.getList().setLayoutData(new GridData(180, 300)); stockistsListViewer.setLabelProvider(new LabelProvider() { @Override/*from w w w .j a v a 2 s. c om*/ public String getText(final Object element) { return ((Stockist) element).getName(); } }); stockistsListViewer.setContentProvider(new ObservableListContentProvider()); }
From source file:com.htmlhifive.tools.jslint.view.TargetStructureComposite.java
License:Apache License
/** * ??./*from w w w. j a va2s.c o m*/ */ private void createContents() { setText(Messages.WT0003.getText()); setLayout(new GridLayout(1, false)); Composite composite = new Composite(this, SWT.NONE); composite.setLayout(new GridLayout(1, false)); Link link = new Link(composite, SWT.NONE); link.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doLinkWidgetSelected(e); } }); link.setSize(84, 18); link.setText(Messages.DL0008.getText()); Group group = new Group(this, SWT.NONE); GridData gdGroup = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gdGroup.heightHint = 150; group.setLayoutData(gdGroup); group.setText(Messages.WT0002.getText()); group.setLayout(new GridLayout(1, false)); treeViewerSource = new TreeViewer(group, SWT.BORDER); Tree treeSource = treeViewerSource.getTree(); GridData gdTreeSource = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gdTreeSource.widthHint = 300; treeSource.setLayoutData(gdTreeSource); IListProperty childrenProperty = new MultiListProperty( new IListProperty[] { PojoProperties.list("children") }); ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( childrenProperty.listFactory(), null); treeViewerSource.setContentProvider(contentProvider); ObservableMapLabelProvider labelProvider = new ObservableMapLabelProvider( PojoProperties.value("label").observeDetail(contentProvider.getKnownElements())) { @Override public Image getImage(Object element) { LibraryTreeModel model = (LibraryTreeModel) element; Object data = model.getData(); if (data instanceof IncludePathEntryWrapper) { return JavaScriptUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKFRAG_ROOT); } if (data instanceof IPath) { return JavaScriptUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CUNIT); } if (StringUtils.equals(model.getLabel(), LABEL_INCLUDED)) { return JavaPluginImages.DESC_OBJS_INCLUSION_FILTER_ATTRIB.createImage(); } else if (StringUtils.equals(model.getLabel(), LABEL_EXCLUDED)) { return JavaPluginImages.DESC_OBJS_EXCLUSION_FILTER_ATTRIB.createImage(); } return null; } }; treeViewerSource.setLabelProvider(labelProvider); treeViewerSource.setInput(createSourceViewInput()); Label labelDescLib = new Label(this, SWT.NONE); labelDescLib.setToolTipText(Messages.DTT0000.getText()); labelDescLib.setText(Messages.DL0017.getText()); // ?. Group grpInternalLibrary = new Group(this, SWT.NONE); grpInternalLibrary.setLayout(new GridLayout(2, false)); GridData gdGrpInternalLibrary = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gdGrpInternalLibrary.heightHint = 150; grpInternalLibrary.setLayoutData(gdGrpInternalLibrary); grpInternalLibrary.setText(Messages.WT0004.getText()); tableViewerInternalLib = CheckboxTableViewer.newCheckList(grpInternalLibrary, SWT.BORDER | SWT.FULL_SELECTION); // tableViewerInternalLib = new TableViewer(grpLibrary, SWT.BORDER | // SWT.CHECK | // SWT.FULL_SELECTION); Table table = tableViewerInternalLib.getTable(); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gridData.widthHint = 300; table.setLayoutData(gridData); Composite compInternalLibButton = new Composite(grpInternalLibrary, SWT.NONE); compInternalLibButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); compInternalLibButton.setLayout(new GridLayout(1, false)); Button btnInternalAllSelect = new Button(compInternalLibButton, SWT.NONE); btnInternalAllSelect.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doBtnInternalAllSelectWidgetSelected(e); } }); GridData gdBtnInternalAllSelect = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gdBtnInternalAllSelect.widthHint = 60; btnInternalAllSelect.setLayoutData(gdBtnInternalAllSelect); btnInternalAllSelect.setText(Messages.B0006.getText()); Button btnInternalAllRelease = new Button(compInternalLibButton, SWT.NONE); btnInternalAllRelease.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doBtnInternalAllReleaseWidgetSelected(e); } }); GridData gdBtnInternalAllRelease = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gdBtnInternalAllRelease.widthHint = 60; btnInternalAllRelease.setLayoutData(gdBtnInternalAllRelease); btnInternalAllRelease.setText(Messages.B0007.getText()); IObservableList observableList = createInternalLibViewInput(); tableViewerInternalLib.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { WritableValue value = (WritableValue) element; return value.getValue().toString(); } @Override public Image getImage(Object element) { return JavaScriptUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_LIBRARY); } }); ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); tableViewerInternalLib.setContentProvider(listContentProvider); tableViewerInternalLib.setInput(observableList); // ?. Group grpExternalLibrary = new Group(this, SWT.NONE); grpExternalLibrary.setText(Messages.WT0006.getText()); grpExternalLibrary.setLayout(new GridLayout(2, false)); GridData gdGrpExternalLibrary = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1); gdGrpExternalLibrary.heightHint = 150; grpExternalLibrary.setLayoutData(gdGrpExternalLibrary); tableViewerExternalLib = CheckboxTableViewer.newCheckList(grpExternalLibrary, SWT.BORDER | SWT.FULL_SELECTION); Table tableExternalLib = tableViewerExternalLib.getTable(); GridData gdTableExternalLib = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gdTableExternalLib.widthHint = 300; tableExternalLib.setLayoutData(gdTableExternalLib); Composite compExternalLibButton = new Composite(grpExternalLibrary, SWT.NONE); compExternalLibButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); compExternalLibButton.setLayout(new GridLayout(1, false)); Button btnExternalAllSelect = new Button(compExternalLibButton, SWT.NONE); btnExternalAllSelect.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doBtnExternalAllSelectWidgetSelected(e); } }); GridData gdBtnExternalAllSelect = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gdBtnExternalAllSelect.widthHint = 60; btnExternalAllSelect.setLayoutData(gdBtnExternalAllSelect); btnExternalAllSelect.setText(Messages.B0006.getText()); Button btnExternalAllRelease = new Button(compExternalLibButton, SWT.NONE); btnExternalAllRelease.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doBtnExternalAllReleaseWidgetSelected(e); } }); GridData gdBtnExternalAllRelease = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gdBtnExternalAllRelease.widthHint = 60; btnExternalAllRelease.setLayoutData(gdBtnExternalAllRelease); btnExternalAllRelease.setText(Messages.B0007.getText()); IObservableList externalObservableList = createExternalLibViewInput(); tableViewerExternalLib.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { String value = (String) element; return value; } @Override public Image getImage(Object element) { return JavaScriptUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_LIBRARY); } }); ObservableListContentProvider listExternalContentProvider = new ObservableListContentProvider(); tableViewerExternalLib.setContentProvider(listExternalContentProvider); tableViewerExternalLib.setInput(externalObservableList); initialDataBinding(); initialModel(); }
From source file:com.maccasoft.composer.InstrumentToolBar.java
License:Open Source License
public InstrumentToolBar(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(3, false); gridLayout.marginWidth = gridLayout.marginHeight = 0; composite.setLayout(gridLayout);/*from w w w.j a v a 2 s .c o m*/ shell = parent.getShell(); GC gc = new GC(parent); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); Label label = new Label(composite, SWT.NONE); label.setText("Instrument"); viewer = new ComboViewer(composite, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.NO_FOCUS); viewer.getCombo().setVisibleItemCount(20); viewer.getCombo() .setLayoutData(new GridData(Dialog.convertWidthInCharsToPixels(fontMetrics, 30), SWT.DEFAULT)); viewer.setContentProvider(new ObservableListContentProvider()); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return String.format("%s - %s", project.getInstrumentId((Instrument) element), element.toString()); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); duplicate.setEnabled(!selection.isEmpty()); edit.setEnabled(!selection.isEmpty()); delete.setEnabled(!selection.isEmpty()); } }); ToolBar toolBar = new ToolBar(composite, SWT.FLAT | SWT.NO_FOCUS); ToolItem toolItem = new ToolItem(toolBar, SWT.PUSH); toolItem.setImage(ImageRegistry.getImageFromResources("application_add.png")); toolItem.setToolTipText("New instrument"); toolItem.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Instrument instrument = new InstrumentBuilder("New instrument") // .setModulation(0, 50) // .setVolume(95) // .setEnvelope(2, 2).repeat(1) // .jump(-1).build(); InstrumentEditor editor = new InstrumentEditor(shell, instrument); editor.setSerialPort(serialPort); if (editor.open() == InstrumentEditor.OK) { project.add(instrument); viewer.setSelection(new StructuredSelection(instrument)); } } }); duplicate = new ToolItem(toolBar, SWT.PUSH); duplicate.setImage(ImageRegistry.getImageFromResources("application_double.png")); duplicate.setToolTipText("Duplicate instrument"); duplicate.setEnabled(false); duplicate.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = viewer.getStructuredSelection(); if (selection.isEmpty()) { return; } Instrument selectedInstrument = (Instrument) selection.getFirstElement(); Instrument instrument = new Instrument(selectedInstrument.getName() + " (1)"); List<Command> list = new ArrayList<Command>(); try { for (Command cmd : selectedInstrument.getCommands()) { list.add(cmd.clone()); } instrument.setCommands(list); } catch (Exception ex) { ex.printStackTrace(); } InstrumentEditor editor = new InstrumentEditor(shell, instrument); editor.setSerialPort(serialPort); if (editor.open() == InstrumentEditor.OK) { project.add(instrument); viewer.setSelection(new StructuredSelection(instrument)); } } }); edit = new ToolItem(toolBar, SWT.PUSH); edit.setImage(ImageRegistry.getImageFromResources("application_edit.png")); edit.setToolTipText("Edit instrument"); edit.setEnabled(false); edit.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = viewer.getStructuredSelection(); if (selection.isEmpty()) { return; } Instrument selectedInstrument = (Instrument) selection.getFirstElement(); InstrumentEditor editor = new InstrumentEditor(shell, selectedInstrument); editor.setSerialPort(serialPort); if (editor.open() == InstrumentEditor.OK) { viewer.refresh(); viewer.setSelection(new StructuredSelection(selectedInstrument)); } } }); new ToolItem(toolBar, SWT.SEPARATOR); delete = new ToolItem(toolBar, SWT.PUSH); delete.setImage(ImageRegistry.getImageFromResources("application_delete.png")); delete.setToolTipText("Delete instrument"); delete.setEnabled(false); delete.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = viewer.getStructuredSelection(); if (selection.isEmpty()) { return; } Instrument selectedInstrument = (Instrument) selection.getFirstElement(); if (isInstrumentUsed(selectedInstrument)) { if (!MessageDialog.openConfirm(shell, Main.APP_TITLE, "The instrument is used in a song. You really want to delete?")) { return; } } project.remove(selectedInstrument); } }); }
From source file:com.maccasoft.composer.MusicEditor.java
License:Open Source License
void createHeader(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(12, false); gridLayout.marginWidth = gridLayout.marginHeight = 0; composite.setLayout(gridLayout);//w w w.j av a2s. c om composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); Label label = new Label(composite, SWT.NONE); label.setText("Song"); songsCombo = new ComboViewer(composite, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.NO_FOCUS); songsCombo.getCombo().setVisibleItemCount(20); songsCombo.getCombo() .setLayoutData(new GridData(Dialog.convertWidthInCharsToPixels(fontMetrics, 30), SWT.DEFAULT)); songsCombo.setContentProvider(new ObservableListContentProvider()); songsCombo.setLabelProvider(new LabelProvider()); ToolBar toolBar = new ToolBar(composite, SWT.FLAT | SWT.NO_FOCUS); edit = new ToolItem(toolBar, SWT.PUSH); edit.setImage(ImageRegistry.getImageFromResources("application_edit.png")); edit.setToolTipText("Rename"); edit.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IInputValidator validator = new IInputValidator() { @Override public String isValid(String newText) { if (newText.length() == 0) { return ""; } for (Song song : project.getSongs()) { if (song != currentSong && newText.equalsIgnoreCase(song.getName())) { return "A song with the same title already exists"; } } return null; } }; InputDialog dlg = new InputDialog(shell, "Rename Song", "Title:", currentSong.getName(), validator); if (dlg.open() == InputDialog.OK) { currentSong.setName(dlg.getValue()); songsCombo.refresh(); } } }); new ToolItem(toolBar, SWT.SEPARATOR); play = new ToolItem(toolBar, SWT.PUSH); play.setImage(ImageRegistry.getImageFromResources("control_play_blue.png")); play.setToolTipText("Play"); play.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Runnable playThread = new Runnable() { @Override public void run() { try { ProjectCompiler compiler = new ProjectCompiler(project); Music music = compiler.build(currentSong); byte[] data = music.toArray(); try { serialPort.writeInt('P'); serialPort.writeInt(data.length & 0xFF); serialPort.writeInt((data.length >> 8) & 0xFF); serialPort.writeBytes(data); } catch (SerialPortException e) { e.printStackTrace(); } } catch (final ProjectException ex) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { if (shell.isDisposed()) { return; } MessageDialog.openError(shell, Main.APP_TITLE, "An error occurred while compiling song:\r\n\r\n" + ex.getMessage()); focusOnErrorCell(ex); } }); } } }; new Thread(playThread).start(); } }); stop = new ToolItem(toolBar, SWT.PUSH); stop.setImage(ImageRegistry.getImageFromResources("control_stop_blue.png")); stop.setToolTipText("Stop"); stop.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { serialPort.writeInt('0'); } catch (SerialPortException ex) { ex.printStackTrace(); } } }); new ToolItem(toolBar, SWT.SEPARATOR); delete = new ToolItem(toolBar, SWT.PUSH); delete.setImage(ImageRegistry.getImageFromResources("application_delete.png")); delete.setToolTipText("Delete song"); delete.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = songsCombo.getStructuredSelection(); if (selection.isEmpty()) { return; } if (!MessageDialog.openConfirm(shell, Main.APP_TITLE, "You really want to delete this song?")) { return; } int index = project.getSongs().indexOf(selection.getFirstElement()); if (index > 0) { songsCombo.setSelection(new StructuredSelection(project.getSong(index - 1))); } else { songsCombo.setSelection(new StructuredSelection(project.getSong(index + 1))); } project.getObservableSongs().remove(selection.getFirstElement()); delete.setEnabled(currentSong != null && project.getSongs().size() > 1); } }); label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); label = new Label(composite, SWT.NONE); label.setText("BPM"); bpm = new Spinner(composite, SWT.BORDER | SWT.NO_FOCUS); bpm.setValues(120, 0, 9999, 0, 1, 1); bpm.setLayoutData(new GridData(Dialog.convertWidthInCharsToPixels(fontMetrics, 5), SWT.DEFAULT)); bpm.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (currentSong != null) { currentSong.setBpm(bpm.getSelection()); } } }); label = new Label(composite, SWT.NONE); label.setText("Rows"); rows = new Spinner(composite, SWT.BORDER | SWT.NO_FOCUS); rows.setValues(0, 0, 9999, 0, 1, 1); rows.setLayoutData(new GridData(Dialog.convertWidthInCharsToPixels(fontMetrics, 5), SWT.DEFAULT)); rows.setEnabled(false); rows.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (currentSong == null) { return; } int totalRows = rows.getSelection(); while (currentSong.getObservableRows().size() > totalRows) { currentSong.getObservableRows().remove(currentSong.getObservableRows().size() - 1); } while (currentSong.getObservableRows().size() < totalRows) { currentSong.getObservableRows().add(new SongRow()); } } }); label = new Label(composite, SWT.NONE); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); label = new Label(composite, SWT.NONE); label.setText("Octave"); octave = new Spinner(composite, SWT.BORDER | SWT.NO_FOCUS); octave.setValues(3, 1, 9, 0, 1, 1); octave.setLayoutData(new GridData(Dialog.convertWidthInCharsToPixels(fontMetrics, 3), SWT.DEFAULT)); octave.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.getControl().setFocus(); } }); instrumentToolBar = new InstrumentToolBar(composite); songsCombo.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); currentSong = (Song) selection.getFirstElement(); updateSongView(); } }); }
From source file:com.maccasoft.composer.MusicEditor.java
License:Open Source License
void createMusicViewer(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText("Pattern"); group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); group.setLayout(new GridLayout(1, false)); final Font font; if ("win32".equals(SWT.getPlatform())) { font = new Font(Display.getDefault(), "Courier New", 10, SWT.NONE); } else {/* w w w. j av a 2 s.c o m*/ font = new Font(Display.getDefault(), "mono", 10, SWT.NONE); } GC gc = new GC(group); gc.setFont(font); FontMetrics fontMetrics = gc.getFontMetrics(); gc.dispose(); Grid table = new Grid(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); table.setHeaderVisible(true); table.setLinesVisible(false); table.setRowHeaderVisible(true); table.setItemHeaderWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); table.setCellSelectionEnabled(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); table.setFont(font); table.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { font.dispose(); } }); viewer = new GridTableViewer(table); ObservableListContentProvider contentProvider = new ObservableListContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (oldInput != null) { ((IObservableList) oldInput).removeListChangeListener(listChangeListener); } if (newInput != null) { ((IObservableList) newInput).addListChangeListener(listChangeListener); } Display.getDefault().timerExec(0, rowBackgroundUpdateRunnable); super.inputChanged(viewer, oldInput, newInput); } }; viewer.setContentProvider(contentProvider); viewer.setRowHeaderLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { int index = ((IObservableList) viewer.getInput()).indexOf(cell.getElement()); cell.setText(String.format("%02X", index)); } }); for (int ch = 0; ch < Project.channelLabels.length; ch++) { final int channel = ch; GridColumnGroup columnGroup = new GridColumnGroup(table, SWT.NONE); columnGroup.setText(Project.channelLabels[ch]); GridColumn column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Note"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); GridViewerColumn viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); cell.setText(element.getNote(channel)); } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getNote(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setNote(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Ins."); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getInstrument(channel); cell.setText(value); if (project.getInstrument(value) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getInstrument(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setInstrument(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx1"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx1(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx1(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx1(channel, value.toString()); viewer.update(element, null); } }); column = new GridColumn(columnGroup, SWT.CENTER); column.setText("Fx2"); column.setWidth(Dialog.convertWidthInCharsToPixels(fontMetrics, 6)); viewerColumn = new GridViewerColumn(viewer, column); viewerColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SongRow element = (SongRow) cell.getElement(); String value = element.getFx2(channel); cell.setText(value); if (value.startsWith("TR") && project.getInstrument(element.getInstrument(channel)) == null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); } else { cell.setForeground(null); } } }); viewerColumn.setEditingSupport(new TextEditingSupport(viewer) { @Override protected Object getValue(Object element) { return ((SongRow) element).getFx2(channel); } @Override protected void setValue(Object element, Object value) { ((SongRow) element).setFx2(channel, value.toString()); viewer.update(element, null); } }); } table.addKeyListener(new NoteKeyListener(viewer) { @Override protected int getOctave() { return octave.getSelection(); } @Override protected String getInstrument() { IStructuredSelection selection = instrumentToolBar.getStructuredSelection(); String id = project.getInstrumentId((Instrument) selection.getFirstElement()); return id != null ? id : super.getInstrument(); } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.character == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationStrategy.setEnableEditorActivationWithKeyboard(true); GridViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | GridViewerEditor.SELECTION_FOLLOWS_EDITOR); }
From source file:com.netxforge.netxstudio.callflow.screens.referenceNetwork.ComboBoxCellEditingSupport.java
License:Open Source License
public ComboBoxCellEditingSupport(ColumnViewer viewer, DataBindingContext dbc, Composite control, EditingDomain domain, FeaturePath path) { super(viewer, dbc); this.editingDomain = domain; this.path = path; cellEditor = new ComboBoxViewerCellEditor(control, SWT.READ_ONLY); // TODO, In a better version, use the editing service adapterfactory for // naming.//from www . j av a2 s .com cellEditor.setLabelProvider(new LabelProvider() { /* * (non-Javadoc) * * @see * org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object) */ @Override public String getText(Object element) { if (element instanceof NodeType) { return ((NodeType) element).getName(); } else if (element instanceof Protocol) { return ((Protocol) element).getName(); } else if (element instanceof ReferenceRelationship) { ReferenceRelationship rel = (ReferenceRelationship) element; NodeType nt1 = rel.getRefInterface1Ref(); NodeType nt2 = rel.getRefInterface2Ref(); StringBuffer buf = new StringBuffer(); buf.append(" ("); buf.append(nt1 != null ? nt1.getName() : " ?"); buf.append(" <--> "); buf.append(nt2 != null ? nt2.getName() : " ?"); buf.append(")"); String name = rel.getName(); return name != null ? name : buf.toString(); } else if (element instanceof ServiceFlowDirection) { switch (((ServiceFlowDirection) element).getValue()) { case ServiceFlowDirection.LEFTTORIGHT_VALUE: { return "-->"; } case ServiceFlowDirection.RIGHTTOLEFT_VALUE: { return "<--"; } } } else if (element instanceof Message) { Message m = (Message) element; String name = m.getName(); return name; } return super.getText(element); } }); ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); cellEditor.setContentProvider(listContentProvider); }
From source file:com.netxforge.netxstudio.screens.ch9.Expressions.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { Literals.EXPRESSION__NAME }); final ExpressionsObservableMapLabelProvider expressionsObservableMapLabelProvider = new ExpressionsObservableMapLabelProvider( observeMaps);/*from w ww . j a v a 2 s . com*/ tableViewer.setLabelProvider(expressionsObservableMapLabelProvider); IEMFListProperty l = EMFEditProperties.resource(editingService.getEditingDomain()); IObservableList expressionsObservableList = l.observe(this.expressionsResource); tableViewer.setInput(expressionsObservableList); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); return bindingContext; }
From source file:com.netxforge.netxstudio.screens.f1.details.NewEditServiceTree.java
License:Open Source License
public void bindToleranceSection() { ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); tolerancesTableViewer.setContentProvider(listContentProvider); IObservableMap[] observeMaps = EMFObservables.observeMaps(listContentProvider.getKnownElements(), new EStructuralFeature[] { LibraryPackage.Literals.TOLERANCE__NAME, LibraryPackage.Literals.TOLERANCE__LEVEL, LibraryPackage.Literals.TOLERANCE__EXPRESSION_REF }); tolerancesTableViewer.setLabelProvider(new ToleranceObservableMapLabelProvider(observeMaps)); IEMFListProperty l = EMFEditProperties.list(editingService.getEditingDomain(), ServicesPackage.Literals.RFS_SERVICE__TOLERANCE_REFS); tolerancesTableViewer.setInput(l.observe(service)); }
From source file:com.netxforge.netxstudio.screens.f1.details.NewEditServiceTree.java
License:Open Source License
public void bindNetworkElementSection() { ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); networkElementsTableViewer.setContentProvider(listContentProvider); IObservableSet set = listContentProvider.getKnownElements(); List<IObservableMap> mapList = Lists.newArrayList(); mapList.add(EMFEditProperties//from ww w . j ava 2 s . com .value(editingService.getEditingDomain(), ServicesPackage.Literals.RFS_SERVICE__NODES) .observeDetail(set)); mapList.add(EMFEditProperties .value(editingService.getEditingDomain(), OperatorsPackage.Literals.NODE__NODE_TYPE) .observeDetail(set)); mapList.add( EMFEditProperties.value(editingService.getEditingDomain(), OperatorsPackage.Literals.NODE__NODE_ID) .observeDetail(set)); // IObservableMap[] observeMaps = EMFObservables.observeMaps( // listContentProvider.getKnownElements(), // new EStructuralFeature[] {,}); IObservableMap[] map = new IObservableMap[mapList.size()]; mapList.toArray(map); networkElementsTableViewer.setLabelProvider(new NodeInServiceObservableMapLabelProvider(map)); IEMFListProperty l = EMFEditProperties.list(editingService.getEditingDomain(), ServicesPackage.Literals.RFS_SERVICE__NODES); networkElementsTableViewer.setInput(l.observe(service)); }