List of usage examples for org.eclipse.jface.util LocalSelectionTransfer setSelectionSetTime
public void setSelectionSetTime(long time)
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 .j a va 2s. 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:de.byteholder.geoclipse.mapprovider.DialogMPWms.java
License:Open Source License
private void createUILayer20Viewer(final Composite parent, final PixelConverter pixelConverter) { final TableColumnLayout tableLayout = new TableColumnLayout(); _viewerContainer = new Composite(parent, SWT.NONE); _viewerContainer.setLayout(tableLayout); GridDataFactory.fillDefaults().grab(true, true).applyTo(_viewerContainer); /*/*from w ww . j a v a2 s . co m*/ * create table */ final Table table = new Table(_viewerContainer, SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER); table.setLayout(new TableLayout()); table.setHeaderVisible(true); table.setLinesVisible(true); _layerViewer = new CheckboxTableViewer(table); /* * create columns */ TableViewerColumn tvc; TableColumn tvcColumn; // column: layer title tvc = new TableViewerColumn(_layerViewer, SWT.LEAD); tvcColumn = tvc.getColumn(); tvcColumn.setText(Messages.Dialog_WmsConfig_Column_LayerName); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { final MtLayer mtLayer = (MtLayer) cell.getElement(); cell.setText(mtLayer.getGeoLayer().getTitle()); } }); tableLayout.setColumnData(tvcColumn, new ColumnWeightData(20, true)); // column: layer id tvc = new TableViewerColumn(_layerViewer, SWT.LEAD); tvcColumn = tvc.getColumn(); tvcColumn.setText(Messages.Dialog_WmsConfig_Column_LayerId); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { final MtLayer mtLayer = (MtLayer) cell.getElement(); cell.setText(mtLayer.getGeoLayer().getName()); } }); tableLayout.setColumnData(tvcColumn, new ColumnWeightData(10, true)); // column: bbox tvc = new TableViewerColumn(_layerViewer, SWT.LEAD); tvcColumn = tvc.getColumn(); tvcColumn.setText(Messages.Dialog_WmsConfig_Column_Bbox); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { final MtLayer mtLayer = (MtLayer) cell.getElement(); final GeoPosition lowerPosition = mtLayer.getLowerGeoPosition(); final GeoPosition upperPosition = mtLayer.getUpperGeoPosition(); final StringBuilder sb = new StringBuilder(); sb.append(lowerPosition.latitude); sb.append(", "); //$NON-NLS-1$ sb.append(lowerPosition.longitude); sb.append(" / "); //$NON-NLS-1$ sb.append(upperPosition.latitude); sb.append(", "); //$NON-NLS-1$ sb.append(upperPosition.longitude); cell.setText(sb.toString()); } }); tableLayout.setColumnData(tvcColumn, new ColumnWeightData(20, true)); _layerViewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public Object[] getElements(final Object inputElement) { final int mtLayerSize = _allMtLayers.size(); if (mtLayerSize == 0) { return null; } else { return _allMtLayers.toArray(new MtLayer[mtLayerSize]); } } public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { } }); _layerViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { // select the checked item _layerViewer.setSelection(new StructuredSelection(event.getElement())); // set focus to selected layer table.setSelection(table.getSelectionIndex()); onCheckLayer(event.getElement()); } }); _layerViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { onSelectLayer(); } }); /* * set drag adapter */ _layerViewer.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 ISelection selection = _layerViewer.getSelection(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStartViewerLeft = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_layerViewer) { private Widget fTableItem; @Override public void dragOver(final DropTargetEvent event) { // keep table item fTableItem = event.item; super.dragOver(event); } @Override public boolean performDrop(final Object droppedData) { if (droppedData instanceof StructuredSelection) { final Object firstElement = ((StructuredSelection) droppedData).getFirstElement(); if (firstElement instanceof MtLayer) { final MtLayer mtLayer = (MtLayer) firstElement; final int location = getCurrentLocation(); final Table layerTable = _layerViewer.getTable(); /* * check if drag was startet from this filter, remove the filter item before * the new filter is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dragStartViewerLeft) { _layerViewer.remove(mtLayer); } int tableIndex; if (fTableItem == null) { _layerViewer.add(mtLayer); tableIndex = layerTable.getItemCount() - 1; } else { // get index of the target in the table tableIndex = layerTable.indexOf((TableItem) fTableItem); if (tableIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _layerViewer.insert(mtLayer, tableIndex); } else if (location == LOCATION_AFTER) { _layerViewer.insert(mtLayer, ++tableIndex); } } // set check state _layerViewer.setChecked(mtLayer, mtLayer.isDisplayedInMap()); // reselect filter item _layerViewer.setSelection(new StructuredSelection(mtLayer)); // set focus to selection layerTable.setSelection(tableIndex); layerTable.setFocus(); // update new layer topology in the map updateMap(false); return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof StructuredSelection) { final Object draggedItem = ((StructuredSelection) selection).getFirstElement(); if (target == draggedItem) { return false; } } if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) == false) { return false; } // check drop location final int location = getCurrentLocation(); if (((location == LOCATION_AFTER) || (location == LOCATION_BEFORE)) == false) { return false; } return true; } }; _layerViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }
From source file:de.walware.ecommons.ui.util.SelectionTransferDragAdapter.java
License:Open Source License
@Override public void dragStart(final DragSourceEvent event) { final ISelection selection = fSelectionProvider.getSelection(); final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); transfer.setSelection(selection);/*w w w .j a v a 2 s . c om*/ transfer.setSelectionSetTime(event.time & 0xFFFFFFFFL); if (selection.isEmpty()) { event.doit = false; return; } }
From source file:de.walware.ecommons.ui.util.SelectionTransferDragAdapter.java
License:Open Source License
@Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); transfer.setSelection(null);/*from w w w .j a va 2 s .c om*/ transfer.setSelectionSetTime(0); }
From source file:net.tourbook.common.util.DialogModifyColumns.java
License:Open Source License
private void createUI_72_ColumnsViewer(final Composite parent) { final TableColumnLayout tableLayout = new TableColumnLayout(); final Composite layoutContainer = new Composite(parent, SWT.NONE); layoutContainer.setLayout(tableLayout); GridDataFactory.fillDefaults().grab(true, true).applyTo(layoutContainer); /*//w w w . j a v a2 s. c o m * create table */ final Table table = new Table(layoutContainer, SWT.CHECK | SWT.FULL_SELECTION | SWT.BORDER); table.setLayout(new TableLayout()); table.setHeaderVisible(true); table.setLinesVisible(false); _columnViewer = new CheckboxTableViewer(table); defineAllColumns(tableLayout); reorderColumns(table); _columnViewer.setContentProvider(new IStructuredContentProvider() { @Override public void dispose() { } @Override public Object[] getElements(final Object inputElement) { return _columnViewerModel.toArray(); } @Override public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { } }); _columnViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object firstElement = ((IStructuredSelection) _columnViewer.getSelection()).getFirstElement(); if (firstElement != null) { // check/uncheck current item _columnViewer.setChecked(firstElement, !_columnViewer.getChecked(firstElement)); } } }); _columnViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(final CheckStateChangedEvent event) { final ColumnDefinition colDef = (ColumnDefinition) event.getElement(); if (colDef.canModifyVisibility()) { // keep the checked status colDef.setIsColumnDisplayed(event.getChecked()); // select the checked item _columnViewer.setSelection(new StructuredSelection(colDef)); } else { // column can't be unchecked _columnViewer.setChecked(colDef, true); } // save columns saveState_CurrentProfileColumns(); } }); _columnViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { enableUpDownActions(); } }); /* * set drag adapter */ _columnViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _columnViewer.getSelection(); _dndCheckedElements = _columnViewer.getCheckedElements(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dndDragStartViewerLeft = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_columnViewer) { private Widget _dragOverItem; @Override public void dragOver(final DropTargetEvent dropEvent) { // keep table item _dragOverItem = dropEvent.item; super.dragOver(dropEvent); } @Override public boolean performDrop(final Object data) { if (data instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) data; if (selection.getFirstElement() instanceof ColumnDefinition) { final ColumnDefinition colDef = (ColumnDefinition) selection.getFirstElement(); final int location = getCurrentLocation(); final Table filterTable = _columnViewer.getTable(); /* * check if drag was startet from this item, remove the item before the new * item is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dndDragStartViewerLeft) { _columnViewer.remove(colDef); } int filterIndex; if (_dragOverItem == null) { _columnViewer.add(colDef); filterIndex = filterTable.getItemCount() - 1; } else { // get index of the target in the table filterIndex = filterTable.indexOf((TableItem) _dragOverItem); if (filterIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _columnViewer.insert(colDef, filterIndex); } else if (location == LOCATION_AFTER || location == LOCATION_ON) { _columnViewer.insert(colDef, ++filterIndex); } } // reselect filter item _columnViewer.setSelection(new StructuredSelection(colDef)); // set focus to selection filterTable.setSelection(filterIndex); filterTable.setFocus(); // recheck items _columnViewer.setCheckedElements(_dndCheckedElements); enableUpDownActions(); return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final LocalSelectionTransfer transferData = LocalSelectionTransfer.getTransfer(); // check if dragged item is the target item final ISelection selection = transferData.getSelection(); if (selection instanceof StructuredSelection) { final Object dragFilter = ((StructuredSelection) selection).getFirstElement(); if (target == dragFilter) { return false; } } if (transferData.isSupportedType(transferType) == false) { return false; } // check if target is between two items if (getCurrentLocation() == LOCATION_ON) { return false; } return true; } }; _columnViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }
From source file:net.tourbook.importdata.DialogEasyImportConfig.java
License:Open Source License
private void createUI_214_IC_DragDrop() { /*/*from w w w. ja v a2s.c o m*/ * set drag adapter */ _icViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _icViewer.getSelection(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStart = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_icViewer) { private Widget __dragItem; @Override public void dragOver(final DropTargetEvent dropEvent) { // keep table item __dragItem = dropEvent.item; super.dragOver(dropEvent); } @Override public boolean performDrop(final Object data) { if (data instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) data; if (selection.getFirstElement() instanceof ImportConfig) { final ImportConfig selectedItem = (ImportConfig) selection.getFirstElement(); final int location = getCurrentLocation(); final Table filterTable = _icViewer.getTable(); /* * check if drag was startet from this filter, remove the filter item before * the new filter is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dragStart) { _icViewer.remove(selectedItem); } int filterIndex; if (__dragItem == null) { _icViewer.add(selectedItem); filterIndex = filterTable.getItemCount() - 1; } else { // get index of the target in the table filterIndex = filterTable.indexOf((TableItem) __dragItem); if (filterIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _icViewer.insert(selectedItem, filterIndex); } else if (location == LOCATION_AFTER || location == LOCATION_ON) { _icViewer.insert(selectedItem, ++filterIndex); } } // reselect filter item _icViewer.setSelection(new StructuredSelection(selectedItem)); // set focus to selection filterTable.setSelection(filterIndex); filterTable.setFocus(); return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof StructuredSelection) { final Object dragFilter = ((StructuredSelection) selection).getFirstElement(); if (target == dragFilter) { return false; } } if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) == false) { return false; } return true; } }; _icViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }
From source file:net.tourbook.importdata.DialogEasyImportConfig.java
License:Open Source License
private void createUI_514_IL_DragDrop() { /*//from w w w .j a va 2s . c o m * set drag adapter */ _ilViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _ilViewer.getSelection(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStart = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_ilViewer) { private Widget __dragItem; @Override public void dragOver(final DropTargetEvent dropEvent) { // keep table item __dragItem = dropEvent.item; super.dragOver(dropEvent); } @Override public boolean performDrop(final Object data) { if (data instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) data; if (selection.getFirstElement() instanceof ImportLauncher) { final ImportLauncher filterItem = (ImportLauncher) selection.getFirstElement(); final int location = getCurrentLocation(); final Table filterTable = _ilViewer.getTable(); /* * check if drag was startet from this filter, remove the filter item before * the new filter is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dragStart) { _ilViewer.remove(filterItem); } int filterIndex; if (__dragItem == null) { _ilViewer.add(filterItem); filterIndex = filterTable.getItemCount() - 1; } else { // get index of the target in the table filterIndex = filterTable.indexOf((TableItem) __dragItem); if (filterIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _ilViewer.insert(filterItem, filterIndex); } else if (location == LOCATION_AFTER || location == LOCATION_ON) { _ilViewer.insert(filterItem, ++filterIndex); } } // reselect filter item _ilViewer.setSelection(new StructuredSelection(filterItem)); // set focus to selection filterTable.setSelection(filterIndex); filterTable.setFocus(); return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof StructuredSelection) { final Object dragFilter = ((StructuredSelection) selection).getFirstElement(); if (target == dragFilter) { return false; } } if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) == false) { return false; } return true; } }; _ilViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }
From source file:net.tourbook.map2.view.DialogModifyMapProvider.java
License:Open Source License
private void createUI10MapProviderList(final Composite parent) { final PixelConverter pc = new PixelConverter(parent); _checkboxViewer = CheckboxTableViewer.newCheckList(parent, SWT.SINGLE | SWT.TOP | SWT.BORDER); final Table table = _checkboxViewer.getTable(); GridDataFactory.swtDefaults()// .grab(true, true).hint(SWT.DEFAULT, pc.convertHeightInCharsToPixels(10)).align(SWT.FILL, SWT.FILL) .applyTo(table);/*from w ww . java2 s . co m*/ _checkboxViewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public Object[] getElements(final Object inputElement) { return _allMp.toArray(); } public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { } }); _checkboxViewer.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { return ((MP) element).getName(); } }); _checkboxViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(final CheckStateChangedEvent event) { // keep the checked status final MP item = (MP) event.getElement(); item.setCanBeToggled(event.getChecked()); // select the checked item _checkboxViewer.setSelection(new StructuredSelection(item)); // // validateTab(); } }); _checkboxViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { enableUpDownButtons(); } }); /* * set drag adapter */ _checkboxViewer.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 ISelection selection = _checkboxViewer.getSelection(); _dndCheckedElements = _checkboxViewer.getCheckedElements(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dndDragStartViewerLeft = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_checkboxViewer) { private Widget _dragOverItem; @Override public void dragOver(final DropTargetEvent dropEvent) { // keep table item _dragOverItem = dropEvent.item; super.dragOver(dropEvent); } @Override public boolean performDrop(final Object data) { if (data instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) data; if (selection.getFirstElement() instanceof MP) { final MP mp = (MP) selection.getFirstElement(); final int location = getCurrentLocation(); final Table filterTable = _checkboxViewer.getTable(); /* * check if drag was startet from this item, remove the item before the new * item is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dndDragStartViewerLeft) { _checkboxViewer.remove(mp); } int filterIndex; if (_dragOverItem == null) { _checkboxViewer.add(mp); filterIndex = filterTable.getItemCount() - 1; } else { // get index of the target in the table filterIndex = filterTable.indexOf((TableItem) _dragOverItem); if (filterIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _checkboxViewer.insert(mp, filterIndex); } else if (location == LOCATION_AFTER || location == LOCATION_ON) { _checkboxViewer.insert(mp, ++filterIndex); } } // reselect filter item _checkboxViewer.setSelection(new StructuredSelection(mp)); // set focus to selection filterTable.setSelection(filterIndex); filterTable.setFocus(); // recheck items _checkboxViewer.setCheckedElements(_dndCheckedElements); enableUpDownButtons(); return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final LocalSelectionTransfer transferData = LocalSelectionTransfer.getTransfer(); // check if dragged item is the target item final ISelection selection = transferData.getSelection(); if (selection instanceof StructuredSelection) { final Object dragFilter = ((StructuredSelection) selection).getFirstElement(); if (target == dragFilter) { return false; } } if (transferData.isSupportedType(transferType) == false) { return false; } // check if target is between two items if (getCurrentLocation() == LOCATION_ON) { return false; } return true; } }; _checkboxViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }
From source file:net.tourbook.preferences.PrefPageTags.java
License:Open Source License
private void createUI_20_TagViewer(final Composite parent) { /*/*from ww w .ja va 2s .co m*/ * create tree layout */ final Composite layoutContainer = new Composite(parent, SWT.NONE); GridDataFactory.fillDefaults()// .grab(true, true).hint(200, 100).applyTo(layoutContainer); final TreeColumnLayout treeLayout = new TreeColumnLayout(); layoutContainer.setLayout(treeLayout); /* * create viewer */ final Tree tree = new Tree(layoutContainer, SWT.H_SCROLL | SWT.V_SCROLL // | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); tree.setHeaderVisible(false); tree.setLinesVisible(getPreferenceStore().getBoolean(ITourbookPreferences.VIEW_LAYOUT_DISPLAY_LINES)); _tagViewer = new TreeViewer(tree); _tagViewer.setContentProvider(new TagViewerContentProvicer()); _tagViewer.setComparator(new TagViewerComparator()); _tagViewer.setUseHashlookup(true); _tagViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object selection = ((IStructuredSelection) _tagViewer.getSelection()).getFirstElement(); if (selection instanceof TVIPrefTag) { // tag is selected onRenameTourTag(); } else if (selection instanceof TVIPrefTagCategory) { // expand/collapse current item final TreeViewerItem tourItem = (TreeViewerItem) selection; if (_tagViewer.getExpandedState(tourItem)) { _tagViewer.collapseToLevel(tourItem, 1); } else { _tagViewer.expandToLevel(tourItem, 1); } } } }); _tagViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { enableButtons(); } }); _tagViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _tagViewer.getSelection(); // System.out.println("dragStart"); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStartTime = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); _tagViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new TagDropAdapter(this, _tagViewer)); /* * create columns */ TreeViewerColumn tvc; TreeColumn tvcColumn; // column: tags + tag categories tvc = new TreeViewerColumn(_tagViewer, SWT.TRAIL); tvcColumn = tvc.getColumn(); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final StyledString styledString = new StyledString(); final Object element = cell.getElement(); if (element instanceof TVIPrefTag) { final TourTag tourTag = ((TVIPrefTag) element).getTourTag(); styledString.append(tourTag.getTagName(), UI.TAG_STYLER); cell.setImage(tourTag.isRoot() ? _imgTagRoot : _imgTag); } else if (element instanceof TVIPrefTagCategory) { final TVIPrefTagCategory tourTagCategoryItem = (TVIPrefTagCategory) element; final TourTagCategory tourTagCategory = tourTagCategoryItem.getTourTagCategory(); cell.setImage(_imgTagCategory); styledString.append(tourTagCategory.getCategoryName(), UI.TAG_CATEGORY_STYLER); // get number of categories final int categoryCounter = tourTagCategory.getCategoryCounter(); final int tagCounter = tourTagCategory.getTagCounter(); if (categoryCounter == -1 && tagCounter == -1) { // styledString.append(" ...", StyledString.COUNTER_STYLER); } else { String categoryString = UI.EMPTY_STRING; if (categoryCounter > 0) { categoryString = "/" + categoryCounter; //$NON-NLS-1$ } styledString.append(" " + tagCounter + categoryString, StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ } } else { styledString.append(element.toString()); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); treeLayout.setColumnData(tvcColumn, new ColumnWeightData(100, true)); }
From source file:net.tourbook.preferences.PrefPageTourTypeFilterList.java
License:Open Source License
private void createUI_10_FilterViewer(final Composite parent) { final TableLayoutComposite layouter = new TableLayoutComposite(parent, SWT.NONE); GridDataFactory.fillDefaults().grab(true, true).hint(200, SWT.DEFAULT).applyTo(layouter); final Table table = new Table(layouter, (SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION)); table.setHeaderVisible(false);/*from ww w .j a v a 2 s . co m*/ table.setLinesVisible(false); TableViewerColumn tvc; _filterViewer = new TableViewer(table); // column: name + image tvc = new TableViewerColumn(_filterViewer, SWT.NONE); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { final TourTypeFilter filter = ((TourTypeFilter) cell.getElement()); final int filterType = filter.getFilterType(); String filterName = null; Image filterImage = null; // set filter name/image switch (filterType) { case TourTypeFilter.FILTER_TYPE_DB: final TourType tourType = filter.getTourType(); filterName = tourType.getName(); filterImage = UI.getInstance().getTourTypeImage(tourType.getTypeId()); break; case TourTypeFilter.FILTER_TYPE_SYSTEM: filterName = filter.getSystemFilterName(); filterImage = UI.IMAGE_REGISTRY.get(UI.IMAGE_TOUR_TYPE_FILTER_SYSTEM); break; case TourTypeFilter.FILTER_TYPE_TOURTYPE_SET: filterName = filter.getTourTypeSet().getName(); filterImage = UI.IMAGE_REGISTRY.get(UI.IMAGE_TOUR_TYPE_FILTER); break; default: break; } cell.setText(filterName); cell.setImage(filterImage); } }); layouter.addColumnData(new ColumnWeightData(1)); _filterViewer.setContentProvider(new IStructuredContentProvider() { @Override public void dispose() { } @Override public Object[] getElements(final Object inputElement) { return _filterList.toArray(); } @Override public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { } }); _filterViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { onSelectFilter(); } }); _filterViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { onRenameFilterSet(); } }); /* * set drag adapter */ _filterViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _filterViewer.getSelection(); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStartViewerLeft = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); /* * set drop adapter */ final ViewerDropAdapter viewerDropAdapter = new ViewerDropAdapter(_filterViewer) { private Widget _tableItem; @Override public void dragOver(final DropTargetEvent dropEvent) { // keep table item _tableItem = dropEvent.item; super.dragOver(dropEvent); } @Override public boolean performDrop(final Object data) { if (data instanceof StructuredSelection) { final StructuredSelection selection = (StructuredSelection) data; if (selection.getFirstElement() instanceof TourTypeFilter) { final TourTypeFilter filterItem = (TourTypeFilter) selection.getFirstElement(); final int location = getCurrentLocation(); final Table filterTable = _filterViewer.getTable(); /* * check if drag was startet from this filter, remove the filter item before * the new filter is inserted */ if (LocalSelectionTransfer.getTransfer().getSelectionSetTime() == _dragStartViewerLeft) { _filterViewer.remove(filterItem); } int filterIndex; if (_tableItem == null) { _filterViewer.add(filterItem); filterIndex = filterTable.getItemCount() - 1; } else { // get index of the target in the table filterIndex = filterTable.indexOf((TableItem) _tableItem); if (filterIndex == -1) { return false; } if (location == LOCATION_BEFORE) { _filterViewer.insert(filterItem, filterIndex); } else if (location == LOCATION_AFTER || location == LOCATION_ON) { _filterViewer.insert(filterItem, ++filterIndex); } } // reselect filter item _filterViewer.setSelection(new StructuredSelection(filterItem)); // set focus to selection filterTable.setSelection(filterIndex); filterTable.setFocus(); _isModified = true; return true; } } return false; } @Override public boolean validateDrop(final Object target, final int operation, final TransferData transferType) { final ISelection selection = LocalSelectionTransfer.getTransfer().getSelection(); if (selection instanceof StructuredSelection) { final Object dragFilter = ((StructuredSelection) selection).getFirstElement(); if (target == dragFilter) { return false; } } if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType) == false) { return false; } return true; } }; _filterViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, viewerDropAdapter); }