List of usage examples for org.eclipse.jface.viewers ColumnViewerEditor KEYBOARD_ACTIVATION
int KEYBOARD_ACTIVATION
To view the source code for org.eclipse.jface.viewers ColumnViewerEditor KEYBOARD_ACTIVATION.
Click Source Link
From 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:au.gov.ga.earthsci.application.parts.layer.LayerTreePart.java
License:Apache License
@PostConstruct public void init(Composite parent, EMenuService menuService) { LayerOpacityToolControl.setPartContext(context); viewer = new CheckboxTreeViewer(parent, SWT.MULTI); viewer.getTree().setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, viewer); clipboard = new Clipboard(shell.getDisplay()); context.set(Clipboard.class, clipboard); IListProperty childrenProperty = new MultiListProperty( new IListProperty[] { BeanProperties.list("children") }); //$NON-NLS-1$ ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( childrenProperty.listFactory(), null); viewer.setContentProvider(contentProvider); //TreeViewerEditor.create(viewer, new SecondClickColumnViewerEditorActivationStrategy(viewer), ColumnViewerEditor.DEFAULT); IObservableSet knownElements = contentProvider.getKnownElements(); IObservableMap enabledMap = BeanProperties.value("enabled").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap opacityMap = BeanProperties.value("opacity").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap nameMap = BeanProperties.value("name").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap labelMap = BeanProperties.value("label").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap statusMap = BeanProperties.value("status").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap anyChildrenEnabledMap = BeanProperties.value("anyChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap allChildrenEnabledMap = BeanProperties.value("allChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap childrenMap = BeanProperties.value("children").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap expandedMap = BeanProperties.value("expanded").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap[] labelAttributeMaps = new IObservableMap[] { enabledMap, opacityMap, nameMap, labelMap, anyChildrenEnabledMap, allChildrenEnabledMap, statusMap }; labelProvider = new LayerTreeLabelProvider(labelAttributeMaps); viewer.setLabelProvider(labelProvider); viewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); viewer.setInput(model.getRootNode()); viewer.setExpandedElements(getExpandedNodes()); IMapChangeListener childrenListener = new IMapChangeListener() { @Override/*from w ww.j a va 2 s. c o m*/ public void handleMapChange(MapChangeEvent event) { //for any children added, expand the nodes Set<?> addedKeys = event.diff.getAddedKeys(); for (Object o : addedKeys) { if (o instanceof ILayerTreeNode) { ((ILayerTreeNode) o).getParent().getValue().setExpanded(true); } } } }; IMapChangeListener expandedListener = new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { //ensure the expanded elements are kept in sync with the model viewer.getTree().getDisplay().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getTree().isDisposed()) { viewer.setExpandedElements(getExpandedNodes()); } } }); } }; childrenMap.addMapChangeListener(childrenListener); childrenMap.addMapChangeListener(expandedListener); expandedMap.addMapChangeListener(expandedListener); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); selectionService.setSelection(array.length == 1 ? array[0] : array); } }); viewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) return; ILayerTreeNode layer = (ILayerTreeNode) cell.getElement(); selectLayer(layer); } @Override public void mouseDown(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) { viewer.setSelection(StructuredSelection.EMPTY); } } }); viewer.getTree().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.size() == 1) { ILayerTreeNode layer = (ILayerTreeNode) selection.getFirstElement(); selectLayer(layer); } } } }); viewer.setCellEditors(new CellEditor[] { new TextCellEditor(viewer.getTree(), SWT.BORDER) }); viewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(viewer, model, context)); //add context menu menuService.registerContextMenu(viewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;// w w w.j ava2 s . c o m gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableMap labelMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider(labelMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.bookmark.ui.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;/* w ww. j a v a 2s . c om*/ gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider<IBookmark> contentProvider = new ObservableListContentProvider<IBookmark>( IBookmark.class); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableSet<IBookmark> knownElements = contentProvider.getKnownElements(); IObservableMap<IBookmark, String> nameMap = BeanProperties.value(IBookmark.class, "name", String.class) //$NON-NLS-1$ .observeDetail(knownElements); TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider<IBookmark, String>(nameMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.layer.ui.LayerTreePart.java
License:Apache License
protected void createStructureViewer(Composite parent, EMenuService menuService, CTabItem tabItem) { structureViewer = new CheckboxTreeViewer(parent, SWT.MULTI); tabItem.setControl(structureViewer.getControl()); structureViewer.getTree()//from w w w . jav a 2 s . c o m .setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, structureViewer); clipboard = new Clipboard(parent.getDisplay()); context.set(Clipboard.class, clipboard); //create a property change listener for updating the labels whenever a property //changes on an ILayerTreeNode instance final PropertyChangeListener anyChangeListener = new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { updateElementLabel(evt.getSource()); } }; //create a property change listener that ensures the expanded state of the tree //is kept in sync with the value of the expanded property for each node final PropertyChangeListener expandedChangeListener = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { syncExpandedNodes(); } }; //setup the label provider labelProvider = new LayerTreeLabelProvider(); //create a bean list property associated with ILayerTreeNode's children property IBeanListProperty<ILayerTreeNode, ILayerTreeNode> childrenProperty = BeanProperties .list(ILayerTreeNode.class, "children", ILayerTreeNode.class); //$NON-NLS-1$ //setup a factory for creating observables observing ILayerTreeNodes IObservableFactory<ILayerTreeNode, IObservableList<ILayerTreeNode>> observableFactory = childrenProperty .listFactory(); //listen for any changes (additions/removals) to any of the children in the tree observableListTreeSupport = new ObservableListTreeSupport<ILayerTreeNode>(observableFactory); observableListTreeSupport.addListener(new ITreeChangeListener<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { element.addPropertyChangeListener(anyChangeListener); element.addPropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } @Override public void elementRemoved(ILayerTreeNode element) { element.removePropertyChangeListener(anyChangeListener); element.removePropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } }); //create a content provider that listens for changes to any children in the tree ObservableListTreeContentProvider<ILayerTreeNode> contentProvider = new ObservableListTreeContentProvider<ILayerTreeNode>( observableFactory, null); //set the viewer's providers structureViewer.setContentProvider(contentProvider); structureViewer.setLabelProvider(labelProvider); structureViewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); //set the viewer and listener inputs structureViewer.setInput(model.getRootNode()); observableListTreeSupport.setInput(model.getRootNode()); //Listen for any additions to the tree, and expand added node's parent, so that //added nodes are always visible. This is done after the input is set up, so that //we don't expand all the nodes that are already in the tree. observableListTreeSupport.addListener(new TreeChangeAdapter<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { //for any children added, expand the nodes if (!element.isRoot()) { element.getParent().setExpanded(true); } //if the nodes were already expanded, the expanded property change event //is not fired, so we need to sync the expanded state anyway syncExpandedNodes(); //when a layer is added, we should activate this part and select the added element activateAndSelectElement(element); } }); //expand any nodes that should be expanded after unpersisting syncExpandedNodes(); //enable/disable any nodes that are checked/unchecked structureViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); //setup the selection tracking structureViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); settingSelection = true; selectionService.setSelection(array.length == 1 ? array[0] : array); settingSelection = false; } }); structureViewer.getTree().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); ILayerTreeNode firstElement = (ILayerTreeNode) selection.getFirstElement(); if (firstElement != null) { selectLayer(firstElement); } } }); //setup tree expansion/collapse listening structureViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); //make tree cells unselectable by selecting outside structureViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { ViewerCell cell = structureViewer.getCell(new Point(e.x, e.y)); if (cell == null) { structureViewer.setSelection(StructuredSelection.EMPTY); } } }); //setup cell editing structureViewer .setCellEditors(new CellEditor[] { new TextCellEditor(structureViewer.getTree(), SWT.BORDER) }); structureViewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ structureViewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( structureViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(structureViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; structureViewer.addDragSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(structureViewer)); structureViewer .addDropSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(structureViewer, model, context)); //add context menu menuService.registerContextMenu(structureViewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:ch.elexis.core.ui.dialogs.OrderImportDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); mainArea.setLayout(new GridLayout()); Composite scannerArea = new Composite(mainArea, SWT.NONE); scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerArea.setLayout(new GridLayout()); Group scannerGroup = new Group(scannerArea, SWT.NONE); scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerGroup.setLayout(new GridLayout(4, false)); scannerGroup.setText("Einlesen mit Barcode-Scanner"); diffSpinner = new Spinner(scannerGroup, SWT.NONE); diffSpinner.setMinimum(DIFF_SPINNER_MIN); diffSpinner.setSelection(DIFF_SPINNER_DEFAULT); Label eanLabel = new Label(scannerGroup, SWT.NONE); eanLabel.setText("EAN:"); eanText = new ElexisText(scannerGroup, SWT.NONE); eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); eanText.addKeyListener(new KeyAdapter() { @Override/*from w ww . ja va 2 s . c o m*/ public void keyPressed(KeyEvent e) { if (e.character == SWT.CR) { applyScanner(); } } }); Button button = new Button(scannerGroup, SWT.PUSH); button.setText("bernehmen"); button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { applyScanner(); } public void widgetDefaultSelected(SelectionEvent e) { // do nothing } }); Composite tableArea = new Composite(mainArea, SWT.NONE); tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tableArea.setLayout(new GridLayout()); viewer = new TableViewer(tableArea, SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setLinesVisible(true); table.setHeaderVisible(true); verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); boldFont = createBoldFont(table.getFont()); final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { 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; } }; TableViewerEditor.create(viewer, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createViewerColumns(); viewer.setContentProvider(new ViewerContentProvider()); viewer.setInput(this); viewer.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { Artikel a1 = ((OrderElement) e1).getArticle(); Artikel a2 = ((OrderElement) e2).getArticle(); if (a1 != null && a2 != null) { return a1.getName().compareTo(a2.getName()); } return 0; }; }); Composite cButtons = new Composite(mainArea, SWT.NONE); cButtons.setLayout(new GridLayout(2, false)); final Button clickAllButton = new Button(cButtons, SWT.PUSH); clickAllButton.setText(ALLE_MARKIEREN); clickAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean bv = true; if (clickAllButton.getText().equals(ALLE_MARKIEREN)) { bv = true; clickAllButton.setText("Alle demarkieren"); } else { bv = false; clickAllButton.setText(ALLE_MARKIEREN); } for (OrderElement oe : orderElements) { oe.setVerified(bv); } viewer.refresh(true); } }); Button importButton = new Button(cButtons, SWT.PUSH); GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false); importButton.setLayoutData(gd); importButton.setText("Lagerbestnde anpassen"); importButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doImport(); } }); cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); return mainArea; }
From source file:ch.elexis.dialogs.OrderImportDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); mainArea.setLayout(new GridLayout()); Composite scannerArea = new Composite(mainArea, SWT.NONE); scannerArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerArea.setLayout(new GridLayout()); Group scannerGroup = new Group(scannerArea, SWT.NONE); scannerGroup.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); scannerGroup.setLayout(new GridLayout(4, false)); scannerGroup.setText("Einlesen mit Barcode-Scanner"); diffSpinner = new Spinner(scannerGroup, SWT.NONE); diffSpinner.setMinimum(DIFF_SPINNER_MIN); diffSpinner.setSelection(DIFF_SPINNER_DEFAULT); Label eanLabel = new Label(scannerGroup, SWT.NONE); eanLabel.setText("EAN:"); eanText = new ElexisText(scannerGroup, SWT.NONE); eanText.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); eanText.addKeyListener(new KeyAdapter() { @Override/*from w ww . j av a2s. com*/ public void keyPressed(KeyEvent e) { if (e.character == SWT.CR) { applyScanner(); } } }); Button button = new Button(scannerGroup, SWT.PUSH); button.setText("bernehmen"); button.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { applyScanner(); } public void widgetDefaultSelected(SelectionEvent e) { // do nothing } }); Composite tableArea = new Composite(mainArea, SWT.NONE); tableArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); tableArea.setLayout(new GridLayout()); viewer = new TableViewer(tableArea, SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); table.setLinesVisible(true); table.setHeaderVisible(true); verifiedColor = table.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); boldFont = createBoldFont(table.getFont()); final TableViewerFocusCellManager mgr = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { 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; } }; TableViewerEditor.create(viewer, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); createViewerColumns(); viewer.setContentProvider(new ViewerContentProvider()); viewer.setInput(this); Composite cButtons = new Composite(mainArea, SWT.NONE); cButtons.setLayout(new GridLayout(2, false)); final Button clickAllButton = new Button(cButtons, SWT.PUSH); clickAllButton.setText(ALLE_MARKIEREN); clickAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean bv = true; if (clickAllButton.getText().equals(ALLE_MARKIEREN)) { bv = true; clickAllButton.setText("Alle demarkieren"); } else { bv = false; clickAllButton.setText(ALLE_MARKIEREN); } for (OrderElement oe : orderElements) { oe.setVerified(bv); } viewer.refresh(true); } }); Button importButton = new Button(cButtons, SWT.PUSH); GridData gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false); importButton.setLayoutData(gd); importButton.setText("Lagerbestnde anpassen"); importButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doImport(); } }); cButtons.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); return mainArea; }
From source file:cn.ieclipse.adt.ext.wizards.ElementTableSelector.java
License:Apache License
public ElementTableSelector(final Composite composite, GridData gridData, final String groupDescr, final String selectionMessage, final Object[] elements) { this.elements = elements; Group intentGroup = new Group(composite, SWT.NONE); intentGroup.setLayout(new GridLayout(2, false)); intentGroup.setLayoutData(gridData); intentGroup.setText(groupDescr);//from w w w . j av a 2 s . c o m tv = new TableViewer(intentGroup, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION); table = tv.getTable(); table.setHeaderVisible(false); table.setLinesVisible(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); final Menu menu = new Menu(tv.getControl()); MenuItem add = new MenuItem(menu, SWT.PUSH); add.setText("&Add Custom"); add.setImage(ADD_IMG); add.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { addModel(new Model("custom")); tv.refresh(); } }); MenuItem up = new MenuItem(menu, SWT.PUSH); up.setText("&Up"); up.setImage(UP_IMG); up.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (!sel.isEmpty()) { Model m = (Model) sel.getFirstElement(); int idx = selectedElements.indexOf(m); if (idx > 0) { Model n = selectedElements.get(idx - 1); selectedElements.set(idx, n); selectedElements.set(idx - 1, m); tv.refresh(); } } } }); MenuItem down = new MenuItem(menu, SWT.PUSH); down.setText("&Down"); down.setImage(DOWN_IMG); down.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (!sel.isEmpty()) { Model m = (Model) sel.getFirstElement(); int idx = selectedElements.indexOf(m); if (idx < selectedElements.size() - 1) { Model n = selectedElements.get(idx + 1); selectedElements.set(idx, n); selectedElements.set(idx + 1, m); tv.refresh(); } } } }); table.setMenu(menu); tv.setContentProvider(new MyContentProvider()); ColumnViewerToolTipSupport.enableFor(tv, ToolTip.NO_RECREATE); // TableViewerFocusCellManager focusCellManager = new // TableViewerFocusCellManager( // tv, new FocusBorderCellHighlighter(tv)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tv) { 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; } }; TableViewerEditor.create(tv, null, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TableViewerColumn col = new TableViewerColumn(tv, SWT.NONE); col.setLabelProvider(new MyCellLabelProvider()); col.setEditingSupport(new MyEditingSupport(tv)); // tv.getTable(). col.getColumn().setWidth(300); table.addControlListener(new ControlListener() { public void controlResized(ControlEvent e) { int w = table.getClientArea().width; if (w > 0) { col.getColumn().setWidth(w); } } public void controlMoved(ControlEvent e) { } }); tv.setInput(selectedElements); Composite buttonComp = new Composite(intentGroup, SWT.NONE); buttonComp.setLayout(new FillLayout(SWT.VERTICAL)); addButton = new Button(buttonComp, SWT.NONE); addButton.setText("Add..."); addButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { showSelectionDialog(composite, selectionMessage); } public void widgetDefaultSelected(SelectionEvent e) { } }); removeButton = new Button(buttonComp, SWT.NONE); removeButton.setText("Remove..."); removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { int[] selection = table.getSelectionIndices(); if (selection != null) { IStructuredSelection sel = (IStructuredSelection) tv.getSelection(); if (!sel.isEmpty()) { for (Object object : sel.toArray()) { selectedElements.remove(object); } } tv.refresh(); } } }); }
From source file:com.adobe.granite.ide.eclipse.ui.wizards.np.AdvancedSettingsComponent.java
License:Apache License
public void createAdvancedSection(Composite container) { Label label;//from w w w . j av a2 s . c om GridData gd; label = new Label(container, SWT.NULL); label.setText("&Version:"); version = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); version.setLayoutData(gd); version.setText("0.0.1-SNAPSHOT"); version.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); label.setText("&Package:"); javaPackage = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); javaPackage.setLayoutData(gd); javaPackageModified = false; javaPackage.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { javaPackageModified = true; } }); javaPackage.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); gd = new GridData(SWT.LEFT, SWT.TOP, false, false); label.setLayoutData(gd); label.setText("&Parameters:"); propertiesViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION); propertiesTable = propertiesViewer.getTable(); propertiesTable.setLinesVisible(true); propertiesTable.setHeaderVisible(true); propertiesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2)); CellNavigationStrategy strategy = new CellNavigationStrategy(); TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager(propertiesViewer, new FocusCellOwnerDrawHighlighter(propertiesViewer), strategy); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( propertiesViewer) { @Override 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; } }; int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK; TableViewerEditor.create(propertiesViewer, focusCellMgr, actSupport, features); TableColumn propertiesTableNameColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableNameColumn.setWidth(180); propertiesTableNameColumn.setText("Name"); TableColumn propertiesTableValueColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableValueColumn.setWidth(300); propertiesTableValueColumn.setText("Value"); propertiesViewer.setColumnProperties(new String[] { KEY_PROPERTY, VALUE_PROPERTY }); propertiesViewer.setCellEditors(new CellEditor[] { null /* cannot edit the name */, new TextCellEditor(propertiesTable, SWT.NONE) }); propertiesViewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return true; } public void modify(Object element, String property, Object value) { if (element instanceof TableItem) { ((TableItem) element).setText(getTextIndex(property), String.valueOf(value)); wizardPage.dialogChanged(); } } public Object getValue(Object element, String property) { if (element instanceof TableItem) { return ((TableItem) element).getText(getTextIndex(property)); } return null; } }); }
From source file:com.casmall.dts.manage.ui.auth.AuthMgtListComposite.java
License:Open Source License
private void initGUI() { try {// w w w.j a v a 2 s .c om GridLayout thisLayout = new GridLayout(); thisLayout.makeColumnsEqualWidth = true; this.setLayout(thisLayout); this.setSize(1010, 418); { final CLabel lblTitle = new CLabel(this, SWT.NONE); lblTitle.setText(" "); lblTitle.setImage(ImageRepository.getImage(ImageRepository.ICO_SELECT)); lblTitle.setFont(titleFont); lblTitle.setForeground(ColorRepository.getColor(ColorRepository.TEXT_TITLE)); lblTitle.setBackground(ColorRepository.getColor(ColorRepository.BG_CONTENTS)); GridData lblTitleLData = new GridData(SWT.FILL, SWT.BOTTOM, false, false); lblTitleLData.verticalIndent = 3; lblTitleLData.horizontalIndent = 10; lblTitle.setLayoutData(lblTitleLData); } { ctSelect = new Composite(this, SWT.NONE); ctSelect.setBackgroundMode(SWT.INHERIT_FORCE); GridLayout ctSelectLayout = new GridLayout(); ctSelectLayout.marginLeft = -9; ctSelectLayout.marginRight = -9; ctSelectLayout.marginWidth = 0; ctSelectLayout.verticalSpacing = 0; ctSelectLayout.numColumns = 3; ctSelectLayout.marginHeight = 0; ctSelectLayout.horizontalSpacing = 0; GridData ctSelectLData = new GridData(SWT.FILL, SWT.FILL, true, false); ctSelectLData.heightHint = 75; ctSelect.setLayoutData(ctSelectLData); ctSelect.setLayout(ctSelectLayout); final Composite ctSelectLeft = new Composite(ctSelect, SWT.NONE); ctSelectLeft.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT_LEFT)); ctSelectLeft.setLayout(new GridLayout()); GridData ctSelectLeftLData = new GridData(SWT.LEFT, SWT.FILL, false, true); ctSelectLeftLData.widthHint = 19; ctSelectLeft.setLayoutData(ctSelectLeftLData); ctTop = new Composite(ctSelect, SWT.NONE); ctTop.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT)); GridLayout ctTopLayout = new GridLayout(); ctTopLayout.numColumns = 6; GridData ctTopLData = new GridData(); ctTopLData.grabExcessHorizontalSpace = true; ctTopLData.horizontalAlignment = GridData.FILL; ctTopLData.grabExcessVerticalSpace = true; ctTopLData.verticalAlignment = GridData.FILL; ctTop.setLayoutData(ctTopLData); ctTop.setLayout(ctTopLayout); { CLabel lblTag = new CLabel(ctTop, SWT.NONE); lblTag.setFont(defaultFont); lblTag.setText(": "); GridData lblTermLData = new GridData(SWT.CENTER, SWT.CENTER, false, true); lblTag.setImage(ImageRepository.getImage(ImageRepository.DOT_SELECT)); lblTermLData.heightHint = 17; lblTermLData.horizontalIndent = 10; lblTag.setLayoutData(lblTermLData); } { txtSearch = new Text(ctTop, SWT.BORDER); txtSearch.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { if (e.keyCode == 0x0D) { selectData(); } } }); GridData gd_txtMgtCd = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); gd_txtMgtCd.widthHint = 40; txtSearch.setLayoutData(gd_txtMgtCd); txtSearch.setFont(defaultFont); } { btnSelect = new Button(ctTop, SWT.PUSH | SWT.CENTER); GridData btnSelectLData = new GridData(); btnSelectLData.grabExcessHorizontalSpace = true; btnSelectLData.horizontalAlignment = GridData.END; btnSelect.setLayoutData(btnSelectLData); btnSelect.setImage(ImageRepository.getImage(ImageRepository.BTN_SELECT)); btnSelect.setFont(defaultFont); btnSelect.setText(""); btnSelect.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { btnSelectMouseDown(evt); } }); } { Button btnExport = new Button(ctTop, SWT.PUSH | SWT.CENTER); GridData btnSelectLData = new GridData(); btnSelectLData.grabExcessHorizontalSpace = false; btnSelectLData.horizontalAlignment = GridData.END; btnExport.setLayoutData(btnSelectLData); btnExport.setImage(ImageRepository.getImage(ImageRepository.BTN_EXPORT)); btnExport.setFont(defaultFont); btnExport.setText(""); btnExport.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { btnExportMouseDown(evt); } }); } { Button btnClose = new Button(ctTop, SWT.PUSH | SWT.CENTER); GridData btnSelectLData = new GridData(); btnSelectLData.grabExcessHorizontalSpace = false; btnSelectLData.horizontalAlignment = GridData.END; btnClose.setLayoutData(btnSelectLData); btnClose.setImage(ImageRepository.getImage(ImageRepository.BTN_CLOSE)); btnClose.setFont(defaultFont); btnClose.setText(""); btnClose.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); IViewReference ref = page.findViewReference(CarMgtView.ID); page.hideView(ref); } }); } final Composite ctSelectRight = new Composite(ctSelect, SWT.NONE); ctSelectRight.setBackgroundImage(ImageRepository.getImage(ImageRepository.BG_SELECT_RIGHT)); ctSelectRight.setLayout(new GridLayout()); GridData ctSelectRightLData = new GridData(SWT.BEGINNING, SWT.FILL, false, true); ctSelectRightLData.widthHint = 19; ctSelectRight.setLayoutData(ctSelectRightLData); } { gridViewer = new GridTableViewer(this, SWT.BORDER | SWT.V_SCROLL); gridViewer.setLabelProvider(new ListGridLabelProvider()); gridViewer.setContentProvider(new ListGridContentProvider()); gridViewer.getGrid().setSelectionEnabled(true); gridViewer.getGrid().setFont(defaultFont); gridViewer.getGrid().setItemHeight(28); gridViewer.setCellEditors(new CellEditor[] { new TextCellEditor(gridViewer.getGrid()), new TextCellEditor(gridViewer.getGrid()) }); gridViewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return false; } public Object getValue(Object element, String property) { return element.toString(); } public void modify(Object element, String property, Object value) { } }); gridViewer.setColumnProperties(colProp); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( gridViewer) { 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); } }; GridViewerEditor.create(gridViewer, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); for (int i = 0; i < colName.length; i++) { GridColumn column = new GridColumn(gridViewer.getGrid(), SWT.NONE); column.setWidth(colWidth[i] * 10); column.setAlignment(colAlign[i]); column.setText(colName[i]); column.setResizeable(false); } gridViewer.getGrid().setLinesVisible(true); gridViewer.getGrid().setHeaderVisible(true); gridViewer.getGrid().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent evt) { Grid g = (Grid) evt.getSource(); if (listData != null && listData.size() > g.getSelectionIndex() && g.getSelectionIndex() != -1) { TsAuthMgtDTO vo = listData.get(g.getSelectionIndex()); callback.callback(CallbackIF.CMD_EDIT, vo); } } }); Grid grid = gridViewer.getGrid(); grid.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { int width = 0; for (int i = 0; i < gridViewer.getGrid().getColumnCount(); i++) { width = (int) (colWidth[i] * gridViewer.getGrid().getClientArea().width / 100); if (i == gridViewer.getGrid().getColumnCount() - 1) { width += 5; } gridViewer.getGrid().getColumn(i).setWidth(width); } int add = gridViewer.getGrid().getBounds().width / 100 - 7; gridViewer.getGrid() .setFont(SWTResourceManager.getFont("Arial", 10 + (add > 0 ? add : 0), SWT.NORMAL)); } }); grid.setLineColor(ColorRepository.getColor(ColorRepository.GRID_LINE)); GridData gridViewerLData = new GridData(); gridViewerLData.grabExcessHorizontalSpace = true; gridViewerLData.horizontalAlignment = GridData.FILL; gridViewerLData.grabExcessVerticalSpace = true; gridViewerLData.verticalAlignment = GridData.FILL; gridViewer.getGrid().setLayoutData(gridViewerLData); } this.layout(); } catch (Exception e) { e.printStackTrace(); } }