List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection
public StructuredSelection(List elements)
List
. From source file:com.aptana.preview.ui.properties.PreviewSettingComposite.java
License:Open Source License
/** * Set the composite to select a specific server. * //from w ww . ja v a 2 s . c o m * @param server * the selected server */ public void setSelectedServer(IServer server) { fSelectedServer = server; if (fSelectedServer == null || fSelectedServer == getBuiltInServer()) { fServersCombo.setSelection(new StructuredSelection(getBuiltInServer())); } else { fServersCombo.setSelection(new StructuredSelection(fSelectedServer)); } updateStates(); }
From source file:com.aptana.preview.ui.properties.PreviewSettingComposite.java
License:Open Source License
private void createNewServer() { ListDialog dialog = new ListDialog(getShell()); dialog.setContentProvider(ArrayContentProvider.getInstance()); dialog.setLabelProvider(new LabelProvider() { @Override/*from w ww . j a v a 2 s .c om*/ public String getText(Object element) { if (element instanceof IServerType) { return ((IServerType) element).getName(); } return super.getText(element); } }); dialog.setInput(WebServerCorePlugin.getDefault().getServerManager().getServerTypes()); dialog.setTitle(Messages.ProjectPreviewPropertyPage_ChooseServerType); Object[] result; if (dialog.open() == Window.OK && (result = dialog.getResult()) != null && result.length == 1) { String typeId = ((IServerType) result[0]).getId(); try { IServer newConfiguration = WebServerCorePlugin.getDefault().getServerManager().createServer(typeId); if (newConfiguration != null) { if (editServerConfiguration(newConfiguration)) { WebServerCorePlugin.getDefault().getServerManager().add(newConfiguration); updateServersContent(false); fServersCombo.setSelection(new StructuredSelection(newConfiguration)); // forces an update of widget enablements updateStates(); } } } catch (CoreException e) { PreviewPlugin.log(Messages.ProjectPreviewPropertyPage_ERR_FailToCreateServer, e); } } }
From source file:com.aptana.preview.ui.properties.PreviewSettingComposite.java
License:Open Source License
/** * Update the servers content.//www.ja v a 2 s . c o m * * @param async * An indication that the UI part of this update should be done asynchronously. */ private void updateServersContent(boolean async) { final List<IServer> servers = new ArrayList<IServer>(); servers.add(getBuiltInServer()); servers.addAll(WebServerCorePlugin.getDefault().getServerManager().getServers()); Runnable runnable = new Runnable() { public void run() { ISelection selection = fServersCombo.getSelection(); fServersCombo.setInput(servers); // keeps the selection if there was one fServersCombo.setSelection(selection); if (fServersCombo.getSelection().isEmpty()) { fServersCombo.setSelection(new StructuredSelection(servers.get(0))); } } }; if (async) { UIUtils.getDisplay().asyncExec(runnable); } else { UIUtils.getDisplay().syncExec(runnable); } }
From source file:com.aptana.projects.internal.wizards.ProjectTemplateSelectionPage.java
License:Open Source License
public void createControl(Composite parent) { defaultTemplateImage = wizardDesc.createImage(); parent.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (defaultTemplateImage != null) { defaultTemplateImage.dispose(); defaultTemplateImage = null; }/*from www .j a v a 2 s. co m*/ for (Image image : templateImages.values()) { if (!image.isDisposed()) { image.dispose(); } } templateImages = null; } }); Composite main = new Composite(parent, SWT.NONE); main.setLayout(GridLayoutFactory.fillDefaults().spacing(0, 10).create()); main.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); stepIndicatorComposite = new StepIndicatorComposite(main, stepNames); stepIndicatorComposite.setSelection(getStepName()); Label label = new Label(main, SWT.NONE); label.setText(Messages.ProjectTemplateSelectionPage_AvailableTemplates_TXT); label.setLayoutData(GridDataFactory.swtDefaults().create()); SashForm sashForm = new SashForm(main, SWT.HORIZONTAL); sashForm.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); fTemplateSelectionViewer = new TableViewer(sashForm, SWT.BORDER); fTemplateSelectionViewer.setContentProvider(new ListContentProvider()); fTemplateSelectionViewer.setLabelProvider(new ListLabelProvider()); fTemplateSelectionViewer.setInput(fTemplates); fTemplateSelectionViewer.addSelectionChangedListener(this); fPreviewText = new Label(sashForm, SWT.WRAP | SWT.READ_ONLY); // auto-selects the first one if (!ArrayUtil.isEmpty(fTemplates)) { fTemplateSelectionViewer.setSelection(new StructuredSelection(fTemplates[0])); setSelectedTemplate(fTemplates[0]); } Dialog.applyDialogFont(main); setControl(main); }
From source file:com.aptana.projects.wizards.ProjectTemplateSelectionPage.java
License:Open Source License
private void setSelectedTag(String tag) { tagsListViewer.removeSelectionChangedListener(tagSelectionChangedListener); tagsListViewer.setSelection(new StructuredSelection(tag)); tagsListViewer.addSelectionChangedListener(tagSelectionChangedListener); // re-construct the list of templates shown on the right Control[] children = templatesListComposite.getChildren(); for (Control templateControl : children) { templateControl.dispose();//from w w w.jav a 2 s .c om } templateControlMap.clear(); List<IProjectTemplate> templates = templateTagsMap.get(tag); Color background = templatesListComposite.getBackground(); for (IProjectTemplate template : templates) { final Composite templateControl = new Composite(templatesListComposite, SWT.NONE); templateControl.setLayout(GridLayoutFactory.fillDefaults().extendedMargins(0, 0, 5, 5).create()); templateControl.setLayoutData(RowDataFactory.swtDefaults().hint(95, SWT.DEFAULT).create()); templateControl.setBackground(background); Label image = new Label(templateControl, SWT.CENTER); image.setImage(getImage(template)); image.setBackground(background); image.setLayoutData( GridDataFactory.fillDefaults().grab(true, false).align(SWT.CENTER, SWT.CENTER).create()); Label text = new Label(templateControl, SWT.CENTER | SWT.WRAP); text.setText(template.getDisplayName()); text.setBackground(background); text.setLayoutData( GridDataFactory.fillDefaults().grab(true, true).align(SWT.CENTER, SWT.BEGINNING).create()); MouseAdapter mouseAdapter = new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { setSelectedTemplate(templateControlMap.get(templateControl)); } @Override public void mouseDoubleClick(MouseEvent e) { // Treat double-click like selecting the template and clicking "Next" if (canFlipToNextPage()) { getContainer().showPage(getNextPage()); } } }; templateControl.addMouseListener(mouseAdapter); image.addMouseListener(mouseAdapter); text.addMouseListener(mouseAdapter); templateControlMap.put(templateControl, template); } templatesListComposite.layout(true, true); }
From source file:com.aptana.ui.dialogs.InputMessageDialog.java
License:Open Source License
private void createInput(Composite composite) { new Label(composite, SWT.NONE); Composite parent = new Composite(composite, SWT.NONE); parent.setLayout(GridLayoutFactory.fillDefaults().margins(0, 0).numColumns(2).create()); Label label = new Label(parent, SWT.NONE); label.setText(dialogMessage);/*from w w w . ja va 2 s . co m*/ GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, false).hint(SWT.DEFAULT, 25) .applyTo(label); Composite valueComp = new Composite(parent, SWT.NONE); valueComp.setLayout(new FillLayout(SWT.HORIZONTAL)); if (INPUT.equals(inputType) || PASSWORD.equals(inputType)) { int flags = SWT.BORDER; if (PASSWORD.equals(inputType)) { flags |= SWT.PASSWORD; } Text t = new Text(valueComp, flags); input.add(t); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false) .hint(convertHorizontalDLUsToPixels(160), 25).applyTo(valueComp); } else if (CHECKBOX.equals(inputType)) { for (JsonNode value : values) { Button b = new Button(valueComp, SWT.CHECK); b.setText(value.asText()); input.add(b); } GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(valueComp); } else if (LIST.equals(inputType)) { Combo l = new Combo(valueComp, SWT.NONE); ComboViewer combo = new ComboViewer(l); input.add(combo); combo.setContentProvider(new ArrayContentProvider() { @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) inputElement; JsonNode[] names = new JsonNode[arrayNode.size()]; int i = 0; for (JsonNode node : arrayNode) { names[i++] = node; } return names; } return super.getElements(inputElement); } }); combo.setInput(values); combo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof ObjectNode) { String name = ((ObjectNode) element).path(NAME).asText(); if (StringUtil.isEmpty(name)) { return ((ObjectNode) element).asText(); } return name; } else if (element instanceof JsonNode) { return ((JsonNode) element).asText(); } return element.toString(); } }); combo.setSelection(new StructuredSelection(values.get(0))); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(valueComp); } }
From source file:com.aptana.ui.dialogs.MultipleInputMessageDialog.java
License:Open Source License
private void createInput(Composite composite) { for (JsonNode question : questionsNode) { List<Object> input = new ArrayList<Object>(1); new Label(composite, SWT.NONE); Composite parent = new Composite(composite, SWT.NONE); parent.setLayout(/* w w w .jav a 2 s . c om*/ GridLayoutFactory.fillDefaults().margins(0, 0).numColumns(2).equalWidth(false).create()); Label label = new Label(parent, SWT.NONE); String lblTxt = question.path(MESSAGE).asText(); label.setText(lblTxt); Point requiredSize = label.computeSize(SWT.DEFAULT, SWT.DEFAULT); int minSize = convertHorizontalDLUsToPixels(80); if (requiredSize.x > minSize) { minSize = requiredSize.x; } GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, false) .hint(minSize, SWT.DEFAULT).applyTo(label); Composite valueComp = new Composite(parent, SWT.NONE); valueComp.setLayout(new FillLayout(SWT.HORIZONTAL)); JsonNode choices = question.path(CHOICES); ArrayNode values = JsonNodeFactory.instance.arrayNode(); if (!choices.isArray()) { values.add(choices); } else { values = (ArrayNode) choices; } String inputType = question.path(TYPE).asText(); String responseKey = question.path(NAME).asText(); if (INPUT.equals(inputType) || PASSWORD.equals(inputType)) { int flags = SWT.BORDER; if (PASSWORD.equals(inputType)) { flags |= SWT.PASSWORD; } Text t = new Text(valueComp, flags); input.add(t); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false) .hint(convertHorizontalDLUsToPixels(160), 25).applyTo(valueComp); } else if (CHECKBOX.equals(inputType)) { for (JsonNode value : values) { Button b = new Button(valueComp, SWT.CHECK); b.setText(value.asText()); input.add(b); } GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(valueComp); } else if (LIST.equals(inputType)) { Combo l = new Combo(valueComp, SWT.READ_ONLY); ComboViewer combo = new ComboViewer(l); input.add(combo); combo.setContentProvider(new ArrayContentProvider() { @Override public Object[] getElements(Object inputElement) { if (inputElement instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) inputElement; JsonNode[] names = new JsonNode[arrayNode.size()]; int i = 0; for (JsonNode node : arrayNode) { names[i++] = node; } return names; } return super.getElements(inputElement); } }); combo.setInput(values); combo.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof ObjectNode) { String name = ((ObjectNode) element).path(NAME).asText(); if (StringUtil.isEmpty(name)) { return ((ObjectNode) element).asText(); } return name; } else if (element instanceof JsonNode) { return ((JsonNode) element).asText(); } return element.toString(); } }); JsonNode defaultValue = question.path(DEFAULT); if (defaultValue != null && values instanceof ArrayNode) { ArrayNode arrayNode = (ArrayNode) values; for (JsonNode node : arrayNode) { if (ObjectUtil.areEqual(node.get(VALUE).textValue(), defaultValue.textValue())) { combo.setSelection(new StructuredSelection(node)); break; } } } else { combo.setSelection(new StructuredSelection(values.get(0))); } GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(valueComp); } else if (CONFIRMATION.equals(inputType)) { input.add(Boolean.TRUE); setButtonLabels(new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL });//TISTUD-7408 } userInput.putPOJO(responseKey, input); } }
From source file:com.aptana.ui.properties.ProjectNaturesPage.java
License:Open Source License
/** * Ask to reset the project (e.g. Close and Open) to apply the changes. *///w w w . j av a2s. co m protected void resetProject() { boolean reset = MessageDialog.openQuestion(getControl().getShell(), EplMessages.ProjectNaturesPage_ResetTitle, EplMessages.ProjectNaturesPage_ResetMessage); if (reset) { // close the project IRunnableWithProgress close = new IRunnableWithProgress() { public void run(final IProgressMonitor monitor) throws InvocationTargetException { // use the CloseResourceAction to provide a file saving // dialog in case the project has some unsaved // files UIJob job = new UIJob(EplMessages.ProjectNaturesPage_CloseProjectJob_Title + "...") //$NON-NLS-1$ { @Override public IStatus runInUIThread(IProgressMonitor monitor) { CloseResourceAction closeAction = new CloseResourceAction(new IShellProvider() { public Shell getShell() { return Display.getDefault().getActiveShell(); } }); closeAction.selectionChanged(new StructuredSelection(new Object[] { fProject })); closeAction.run(); monitor.done(); return Status.OK_STATUS; } }; job.schedule(); try { job.join(); } catch (InterruptedException e) { // ignore } monitor.done(); } }; try { new ProgressMonitorJobsDialog(getControl().getShell()).run(true, true, close); } catch (InterruptedException e) { // ignore } catch (InvocationTargetException e) { IdeLog.logError(UIEplPlugin.getDefault(), EplMessages.ProjectNaturesPage_ERR_CloseProject, e); } // re-open the project IRunnableWithProgress open = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { try { fProject.open(monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } } }; try { new ProgressMonitorJobsDialog(getControl().getShell()).run(true, true, open); } catch (InterruptedException e) { // ignore } catch (InvocationTargetException e) { IdeLog.logError(UIEplPlugin.getDefault(), EplMessages.ProjectNaturesPage_ERR_OpenProject, e); } } }
From source file:com.aptana.ui.widgets.CListTable.java
License:Open Source License
/** * @param parent/* ww w . j av a 2s . c o m*/ * the parent composite * @param style * the style bits */ public CListTable(Composite parent, int style) { super(parent, style); items = new ArrayList<Object>(); listeners = new ArrayList<Listener>(); setLayout(GridLayoutFactory.fillDefaults().create()); descriptionLabel = new Label(this, SWT.WRAP); descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); Composite buttons = new Composite(this, SWT.NONE); buttons.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create()); buttons.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); addButton = new Button(buttons, SWT.PUSH); addButton.setToolTipText(StringUtil.ellipsify(CoreStrings.ADD)); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean itemAdded = false; Object newItem = null; for (Listener listener : listeners) { newItem = listener.addItem(); if (newItem != null) { items.add(newItem); itemAdded = true; } } if (itemAdded) { tableViewer.refresh(); tableViewer.setSelection(new StructuredSelection(newItem)); for (Listener listener : listeners) { listener.itemsChanged(getItems()); } } } }); addButton.setImage(SWTUtils.getImage(UIPlugin.getDefault(), "/icons/add.gif")); //$NON-NLS-1$ editButton = new Button(buttons, SWT.PUSH); editButton.setToolTipText(StringUtil.ellipsify(CoreStrings.EDIT)); editButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection(); if (!selection.isEmpty()) { Object element = selection.getFirstElement(); items.remove(element); Object newElement = null; boolean changed = false; for (Listener listener : listeners) { newElement = listener.editItem(element); if (newElement != null) { items.add(newElement); changed = true; } } if (changed) { tableViewer.refresh(); tableViewer.setSelection(new StructuredSelection(newElement)); for (Listener listener : listeners) { listener.itemsChanged(getItems()); } } } } }); editButton.setImage(SWTUtils.getImage(UIPlugin.getDefault(), "/icons/edit.png")); //$NON-NLS-1$ removeButton = new Button(buttons, SWT.PUSH); removeButton.setToolTipText(CoreStrings.REMOVE); removeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection(); Object[] elements = selection.toArray(); for (Object element : elements) { items.remove(element); } tableViewer.refresh(); updateStates(); for (Listener listener : listeners) { listener.itemsChanged(getItems()); } } }); removeButton.setImage(SWTUtils.getImage(UIPlugin.getDefault(), "/icons/delete.gif")); //$NON-NLS-1$ createTable(this); }
From source file:com.aptana.workbench.hyperlink.EditorLineHyperlink.java
License:Open Source License
protected void openDirectory(IWorkbenchPage page, IFileStore store) throws CoreException { URI uri = store.toURI();//from ww w. j a v a2 s. c o m if (!SCHEME_FILE.equals(uri.getScheme())) { return; } File file = store.toLocalFile(EFS.NONE, new NullProgressMonitor()); IContainer container = ResourcesPlugin.getWorkspace().getRoot() .getContainerForLocation(Path.fromOSString(file.getAbsolutePath())); if (container == null) { // If this is an external directory, open it in the "finder" - OpenInFinderHandler.open(uri) IHandlerService service = (IHandlerService) page.getActivePart().getSite() .getService(IHandlerService.class); ICommandService commandService = (ICommandService) page.getActivePart().getSite() .getService(ICommandService.class); Command command = commandService.getCommand(IUIConstants.OPEN_IN_OS_FILE_MANAGER_ID); ParameterizedCommand pc = ParameterizedCommand.generateCommand(command, null); List<Object> list = new ArrayList<Object>(); list.add(store); IEvaluationContext context = new EvaluationContext(service.getCurrentState(), list); context.addVariable(ISources.SHOW_IN_SELECTION, new StructuredSelection(list)); try { service.executeCommandInContext(pc, null, context); } catch (Exception e) { // ignore } return; } // Select in the App Explorer IViewReference[] viewRefs = page.getViewReferences(); for (IViewReference ref : viewRefs) { if (IExplorerUIConstants.VIEW_ID.equals(ref.getId())) { IViewPart part = (IViewPart) ref.getPart(false); if (part != null && part instanceof ISetSelectionTarget) { // Select the directory! ISetSelectionTarget target = (ISetSelectionTarget) part; target.selectReveal(new StructuredSelection(container)); } // Also expand it, if possible if (part != null && part instanceof CommonNavigator) { CommonNavigator navigator = (CommonNavigator) part; AbstractTreeViewer treeViewer = navigator.getCommonViewer(); treeViewer.expandToLevel(container, 1); } } } }