List of usage examples for org.eclipse.jface.viewers TreeViewerFocusCellManager TreeViewerFocusCellManager
public TreeViewerFocusCellManager(TreeViewer viewer, FocusCellHighlighter focusDrawingDelegate)
SWT.ARROW_UP: navigate to cell aboveSWT.ARROW_DOWN: navigate to cell belowSWT.ARROW_RIGHT: on first column (collapses if item is expanded) else navigate to next visible cell on the rightSWT.ARROW_LEFT: on first column (expands if item is collapsed) else navigate to next visible cell on the leftFrom source file:Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w w w . j a v a2 s . c o m v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 1 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return false; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 2 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } protected Object getValue(Object element) { return new Boolean(((MyModel) element).bool); } protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e }); } catch (SecurityException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NoSuchMethodException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalArgumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:com.ibm.etools.mft.conversion.esb.editor.parameter.SourceProjectEditor.java
License:Open Source License
@Override public void createControls(Composite parent) { updateProjectsInModel();//from w w w . j a v a 2s. co m Composite container = new Composite(parent, SWT.None); container.setLayout(new GridLayout(2, false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); rootComposite = container; importLink = new Link(container, SWT.None); importLink.setText(WESBConversionMessages.SourceProjectEditor_importLink); GridData data = new GridData(); data.verticalAlignment = SWT.BEGINNING; data.horizontalSpan = 2; importLink.setLayoutData(data); importLink.addSelectionListener(this); viewer = new CheckboxTreeViewer(container, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.getTree().setLinesVisible(true); viewer.getTree().setHeaderVisible(true); data = new GridData(GridData.FILL_BOTH); data.horizontalSpan = 2; // data.heightHint = 200; viewer.getTree().setLayoutData(data); for (int i = 0; i < COLUMN_HEADINGS.length; i++) { TreeColumn column = new TreeColumn(viewer.getTree(), SWT.None); column.setText(COLUMN_HEADINGS[i]); column.setResizable(true); column.setWidth(WIDTHES[i]); } viewer.addCheckStateListener(this); viewer.setContentProvider(new WESBProjectContentProvider()); viewer.setLabelProvider(new ProjectLabelProvider()); CustomTextCellEditor cellEditor = new CustomTextCellEditor(viewer.getTree()) { @Override public String isValid(Object value) { return getErrorMessage(); } }; viewer.setCellEditors(new CellEditor[] { null, cellEditor }); cellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { return isValidTargetName(value.toString()); } }); viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { IProject p = (IProject) ((TreeItem) element).getData(); WESBProject wesbp = projectsInModel.get(p.getName()); if (wesbp == null) { wesbp = new WESBProject(); wesbp.setName(p.getName()); getModel().getSourceProjects().add(wesbp); updateProjectsInModel(); } if (value != null) { wesbp.setTargetName(value.toString()); viewer.refresh(p); changed(); } } @Override public Object getValue(Object element, String property) { IProject p = (IProject) element; WESBProject wesbp = projectsInModel.get(p.getName()); if (wesbp == null) { return ""; //$NON-NLS-1$ } String targetName = wesbp.getTargetName(); return targetName == null ? "" : targetName; //$NON-NLS-1$ } @Override public boolean canModify(Object element, String property) { projectBeingEditted = (IProject) element; return true; } }); viewer.setInput(ResourcesPlugin.getWorkspace()); viewer.setColumnProperties(PROPERTIES); FocusCellOwnerDrawHighlighter projectHighlighter = new FocusCellOwnerDrawHighlighter(viewer); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, projectHighlighter); ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; activationSupport.setEnableEditorActivationWithKeyboard(true); TreeViewerEditor.create(viewer, focusCellManager, activationSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); Composite container2 = new Composite(container, SWT.None); GridLayout layout = new GridLayout(2, false); layout.marginWidth = 0; container2.setLayout(layout); data = new GridData(); data.horizontalSpan = 2; data.horizontalIndent = 0; container2.setLayoutData(data); selectAll = new Button(container2, SWT.NONE); selectAll.setText(WESBConversionMessages.projectSelectionPage_SelectAll); data = new GridData(); data.horizontalAlignment = SWT.BEGINNING; selectAll.setLayoutData(data); selectAll.addSelectionListener(this); deselectAll = new Button(container2, SWT.NONE); deselectAll.setText(WESBConversionMessages.projectSelectionPage_DeselectAll); data = new GridData(); data.horizontalAlignment = SWT.BEGINNING; deselectAll.setLayoutData(data); deselectAll.addSelectionListener(this); includeReferencedProjectOption = new Button(container, SWT.CHECK); includeReferencedProjectOption .setText(WESBConversionMessages.projectSelectionPage_IncludeReferencedProject); includeReferencedProjectOption .setSelection(getModel().getGlobalConfiguration().isIncludeReferencedProject()); updateViewer(); if (includeReferencedProjectOption.getSelection()) { ensureAllReferencedProjectsAreChecked(); updateModel(); } includeReferencedProjectOption.addSelectionListener(this); ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE); }
From source file:de.byteholder.geoclipse.mapprovider.DialogMPProfile.java
License:Open Source License
private Control createUI114Viewer(final Composite parent, final PixelConverter pixelConverter) { final TreeColumnLayout treeLayout = new TreeColumnLayout(); final Composite layoutContainer = new Composite(parent, SWT.NONE); layoutContainer.setLayout(treeLayout); GridDataFactory.fillDefaults().grab(true, true).applyTo(layoutContainer); {/*from w w w. ja v a 2 s. com*/ final Tree tree = new Tree(layoutContainer, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); tree.setHeaderVisible(true); tree.setLinesVisible(true); /* * tree viewer */ _treeViewer = new ContainerCheckedTreeViewer(tree); _treeViewer.setContentProvider(new MapContentProvider()); _treeViewer.setUseHashlookup(true); _treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(final DoubleClickEvent event) { final Object selectedItem = ((IStructuredSelection) _treeViewer.getSelection()) .getFirstElement(); if (selectedItem != null) { if (selectedItem instanceof TVIMapProvider) { // expand/collapse current item final MP mapProvider = ((TVIMapProvider) selectedItem).getMapProviderWrapper().getMP(); if ((mapProvider instanceof MPWms) == false) { // all none wms map provider can be toggled toggleMapVisibility(tree); } else { // expand/collapse item if (_treeViewer.getExpandedState(selectedItem)) { _treeViewer.collapseToLevel(selectedItem, 1); } else { _treeViewer.expandToLevel(selectedItem, 1); } } } else if (selectedItem instanceof TVIWmsLayer) { toggleMapVisibility(tree); } } } }); _treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { onSelectMP(event.getSelection()); } }); _treeViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ITreeSelection selection = (ITreeSelection) _treeViewer.getSelection(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStartTime = event.time & 0xFFFFFFFFL); // only ONE map provider/layer is allowed to be dragged final Object firstElement = selection.getFirstElement(); event.doit = (selection.size() == 1) && ((firstElement instanceof TVIMapProvider) || (firstElement instanceof TVIWmsLayer)); } }); _treeViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new ProfileDropAdapter(this, _treeViewer)); tree.addKeyListener(new KeyListener() { public void keyPressed(final KeyEvent e) { /* * toggle the visibility with the space key */ if (e.keyCode == ' ') { toggleMapVisibility(tree); } } public void keyReleased(final KeyEvent e) { } }); /* * add editing support for the tree */ final TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(_treeViewer, new FocusCellOwnerDrawHighlighter(_treeViewer)); final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( _treeViewer) { @Override protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) { return (event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL) || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION) || ((event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED) && (event.keyCode == SWT.F2)) || (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC); } }; TreeViewerEditor.create(_treeViewer, // focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL // | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR // | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); } createUI116ViewerColumns(treeLayout, pixelConverter); return layoutContainer; }
From source file:dslComponent.Snippet056BooleanCellEditor.java
License:Open Source License
public Snippet056BooleanCellEditor(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);//from w ww . jav a 2 s. c om v.getTree().setHeaderVisible(true); FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(v) { @Override protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); } @Override protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) { return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); } }; TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, h); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v); int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION; TreeViewerEditor.create(v, focusCellManager, actSupport, feature); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor booleanCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = createColumnFor(v, "Column 1"); column.setLabelProvider(new MyColumnLabelProvider("Column 1")); column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor)); column = createColumnFor(v, "Column 2"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((MyModel) element).flag + ""; } }); column.setEditingSupport(new EditingSupport(v) { @Override protected boolean canEdit(Object element) { return true; } @Override protected CellEditor getCellEditor(Object element) { return booleanCellEditor; } @Override protected Object getValue(Object element) { return new Boolean(((MyModel) element).flag); } @Override protected void setValue(Object element, Object value) { ((MyModel) element).flag = ((Boolean) value).booleanValue(); v.update(element, null); } }); column = createColumnFor(v, "Column 3"); column.setLabelProvider(new MyColumnLabelProvider("Column 3")); column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor)); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); }
From source file:fr.inria.atlanmod.emftocsp.ui.wizards.impl.ModelElementDomainPage.java
License:Open Source License
public void createControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setLayout(new FormLayout()); setControl(container);//from w w w .java 2s. c om FormData formData = new FormData(); formData.left = new FormAttachment(0, 0); formData.top = new FormAttachment(0, 0); formData.right = new FormAttachment(100, -5); formData.bottom = new FormAttachment(100, 0); treeViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION); treeViewer.getControl().setLayoutData(formData); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(treeViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(treeViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(treeViewer.getTree()); TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Model Elements"); //$NON-NLS-1$ column.setLabelProvider(new ColumnLabelProvider() { @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public String getText(Object element) { if (element instanceof StructuralNode) return ((StructuralNode) element).getNodeType() == CLASS ? "Classes" : "Associations"; //$NON-NLS-1$ //$NON-NLS-2$ if (element instanceof EClass) return ((EClass) element).getName(); if (element instanceof Class) return ((Class) element).getName(); if (element instanceof Association) { IModelReader modelReader = modelSolver.getModelReader(); return modelReader.getAssociationName(((Association) element)); } if (element instanceof EAssociation) { IModelReader modelReader = modelSolver.getModelReader(); return modelReader.getAssociationName(((EAssociation) element)); } if (element instanceof EAttribute) { EAttribute a = (EAttribute) element; return ((EAttribute) element).getName() + ": " //$NON-NLS-1$ + ((EAttribute) element).getEAttributeType().getName(); } if (element instanceof StringAttributeContainer) { StringAttributeContainer c = (StringAttributeContainer) element; String base = c.attribute.getName() + ": " + c.attribute.getEAttributeType().getName(); //$NON-NLS-1$ if (c.kind == StringAttributeContainer.Kind.LENGTH) { return base + " (length)"; } if (c.kind == StringAttributeContainer.Kind.DOMAIN) { return base + " (domain)"; } } if (element instanceof Property) return ((Property) element).getName() + ": " + ((Property) element).getType().getName(); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } public Image getImage(Object element) { return null; } }); column = new TreeViewerColumn(treeViewer, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Value"); //$NON-NLS-1$ column.setLabelProvider(new ColumnLabelProvider() { @SuppressWarnings({ "rawtypes", "unchecked" }) public String getText(Object element) { String result = ""; //$NON-NLS-1$ if (element instanceof StringAttributeContainer) result = modelElementsDomain.get(((StringAttributeContainer) element).getKey()); if (element instanceof EAttribute) result = modelElementsDomain.get(((EAttribute) element).getEContainingClass().getName() + "." //$NON-NLS-1$ + ((EAttribute) element).getName()); if (element instanceof EClass) result = modelElementsDomain .get(((EClass) element).getEPackage().getName() + "." + ((EClass) element).getName()); //$NON-NLS-1$ if (element instanceof Class) result = modelElementsDomain .get(((Class) element).getPackage().getName() + "." + ((Class) element).getName()); //$NON-NLS-1$ if (element instanceof Property) result = modelElementsDomain .get(((Property) element).getClass_().getName() + "." + ((Property) element).getName()); //$NON-NLS-1$ if (element instanceof Association) { IModelReader modelReader = modelSolver.getModelReader(); return modelElementsDomain.get(modelReader.getAssociationName(((Association) element))); } if (element instanceof EAssociation) { IModelReader modelReader = modelSolver.getModelReader(); return modelElementsDomain.get(modelReader.getAssociationName(((EAssociation) element))); } return result != null ? result : ""; //$NON-NLS-1$ } }); column.setEditingSupport(new EditingSupport(treeViewer) { protected boolean canEdit(Object element) { return !(element instanceof StructuralNode); } protected CellEditor getCellEditor(Object element) { return textCellEditor; } @SuppressWarnings({ "rawtypes", "unchecked" }) protected Object getValue(Object element) { String result = ""; //$NON-NLS-1$ if (element instanceof EAttribute) result = modelElementsDomain.get(((EAttribute) element).getEContainingClass().getName() + "." //$NON-NLS-1$ + ((EAttribute) element).getName()); if (element instanceof StringAttributeContainer) result = modelElementsDomain.get(((StringAttributeContainer) element).getKey()); if (element instanceof EClass) result = modelElementsDomain .get(((EClass) element).getEPackage().getName() + "." + ((EClass) element).getName()); //$NON-NLS-1$ if (element instanceof Class) result = modelElementsDomain .get(((Class) element).getPackage().getName() + "." + ((Class) element).getName()); //$NON-NLS-1$ if (element instanceof Property) result = modelElementsDomain .get(((Property) element).getClass_().getName() + "." + ((Property) element).getName()); //$NON-NLS-1$ if (element instanceof Association) { IModelReader modelReader = modelSolver.getModelReader(); return modelElementsDomain.get(modelReader.getAssociationName(((Association) element))); } if (element instanceof EAssociation) { IModelReader modelReader = modelSolver.getModelReader(); return modelElementsDomain.get(modelReader.getAssociationName(((EAssociation) element))); } return result != null ? result : ""; //$NON-NLS-1$ } @SuppressWarnings({ "rawtypes", "unchecked" }) protected void setValue(Object element, Object value) { String key = ""; //$NON-NLS-1$ if (element instanceof EAttribute) key = ((EAttribute) element).getEContainingClass().getName() + "." //$NON-NLS-1$ + ((EAttribute) element).getName(); if (element instanceof StringAttributeContainer) key = ((StringAttributeContainer) element).getKey(); if (element instanceof EClass) key = ((EClass) element).getEPackage().getName() + "." + ((EClass) element).getName(); //$NON-NLS-1$ if (element instanceof Class) key = ((Class) element).getPackage().getName() + "." + ((Class) element).getName(); //$NON-NLS-1$ if (element instanceof Property) key = ((Property) element).getClass_().getName() + "." + ((Property) element).getName(); //$NON-NLS-1$ if (element instanceof Association) { IModelReader modelReader = modelSolver.getModelReader(); key = modelReader.getAssociationName(((Association) element)); } if (element instanceof EAssociation) { IModelReader modelReader = modelSolver.getModelReader(); key = modelReader.getAssociationName(((EAssociation) element)); } modelElementsDomain.remove(key); modelElementsDomain.put(key, (String) value); treeViewer.update(element, null); modelSolver.setModelElementsDomain(modelElementsDomain); } }); }
From source file:fr.inria.linuxtools.internal.tmf.ui.project.wizards.importtrace.ImportTraceWizardScanPage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); final Composite control = (Composite) this.getControl(); setTitle(Messages.ImportTraceWizardScanPageTitle); traceTypeViewer = new CheckboxTreeViewer(control, SWT.CHECK); traceTypeViewer.setContentProvider(getBatchWizard().getScannedTraces()); traceTypeViewer.getTree().setHeaderVisible(true); traceTypeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); traceTypeViewer.setInput(getBatchWizard().getScannedTraces()); traceTypeViewer.addCheckStateListener(new ImportTraceCheckStateListener()); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(traceTypeViewer, new FocusCellOwnerDrawHighlighter(traceTypeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( traceTypeViewer) {//from w w w . j a v a2s . com }; TreeViewerEditor.create(traceTypeViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(traceTypeViewer.getTree()); // -------------------- // Column 1 // -------------------- TreeViewerColumn column = new TreeViewerColumn(traceTypeViewer, SWT.NONE); column.getColumn().setWidth(COL_WIDTH); column.getColumn().setText(Messages.ImportTraceWizardTraceDisplayName); column.setLabelProvider(new FirstColumnLabelProvider()); column.setEditingSupport(new ColumnEditorSupport(traceTypeViewer, textCellEditor)); // -------------------- // Column 2 // -------------------- column = new TreeViewerColumn(traceTypeViewer, SWT.NONE); column.getColumn().setWidth(500); column.getColumn().setText(Messages.ImportTraceWizardImportCaption); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof FileAndName) { FileAndName elem = (FileAndName) element; return elem.getFile().getPath(); } return null; } }); // -------------------- // Column 3 // -------------------- column = new TreeViewerColumn(traceTypeViewer, SWT.NONE); column.getColumn().setWidth(80); column.getColumn().setText(Messages.ImportTraceWizardScanPageSize); column.getColumn().setAlignment(SWT.RIGHT); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof FileAndName) { FileAndName elem = (FileAndName) element; long len = recurseSize(elem.getFile()); if (len > 0) { double sizeb10 = Math.log10(len); DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(2); df.setMinimumFractionDigits(0); if (sizeb10 > 12) { final double tbSize = len / 1024.0 / 1024 / 1024 / 1024; return df.format(tbSize) + Messages.ImportTraceWizardScanPageTerabyte; } if (sizeb10 > 9) { final double gbSize = len / 1024.0 / 1024 / 1024; return df.format(gbSize) + Messages.ImportTraceWizardScanPageGigabyte; } if (sizeb10 > 6) { final double mbSize = len / 1024.0 / 1024; return df.format(mbSize) + Messages.ImportTraceWizardScanPageMegabyte; } if (sizeb10 > 3) { final double kbSize = len / 1024.0; return df.format(kbSize) + Messages.ImportTraceWizardScanPageKilobyte; } } return Long.toString(len) + Messages.ImportTraceWizardScanPagebyte; } return null; } private long recurseSize(File file) { if (file.isFile() && file.canRead()) { return file.length(); } long size = 0; if (file.exists() && file.isDirectory() && file.canRead()) { final File[] listFiles = file.listFiles(); if (listFiles != null) { for (File child : listFiles) { if (child.isFile() && child.canRead()) { size += child.length(); } else if (child.isDirectory()) { size += recurseSize(child); } else { Activator.getDefault() .logError("Unknown \"file\" type for " + child + ' ' + child.toString()); //$NON-NLS-1$ } } } } return size; } }); init(); getBatchWizard().setTracesToScan(fTracesToScan); getBatchWizard().setTraceFolder(fTargetFolder); fRunnable.schedule(); setErrorMessage(Messages.ImportTraceWizardScanPageSelectAtleastOne); }
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);/*from w w w.ja v a2 s .c o 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.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);/* w w w. jav a2s . 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.btc.views.MTGoxView.java
License:LGPL
@Override public void createPartControl(Composite parent) { Composite container = GUIToolkit.INSTANCE.createComposite(parent); container.setBackground(GUIToolkit.BG); container.setForeground(GUIToolkit.FG); container.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); container.setLayoutData(GridDataFactory.fillDefaults().create()); currencyComboViewer = new ComboViewer(container); currencyComboViewer.setContentProvider(new ArrayContentProvider()); currencyComboViewer.setLabelProvider(new LabelProvider()); currencyComboViewer.setInput(BtcCurrency.VALUES); currencyComboViewer.setSelection(new StructuredSelection(BtcCurrency.EUR)); currencyComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override//from www .j av a 2 s .c o m public void selectionChanged(SelectionChangedEvent event) { ISelection s = event.getSelection(); if (s instanceof StructuredSelection) { BtcCurrency currency = (BtcCurrency) ((StructuredSelection) s).getFirstElement(); mtgoxController.getMTGox().getMarket().setCurrency(currency); mtgoxController.getMTGox().getTrend().clear(); } } }); currencyComboViewer.getCombo().setEnabled(false); wallInfoLabel = new Label(container, SWT.NONE); wallInfoLabel.setLayoutData(GridDataFactory.fillDefaults().create()); wallInfoLabel.setFont(medFont); wallInfoLabel.setForeground(lightBlue); wallInfoLabel.setText("Balance : " + "???" + " (0.6% fee)"); SashForm sash = new SashForm(container, SWT.BORDER | SWT.VERTICAL); sash.setLayout(GridLayoutFactory.fillDefaults().create()); sash.setLayoutData(GridDataFactory.fillDefaults().span(2, 1).grab(true, true).create()); sash.setBackground(GUIToolkit.FG); transactionTreeViewer = new TreeViewer(sash); transactionTreeViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); transactionTreeViewer.getControl().setFont(medFont); transactionTreeViewer.getControl().setBackground(ColorConstants.darkGray); transactionTreeViewer.getControl().setForeground(ColorConstants.lightBlue); transactionTreeViewer .setLabelProvider(new AdapterFactoryLabelProvider(new MTGoxCompseableAdapterFactory()) { @Override public String getText(Object object) { return super.getText(object); } }); transactionTreeViewer.setContentProvider(new WalletOrdersContentProvider()); transactionTreeViewer.getTree().setHeaderVisible(true); transactionTreeViewer.getTree().setLinesVisible(true); transactionTreeViewer.setInput(mtgoxController.getMTGox()); createTableViewerColumn("Order", 100); createTableViewerColumn("type", 100); createTableViewerColumn("BTC", 100); createTableViewerColumn("Value", 100); createTableViewerColumn("Status", 100); createTableViewerColumn("Date", 100); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(transactionTreeViewer, new FocusCellOwnerDrawHighlighter(transactionTreeViewer) { @Override public ViewerCell getFocusCell() { ViewerCell cell = super.getFocusCell(); //handleClipDetails(cell.getElement(), cell.getColumnIndex()); return cell; } }); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( transactionTreeViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return false; } }; TreeViewerEditor.create(transactionTreeViewer, focusCellManager, actSupport, ColumnViewerEditor.KEYBOARD_ACTIVATION); cancelOrderAction = new Action("Cancel Order", Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/cancel.png")) { public void run() { ISelection sel = transactionTreeViewer.getSelection(); for (Object o : ((IStructuredSelection) sel).toArray()) { if (o instanceof Order) { Order order = (Order) o; String oid = order.getOid(); if (mtgoxController != null) { mtgoxController.cancelOrder(BtcCurrency.BTC, mtgoxController.getMTGox().getCurrency(), oid); refreshJob.schedule(250); } } } }; }; hookContextMenu(); hitoryTreeViewer = new TreeViewer(sash); hitoryTreeViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); hitoryTreeViewer.getControl().setFont(medFont); hitoryTreeViewer.getControl().setBackground(ColorConstants.darkGray); hitoryTreeViewer.getControl().setForeground(ColorConstants.lightBlue); hitoryTreeViewer.setLabelProvider(new AdapterFactoryLabelProvider(new MTGoxCompseableAdapterFactory()) { @Override public String getText(Object object) { return super.getText(object); } }); hitoryTreeViewer.setContentProvider(new WalletHistoryContentProvider()); hitoryTreeViewer.getTree().setHeaderVisible(true); hitoryTreeViewer.getTree().setLinesVisible(true); hitoryTreeViewer.setInput(mtgoxController.getMTGox()); createHistoryTableViewerColumn("Index", 100); createHistoryTableViewerColumn("Info", 100); createHistoryTableViewerColumn("type", 100); createHistoryTableViewerColumn("Balance", 100); createHistoryTableViewerColumn("Date", 100); createHistoryTableViewerColumn("Value", 100); sash.setWeights(new int[] { 50, 50 }); init(); }
From source file:org.dawnsci.common.widgets.gda.function.FunctionTreeViewer.java
License:Open Source License
public FunctionTreeViewer(final Composite parent, IFunctionDescriptorProvider functionDescriptorProvider) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new FillLayout()); treeViewer = new TreeViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(treeViewer) { @Override//from ww w . j av a 2 s . c o m protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { // TODO see AbstractComboBoxCellEditor for how list is made visible return super.isEditorActivationEvent(event) || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == KeyLookupFactory.getDefault() .formalKeyLookup(IKeyLookup.ENTER_NAME))); } }; TreeViewerEditor.create(treeViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createFunctionNameColumn(); createParameterValueColumn("Value", COLUMN.VALUE, false, new IGetSetValueOnParameterModel() { @Override public void setValue(ParameterModel param, String value) { param.setParameterValue(value); } @Override public double getValue(ParameterModel param) { return param.getParameterValue(); } @Override public String getErrorValue(ParameterModel param) { return param.getParameterValueError(); } }); createParameterValueColumn("Lower Limit", COLUMN.LOWERLIMIT, true, new IGetSetValueOnParameterModel() { @Override public void setValue(ParameterModel param, String value) { param.setParameterLowerLimit(value); } @Override public double getValue(ParameterModel param) { return param.getParameterLowerLimit(); } @Override public String getErrorValue(ParameterModel param) { return param.getParameterLowerLimitError(); } }); createParameterValueColumn("Upper Limit", COLUMN.UPPERLIMIT, true, new IGetSetValueOnParameterModel() { @Override public void setValue(ParameterModel param, String value) { param.setParameterUpperLimit(value); } @Override public double getValue(ParameterModel param) { return param.getParameterUpperLimit(); } @Override public String getErrorValue(ParameterModel param) { return param.getParameterUpperLimitError(); } }); createFittedParamsColumn(); treeViewer.setContentProvider(new FunctionTreeViewerContentProvider()); treeViewer.expandToLevel(2); // IFunctions are not safely hashable for this use (despite their having // a custom hashCode) treeViewer.setUseHashlookup(false); setInput(null); this.functionDescriptorProvider = functionDescriptorProvider; functionSelectionEditingSupport.setFunctionDesciptorProvider(functionDescriptorProvider); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (event.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); ISelection realSelection = convertSelection(selection); fireSelectionChanged(new SelectionChangedEvent(FunctionTreeViewer.this, realSelection)); } } }); }