List of usage examples for org.eclipse.jface.viewers IStructuredSelection isEmpty
public boolean isEmpty();
From source file:com.siteview.mde.internal.ui.editor.product.FeatureSection.java
License:Open Source License
private void handleOpen(IStructuredSelection selection) { if (!selection.isEmpty()) { IProductFeature feature = (IProductFeature) selection.getFirstElement(); FeatureModelManager manager = MDECore.getDefault().getFeatureModelManager(); IFeatureModel model = manager.findFeatureModel(feature.getId(), feature.getVersion()); FeatureEditor.openFeatureEditor(model); }/*from w w w . j a va 2s . c om*/ }
From source file:com.siteview.mde.internal.ui.editor.product.PluginConfigurationSection.java
License:Open Source License
private void showControls() { // Clean up any previous editor control clearEditors();/*from ww w .jav a2s . c o m*/ // Identify the selected row Table table = fConfigurationsTable.getTable(); IStructuredSelection selection = (IStructuredSelection) fConfigurationsTable.getSelection(); if (selection.isEmpty()) return; final TableItem item = table.getSelection()[0]; if (item != null && !isEditable()) return; if (item != null) { final IPluginConfiguration ppc = (IPluginConfiguration) selection.getFirstElement(); final Spinner spinner = new Spinner(table, SWT.BORDER); spinner.setMinimum(0); String level = item.getText(1); int defaultLevel = level.length() == 0 || "default".equals(level) ? 0 : Integer.parseInt(level); //$NON-NLS-1$ spinner.setSelection(defaultLevel); spinner.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { int selection = spinner.getSelection(); item.setText(1, selection == 0 ? "default" //$NON-NLS-1$ : Integer.toString(selection)); ppc.setStartLevel(selection); } }); fLevelColumnEditor.setEditor(spinner, item, 1); final CCombo combo = new CCombo(table, SWT.BORDER | SWT.READ_ONLY); //TODO is there need for the default options ?? combo.setItems(new String[] { Boolean.toString(true), Boolean.toString(false) }); combo.setText(item.getText(2)); combo.pack(); combo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { item.setText(2, combo.getText()); ppc.setAutoStart(Boolean.valueOf(combo.getText()).booleanValue()); } }); fAutoColumnEditor.setEditor(combo, item, 2); } }
From source file:com.siteview.mde.internal.ui.editor.site.CategorySection.java
License:Open Source License
public void createClient(Section section, FormToolkit toolkit) { fModel = (ISiteModel) getPage().getModel(); fModel.addModelChangedListener(this); Composite container = createClientContainer(section, 2, toolkit); createViewerPartControl(container, SWT.MULTI, 2, toolkit); fCategoryTreePart = getTreePart();/*w w w .j a v a 2 s. co m*/ fCategoryViewer = fCategoryTreePart.getTreeViewer(); fCategoryViewer.setContentProvider(new CategoryContentProvider()); fSiteLabelProvider = new SiteLabelProvider(); fCategoryViewer.setLabelProvider(fSiteLabelProvider); fCategoryViewer.setInput(fModel.getSite()); int ops = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_DEFAULT; Transfer[] transfers = new Transfer[] { ModelDataTransfer.getInstance() }; if (isEditable()) { fCategoryViewer.addDropSupport(ops, transfers, new ViewerDropAdapter(fCategoryViewer) { public void dragEnter(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragEnter(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOperationChanged(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOperationChanged(event); } /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent) */ public void dragOver(DropTargetEvent event) { Object target = determineTarget(event); if (target == null && event.detail == DND.DROP_COPY) { event.detail = DND.DROP_MOVE; } super.dragOver(event); } /** * Returns the position of the given event's coordinates * relative to its target. The position is determined to * be before, after, or on the item, based on some * threshold value. * * @param event * the event * @return one of the <code>LOCATION_* </code> * constants defined in this class */ protected int determineLocation(DropTargetEvent event) { if (!(event.item instanceof Item)) { return LOCATION_NONE; } Item item = (Item) event.item; Point coordinates = new Point(event.x, event.y); coordinates = getViewer().getControl().toControl(coordinates); if (item != null) { Rectangle bounds = getBounds(item); if (bounds == null) { return LOCATION_NONE; } } return LOCATION_ON; } public boolean performDrop(Object data) { if (!(data instanceof Object[])) return false; Object target = getCurrentTarget(); int op = getCurrentOperation(); Object[] objects = (Object[]) data; if (objects.length > 0 && objects[0] instanceof SiteFeatureAdapter) { if (op == DND.DROP_COPY && target != null) { copyFeature((SiteFeatureAdapter) objects[0], target); } else { moveFeature((SiteFeatureAdapter) objects[0], target); } return true; } return false; } public boolean validateDrop(Object target, int operation, TransferData transferType) { return (target instanceof ISiteCategoryDefinition || target == null); } }); } fCategoryViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY, transfers, new DragSourceListener() { public void dragStart(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); if (ssel == null || ssel.isEmpty() || !(ssel.getFirstElement() instanceof SiteFeatureAdapter)) { event.doit = false; } } public void dragSetData(DragSourceEvent event) { IStructuredSelection ssel = (IStructuredSelection) fCategoryViewer.getSelection(); event.data = ssel.toArray(); } public void dragFinished(DragSourceEvent event) { } }); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_CATEGORY, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_ADD_FEATURE, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_FEATURE, isEditable()); fCategoryTreePart.setButtonEnabled(BUTTON_BUILD_ALL, isEditable()); // fCategoryViewer.expandAll(); toolkit.paintBordersFor(container); section.setClient(container); initialize(); }
From source file:com.siteview.mde.internal.ui.editor.site.CategorySection.java
License:Open Source License
private ISiteFeature[] getFeaturesFromSelection(IStructuredSelection sel) { if (sel.isEmpty()) return new ISiteFeature[0]; if (cachedSelection == sel) return cachedFeatures; cachedSelection = sel;//from ww w . j av a 2 s . c o m ArrayList features = new ArrayList(sel.size()); Iterator iterator = sel.iterator(); while (iterator.hasNext()) { Object next = iterator.next(); if (next instanceof SiteFeatureAdapter) { if ((((SiteFeatureAdapter) next).feature) != null) { features.add(((SiteFeatureAdapter) next).feature); } } } cachedFeatures = (ISiteFeature[]) features.toArray(new ISiteFeature[features.size()]); return cachedFeatures; }
From source file:com.siteview.mde.internal.ui.launcher.TracingBlock.java
License:Open Source License
public void createControl(Composite parent) { fTracingCheck = new Button(parent, SWT.CHECK); fTracingCheck.setText(MDEUIMessages.TracingLauncherTab_tracing); fTracingCheck.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fTracingCheck.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { masterCheckChanged(true);//ww w . j av a 2s. c o m fTab.updateLaunchConfigurationDialog(); if (fTracingCheck.getSelection()) { IStructuredSelection selection = (IStructuredSelection) fPluginViewer.getSelection(); if (!selection.isEmpty()) { pluginSelected((IMonitorModelBase) selection.getFirstElement(), fPluginViewer.getChecked(selection.getFirstElement())); } } } }); createSashSection(parent); createButtonSection(parent); }
From source file:com.siteview.mde.internal.ui.preferences.TargetPlatformPreferencePage.java
License:Open Source License
private void handleReload() { IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection(); if (!selection.isEmpty()) { isOutOfSynch = false;//from w w w. j a v a2 s . co m ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()) { protected void configureShell(Shell shell) { super.configureShell(shell); shell.setText(MDEUIMessages.TargetPlatformPreferencePage2_12); } }; try { dialog.run(true, true, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { if (monitor.isCanceled()) { throw new InterruptedException(); } // Resolve the target fActiveTarget.resolve(monitor); if (monitor.isCanceled()) { throw new InterruptedException(); } } }); } catch (InvocationTargetException e) { MDEPlugin.log(e); setErrorMessage(e.getMessage()); } catch (InterruptedException e) { // Do nothing, resolve will happen when user presses ok } if (fActiveTarget.isResolved()) { // Check if the bundle resolution has errors IStatus bundleStatus = fActiveTarget.getBundleStatus(); if (bundleStatus.getSeverity() == IStatus.ERROR) { ErrorDialog.openError(getShell(), MDEUIMessages.TargetPlatformPreferencePage2_14, MDEUIMessages.TargetPlatformPreferencePage2_15, bundleStatus, IStatus.ERROR); } // Compare the target to the existing platform try { if (bundleStatus.getSeverity() != IStatus.ERROR && fActiveTarget.getHandle().equals(fPrevious) && ((TargetDefinition) fPrevious.getTargetDefinition()) .isContentEquivalent(fActiveTarget)) { IStatus compare = getTargetService().compareWithTargetPlatform(fActiveTarget); if (!compare.isOK()) { MessageDialog.openInformation(getShell(), MDEUIMessages.TargetPlatformPreferencePage2_17, MDEUIMessages.TargetPlatformPreferencePage2_18); isOutOfSynch = true; } } } catch (CoreException e) { MDEPlugin.log(e); setErrorMessage(e.getMessage()); } } fTableViewer.refresh(true); } }
From source file:com.siteview.mde.internal.ui.preferences.TargetPlatformPreferencePage.java
License:Open Source License
/** * Removes the selected targets/*from ww w. j a va 2s . c om*/ */ private void handleRemove() { IStructuredSelection selection = (IStructuredSelection) fTableViewer.getSelection(); if (!selection.isEmpty()) { List selected = selection.toList(); // If we are going to remove a workspace file, prompt to ask the user first boolean isWorkspace = false; for (Iterator iterator = selected.iterator(); iterator.hasNext();) { ITargetDefinition currentTarget = (ITargetDefinition) iterator.next(); if (currentTarget.getHandle() instanceof WorkspaceFileTargetHandle) { isWorkspace = true; break; } } if (isWorkspace) { MDEPreferencesManager preferences = new MDEPreferencesManager(IMDEUIConstants.PLUGIN_ID); String choice = preferences.getString(IPreferenceConstants.PROP_PROMPT_REMOVE_TARGET); if (!MessageDialogWithToggle.ALWAYS.equalsIgnoreCase(choice)) { MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoQuestion(getShell(), MDEUIMessages.TargetPlatformPreferencePage2_19, MDEUIMessages.TargetPlatformPreferencePage2_20, MDEUIMessages.TargetPlatformPreferencePage2_21, false, MDEPlugin.getDefault().getPreferenceStore(), IPreferenceConstants.PROP_PROMPT_REMOVE_TARGET); preferences.savePluginPreferences(); if (dialog.getReturnCode() != IDialogConstants.YES_ID) { return; } } } if (fActiveTarget != null && selected.contains(fActiveTarget)) { fActiveTarget = null; setMessage(MDEUIMessages.TargetPlatformPreferencePage2_22, IMessageProvider.INFORMATION); } fRemoved.addAll(selected); fTargets.removeAll(selected); // Quick hack because the first refresh loses the checkedState, which is being used to bold the active target fTableViewer.refresh(false); fTableViewer.refresh(true); } }
From source file:com.siteview.mde.internal.ui.shared.target.AddBundleContainerSelectionPage.java
License:Open Source License
public void createControl(Composite parent) { Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0); SashForm sashForm = new SashForm(comp, SWT.VERTICAL); GridData gd = new GridData(GridData.FILL_BOTH); // limit the width of the sash form to avoid the wizard opening very wide. gd.widthHint = 300;/* ww w.jav a 2s . co m*/ sashForm.setLayoutData(gd); sashForm.setFont(comp.getFont()); TableViewer wizardSelectionViewer = new TableViewer(sashForm, SWT.BORDER); wizardSelectionViewer.setContentProvider(new ArrayContentProvider()); wizardSelectionViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof AbstractBundleContainerNode) { return ((AbstractBundleContainerNode) element).getName(); } return super.getText(element); } public Image getImage(Object element) { if (element instanceof AbstractBundleContainerNode) { return ((AbstractBundleContainerNode) element).getImage(); } return super.getImage(element); } }); wizardSelectionViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (!selection.isEmpty()) { setSelectedNode((IWizardNode) selection.getFirstElement()); getContainer().showPage(getNextPage()); } } }); wizardSelectionViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (!selection.isEmpty()) { fDescription .setText(((AbstractBundleContainerNode) selection.getFirstElement()).getDescription()); setSelectedNode((AbstractBundleContainerNode) selection.getFirstElement()); } } }); wizardSelectionViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); wizardSelectionViewer.getTable().setFont(sashForm.getFont()); fDescription = SWTFactory.createText(sashForm, SWT.READ_ONLY | SWT.BORDER | SWT.MULTI | SWT.WRAP, 1); sashForm.setWeights(new int[] { 70, 30 }); initViewerContents(wizardSelectionViewer); setControl(comp); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.ADD_LOCATION_WIZARD); }
From source file:com.siteview.mde.internal.ui.shared.target.TargetLocationsGroup.java
License:Open Source License
private void handleEdit() { IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection(); if (!selection.isEmpty()) { Object selected = selection.getFirstElement(); IBundleContainer oldContainer = null; if (selected instanceof IBundleContainer) { oldContainer = (IBundleContainer) selected; } else if (selected instanceof IUWrapper) { oldContainer = ((IUWrapper) selected).getParent(); } else if (selected instanceof IResolvedBundle) { TreeItem[] treeSelection = fTreeViewer.getTree().getSelection(); if (treeSelection.length > 0) { Object parent = treeSelection[0].getParentItem().getData(); if (parent instanceof IBundleContainer) { oldContainer = (IBundleContainer) parent; }/*w w w. ja va 2 s .c o m*/ } } if (oldContainer != null) { Shell parent = fTreeViewer.getTree().getShell(); EditBundleContainerWizard wizard = new EditBundleContainerWizard(fTarget, oldContainer); WizardDialog dialog = new WizardDialog(parent, wizard); if (dialog.open() == Window.OK) { // Replace the old container with the new one IBundleContainer newContainer = wizard.getBundleContainer(); if (newContainer != null) { IBundleContainer[] containers = fTarget.getBundleContainers(); java.util.List newContainers = new ArrayList(containers.length); for (int i = 0; i < containers.length; i++) { if (!containers[i].equals(oldContainer)) { newContainers.add(containers[i]); } } newContainers.add(newContainer); fTarget.setBundleContainers((IBundleContainer[]) newContainers .toArray(new IBundleContainer[newContainers.size()])); // Update the table contentsChanged(false); fTreeViewer.refresh(); updateButtons(); fTreeViewer.setSelection(new StructuredSelection(newContainer), true); } } } } }
From source file:com.siteview.mde.internal.ui.shared.target.TargetLocationsGroup.java
License:Open Source License
private void handleRemove() { IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection(); IBundleContainer[] containers = fTarget.getBundleContainers(); if (!selection.isEmpty() && containers != null && containers.length > 0) { List toRemove = new ArrayList(); boolean removedSite = false; boolean removedContainer = false; for (Iterator iterator = selection.iterator(); iterator.hasNext();) { Object currentSelection = iterator.next(); if (currentSelection instanceof IBundleContainer) { if (currentSelection instanceof IUBundleContainer) { removedSite = true;/*from w w w .ja v a2s . c om*/ } removedContainer = true; toRemove.add(currentSelection); } if (currentSelection instanceof IUWrapper) { toRemove.add(currentSelection); } } if (removedContainer) { Set newContainers = new HashSet(); newContainers.addAll(Arrays.asList(fTarget.getBundleContainers())); newContainers.removeAll(toRemove); if (newContainers.size() > 0) { fTarget.setBundleContainers( (IBundleContainer[]) newContainers.toArray(new IBundleContainer[newContainers.size()])); } else { fTarget.setBundleContainers(null); } // If we remove a site container, the content change update must force a re-resolve bug 275458 / bug 275401 contentsChanged(removedSite); fTreeViewer.refresh(false); updateButtons(); } else { for (Iterator iterator = toRemove.iterator(); iterator.hasNext();) { Object current = iterator.next(); if (current instanceof IUWrapper) { ((IUWrapper) current).getParent().removeInstallableUnit(((IUWrapper) current).getIU()); } } contentsChanged(removedSite); fTreeViewer.refresh(true); updateButtons(); } } }