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

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

Introduction

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

Prototype

public Object getFirstElement();

Source Link

Document

Returns the first element in this selection, or null if the selection is empty.

Usage

From source file:com.amazonaws.eclipse.lambda.invoke.handler.InvokeFunctionHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) throws ExecutionException {

    ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structurredSelection = (IStructuredSelection) selection;
        Object firstSeleciton = structurredSelection.getFirstElement();

        IProject selectedProject = null;

        if (firstSeleciton instanceof IProject) {
            selectedProject = (IProject) firstSeleciton;
        } else if (firstSeleciton instanceof IJavaProject) {
            selectedProject = ((IJavaProject) firstSeleciton).getProject();
        } else {//  w w  w  . ja  v a  2  s. c  om
            LambdaPlugin.getDefault().logInfo("Invalid selection: " + firstSeleciton + " is not a project.");
            return null;
        }

        trackInvokeDialogOpenedFromProjectContextMenu();

        try {
            invokeLambdaFunctionProject(selectedProject);
        } catch (Exception e) {
            LambdaPlugin.getDefault().reportException("Failed to launch upload function wizard.", e);
        }
    }

    return null;
}

From source file:com.amazonaws.eclipse.lambda.project.wizard.page.NewServerlessProjectWizardPageOne.java

License:Open Source License

private void onBlueprintSelectionViewerSelectionChange() {
    IStructuredSelection selection = (IStructuredSelection) blueprintSelectionViewer.getSelection();
    String blueprint = (String) selection.getFirstElement();
    Map<String, String> descriptions = BlueprintProvider.getInstance().getBlueprintDescriptions();
    descriptionBrowser.setText(descriptions.get(blueprint));
    dataModel.setBlueprintName(blueprint);
}

From source file:com.amazonaws.eclipse.lambda.serverless.handler.DeployServerlessProjectHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structurredSelection = (IStructuredSelection) selection;
        Object firstSeleciton = structurredSelection.getFirstElement();

        IProject selectedProject = null;

        if (firstSeleciton instanceof IProject) {
            selectedProject = (IProject) firstSeleciton;
        } else if (firstSeleciton instanceof IJavaProject) {
            selectedProject = ((IJavaProject) firstSeleciton).getProject();
        } else {/*from w ww .j a  v a 2  s .  c  o  m*/
            LambdaPlugin.getDefault()
                    .logInfo("Invalid selection: " + firstSeleciton + " is not a Serverless project.");
            return null;
        }

        doDeployServerlessTemplate(selectedProject);
    }

    return null;
}

From source file:com.amazonaws.eclipse.lambda.upload.wizard.handler.UploadFunctionToLambdaCommandHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) throws ExecutionException {

    ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structurredSelection = (IStructuredSelection) selection;
        Object firstSeleciton = structurredSelection.getFirstElement();

        IProject selectedProject = null;

        if (firstSeleciton instanceof IProject) {
            selectedProject = (IProject) firstSeleciton;
        } else if (firstSeleciton instanceof IJavaProject) {
            selectedProject = ((IJavaProject) firstSeleciton).getProject();
        } else {/*from   w  w w . j  ava  2  s.  c o  m*/
            LambdaPlugin.getDefault().logInfo("Invalid selection: " + firstSeleciton + " is not a project.");
            return null;
        }

        trackUploadWizardOpenedFromProjectContextMenu();
        doUploadFunctionProjectToLambda(selectedProject);
    }

    return null;
}

From source file:com.amazonaws.eclipse.opsworks.deploy.handler.DeployProjectToOpsworksHandler.java

License:Open Source License

public Object execute(ExecutionEvent event) throws ExecutionException {

    ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();

    if (selection instanceof IStructuredSelection) {
        IStructuredSelection structurredSelection = (IStructuredSelection) selection;

        Object firstSeleciton = structurredSelection.getFirstElement();
        if (firstSeleciton instanceof IProject) {
            IProject selectedProject = (IProject) firstSeleciton;

            try {
                WizardDialog wizardDialog = new WizardDialog(Display.getCurrent().getActiveShell(),
                        new DeployProjectToOpsworksWizard(selectedProject));
                wizardDialog.setMinimumPageSize(0, 600);

                wizardDialog.open();//from  w ww  .  jav a2 s  . c om

            } catch (Exception e) {
                OpsWorksPlugin.getDefault().reportException("Failed to launch deployment wizard.", e);
            }

        } else {
            OpsWorksPlugin.getDefault().logInfo("Invalid selection: " + firstSeleciton + " is not a project.");
        }
    }

    return null;
}

From source file:com.amitinside.e4.rcp.todo.parts.EMFTableViewerBindingPart.java

License:Apache License

