List of usage examples for org.eclipse.jface.viewers IStructuredSelection getFirstElement
public Object getFirstElement();
null
if the selection is empty. From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.properties.TraceModelPropertySection.java
License:Open Source License
@Override public void setInput(IWorkbenchPart part, ISelection selection) { super.setInput(part, selection); this.traceModel = null; if (selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; traceModel = ss.getFirstElement(); if (traceModel instanceof IProgramSketch) { traceModel = ((IProgramSketch) traceModel).getTraceData(); }/*w w w. ja v a2 s .c o m*/ } }
From source file:ca.uvic.chisel.javasketch.ui.internal.search.TraceSearchResultPage.java
License:Open Source License
@Override public void createControl(Composite parent) { page = new Composite(parent, SWT.NULL); page.setLayout(new GridLayout()); fViewer = new TreeViewer(page, SWT.NONE); fViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableLayout tl = new TableLayout(); fViewer.getTree().setLayout(tl);/*from w ww. j ava 2 s. c o m*/ // create columns for the viewer TreeViewerColumn c = new TreeViewerColumn(fViewer, SWT.NONE); c.getColumn().setText("Search Result"); c.setLabelProvider(new TraceSearchResultLabelProvider()); GC gc = new GC(fViewer.getTree()); tl.addColumnData(new ColumnPixelData(Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 60))); gc.dispose(); c = new TreeViewerColumn(fViewer, SWT.NONE); c.getColumn().setText("Kind"); c.setLabelProvider(new TraceSearchResultLabelProvider()); tl.addColumnData(new ColumnPixelData(50)); c = new TreeViewerColumn(fViewer, SWT.NONE); c.getColumn().setText("Trace"); c.setLabelProvider(new TraceSearchResultLabelProvider()); tl.addColumnData(new ColumnPixelData(50)); resultsListener = new TraceSearchResultListener(); fViewer.getTree().setHeaderVisible(true); fViewer.setContentProvider(new TraceSearchResultContentProvider()); //create a context menu for the viewer so that results can be //linked to MenuManager manager = new MenuManager("TraceSearchResultsPage", "#TraceSearchResults"); Menu menu = manager.createContextMenu(fViewer.getTree()); manager.setRemoveAllWhenShown(true); manager.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { fillContextMenu(manager); IStructuredSelection ss = (IStructuredSelection) getSite().getSelectionProvider().getSelection(); if (!ss.isEmpty()) { Object o = ss.getFirstElement(); if (o instanceof IActivation || o instanceof IMessage) { IAction action = new CommandAction(RevealActivationHandler.COMMAND_ID, null); action.setText("Reveal"); manager.add(action); } } } }); getSite().registerContextMenu("#TraceSearchResults", manager, fViewer); fViewer.getTree().setMenu(menu); SelectionForward forward = new SelectionForward(); fViewer.addSelectionChangedListener(forward); getSite().setSelectionProvider(forward); }
From source file:ca.uvic.chisel.javasketch.ui.internal.views.ToggleSketchFilteredHandler.java
License:Open Source License
/** * @return// ww w . ja v a 2 s. co m */ private IProgramSketch getSelectedSketch() { TraceNavigator navigator = getNagivator(); if (navigator != null) { ISelection selection = navigator.getViewSite().getSelectionProvider().getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; if (ss.getFirstElement() instanceof IProgramSketch) { return (IProgramSketch) ss.getFirstElement(); } } } return null; }
From source file:ca.uvic.chisel.javasketch.ui.internal.views.TraceNavigator.java
License:Open Source License
@Override public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setUseHashlookup(true);/*from w w w . j a v a 2 s . c om*/ // TreeViewerColumn plusColumn = new TreeViewerColumn(viewer, SWT.NONE, // 0); // plusColumn.getColumn().setWidth(60); final TreeViewerColumn labelColumn = new TreeViewerColumn(viewer, SWT.NONE, LABEL_COLUMN); labelColumn.getColumn().setWidth(100); TreeViewerColumn activeTraceColumn = new TreeViewerColumn(viewer, SWT.NONE, ACTIVE_TRACE_COLUMN); activeTraceColumn.getColumn().setWidth(16); TreeViewerColumn visibleTraceColumn = new TreeViewerColumn(viewer, SWT.NONE, VISIBLE_TRACE_COLUMN); visibleTraceColumn.getColumn().setWidth(16); viewer.getTree().addMouseListener(treeMouseListener); viewer.getTree().addControlListener(new ControlAdapter() { /* * (non-Javadoc) * @see * org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse * .swt.events.ControlEvent) */ @Override public void controlResized(ControlEvent e) { Composite composite = (Composite) e.widget; Rectangle b = composite.getBounds(); ScrollBar scrollbar = composite.getVerticalBar(); int width = b.width - 32; if (scrollbar != null && scrollbar.getVisible()) { width -= 20; } labelColumn.getColumn().setWidth(Math.max(0, width)); } }); viewer.setContentProvider(new TraceNavigatorContentProvider()); viewer.setLabelProvider(new TraceNavigatorLabelProvider()); viewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object o = selection.getFirstElement(); if (o instanceof IThread) { SketchPlugin.getDefault().getDOI().setThreadSelection((IThread) o); } else { SketchPlugin.getDefault().getDOI().setThreadSelection(null); } SketchUI.INSTANCE.refreshJavaUI(); } }); createContextMenu(viewer.getControl()); getSite().setSelectionProvider(viewer); IMenuManager manager = getViewSite().getActionBars().getMenuManager(); Action toggleFilterAction = new Action("Filter Empty Threads", SWT.CHECK) { /* (non-Javadoc) * @see org.eclipse.jface.action.Action#run() */ @Override public void run() { IPreferenceStore store = SketchPlugin.getDefault().getPreferenceStore(); boolean checked = store.getBoolean("tracenavigator.filter.emptythread"); if (checked) { //uncheck viewer.removeFilter(threadFilter); } else { viewer.addFilter(threadFilter); } store.setValue("tracenavigator.filter.emptythread", !checked); viewer.refresh(); } }; IPreferenceStore store = SketchPlugin.getDefault().getPreferenceStore(); boolean checked = true; if (!store.contains("tracenavigator.filter.emptythread")) { store.setValue("tracenavigator.filter.emptythread", true); } else { checked = store.getBoolean("tracenavigator.filter.emptythread"); } toggleFilterAction.setChecked(checked); if (checked) { viewer.addFilter(threadFilter); } manager.add(toggleFilterAction); }
From source file:ca.uvic.chisel.logging.eclipse.internal.ui.UploadWizardPage1.java
License:Open Source License
private Composite createCategoriesArea(Composite parent) { Composite categoriesArea = new Composite(parent, SWT.NONE); categoriesArea.setLayout(new GridLayout(2, false)); //create a list viewer that will display all of the //different loggers viewer = CheckboxTableViewer.newCheckList(categoriesArea, SWT.BORDER | SWT.SINGLE); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LoggingCategoryLabelProvider()); viewer.setInput(WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()); //set all of the enabled categories to the checked state for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()) { selectedCategories.add(category.getCategoryID()); }// w w w. j a va2 s. com viewer.setAllChecked(true); viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getElement() instanceof ILoggingCategory) { ILoggingCategory category = (ILoggingCategory) event.getElement(); if (event.getChecked()) { selectedCategories.add(category.getCategoryID()); } else { selectedCategories.remove(category.getCategoryID()); } } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (aboutButton != null && !aboutButton.isDisposed()) { aboutButton.setEnabled(!event.getSelection().isEmpty()); } } }); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); //create a button area Composite buttonArea = new Composite(categoriesArea, SWT.NONE); buttonArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); buttonArea.setLayout(new GridLayout()); GridDataFactory gdf = GridDataFactory.createFrom(new GridData(SWT.FILL, SWT.FILL, true, false)); Button selectAll = new Button(buttonArea, SWT.PUSH); selectAll.setText("Select All"); selectAll.setLayoutData(gdf.create()); selectAll.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.setAllChecked(true); for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager() .getCategories()) { selectedCategories.add(category.getCategoryID()); } } }); Button selectNone = new Button(buttonArea, SWT.PUSH); selectNone.setText("Select None"); selectNone.setLayoutData(gdf.create()); selectNone.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.setAllChecked(false); selectedCategories.clear(); } }); Control spacer = new Composite(buttonArea, SWT.NONE); GridData d = gdf.create(); d.heightHint = 40; spacer.setLayoutData(d); aboutButton = new Button(buttonArea, SWT.PUSH); aboutButton.setText("Disclaimer..."); aboutButton.setLayoutData(gdf.create()); aboutButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @Override public void widgetSelected(SelectionEvent e) { ISelection selection = viewer.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; if (!ss.isEmpty() && ss.getFirstElement() instanceof ILoggingCategory) { AboutCategoryDialog dialog = new AboutCategoryDialog(getShell(), (ILoggingCategory) ss.getFirstElement()); dialog.open(); } } } }); aboutButton.setEnabled(false); return categoriesArea; }
From source file:ca.uvic.chisel.logging.eclipse.internal.ui.WorkbenchLoggerPreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite page = new Composite(parent, SWT.NONE); page.setLayout(new GridLayout(2, false)); // create a list viewer that will display all of the // different loggers viewer = CheckboxTableViewer.newCheckList(page, SWT.BORDER | SWT.SINGLE); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LoggingCategoryLabelProvider()); viewer.setInput(WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()); // set all of the enabled categories to the checked state boolean stale = false; for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()) { if (category.isEnabled()) { enabledCategories.add(category.getCategoryID()); viewer.setChecked(category, true); }// w w w.j a va2s .co m // also set the stale state... used for enabling the upload button. stale |= ((LoggingCategory) category).isStale(); } viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { if (event.getElement() instanceof ILoggingCategory) { ILoggingCategory category = (ILoggingCategory) event.getElement(); if (event.getChecked()) { enabledCategories.add(category.getCategoryID()); } else { enabledCategories.remove(category.getCategoryID()); } } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (aboutButton != null && !aboutButton.isDisposed()) { aboutButton.setEnabled(!event.getSelection().isEmpty()); } } }); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // create a button area Composite buttonArea = new Composite(page, SWT.NONE); buttonArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false)); buttonArea.setLayout(new GridLayout()); GridDataFactory gdf = GridDataFactory.createFrom(new GridData(SWT.FILL, SWT.FILL, true, false)); Button selectAll = new Button(buttonArea, SWT.PUSH); selectAll.setText("Select All"); selectAll.setLayoutData(gdf.create()); selectAll.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.setAllChecked(true); for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager() .getCategories()) { enabledCategories.add(category.getCategoryID()); } } }); Button selectNone = new Button(buttonArea, SWT.PUSH); selectNone.setText("Select None"); selectNone.setLayoutData(gdf.create()); selectNone.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { viewer.setAllChecked(false); enabledCategories.clear(); } }); Control spacer = new Composite(buttonArea, SWT.NONE); GridData d = gdf.create(); d.heightHint = 40; spacer.setLayoutData(d); aboutButton = new Button(buttonArea, SWT.PUSH); aboutButton.setText("About..."); aboutButton.setLayoutData(gdf.create()); aboutButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } @Override public void widgetSelected(SelectionEvent e) { ISelection selection = viewer.getSelection(); if (selection instanceof IStructuredSelection) { IStructuredSelection ss = (IStructuredSelection) selection; if (!ss.isEmpty() && ss.getFirstElement() instanceof ILoggingCategory) { AboutCategoryDialog dialog = new AboutCategoryDialog(getShell(), (ILoggingCategory) ss.getFirstElement()); dialog.open(); } } } }); aboutButton.setEnabled(false); spacer = new Composite(buttonArea, SWT.NONE); d = gdf.create(); d.heightHint = 40; spacer.setLayoutData(d); Button uploadButton = new Button(buttonArea, SWT.PUSH); uploadButton.setText("Upload Now..."); uploadButton.setLayoutData(gdf.create()); uploadButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { WizardDialog dialog = new WizardDialog(getShell(), new UploadWizard()); dialog.open(); } }); uploadButton.setEnabled(stale); Composite intervalComposite = new Composite(page, SWT.NONE); GridData gd = gdf.create(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = true; intervalComposite.setLayoutData(gd); intervalComposite.setLayout(new GridLayout(2, false)); Label intervalLabel = new Label(intervalComposite, SWT.NONE); intervalLabel.setText("Upload Interval: "); gd = gdf.create(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = false; intervalLabel.setLayoutData(gd); intervalViewer = new ComboViewer(intervalComposite, SWT.BORDER | SWT.SINGLE); Long[] intervals = new Long[] { UploadJob.UPLOAD_INTERVAL_DAILY, UploadJob.UPLOAD_INTERVAL_WEEKLY, UploadJob.UPLOAD_INTERVAL_MONTHLY }; intervalViewer.setContentProvider(new ArrayContentProvider()); intervalViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof Long) { long interval = (Long) element; if (interval == UploadJob.UPLOAD_INTERVAL_DAILY) { return "Daily"; } else if (interval == UploadJob.UPLOAD_INTERVAL_WEEKLY) { return "Every Seven Days"; } else if (interval == UploadJob.UPLOAD_INTERVAL_MONTHLY) { return "Every Thirty Days"; } } return super.getText(element); } }); intervalViewer.setInput(intervals); long interval = WorkbenchLoggingPlugin.getDefault().getPreferenceStore() .getLong(UploadJob.UPLOAD_INTERVAL_KEY); if (interval <= 0) { interval = WorkbenchLoggingPlugin.getDefault().getPreferenceStore() .getDefaultLong(UploadJob.UPLOAD_INTERVAL_KEY); } intervalViewer.setSelection(new StructuredSelection(interval)); intervalViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); spacer = new Composite(page, SWT.NONE); gd = gdf.create(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = false; gd.heightHint = 2; spacer.setLayoutData(gd); Composite uidComposite = new Composite(page, SWT.NONE); uidComposite.setLayout(new GridLayout(2, false)); gd = gdf.create(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = false; gd.horizontalSpan = 2; uidComposite.setLayoutData(gd); Label uidLabel = new Label(uidComposite, SWT.NONE); uidLabel.setText("User ID:"); gd = gdf.create(); gd.grabExcessVerticalSpace = false; gd.grabExcessHorizontalSpace = false; uidLabel.setLayoutData(gd); final Text uidText = new Text(uidComposite, SWT.SINGLE | SWT.READ_ONLY); uidText.setText(WorkbenchLoggingPlugin.getDefault().getLocalUser()); uidText.addMouseListener(new MouseAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent) */ @Override public void mouseUp(MouseEvent e) { uidText.selectAll(); } }); MenuManager manager = new MenuManager(); Menu menu = manager.createContextMenu(uidText); uidText.setMenu(menu); CommandContributionItemParameter parameters = new CommandContributionItemParameter( WorkbenchLoggingPlugin.getDefault().getWorkbench(), null, EDIT_COPY, SWT.PUSH); manager.add(new CommandContributionItem(parameters)); return page; }
From source file:ca.uvic.chisel.logging.eclipse.internal.ui.WorkbenchLoggerPreferencePage.java
License:Open Source License
@Override public boolean performOk() { for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()) { boolean enabled = enabledCategories.contains(category.getCategoryID()); if (category.isEnabled() != enabled) { category.setEnabled(enabled); }// www. j ava2s . c o m } IPreferenceStore store = WorkbenchLoggingPlugin.getDefault().getPreferenceStore(); IStructuredSelection selection = (IStructuredSelection) intervalViewer.getSelection(); store.setValue(UploadJob.UPLOAD_INTERVAL_KEY, (long) ((Long) selection.getFirstElement())); return super.performOk(); }
From source file:ca.uvic.cs.tagsea.actions.GoToTagAction.java
License:Open Source License
/** * Grabs the currently selected waypoint from the viewer and navigates to * that waypoint's marker position in the editor. *//* w w w . j a v a2s.c o m*/ public void run() { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (!selection.isEmpty()) { Object obj = selection.getFirstElement(); IMarker marker = null; if (obj instanceof Waypoint) { // Waypoints TableViewer marker = ((Waypoint) obj).getMarker(); } if ((marker != null) && marker.exists()) { IResource resource = marker.getResource(); if (marker.exists() && resource instanceof IFile) { try { IDE.openEditor(page, marker, OpenStrategy.activateOnOpen()); Monitoring.getDefault().fireEvent(new TagSEANavigationEvent((Waypoint) obj)); } catch (PartInitException e) { TagSEAPlugin.log("Couldn't open editor to show the tag", e); } } } } }
From source file:ca.uvic.cs.tagsea.ui.views.RoutesComposite.java
License:Open Source License
protected void selectionChanged(SelectionChangedEvent event) { if (event.getSelection().isEmpty()) { enableAllActions(false);//from ww w.ja va 2s . c om } else { enableAllActions(true); IStructuredSelection selections = (IStructuredSelection) event.getSelection(); if (selections.size() == 1 && selections.getFirstElement() instanceof Route) { Route route = (Route) selections.getFirstElement(); if (route.getWaypoints().size() == 0) { backAction.setEnabled(false); forwardAction.setEnabled(false); } } } boolean routesSelected = false; TreeItem[] selections = routesTreeViewer.getTree().getSelection(); for (TreeItem item : selections) { if (item.getData() instanceof Route) routesSelected = true; } if (routesSelected) removeStaleWaypointsAction.setEnabled(true); else removeStaleWaypointsAction.setEnabled(false); }
From source file:ca.uwaterloo.gp.fmp.presentation.FmpAdapterFactoryTreeEditor.java
License:Open Source License
public void keyPressed(KeyEvent event) { if ((event.stateMask & SWT.ALT) == SWT.ALT && event.keyCode == SWT.ARROW_DOWN) { // expand subtree IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Object element = selection.getFirstElement(); if (element != null) treeViewer.expandToLevel(element, AbstractTreeViewer.ALL_LEVELS); } else// www . j a v a 2s.com super.keyPressed(event); }