Example usage for org.eclipse.jface.viewers StructuredSelection getFirstElement

List of usage examples for org.eclipse.jface.viewers StructuredSelection getFirstElement

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers StructuredSelection getFirstElement.

Prototype

@Override
    public Object getFirstElement() 

Source Link

Usage

From source file:net.tourbook.ui.views.tourDataEditor.TourDataEditorView.java

License:Open Source License

/**
 * enable actions//from   w ww .jav  a 2  s. co  m
 */
private void enableSliceActions() {

    final StructuredSelection sliceSelection = (StructuredSelection) _sliceViewer.getSelection();

    final int numberOfSelectedSlices = sliceSelection.size();

    final boolean isSliceSelected = numberOfSelectedSlices > 0;
    final boolean isOneSliceSelected = numberOfSelectedSlices == 1;
    final boolean isTourInDb = isTourInDb();

    // check if a marker can be created
    boolean canCreateMarker = false;
    if (isOneSliceSelected) {
        final TimeSlice oneTimeSlice = (TimeSlice) sliceSelection.getFirstElement();
        canCreateMarker = _markerMap.containsKey(oneTimeSlice.serieIndex) == false;
    }
    // get selected Marker
    TourMarker selectedMarker = null;
    for (final Iterator<?> iterator = sliceSelection.iterator(); iterator.hasNext();) {
        final TimeSlice timeSlice = (TimeSlice) iterator.next();
        if (_markerMap.containsKey(timeSlice.serieIndex)) {
            selectedMarker = _markerMap.get(timeSlice.serieIndex);
            break;
        }
    }

    _actionCreateTourMarker.setEnabled(_isEditMode && isTourInDb && isOneSliceSelected && canCreateMarker);
    _actionOpenMarkerDialog.setEnabled(_isEditMode && isTourInDb);

    // select marker
    _actionOpenMarkerDialog.setTourMarker(selectedMarker);

    _actionDeleteTimeSlicesRemoveTime.setEnabled(_isEditMode && isTourInDb && isSliceSelected);
    _actionDeleteTimeSlicesKeepTime.setEnabled(_isEditMode && isTourInDb && isSliceSelected);

    _actionExportTour.setEnabled(true);
    _actionCsvTimeSliceExport.setEnabled(isSliceSelected);

    _actionSplitTour.setEnabled(isOneSliceSelected);
    _actionExtractTour.setEnabled(numberOfSelectedSlices >= 2);

    // set start/end position into the actions
    if (isSliceSelected) {

        final Object[] selectedSliceArray = sliceSelection.toArray();
        final int lastSliceIndex = selectedSliceArray.length - 1;

        final TimeSlice firstSelectedTimeSlice = (TimeSlice) selectedSliceArray[0];
        final TimeSlice lastSelectedTimeSlice = (TimeSlice) selectedSliceArray[lastSliceIndex];

        final int firstSelectedSerieIndex = firstSelectedTimeSlice.serieIndex;
        final int lastSelectedSerieIndex = lastSelectedTimeSlice.serieIndex;

        _actionExportTour.setTourRange(firstSelectedSerieIndex, lastSelectedSerieIndex);

        _actionSplitTour.setTourRange(firstSelectedSerieIndex);
        _actionExtractTour.setTourRange(firstSelectedSerieIndex, lastSelectedSerieIndex);

        /*
         * prevent that the first and last slice is selected for the split which causes errors
         */
        final int numberOfAllSlices = _sliceViewerItems.length;

        final boolean isSplitValid = firstSelectedSerieIndex > 0
                && firstSelectedSerieIndex < numberOfAllSlices - 1;

        _actionSplitTour.setEnabled(isOneSliceSelected && isSplitValid);
    }
}

From source file:net.tourbook.ui.views.tourMarker.TourMarkerAllView.java

License:Open Source License