@PostConstruct
public void createControl(Composite parent) {
    final FormToolkit toolkit = new FormToolkit(parent.getDisplay());

    final Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR);
    section.setText("Section 1 for demonstration"); //$NON-NLS-1$
    section.setDescription("This demonstrates the usage of section");

    final Composite client = toolkit.createComposite(section, SWT.WRAP);

    t = new TableViewerBuilder(client);

    t.createColumn("Summary").bindToProperty(TodoPackage.Literals.TODO__SUMMARY.getName()).makeEditable()
            .build();/*from w  w w .j a v a  2  s .  c om*/

    t.createColumn("Description").makeEditable().setPixelWidth(300).useAsDefaultSortColumn()
            .bindToProperty(TodoPackage.Literals.TODO__DESCRIPTION.getName()).build();

    t.getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) t.getTableViewer().getSelection();
            selectionService.setSelection(selection.getFirstElement());
        }
    });

    final ComboBoxViewerCellEditor cityComboEditor = new ComboBoxViewerCellEditor(t.getTable(), SWT.READ_ONLY);
    cityComboEditor.setContentProvider(ArrayContentProvider.getInstance());
    cityComboEditor.setInput(RandomData.CITIES);

    t.createColumn("Cities").makeEditable(cityComboEditor)
            .bindToProperty(TodoPackage.Literals.TODO__NOTE.getName()).build();

    toolkit.adapt(t.getTable(), true, true);

    t.getTableViewer().setContentProvider(new AdapterFactoryContentProvider(composedFactory));
    t.getTableViewer().setLabelProvider(new AdapterFactoryLabelProvider(composedFactory));

    t.getTableViewer().setInput(service.getTodos());

    section.setClient(client);

}

From source file:com.amitinside.e4.rcp.todo.parts.ManagerPart.java

License:Apache License

@PostConstruct
public void createControls(Composite parent, final MWindow window) {
    parent.setLayout(new GridLayout(1, false));

    btnNewButton = new Button(parent, SWT.NONE);
    btnNewButton.addSelectionListener(new SelectionAdapter() {
        @Override//from  w w  w. java 2 s.com
        public void widgetSelected(SelectionEvent e) {
            Job job = new Job("loading") {
                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    List<Todo> list = model.getTodos();
                    sync.asyncExec(new Runnable() {
                        @Override
                        public void run() {
                            viewer.setInput(model.getTodos());
                        }
                    });
                    return Status.OK_STATUS;
                }
            };
            job.schedule();

        }
    });

    btnNewButton.setText("Load Data");

    Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH);
    search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    search.setMessage("Filter");
    search.addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(SelectionEvent e) {
            if (e.detail == SWT.CANCEL) {
                Text text = (Text) e.getSource();
                text.setText("");
                //
            }
        }
        // MORE...
    });

    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

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

    viewer.setContentProvider(ArrayContentProvider.getInstance());
    TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);

    column.getColumn().setWidth(100);
    column.getColumn().setText("Summary");
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            Todo todo = (Todo) element;
            return todo.getSummary();
        }

    });

    column.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            Todo todo = (Todo) element;
            todo.setSummary(String.valueOf(value));
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            Todo todo = (Todo) element;
            return todo.getSummary();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable(), SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    column = new TableViewerColumn(viewer, SWT.NONE);

    column.getColumn().setWidth(100);
    column.getColumn().setText("Description");
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            Todo todo = (Todo) element;
            return todo.getDescription();
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            service.setSelection(selection.getFirstElement());
        }
    });

}

From source file:com.amitinside.e4.rcp.todo.parts.SampleUIAdapt.java

License:Apache License

@PostConstruct
public void createControl(Composite parent) {

    System.out.println("NAME=====>" + name);
    System.out.println(context.get("test"));

    final FormToolkit toolkit = new FormToolkit(parent.getDisplay());

    // Creating the Screen
    final Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR);
    section.setText("Section 1 for demonstration"); //$NON-NLS-1$
    section.setDescription("This demonstrates the usage of section");

    // Composite for storing the data
    final Composite client = toolkit.createComposite(section, SWT.WRAP);

    t = new TableViewerBuilder(client);

    t.createColumn("Summary").bindToProperty(TodoPackage.Literals.TODO__SUMMARY.getName()).makeEditable()
            .build();//from www.j av  a2  s.  c  o  m

    t.createColumn("Description").makeEditable().setPixelWidth(300).useAsDefaultSortColumn()
            .bindToProperty(TodoPackage.Literals.TODO__DESCRIPTION.getName()).build();

    t.getTableViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) t.getTableViewer().getSelection();
            selectionService.setSelection(selection.getFirstElement());
        }
    });

    final ComboBoxViewerCellEditor cityComboEditor = new ComboBoxViewerCellEditor(t.getTable(), SWT.READ_ONLY);
    cityComboEditor.setContentProvider(ArrayContentProvider.getInstance());
    cityComboEditor.setLabelProvider(new LabelProvider());
    cityComboEditor.setInput(RandomData.CITIES);

    t.createColumn("Notes").makeEditable(cityComboEditor)
            .bindToProperty(TodoPackage.Literals.TODO__NOTE.getName()).build();

    toolkit.adapt(t.getTable(), true, true);

    t.getTableViewer().setContentProvider(ArrayContentProvider.getInstance());

    list.addAll(service.getTodos());
    list.addListChangeListener(listener);

    t.getTableViewer().setInput(list);

    section.setClient(client);

}

