List of usage examples for org.eclipse.jface.viewers ViewerCell getElement
public Object getElement()
From source file:net.sf.jmoney.views.feedback.FeedbackView.java
License:Open Source License
private Control createTable(Composite parent) { viewer = new TreeViewer(parent, /*SWT.MULTI |*/ SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION); viewer.setContentProvider(new StatusContentProvider()); // viewer.setSorter(sorter); viewer.addFilter(filter);//from w w w . j av a 2s. c om Tree tree = viewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); TreeViewerColumn statusColumn = new TreeViewerColumn(viewer, SWT.LEFT); statusColumn.getColumn().setText("Status"); statusColumn.getColumn().setWidth(100); statusColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { IStatus statusElement = (IStatus) cell.getElement(); switch (statusElement.getSeverity()) { case IStatus.CANCEL: cell.setImage(JMoneyPlugin.createImage("status_canceled.gif")); break; case IStatus.ERROR: cell.setImage(JMoneyPlugin.createImage("status_error.gif")); break; case IStatus.WARNING: cell.setImage(JMoneyPlugin.createImage("status_warning.gif")); break; case IStatus.INFO: cell.setImage(JMoneyPlugin.createImage("status_info.gif")); break; case IStatus.OK: cell.setImage(JMoneyPlugin.createImage("status_ok.gif")); break; } } }); TreeViewerColumn descriptionColumn = new TreeViewerColumn(viewer, SWT.LEFT); descriptionColumn.getColumn().setText("Description"); descriptionColumn.getColumn().setWidth(300); descriptionColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { IStatus statusElement = (IStatus) cell.getElement(); cell.setText(statusElement.getMessage()); } }); // Create the pop-up menu MenuManager menuMgr = new MenuManager(); menuMgr.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); getSite().registerContextMenu(menuMgr, viewer); Control control = viewer.getControl(); Menu menu = menuMgr.createContextMenu(control); control.setMenu(menu); return control; }
From source file:net.sf.logsaw.ui.editors.LogViewEditor.java
License:Open Source License
@Override public LogEntry getSelectedLogEntry() { ViewerCell cell = focusCellManager.getFocusCell(); if ((cell != null) && (cell.getColumnIndex() > 0)) { return (LogEntry) cell.getElement(); }//from ww w . ja va 2s .c om return null; }
From source file:net.sf.smbt.ui.ableton.views.AbletonLiveView.java
License:LGPL
private void createDetailsPanel(Composite container) { container.setLayout(GridLayoutFactory.fillDefaults().create()); container.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); detailsPanel = GUIToolkit.INSTANCE.createComposite(container, SWT.DOUBLE_BUFFERED); detailsPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); detailsPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sash = new SashForm(detailsPanel, SWT.BORDER | SWT.VERTICAL); sash.setLayout(GridLayoutFactory.fillDefaults().create()); sash.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sash.setBackground(GUIToolkit.FG);/* ww w.j ava 2s . co m*/ Composite topPanel = GUIToolkit.INSTANCE.createComposite(detailsPanel, SWT.DOUBLE_BUFFERED); topPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); topPanel.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create()); Composite timeDetails = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.DOUBLE_BUFFERED); timeDetails.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); timeDetails.setLayoutData( GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(true, false).create()); // Tempo (BPM) /* Label tempoLabel = GUIToolkit.INSTANCE.createLabel(timeDetails, "Tempo: "); tempoLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).grab(true, false).create()); tempoValLabel = GUIToolkit.INSTANCE.createLabel(timeDetails, "-- Bpm"); tempoValLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).grab(true, false).create()); timeSongLCD = new SevenSegmentsDisplay(timeDetails, 5, SWT.NONE); timeSongLCD.setLayout(GridLayoutFactory.fillDefaults().create()); timeSongLCD.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).span(2, 1).hint(300, 75).grab(false, false).create()); timeSongLCD.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_GRAY)); */ Composite masterButtons = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.DOUBLE_BUFFERED); masterButtons.setLayout(GridLayoutFactory.fillDefaults().create()); masterButtons.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(true, false).create()); final Button playStopButton = new Button(masterButtons, SWT.TOGGLE); playStopButton.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(64, 64).minSize(64, 64).create()); playStopButton.setForeground(ColorsUtil.BG); playStopButton.setImage(playImageBig); playStopButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { if (playStopButton.getSelection()) { playStopButton.setImage(stopImageBig); liveController.handleMasterTrackState(MASTER_CTRL.PLAY); } else { playStopButton.setImage(playImageBig); liveController.handleMasterTrackState(MASTER_CTRL.STOP); } } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); /* Composite dbMeterPanel = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.DOUBLE_BUFFERED); dbMeterPanel.setLayout(GridLayoutFactory.fillDefaults().create()); dbMeterPanel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(true, true).create()); dbMeter = new UbiDbMeter(dbMeterPanel, SWT.HORIZONTAL); dbMeter.setMax(100f); dbMeter.setLayoutData(GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).hint(145, 145).grab(false, false).create()); */ // // Volume, Pan, Meter (R + L) // Composite upPanel = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.SHADOW_ETCHED_IN); upPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); upPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Composite vPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.SHADOW_ETCHED_IN); vPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); vPanel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(true, false).create()); masterVolume = new UbiKnob(vPanel, SWT.HORIZONTAL); masterVolume.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(48, 48).grab(false, false).create()); masterVolume.setMax(100f); masterVolume.setSelection(50); masterVolume.addSelectionListener(new UbiSelectionListener() { @Override public void handle() { float value = new Float(masterVolume.getSelection()) / 100f; if (value != liveController.getLiveApp().getMasterTrack().getVolume()) { liveController.getLiveApp().getMasterTrack().setVolume(value); } } }); masterVolume.addMenuAction(new LinkOscAbletonCommandAction(masterVolume, ABLETON_OSC_MAPPING.MASTER_VOLUME.getLiteral(), 100f)); Label masterVolumeLabel = GUIToolkit.INSTANCE.createLabel(vPanel, "Vol"); masterVolumeLabel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(false, false).create()); Composite pPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.DOUBLE_BUFFERED); pPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); pPanel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, false).create()); masterPan = new UbiKnob(pPanel, SWT.HORIZONTAL); masterPan.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(48, 48).grab(false, false).create()); masterPan.setMax(100f); masterPan.setSelection(50); masterPan.addSelectionListener(new UbiSelectionListener() { @Override public void handle() { float value = new Float(masterPan.getSelection() - 50) / 50f; if (value != liveController.getLiveApp().getMasterTrack().getPan()) { liveController.getLiveApp().getMasterTrack().setPan(value); } } }); masterPan.addMenuAction( new LinkOscAbletonCommandAction(masterPan, ABLETON_OSC_MAPPING.MASTER_VOLUME.getLiteral(), 100f)); Label masterPanLabel = GUIToolkit.INSTANCE.createLabel(pPanel, "Pan"); masterPanLabel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(false, false).create()); // // Vu Meters // Composite vuMetersPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.DOUBLE_BUFFERED); vuMetersPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).create()); vuMetersPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); //leftMasterVu.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).hint(250, SWT.DEFAULT).grab(true, false).create()); /* Label rightMasterVuLabel = GUIToolkit.INSTANCE.createLabel(vuMetersPanel, "L/R "); rightMasterVuLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(false, false).create()); */ masterVu = new UbiVuMeter(vuMetersPanel, SWT.VERTICAL); masterVu.setLevel(0); masterVu.setMax(100); masterVu.setLayout(GridLayoutFactory.fillDefaults().create()); masterVu.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(20, 250).grab(true, false).create()); Composite tracksPanel = GUIToolkit.INSTANCE.createComposite(sash, SWT.DOUBLE_BUFFERED); tracksPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).create()); tracksPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); subDetailsViewer = GUIToolkit.INSTANCE.createTreeViewer(tracksPanel, SWT.FULL_SELECTION); subDetailsViewer.getTree().setLinesVisible(true); subDetailsViewer.setLabelProvider(new AbletonLiveLabelProvider()); AbletonLiveDetailsContentProvider abletonLiveDetailsContentProvider = new AbletonLiveDetailsContentProvider(); subDetailsViewer.setContentProvider(abletonLiveDetailsContentProvider); subDetailsViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); subDetailsViewer.getTree().setHeaderVisible(true); subDetailsViewer.getTree().setLinesVisible(true); subDetailsViewer.setInput(liveController.getLiveApp()); subDetailsViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { doubleClickAction2.run(); } }); /* subDetailsViewer.getControl().addListener (SWT.MouseDown, new Listener() { public void handleEvent (Event event) { Tree tree = (Tree) subDetailsViewer.getControl(); Rectangle clientArea = tree.getClientArea (); Point pt = new Point(event.x, event.y); int index = 0; while (index < tree.getItemCount ()) { boolean visible = false; TreeItem item = ((Tree)subDetailsViewer.getControl()).getItem (index); for (int i=0; i < tree.getColumnCount(); i++) { Rectangle rect = item.getBounds (i); rect.width = 16; if (rect.contains (pt)) { handleToggleClip(index, i, item.getData()); } if (!visible && rect.intersects (clientArea)) { visible = true; } } if (!visible) return; index++; } } }); */ TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(subDetailsViewer, new FocusCellOwnerDrawHighlighter(subDetailsViewer) { @Override public ViewerCell getFocusCell() { ViewerCell cell = super.getFocusCell(); handleClipDetails(cell.getElement(), cell.getColumnIndex()); return cell; } }); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( subDetailsViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return false; } }; TreeViewerEditor.create(subDetailsViewer, focusCellManager, actSupport, ColumnViewerEditor.KEYBOARD_ACTIVATION); scXui = GUIToolkit.INSTANCE.createScrolledComposite(sash); scXui.setLayout(GridLayoutFactory.fillDefaults().create()); scXui.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); scXui.getParent().setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); xuiPanel = GUIToolkit.INSTANCE.createComposite(scXui, SWT.DOUBLE_BUFFERED); xuiPanelLayout = GridLayoutFactory.fillDefaults().numColumns(16).equalWidth(false).margins(0, 0) .extendedMargins(0, 0, 0, 0).spacing(0, 0).create(); xuiPanel.setLayout(xuiPanelLayout); xuiPanel.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); scXui.setExpandVertical(true); scXui.setExpandHorizontal(true); scXui.setAlwaysShowScrollBars(true); scXui.setOrientation(SWT.VERTICAL); scXui.setContent(xuiPanel); scXui.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { Rectangle r = sash.getClientArea(); scXui.setMinSize(xuiPanel.computeSize(r.width, SWT.DEFAULT)); } }); /* int realWidth = 0; for (TreeViewerColumn c : treeColumnsMap.values()) { realWidth += c.getColumn().getWidth(); } ((GridData)xuiPanel.getLayoutData()).minimumWidth = realWidth; hbarScXui = new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { sc.getHorizontalBar().removeSelectionListener(hbarSc); sc.getHorizontalBar().setSelection(e.x); sc.getHorizontalBar().addSelectionListener(hbarSc); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }; if (scXui.getHorizontalBar() != null) { scXui.getHorizontalBar().addSelectionListener( hbarScXui ); } */ devicesPanel = GUIToolkit.INSTANCE.createComposite(sash, SWT.DOUBLE_BUFFERED); devicesPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).equalWidth(false).create()); devicesPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); bottomSash = new SashForm(devicesPanel, SWT.HORIZONTAL); bottomSash.setLayout(GridLayoutFactory.fillDefaults().create()); bottomSash.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); bottomSash.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); devicesViewer = GUIToolkit.INSTANCE.createTreeViewer(bottomSash, SWT.FULL_SELECTION); devicesViewer.setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { if (element instanceof AbstractLiveDevice) { return deviceImage; } else if (element instanceof LiveParam) { return paramImage; } return deviceImage; } @Override public String getText(Object element) { if (element instanceof AbstractLiveDevice) { return ((AbstractLiveDevice) element).getDeviceName(); } else if (element instanceof LiveParam) { LiveParam param = (LiveParam) element; return param.getName() + " : " + param.getValue() + " [" + param.getMin() + " .. " + param.getMax() + "]"; } return "???"; } }); devicesViewer.setContentProvider(new DevicesContentProvider()); devicesViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sc = GUIToolkit.INSTANCE.createScrolledComposite(bottomSash); sc.setLayout(GridLayoutFactory.fillDefaults().create()); sc.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sc.getParent().setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); deviceWidgetContainer = GUIToolkit.INSTANCE.createComposite(sc, SWT.DOUBLE_BUFFERED); deviceWidgetContainer.setLayout(GridLayoutFactory.fillDefaults().create()); deviceWidgetContainer.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); deviceWidgetContainer.getParent().setBackground(GUIToolkit.BG); deviceWidgetContainer.addControlListener(new ControlListener() { @Override public void controlResized(ControlEvent e) { } @Override public void controlMoved(ControlEvent e) { System.out.println("moved"); } }); sc.setExpandVertical(true); sc.setAlwaysShowScrollBars(true); sc.setOrientation(SWT.VERTICAL); sc.setContent(deviceWidgetContainer); sc.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { Rectangle r = sc.getClientArea(); sc.setMinSize(devicesPanel.computeSize(r.width, SWT.DEFAULT)); } }); hbarSc = new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { scXui.getHorizontalBar().removeSelectionListener(hbarScXui); scXui.getHorizontalBar().setSelection(e.x); scXui.getHorizontalBar().addSelectionListener(hbarScXui); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }; if (scXui.getHorizontalBar() != null) { sc.getHorizontalBar().addSelectionListener(hbarSc); } Rectangle r = sc.getClientArea(); sc.setMinSize(devicesPanel.computeSize(r.width, SWT.DEFAULT)); devicesViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = devicesViewer.getSelection(); if (selection instanceof IStructuredSelection) { Object obj = null; StructuredSelection ssel = (StructuredSelection) selection; if (!ssel.isEmpty()) { obj = ssel.getFirstElement(); } AbstractDeviceWidget w = AbletonWidgetManager.INSTANCE.getNullWidget(); AbstractLiveDevice device = null; if (obj instanceof AbstractLiveDevice) { device = (AbstractLiveDevice) obj; w = AbletonWidgetManager.INSTANCE.getWidget(device.getDeviceName()); } if (w instanceof AbstractDeviceWidget) { deviceWidgetContainer.setVisible(true); AbstractDeviceWidget widget = (AbstractDeviceWidget) w; for (Control c : deviceWidgetContainer.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } Control control = widget.createControl(deviceWidgetContainer, SWT.NONE); if (!control.isDisposed() && control != null) { control.setVisible(true); } if (device != null) { widget.init(((LiveTrack) device.eContainer()), device); } deviceWidgetContainer.layout(true); widget.redraw(); } else { sc.setVisible(false); for (Control c : sc.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } } sc.redraw(); } else { deviceWidgetContainer.setVisible(false); for (Control c : deviceWidgetContainer.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } } } }); bottomSash.setWeights(new int[] { 1, 5 }); UIJob refreshDetailsJob = new UbiJob("Refresh Details") { @Override public IStatus runInUIThread(IProgressMonitor monitor) { synchronized (liveController.getLiveApp()) { synchronized (liveController.getLiveApp().getTracks()) { for (LiveTrack t : treeColumnsMap.keySet()) { if (!liveController.getLiveApp().getTracks().contains(t)) { TreeViewerColumn col = treeColumnsMap.get(t); treeColumnsMap.remove(t); col.getColumn().dispose(); XUITrack xui = xuiTrackMap.get(t); xuiTrackMap.remove(t); xui.dispose(); } } for (LiveTrack track : liveController.getLiveApp().getTracks()) { if (!treeColumnsMap.containsKey(track)) { TreeViewerColumn tc = createTableViewerColumn(track.getTrackName(), 110); treeColumnsMap.put(track, tc); xuiTrackMap.put(track, new XUITrack(xuiPanel, track, tc, liveController)); } else { treeColumnsMap.get(track).getColumn().setText(track.getTrackName()); int w = treeColumnsMap.get(track).getColumn().getWidth(); Rectangle rect = xuiTrackMap.get(track).getBounds(); xuiTrackMap.get(track).setBounds(rect.x, rect.y, w, rect.height); GridData gd = (GridData) xuiTrackMap.get(track).getLayoutData(); gd.horizontalIndent = 0; gd.widthHint = w; gd.minimumWidth = SWT.DEFAULT; } } xuiPanelLayout.numColumns = liveController.getLiveApp().getTracks().size(); if (xuiPanel != null && !xuiPanel.isDisposed()) { xuiPanel.layout(true); if (subDetailsViewer != null && subDetailsViewer.getControl() != null && !subDetailsViewer.getControl().isDisposed()) { if (subDetailsViewer != null && subDetailsViewer.getContentProvider() != null) { if (subDetailsViewer.getInput() != liveController.getLiveApp()) { subDetailsViewer.setInput(liveController.getLiveApp()); if (deviceWidgetContainer != null && !deviceWidgetContainer.isDisposed()) { deviceWidgetContainer.layout(true); } } subDetailsViewer.refresh(true); } devicesPanel.setVisible(liveController.isMonitorDevices()); } } } } schedule(1000); return Status.OK_STATUS; } }; refreshDetailsJob.setSystem(true); refreshDetailsJob.setPriority(Job.INTERACTIVE); refreshDetailsJob.schedule(1000); if (liveController != null && liveController.getAbletonOscEngine() != null) { liveController.monitorDevices(true); } if (devicesPanel != null) { deviceWidgetContainer.setVisible(true); devicesPanel.setVisible(liveController.isMonitorDevices()); devicesPanel.setSize(sash.getSize().x, 250); devicesPanel.layout(true); deviceWidgetContainer.setSize(sash.getSize().x, 250); deviceWidgetContainer.redraw(); deviceWidgetContainer.layout(true); deviceWidgetContainer.redraw(); devicesPanel.layout(true); devicesPanel.redraw(); if (devicesViewer.getTree() != null && devicesViewer.getTree().getItemCount() > 0) { @SuppressWarnings({ "rawtypes", "unused" }) List lst = (List) devicesViewer.getInput(); devicesViewer.getTree().select(devicesViewer.getTree().getItem(0)); subDetailsViewer.refresh(true); } devicesPanel.layout(true); devicesPanel.redraw(); for (Control c : devicesPanel.getChildren()) { if (c instanceof Control) { c.redraw(); } } } sash.setWeights(new int[] { 2, 2, 2 }); }
From source file:net.sf.smbt.ui.ableton.views.AbletonLiveView.java
License:LGPL
private TreeViewerColumn createTableViewerColumn(String title, int bound) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(subDetailsViewer, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);//www . j av a 2 s. c o m column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override protected void paint(Event event, Object element) { if (element instanceof LiveScene) { TreeItem treeItem = (TreeItem) event.item; Object obj = treeItem.getData(viewerColumn.getColumn().getText() + "#clip"); if (obj != null) { LiveClip c = (LiveClip) obj; super.paint(event, element); if (((LiveScene) element).getSceneID() == lastSceneID) { int width = 0; int height = event.height - 4; int x = event.x; int y = event.y + 2; float l = c.getLength(); float p = c.getPosition(); if (p > 0 && l > 0) { float ratio = p / l; width = Float.valueOf(ratio * (float) viewerColumn.getColumn().getWidth()) .intValue(); event.gc.setAlpha(100); event.gc.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); event.gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); event.gc.fillRoundRectangle(x, y, width, height, 2, 2); event.gc.setAlpha(255); event.gc.drawRoundRectangle(x, y, width, height, 2, 2); } } } else { super.paint(event, element); } } else { super.paint(event, element); } } @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof LiveScene) { LiveScene scene = (LiveScene) cell.getElement(); int idx = cell.getColumnIndex(); if (liveController.getLiveApp().getTracks().size() > idx) { LiveTrack track = liveController.getLiveApp().getTracks().get(idx); for (LiveClip c : track.getClips()) { if (scene.getSceneID() == c.getClipID()) { cell.setText(c.getClipName()); //cell.getStyleRanges(); /* switch(c.getClipState()) { case PLAYING: case TRIGGERED: cell.setImage(playImage); //break; case STOP: cell.setImage(stopImage); break; default: cell.setImage(stopImage); break; };*/ cell.setImage(lastSceneID == scene.getSceneID() ? playImage : stopImage); if (c.getColor() != null) { cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK)); cell.setBackground(c.getColor()); } cell.getItem().setData(track.getTrackName() + "#clip", c); break; } else { cell.setForeground(GUIToolkit.FG); cell.setBackground(GUIToolkit.BG); } } } } } }); return viewerColumn; }
From source file:net.sf.smbt.ui.audio.view.FmodexLiveView.java
License:LGPL
private void createDetailsPanel(Composite container) { container.setLayout(GridLayoutFactory.fillDefaults().create()); container.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); detailsPanel = GUIToolkit.INSTANCE.createComposite(container, SWT.DOUBLE_BUFFERED); detailsPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); detailsPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sash = new SashForm(detailsPanel, SWT.BORDER | SWT.VERTICAL); sash.setLayout(GridLayoutFactory.fillDefaults().create()); sash.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sash.setBackground(GUIToolkit.FG);/*from w ww . j a v a 2 s . c om*/ Composite topPanel = GUIToolkit.INSTANCE.createComposite(detailsPanel, SWT.DOUBLE_BUFFERED); topPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); topPanel.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create()); Composite timeDetails = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.DOUBLE_BUFFERED); timeDetails.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); timeDetails.setLayoutData( GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).grab(true, false).create()); Composite masterButtons = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.DOUBLE_BUFFERED); masterButtons.setLayout(GridLayoutFactory.fillDefaults().create()); masterButtons.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(true, false).create()); final Button playStopButton = new Button(masterButtons, SWT.TOGGLE); playStopButton.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(64, 64).minSize(64, 64).create()); playStopButton.setForeground(ColorsUtil.BG); playStopButton.setImage(playImageBig); playStopButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { if (playStopButton.getSelection()) { playStopButton.setImage(stopImageBig); } else { playStopButton.setImage(playImageBig); } for (AudioScene s : project.getScenes()) { for (AudioClip c : s.getClips()) { if (c != null) { AudioSound sound = c.getSound(); AudioTrack track = c.getTrack(); if (sound instanceof AudioSound && track instanceof AudioTrack) { if (track.getChannel() instanceof AudioChannel) { AudioChannel channel = (AudioChannel) track.getChannel(); if (channel != null && channel.getFmodex() != null) { if (AudioUtils.INSTANCE.isPlaying(channel)) { channel.getFmodex().setPaused(true); } } } } } } } } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); Composite upPanel = GUIToolkit.INSTANCE.createComposite(topPanel, SWT.SHADOW_ETCHED_IN); upPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); upPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Composite vPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.SHADOW_ETCHED_IN); vPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); vPanel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(true, false).create()); masterVolume = new UbiKnob(vPanel, SWT.HORIZONTAL); masterVolume.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(48, 48).grab(false, false).create()); masterVolume.setMax(100f); masterVolume.setSelection(50); masterVolume.addSelectionListener(new UbiSelectionListener() { @Override public void handle() { float value = new Float(masterVolume.getSelection()) / 100f; // if (value != liveController.getLiveApp().getMasterTrack().getVolume()) { // liveController.getLiveApp().getMasterTrack().setVolume(value); // } } }); Label masterVolumeLabel = GUIToolkit.INSTANCE.createLabel(vPanel, "Vol"); masterVolumeLabel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(false, false).create()); Composite pPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.DOUBLE_BUFFERED); pPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).create()); pPanel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, false).create()); masterPan = new UbiKnob(pPanel, SWT.HORIZONTAL); masterPan.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(48, 48).grab(false, false).create()); masterPan.setMax(100f); masterPan.setSelection(50); masterPan.addSelectionListener(new UbiSelectionListener() { @Override public void handle() { float value = new Float(masterPan.getSelection() - 50) / 50f; // if (value != liveController.getLiveApp().getMasterTrack().getPan()) { // liveController.getLiveApp().getMasterTrack().setPan(value); // } } }); // masterPan.addMenuAction( // new LinkOscAbletonCommandAction( // masterPan, // ABLETON_OSC_MAPPING.MASTER_VOLUME.getLiteral(), // 100f // ) // ); Label masterPanLabel = GUIToolkit.INSTANCE.createLabel(pPanel, "Pan"); masterPanLabel.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).grab(false, false).create()); // // Vu Meters // Composite vuMetersPanel = GUIToolkit.INSTANCE.createComposite(upPanel, SWT.DOUBLE_BUFFERED); vuMetersPanel.setLayout(GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).create()); vuMetersPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create()); masterVu = new UbiVuMeter(vuMetersPanel, SWT.VERTICAL); masterVu.setLevel(0); masterVu.setMax(100); masterVu.setLayout(GridLayoutFactory.fillDefaults().create()); masterVu.setLayoutData( GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.TOP).hint(20, 250).grab(true, false).create()); Composite tracksPanel = GUIToolkit.INSTANCE.createComposite(sash, SWT.DOUBLE_BUFFERED); tracksPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).create()); tracksPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); subDetailsViewer = GUIToolkit.INSTANCE.createTreeViewer(tracksPanel, SWT.FULL_SELECTION); subDetailsViewer.setLabelProvider(fmodexLabelProvider); FmodexContentProvider fmodexContentProvider = new FmodexContentProvider(); subDetailsViewer.setContentProvider(fmodexContentProvider); subDetailsViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); subDetailsViewer.getTree().setForeground(GUIToolkit.FG); subDetailsViewer.getTree().setBackground(GUIToolkit.BG); subDetailsViewer.getTree().setHeaderVisible(true); subDetailsViewer.getTree().setLinesVisible(true); subDetailsViewer.setInput(project); // // Drag and drop support // Transfer[] dndTransferTypes = new Transfer[] { FmodexAudioFileTransfert.INSTANCE }; subDetailsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT, dndTransferTypes, new FmodexAudioFileDragAdapter(subDetailsViewer)); subDetailsViewer.addDropSupport(DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT, dndTransferTypes, new net.sf.smbt.ui.audio.dnd.FmodexAudioFileDropAdapter(subDetailsViewer)); subDetailsViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { doubleClickAction2.run(); } }); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(subDetailsViewer, new FocusCellOwnerDrawHighlighter(subDetailsViewer) { @Override public ViewerCell getFocusCell() { ViewerCell cell = super.getFocusCell(); handleClipDetails(cell.getElement(), cell.getColumnIndex()); return cell; } }); UIJob refreshDetailsJob = new UbiJob("Refresh Details") { @Override public IStatus runInUIThread(IProgressMonitor monitor) { synchronized (project) { synchronized (project.getTracks()) { for (AudioTrack t : treeColumnsMap.keySet()) { if (!project.getTracks().contains(t)) { TreeViewerColumn col = treeColumnsMap.get(t); treeColumnsMap.remove(t); col.getColumn().dispose(); XUITrack xui = xuiTrackMap.get(t); xuiTrackMap.remove(t); xui.dispose(); } } int i = 1; for (AudioTrack track : project.getTracks()) { if (!treeColumnsMap.containsKey(track)) { TreeViewerColumn tc = createTableViewerColumn("Track " + i, 110); treeColumnsMap.put(track, tc); xuiTrackMap.put(track, new XUITrack(xuiPanel, track, tc, project)); } else { treeColumnsMap.get(track).getColumn().setText("Track " + i); int w = treeColumnsMap.get(track).getColumn().getWidth(); Rectangle rect = xuiTrackMap.get(track).getBounds(); xuiTrackMap.get(track).setBounds(rect.x, rect.y, w, rect.height); GridData gd = (GridData) xuiTrackMap.get(track).getLayoutData(); gd.horizontalIndent = 0; gd.widthHint = w; gd.minimumWidth = SWT.DEFAULT; } i++; } xuiPanelLayout.numColumns = project.getTracks().size(); xuiPanel.layout(true); if (subDetailsViewer != null && subDetailsViewer.getContentProvider() != null) { if (subDetailsViewer.getInput() != project) { subDetailsViewer.setInput(project); deviceWidgetContainer.layout(true); } subDetailsViewer.refresh(true); } devicesPanel.setVisible(true); } } schedule(1000); return Status.OK_STATUS; } }; refreshDetailsJob.setSystem(true); refreshDetailsJob.setPriority(Job.INTERACTIVE); refreshDetailsJob.schedule(1000); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( subDetailsViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return false; } }; TreeViewerEditor.create(subDetailsViewer, focusCellManager, actSupport, ColumnViewerEditor.KEYBOARD_ACTIVATION); scXui = GUIToolkit.INSTANCE.createScrolledComposite(sash); scXui.setLayout(GridLayoutFactory.fillDefaults().create()); scXui.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); scXui.getParent().setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); xuiPanel = GUIToolkit.INSTANCE.createComposite(scXui, SWT.DOUBLE_BUFFERED); xuiPanelLayout = GridLayoutFactory.fillDefaults().numColumns(16).equalWidth(false).margins(0, 0) .extendedMargins(0, 0, 0, 0).spacing(0, 0).create(); xuiPanel.setLayout(xuiPanelLayout); xuiPanel.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create()); scXui.setExpandVertical(true); scXui.setExpandHorizontal(true); scXui.setAlwaysShowScrollBars(true); scXui.setOrientation(SWT.VERTICAL); scXui.setContent(xuiPanel); scXui.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { Rectangle r = sash.getClientArea(); scXui.setMinSize(xuiPanel.computeSize(r.width, SWT.DEFAULT)); } }); devicesPanel = GUIToolkit.INSTANCE.createComposite(sash, SWT.DOUBLE_BUFFERED); devicesPanel.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).equalWidth(false).create()); devicesPanel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); bottomSash = new SashForm(devicesPanel, SWT.HORIZONTAL); bottomSash.setLayout(GridLayoutFactory.fillDefaults().create()); bottomSash.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); bottomSash.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); devicesViewer = GUIToolkit.INSTANCE.createTreeViewer(bottomSash, SWT.FULL_SELECTION); devicesViewer.setLabelProvider(new LabelProvider() { @Override public Image getImage(Object element) { return deviceImage; } @Override public String getText(Object element) { if (element instanceof Device) { return ((Device) element).getID(); } return "???"; } }); devicesViewer.setContentProvider(new DevicesContentProvider()); devicesViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sc = GUIToolkit.INSTANCE.createScrolledComposite(bottomSash); sc.setLayout(GridLayoutFactory.fillDefaults().create()); sc.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); sc.getParent().setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); deviceWidgetContainer = GUIToolkit.INSTANCE.createComposite(sc, SWT.DOUBLE_BUFFERED); deviceWidgetContainer.setLayout(GridLayoutFactory.fillDefaults().create()); deviceWidgetContainer.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); deviceWidgetContainer.getParent().setBackground(GUIToolkit.BG); deviceWidgetContainer.addControlListener(new ControlListener() { @Override public void controlResized(ControlEvent e) { } @Override public void controlMoved(ControlEvent e) { } }); sc.setExpandVertical(true); sc.setAlwaysShowScrollBars(true); sc.setOrientation(SWT.VERTICAL); sc.setContent(deviceWidgetContainer); sc.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { Rectangle r = sc.getClientArea(); sc.setMinSize(devicesPanel.computeSize(r.width, SWT.DEFAULT)); } }); hbarSc = new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { scXui.getHorizontalBar().removeSelectionListener(hbarScXui); scXui.getHorizontalBar().setSelection(e.x); scXui.getHorizontalBar().addSelectionListener(hbarScXui); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }; if (scXui.getHorizontalBar() != null) { sc.getHorizontalBar().addSelectionListener(hbarSc); } Rectangle r = sc.getClientArea(); sc.setMinSize(devicesPanel.computeSize(r.width, SWT.DEFAULT)); devicesViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = devicesViewer.getSelection(); if (selection instanceof IStructuredSelection) { Object obj = null; StructuredSelection ssel = (StructuredSelection) selection; if (!ssel.isEmpty()) { obj = ssel.getFirstElement(); } AbstractDeviceWidget w = FmodexWidgetManager.INSTANCE.getNullWidget(); if (obj instanceof Device) { device = (Device) obj; w = FmodexWidgetManager.INSTANCE.getWidget(device.getID()); } if (w instanceof AbstractDeviceWidget) { deviceWidgetContainer.setVisible(true); AbstractDeviceWidget widget = (AbstractDeviceWidget) w; for (Control c : deviceWidgetContainer.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } Control control = widget.createControl(deviceWidgetContainer, SWT.NONE); if (!control.isDisposed() && control != null) { control.setVisible(true); } if (device != null) { if (device.getTrack() != null && device.getTrack().getChannel() != null && clip != null) { IChannel channel = device.getTrack().getChannel(); if (channel instanceof AudioChannel) { widget.init((AudioChannel) channel, clip.getSound()); } } } deviceWidgetContainer.layout(true); widget.redraw(); } else { sc.setVisible(false); for (Control c : sc.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } } sc.redraw(); } else { deviceWidgetContainer.setVisible(false); for (Control c : deviceWidgetContainer.getChildren()) { c.setVisible(false); if (!c.isDisposed()) { c.dispose(); } } } } }); bottomSash.setWeights(new int[] { 1, 5 }); if (devicesPanel != null) { deviceWidgetContainer.setVisible(true); devicesPanel.setVisible(true); devicesPanel.setSize(sash.getSize().x, 250); devicesPanel.layout(true); deviceWidgetContainer.setSize(sash.getSize().x, 250); deviceWidgetContainer.redraw(); deviceWidgetContainer.layout(true); deviceWidgetContainer.redraw(); devicesPanel.layout(true); devicesPanel.redraw(); if (devicesViewer.getTree() != null && devicesViewer.getTree().getItemCount() > 0) { @SuppressWarnings("rawtypes") List lst = (List) devicesViewer.getInput(); devicesViewer.getTree().select(devicesViewer.getTree().getItem(0)); subDetailsViewer.refresh(true); } devicesPanel.layout(true); devicesPanel.redraw(); for (Control c : devicesPanel.getChildren()) { if (c instanceof Control) { c.redraw(); } } } sash.setWeights(new int[] { 2, 2, 2 }); }
From source file:net.sf.smbt.ui.audio.view.FmodexLiveView.java
License:LGPL
private TreeViewerColumn createTableViewerColumn(String title, int bound) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(subDetailsViewer, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);//w ww.j a va 2 s . c om column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override protected void paint(Event event, Object element) { TreeItem treeItem = (TreeItem) event.item; Object obj = treeItem.getData(viewerColumn.getColumn().getText() + "#clip"); Object track = treeItem.getData(viewerColumn.getColumn().getText() + "#track"); if (obj != null && track != null) { AudioClip c = (AudioClip) obj; int x = event.getBounds().x; int y = event.getBounds().y; String txt = ""; AudioChannel channel = (AudioChannel) ((AudioTrack) track).getChannel(); if (c.getSound() != null && channel != null) { TimeTag tag = AudioUtils.INSTANCE.getTimePosition(c.getSound(), channel); long ms = tag.getTime(); long lenms = tag.getDuration(); txt = String.format(" (%02d:%02d:%02d/%02d:%02d:%02d)", ms / 1000 / 60, ms / 1000 % 60, ms / 10 % 100, lenms / 1000 / 60, lenms / 1000 % 60, lenms / 10 % 100 //tag.getStatus().equals(CLIP_STATUS.PAUSE) ? "Paused " : tag.getStatus().equals(CLIP_STATUS.PLAY) ? "Playing" : "Stopped" ); event.gc.drawText(c.getLabel() + " " + txt, x, y); int width = 0; int height = event.height - 4; int x0 = event.x; int y0 = event.y + 2; float l = tag.getDuration(); float p = tag.getTime(); Color oldBG = event.gc.getBackground(); Color oldFG = event.gc.getForeground(); event.gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); if (p > 0 && l > 0) { float ratio = p / l; width = Float.valueOf(ratio * (float) viewerColumn.getColumn().getWidth()).intValue(); event.gc.setAlpha(100); event.gc.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); event.gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); event.gc.fillRoundRectangle(x0, y0, width, height, 2, 2); event.gc.setAlpha(255); event.gc.drawRoundRectangle(x0, y0, width, height, 2, 2); } event.gc.setForeground(oldFG); event.gc.setBackground(oldBG); } } else { super.paint(event, element); } } @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof AudioScene) { AudioScene scene = (AudioScene) cell.getElement(); int idx = cell.getColumnIndex(); if (project.getTracks().size() > idx) { AudioClip clip = scene.getClips().get(idx); AudioTrack track = project.getTracks().get(idx); track.setLabel(viewerColumn.getColumn().getText()); AudioFile file = clip.getFile(); if (file != null) { } cell.getItem().setData(track.getLabel() + "#clip", clip); cell.getItem().setData(track.getLabel() + "#track", track); cell.setText(clip.getLabel()); } } else { cell.setText("clip !!!"); } } }); return viewerColumn; }
From source file:net.sf.smbt.ui.btc.views.MTGoxView.java
License:LGPL
private TreeViewerColumn createHistoryTableViewerColumn(String title, int bound) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(hitoryTreeViewer, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);// ww w .j a va 2 s. c o m column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override protected void paint(Event event, Object element) { super.paint(event, element); } @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof WalletRecord) { WalletRecord v = (WalletRecord) cell.getElement(); String cellText = "???"; switch (cell.getColumnIndex()) { case 0: cellText = "" + v.getIndex(); break; case 1: cellText = "" + v.getInfo(); break; case 2: cellText = "" + v.getType(); break; case 3: cellText = "" + v.getBalance().getDisplay_short(); break; case 4: cellText = "" + v.getDate(); break; case 5: cellText = "" + v.getValue().getDisplay_short(); break; } cell.setText(cellText); cell.setForeground(GUIToolkit.FG); cell.setBackground(GUIToolkit.BG); } } }); return viewerColumn; }
From source file:net.sf.smbt.ui.btc.views.MTGoxView.java
License:LGPL
private TreeViewerColumn createTableViewerColumn(String title, int bound) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(transactionTreeViewer, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);/*from www.j a va2 s . co m*/ column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override protected void paint(Event event, Object element) { super.paint(event, element); } @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof Order) { Order v = (Order) cell.getElement(); String cellText = "???"; switch (cell.getColumnIndex()) { case 0: cellText = "" + v.getOid(); break; case 1: cellText = "" + v.getType(); break; case 2: cellText = "" + v.getAmount().getDisplay_short(); break; case 3: cellText = "" + v.getPrice().getDisplay_short(); break; case 4: cellText = "" + v.getStatus(); break; case 5: cellText = "" + v.getDate(); break; } cell.setText(cellText); cell.setForeground(GUIToolkit.FG); cell.setBackground(GUIToolkit.BG); } } }); return viewerColumn; }
From source file:net.sf.smbt.ui.btc.views.TradesView.java
License:LGPL
private TreeViewerColumn createBidTradeTableViewerColumn(String title, int bound, TreeViewer tv) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(tv, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);/*from www .j a v a2 s .c o m*/ column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof DepthValue) { DepthValue v = (DepthValue) cell.getElement(); String cellText = "???"; cell.setForeground(GUIToolkit.FG); cell.setBackground(GUIToolkit.BG); long now = System.currentTimeMillis(); switch (cell.getColumnIndex()) { case 0: // Bid Sum if (v instanceof DepthValue) { cellText = "" + v.getSum(); } break; case 1: // Size if (v instanceof DepthValue) { cellText = "" + v.getAmount(); } break; case 2: // Bid if (v instanceof DepthValue) { cellText = "" + v.getPrice(); } break; } cell.setText(cellText); if (v instanceof DepthValue && (cell.getColumnIndex() == 0 || cell.getColumnIndex() == 1 || cell.getColumnIndex() == 2)) { if (v.getLastLocalStatus() + 12000l > now) { if (v.getStatus().equals(DepthStatus.ADD)) { cell.setForeground(GUIToolkit.lightGreen); } else if (v.getStatus().equals(DepthStatus.REM)) { cell.setForeground(GUIToolkit.lightRed); } else if (v.getStatus().equals(DepthStatus.UPDATE)) { cell.setForeground(GUIToolkit.orange); } } } } } }); return viewerColumn; }
From source file:net.sf.smbt.ui.btc.views.TradesView.java
License:LGPL
private TreeViewerColumn createAskTradeTableViewerColumn(String title, int bound, TreeViewer tv) { final TreeViewerColumn viewerColumn = new TreeViewerColumn(tv, SWT.NONE); final TreeColumn column = viewerColumn.getColumn(); column.setText(title);//from ww w .j a v a 2 s . co m column.setWidth(bound); column.setResizable(true); column.setMoveable(true); viewerColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { super.update(cell); if (cell.getElement() instanceof DepthValue) { DepthValue v = (DepthValue) cell.getElement(); String cellText = "???"; cell.setForeground(GUIToolkit.FG); cell.setBackground(GUIToolkit.BG); long now = System.currentTimeMillis(); switch (cell.getColumnIndex()) { case 2: // Bid Sum if (v instanceof DepthValue) { cellText = "" + v.getSum(); } break; case 1: // Size if (v instanceof DepthValue) { cellText = "" + v.getAmount(); } break; case 0: // Bid if (v instanceof DepthValue) { cellText = "" + v.getPrice(); } break; } cell.setText(cellText); if (v instanceof DepthValue && (cell.getColumnIndex() == 0 || cell.getColumnIndex() == 1 || cell.getColumnIndex() == 2)) { if (v.getLastLocalStatus() + 12000l > now) { if (v.getStatus().equals(DepthStatus.ADD)) { cell.setForeground(GUIToolkit.lightGreen); } else if (v.getStatus().equals(DepthStatus.REM)) { cell.setForeground(GUIToolkit.lightRed); } else if (v.getStatus().equals(DepthStatus.UPDATE)) { cell.setForeground(GUIToolkit.orange); } } } } } }); return viewerColumn; }