private void fireSelection(final StructuredSelection selection) {

    // get unique tour id's
    final HashSet<Long> tourIds = new HashSet<Long>();
    for (final Iterator<?> selectedItem = selection.iterator(); selectedItem.hasNext();) {
        tourIds.add(((TourMarkerItem) selectedItem.next()).tourId);
    }/*w  w w .  j av a2 s.  c  om*/

    final SelectionTourIds selectionTourIds = new SelectionTourIds(new ArrayList<>(tourIds));

    final int uniqueTourIds = tourIds.size();

    if (uniqueTourIds == 1) {

        // only one unique tour is selected, fire a marker selection

        final TourMarkerItem firstMarkerItem = (TourMarkerItem) selection.getFirstElement();

        // get tour by id
        final TourData tourData = TourManager.getInstance().getTourData(firstMarkerItem.tourId);
        if (tourData == null) {
            return;
        }

        final ArrayList<TourMarker> selectedTourMarkers = new ArrayList<TourMarker>();

        for (final Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {

            final long selectedMarkerId = ((TourMarkerItem) iterator.next()).markerId;

            // get marker by id
            for (final TourMarker tourMarker : tourData.getTourMarkers()) {
                if (tourMarker.getMarkerId() == selectedMarkerId) {
                    selectedTourMarkers.add(tourMarker);
                    break;
                }
            }
        }

        _isInUpdate = true;
        {
            /*
             * Set selection in the selection provider that the part selection provider is in
             * sync with the marker selection, otherwise a selection listener, e.g. tour editor
             * can display the wrong tour. This happened !!!
             */
            _postSelectionProvider.setSelectionNoFireEvent(selectionTourIds);

            TourManager.fireEventWithCustomData(//
                    TourEventId.MARKER_SELECTION, new SelectionTourMarker(tourData, selectedTourMarkers),
                    getSite().getPart());
        }
        _isInUpdate = false;

    } else if (uniqueTourIds > 1) {

        // multiple tours are selected, fire a part selection

        _isInUpdate = true;
        {
            _postSelectionProvider.setSelection(selectionTourIds);
        }
        _isInUpdate = false;
    }
}

From source file:net.tourbook.ui.views.tourMarker.TourMarkerAllView.java

License:Open Source License

private TourMarkerItem getSelectedTourMarkerItem() {

    final StructuredSelection selection = getViewerSelection();

    if (selection.getFirstElement() instanceof TourMarkerItem) {
        return (TourMarkerItem) selection.getFirstElement();
    }/*from w w w .j a  va 2  s .  c  om*/

    return null;
}

From source file:net.tourbook.ui.views.tourMarker.TourMarkerAllView.java

License:Open Source License

private void saveState() {

    _columnManager.saveState(_state);/*from www . j  a v a  2 s  . c om*/

    _state.put(STATE_SORT_COLUMN_ID, _markerComparator.__sortColumnId);
    _state.put(STATE_SORT_COLUMN_DIRECTION, _markerComparator.__sortDirection);

    _state.put(STATE_GPS_FILTER, _gpsMarkerFilter);

    /*
     * selected marker item
     */
    long markerId = TourDatabase.ENTITY_IS_NOT_SAVED;
    final StructuredSelection selection = getViewerSelection();
    final Object firstItem = selection.getFirstElement();

    if (firstItem instanceof TourMarkerItem) {
        final TourMarkerItem markerItem = (TourMarkerItem) firstItem;
        markerId = markerItem.markerId;
    }
    _state.put(STATE_SELECTED_MARKER_ITEM, markerId);
}

From source file:nexcore.tool.uml.ui.project.editor.composite.DiagramComposite.java

License:Open Source License

/**
 * /*w  w  w  . jav a  2 s. c  om*/
 *  
 * @param buttonComposite void
 */
private void createOpenButton(Composite buttonComposite) {

    Button openButton = new Button(buttonComposite, SWT.PUSH);
    openButton.setText(UMLMessage.LABEL_OPEN);//"");
    GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, true);
    gridData.widthHint = 60;
    openButton.setLayoutData(gridData);

    openButton.addSelectionListener(new SelectionAdapter() {
        /**
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        public void widgetSelected(SelectionEvent e) {

            ISelection selection = diagramTableViewer.getSelection();
            StructuredSelection structuredSelection = null;
            if (selection instanceof StructuredSelection) {
                structuredSelection = (StructuredSelection) selection;
            }

            if (null != structuredSelection) {
                ProjectUtil.openDiagram((EObject) structuredSelection.getFirstElement());
            }
        }
    });

}

From source file:nexcore.tool.uml.ui.project.editor.composite.DiagramComposite.java

License:Open Source License

/**
 * ?  ?//w w  w. j  a  v  a  2  s  .  c o  m
 * 
 * @param composite
 *            void
 */
private void createTableControl(Composite composite) {
    Composite tablePartComposite = new Composite(composite, SWT.FILL);

    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.heightHint = 600;

    tablePartComposite.setLayoutData(gridData);

    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tablePartComposite.setLayout(tableColumnLayout);

    diagramTableViewer = new TableViewer(tablePartComposite,
            SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.BORDER);

    table = diagramTableViewer.getTable();

    //        TableColumn diagramTypeTableColumn = new TableColumn(table, SWT.LEFT);
    //        diagramTypeTableColumn.setText(UMLMessage.LABEL_DIAGRAM_TYPE);//"? ");
    //        tableColumnLayout.setColumnData(diagramTypeTableColumn, new ColumnWeightData(3));

    TableColumn diagramNameTableColumn = new TableColumn(table, SWT.LEFT);
    diagramNameTableColumn.setText(UMLMessage.LABEL_DIAGRAM_NAME);//"?");
    tableColumnLayout.setColumnData(diagramNameTableColumn, new ColumnWeightData(3));

    TableColumn diagramPathTableColumn = new TableColumn(table, SWT.LEFT);
    diagramPathTableColumn.setText(UMLMessage.LABEL_DIAGRAM_FILE_PATH);//"? ");
    tableColumnLayout.setColumnData(diagramPathTableColumn, new ColumnWeightData(6));

    diagramTableViewer.setContentProvider(new ArrayContentProvider());
    diagramTableViewer.setLabelProvider(new DiagramTableViewerLabelProvider());

    diagramTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {

            ISelection selection = event.getSelection();
            StructuredSelection structuredSelection = null;
            if (selection instanceof StructuredSelection) {
                structuredSelection = (StructuredSelection) selection;
            }

            if (null != structuredSelection) {
                ProjectUtil.openDiagram((EObject) structuredSelection.getFirstElement());
            }

        }
    });

    if (diagramResources != null) {
        diagramTableViewer.setInput(diagramResources);
    }
    diagramTableViewer.refresh();

    table.setHeaderVisible(true);
    table.setLinesVisible(false);

}

From source file:nexcore.tool.uml.ui.search.action.SearchOfInverseReference.java

License:Open Source License

@Override
public void selectionChanged(IAction action, ISelection selection) {
    this.selection = selection;

    if (selection instanceof StructuredSelection) {
        StructuredSelection ss = (StructuredSelection) selection;

        Object obj = ss.getFirstElement();

        if (obj instanceof UMLTreeNode) {
            UMLTreeNode treeNode = (UMLTreeNode) obj;
            EObject element = treeNode.getEObject();
            if (element instanceof NamedElement) {
                namedElement = (NamedElement) element;
            } else {
                namedElement = null;/*from www  .  j a  va  2  s.c  o  m*/
            }
        } else {
            namedElement = null;
        }
    }

    //        super.selectionChanged(action, selection);
}

From source file:no.hib.dpf.editor.wizards.DPFWizardPage.java

License:Open Source License

public Object getSelectionObject(ISelection selection) {
    if (selection instanceof StructuredSelection) {
        StructuredSelection ss = (StructuredSelection) selection;
        return ss.getFirstElement();
    }/*from  www . j  av  a2 s  . co m*/
    return null;
}

From source file:org.adorsys.plh.pkix.workbench.navigator.internal.ResourceNavigator.java

License:Open Source License

@Inject
public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) {
    final Realm realm = SWTObservables.getRealm(parent.getDisplay());
    this.context = context;
    parent.setLayout(new FillLayout());
    TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            selectionService/*from  ww  w . ja  v  a 2 s .co m*/
                    .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
            //            context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
        }
    });

    IObservableFactory setFactory = new IObservableFactory() {
        public IObservable createObservable(Object element) {
            if (element instanceof IContainer && ((IContainer) element).exists()) {
                IObservableSet observableSet = observableSets.get(element);
                if (observableSet == null) {
                    observableSet = new WritableSet(realm);
                    try {
                        observableSet.addAll(Arrays.asList(((IContainer) element).members()));
                    } catch (CoreException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    observableSets.put((IContainer) element, observableSet);
                }
                return observableSet;
            }
            return Observables.emptyObservableSet();
        }
    };
    viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() {
        public Boolean hasChildren(Object element) {
            return Boolean.valueOf(element instanceof IContainer);
        }
    }));

    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof IResource)
                return ((IResource) element).getName();
            return element == null ? "" : element.toString();
        }
    });
    viewer.setSorter(new ViewerSorter());
    viewer.setInput(workspace.getRoot());
    viewer.addOpenListener(new IOpenListener() {

        public void open(OpenEvent event) {
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            for (Object o : s.toArray()) {
                if (o instanceof IFile) {
                    IFile f = (IFile) o;
                    context.set(IFile.class, f);
                    String fExt = f.getFileExtension();
                    EDITOR: for (MPartDescriptor desc : application.getDescriptors()) {
                        String category = desc.getCategory();
                        if (category == null)
                            continue;
                        String[] categories = category.split(",");
                        for (String ext : categories) {
                            if (ext.equalsIgnoreCase(fExt)) {
                                context.set(MPartDescriptor.class, desc);
                                System.err.println("Opening with: " + desc);
                                Command cmd = commandService.getCommand("desktop.command.openeditor");
                                ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null);
                                handlerService.executeHandler(pCmd);

                                break EDITOR;
                            }
                        }
                    }
                }
            }

        }
    });
    setupContextMenu(viewer, parent.getShell());
    workspace.addResourceChangeListener(listener);
}

From source file:org.apache.directory.studio.apacheds.configuration.actions.OpenConfigurationAction.java

License:Apache License

/**
 * {@inheritDoc}//  ww  w  . j a  v a2 s . c  o  m
 */
public void selectionChanged(IAction action, ISelection selection) {
    StructuredSelection structuredSelection = (StructuredSelection) selection;

    if ((structuredSelection.size() == 1) && (structuredSelection.getFirstElement() instanceof Connection)) {
        selectedConnection = (Connection) structuredSelection.getFirstElement();
    } else {
        selectedConnection = null;
    }
}