From source file:com.amitinside.e4.rcp.todo.parts.TodoDeletionPart.java

License:Apache License

@PostConstruct
public void createControls(Composite parent) {
    parent.setLayout(new GridLayout(2, false));
    viewer = new ComboViewer(parent, SWT.READ_ONLY);
    viewer.setLabelProvider(new LabelProvider() {
        @Override/* w  w  w  .j a  v  a2s  . c o m*/
        public String getText(Object element) {
            Todo todo = (Todo) element;
            return todo.getSummary();
        }
    });
    viewer.setContentProvider(ArrayContentProvider.getInstance());

    List<Todo> todos = model.getTodos();
    updateViewer(todos);

    Button button = new Button(parent, SWT.PUSH);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection selection = viewer.getSelection();
            IStructuredSelection sel = (IStructuredSelection) selection;
            if (sel.size() > 0) {
                selectionService.setSelection(sel.getFirstElement());
                // assure that "com.example.e4.rcp.todo.remove" is the ID
                // of the command which deletes todos in your application model
                ParameterizedCommand cmd = commandService.createCommand("com.example.e4.rcp.todo.remove", null);
                handlerService.executeHandler(cmd, ctx);
            }

        }
    });
    button.setText(messages.TodoDeletionPart_0);
}

From source file:com.amitinside.e4.rcp.todo.parts.TodoOverviewPart.java

License:Apache License

@PostConstruct
public void createControls(Composite parent, final MWindow window, EMenuService menuService) {
    applyGridLayout(parent).numColumns(1);

    btnNewButton = new Button(parent, SWT.PUSH);
    btnNewButton.addSelectionListener(new SelectionAdapter() {
        @Override/*from   w ww  .j a  va  2 s. c o  m*/
        public void widgetSelected(SelectionEvent e) {
            final Job job = new Job("loading") {
                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    final List<Todo> list = model.getTodos();
                    broker.post(LOCAL_EVENT_FINISH, list);
                    return Status.OK_STATUS;
                }
            };
            job.schedule();
        }
    });
    btnNewButton.setText("Load Data");

    final Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH);

    // Assuming that GridLayout is used
    search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    search.setMessage("Filter");

    // Filter at every keystroke
    search.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            final Text source = (Text) e.getSource();
            searchString = source.getText();
            // Trigger update in the viewer
            viewer.refresh();
        }
    });

    // SWT.SEARCH | SWT.CANCEL not supported under Windows7
    // This does not work under Windows7
    search.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (e.detail == SWT.CANCEL) {
                final Text text = (Text) e.getSource();
                text.setText("");
                //
            }
        }
    });

    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    final Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

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

    final TableViewerColumn colSummary = new TableViewerColumn(viewer, SWT.NONE);

    colSummary.getColumn().setWidth(100);
    colSummary.getColumn().setText("Summary");

    colSummary.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            final Todo todo = (Todo) element;
            todo.setSummary(String.valueOf(value));
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            final Todo todo = (Todo) element;
            return todo.getSummary();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable(), SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    final TableViewerColumn colDescription = new TableViewerColumn(viewer, SWT.NONE);

    colDescription.getColumn().setWidth(200);
    colDescription.getColumn().setText("Description");

    // We search in the summary and description field
    viewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            final Todo todo = (Todo) element;
            return todo.getSummary().contains(searchString) || todo.getDescription().contains(searchString)
                    || todo.getNote().contains(searchString);
        }
    });

    final TableViewerColumn colNotes = new TableViewerColumn(viewer, SWT.NONE);
    colNotes.getColumn().setWidth(50);
    colNotes.getColumn().setText("Notes");

    colNotes.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            final Todo todo = (Todo) element;
            todo.setNote(String.valueOf(value));
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            final Todo todo = (Todo) element;
            return todo.getNote();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable(), SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            service.setSelection(selection.getFirstElement());
        }
    });
    menuService.registerContextMenu(viewer.getControl(), "com.amitinside.e4.rcp.todo.popupmenu.table");
    writableList = new WritableList(model.getTodos(), Todo.class);
    ViewerSupport.bind(viewer, writableList, BeanProperties
            .values(new String[] { Todo.FIELD_SUMMARY, Todo.FIELD_DESCRIPTION, Todo.FIELD_NOTE }));

}