Example usage for org.eclipse.jface.viewers ITableLabelProvider ITableLabelProvider

List of usage examples for org.eclipse.jface.viewers ITableLabelProvider ITableLabelProvider

Introduction

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

Prototype

ITableLabelProvider

Source Link

Usage

From source file:com.drgarbage.bytecode.jdi.dialogs.SelectJavaTypeDialog.java

License:Apache License

private void createDebugTargetSelectionTable(Composite parent) {
    tableViewer = new TableViewer(parent, SWT.BORDER);

    Table t = tableViewer.getTable();//from w  ww  .  java  2 s.  c om
    t.setHeaderVisible(true);

    TableColumn tc1 = new TableColumn(t, SWT.NONE);
    tc1.setText(BytecodeVisualizerMessages.SelectJavaTypeDialog_column_Type);
    TableColumn tc2 = new TableColumn(t, SWT.NONE);
    tc2.setText(BytecodeVisualizerMessages.SelectJavaTypeDialog_column_Class_Loader);

    tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            buttonPressed(OK);
        }

    });

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateEnablement();
        }

    });

    tableViewer.setContentProvider(new ArrayContentProvider());
    //        vmsTableViewer.setLabelProvider(new DefaultLabelProvider());
    tableViewer.setLabelProvider(new ITableLabelProvider() {

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == 0) {
                return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS);
            }
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {

            if (element instanceof JDIReferenceType) {
                try {
                    JDIReferenceType jt = (JDIReferenceType) element;

                    if (columnIndex == 0) {
                        return jt.getName();
                    } else if (columnIndex == 1) {
                        IJavaObject o = jt.getClassLoaderObject();
                        return o.getJavaType().getName() + JavaLexicalConstants.SPACE
                                + JavaLexicalConstants.LEFT_PARENTHESIS + ByteCodeConstants.ID
                                + JavaLexicalConstants.EQUALS + o.getUniqueId()
                                + JavaLexicalConstants.RIGHT_PARENTHESIS;
                    }
                } catch (DebugException ignore) {
                }
            }
            return null;
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

    });
    tableViewer.addFilter(new ViewerFilter() {
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            return true;
        }
    });
    tableViewer.setInput(displayCandidates);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.horizontalSpan = 2;
    data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
    data.heightHint = IDialogConstants.ENTRY_FIELD_WIDTH;
    t.setLayoutData(data);

    tc1.pack();
    tc2.pack();

}

From source file:com.ebmwebsourcing.petals.components.drivers.ComponentConfigurationWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    setTitle("Configured Component");
    setMessage("Update a Petals component to use one or several shared libraries.");

    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new GridLayout());
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    setControl(container);//from w  w w  . j  a v  a 2s .com

    // Select the component's archive
    Composite subC = new Composite(container, SWT.NONE);
    GridLayout layout = new GridLayout(3, false);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    subC.setLayout(layout);
    subC.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    Label l = new Label(subC, SWT.NONE);
    l.setText("Component's URL:");
    l.setToolTipText("The URL of the component's ZIP");

    final Text componentUrlText = new Text(subC, SWT.SINGLE | SWT.BORDER);
    componentUrlText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    componentUrlText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            ComponentConfigurationWizardPage.this.componentUrl = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    Button browseButton = new Button(subC, SWT.PUSH);
    browseButton.setText("Browse...");
    browseButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

            FileDialog dlg = new FileDialog(getShell(), SWT.SINGLE);
            dlg.setText("Select a zipped component file");
            dlg.setFilterNames(new String[] { "ZIP (*.zip)" });
            dlg.setFilterExtensions(new String[] { "*.zip" });

            String path = PreferencesManager.getSavedLocation();
            if (!StringUtils.isEmpty(path)) {
                try {
                    File f = new File(path);
                    dlg.setFilterPath(f.getParentFile().getAbsolutePath());
                    dlg.setFileName(f.getName());

                } catch (Exception e1) {
                    // nothing
                }
            }

            String fn = dlg.open();
            if (fn != null) {
                PreferencesManager.setSavedLocation(fn);
                fn = convertFilePathToUrl(fn);
                componentUrlText.setText(fn);
            }
        }
    });

    // Choose the output location
    l = new Label(subC, SWT.NONE);
    l.setText("Output Location:");
    l.setToolTipText("The location of the component after configuration");

    final Text outputLocationText = new Text(subC, SWT.SINGLE | SWT.BORDER);
    outputLocationText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    outputLocationText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            ComponentConfigurationWizardPage.this.updatedFileLocation = ((Text) e.widget).getText().trim();
            validate();
        }
    });

    browseButton = new Button(subC, SWT.PUSH);
    browseButton.setText("Browse...");
    browseButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

            FileDialog dlg = new FileDialog(getShell(), SWT.SINGLE | SWT.SAVE);
            dlg.setText("Select a zipped component file");
            dlg.setFilterNames(new String[] { "ZIP (*.zip)" });
            dlg.setFilterExtensions(new String[] { "*.zip" });

            // File name
            String name = null;
            if (ComponentConfigurationWizardPage.this.componentUrl != null) {
                int index = Math.max(ComponentConfigurationWizardPage.this.componentUrl.lastIndexOf('/'),
                        ComponentConfigurationWizardPage.this.componentUrl.lastIndexOf('\\'));

                if (index > 0 && index < ComponentConfigurationWizardPage.this.componentUrl.length() - 1) {
                    name = ComponentConfigurationWizardPage.this.componentUrl.substring(index + 1);
                    name = StringUtils.insertSuffixBeforeFileExtension(name, "--patched");
                }
            }

            // Save location
            String path = PreferencesManager.getSavedLocation();
            if (!StringUtils.isEmpty(path)) {
                try {
                    File f = new File(path);
                    dlg.setFilterPath(f.getParentFile().getAbsolutePath());
                    dlg.setFileName(name == null ? f.getName() : name);

                } catch (Exception e1) {
                    // nothing
                }
            } else if (name != null) {
                dlg.setFileName(name);
            }

            String fn = dlg.open();
            if (fn != null)
                outputLocationText.setText(fn);
        }
    });

    new Label(subC, SWT.NO_FOCUS);
    final Button overwriteButton = new Button(subC, SWT.CHECK);
    overwriteButton.setText("Overwrite");
    overwriteButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            ComponentConfigurationWizardPage.this.overwrite = overwriteButton.getSelection();
            validate();
        }
    });

    // Add a table to display the shared libraries to add
    subC = new Composite(container, SWT.NONE);
    layout = new GridLayout(2, false);
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    layout.marginTop = 18;
    subC.setLayout(layout);
    subC.setLayoutData(new GridData(GridData.FILL_BOTH));

    l = new Label(subC, SWT.NONE);
    l.setText("Select or define the shared libraries this component must use.");
    GridData layoutData = new GridData();
    layoutData.horizontalSpan = 2;
    l.setLayoutData(layoutData);

    final TableViewer slViewer = new TableViewer(subC,
            SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION | SWT.SINGLE);
    slViewer.setContentProvider(new ArrayContentProvider());
    slViewer.setLabelProvider(new ITableLabelProvider() {
        @Override
        public void removeListener(ILabelProviderListener listener) {
            // nothing
        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public void addListener(ILabelProviderListener listener) {
            // nothing
        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            Object key = ((Map.Entry<?, ?>) element).getKey();
            Object value = ((Map.Entry<?, ?>) element).getValue();

            String result = "";
            ;
            if (columnIndex == 0)
                result = (String) key;
            else if (columnIndex == 1)
                result = (String) value;

            return result;
        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }
    });

    slViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    slViewer.getTable().setHeaderVisible(true);
    slViewer.getTable().setLinesVisible(true);

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(85, 300, true));
    tlayout.addColumnData(new ColumnWeightData(15, 50, true));
    slViewer.getTable().setLayout(tlayout);

    TableColumn column = new TableColumn(slViewer.getTable(), SWT.LEFT);
    column.setText(NAME);
    column = new TableColumn(slViewer.getTable(), SWT.CENTER);
    column.setText(VERSION);
    slViewer.setColumnProperties(new String[] { NAME, VERSION });

    // Add some buttons
    Composite buttonsComposite = new Composite(subC, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    buttonsComposite.setLayout(layout);
    buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, true));

    Button addSlFileButton = new Button(buttonsComposite, SWT.PUSH);
    addSlFileButton.setText("Add a File...");
    addSlFileButton.setToolTipText("Select a Shared Library file");
    addSlFileButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    Button addSlUrlButton = new Button(buttonsComposite, SWT.PUSH);
    addSlUrlButton.setText("Add an URL...");
    addSlUrlButton.setToolTipText("Add an URL pointing to a Shared Library");
    addSlUrlButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    Button specifySlButton = new Button(buttonsComposite, SWT.PUSH);
    specifySlButton.setText("Specify Manually...");
    specifySlButton.setToolTipText("Enter a shared library name and a shared library version manually");
    specifySlButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    final Button editButton = new Button(buttonsComposite, SWT.PUSH);
    editButton.setText("Edit...");
    editButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    final Button deleteButton = new Button(buttonsComposite, SWT.PUSH);
    deleteButton.setText("Delete");
    deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));

    // Button listeners
    addSlFileButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            openSlFileDialog(slViewer, null);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            openSlFileDialog(slViewer, null);
        }
    });

    addSlUrlButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            openSlUrlDialog(slViewer, null);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            openSlUrlDialog(slViewer, null);
        }
    });

    specifySlButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            openSlDialog(slViewer, null);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            openSlDialog(slViewer, null);
        }
    });

    editButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

            if (!slViewer.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) slViewer.getSelection()).getFirstElement();
                if (o instanceof Map.Entry<?, ?>) {
                    o = ((Map.Entry<?, ?>) o).getKey();
                    if (o instanceof String)
                        openSlDialog(slViewer, (String) o);
                }
            }
        }
    });

    deleteButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

            if (!slViewer.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) slViewer.getSelection()).getFirstElement();
                ComponentConfigurationWizardPage.this.slNameToVersion.remove(o);
                slViewer.setInput(ComponentConfigurationWizardPage.this.slNameToVersion.entrySet());
                slViewer.refresh();
            }
        }
    });

    // Other listeners
    slViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            deleteButton.setEnabled(true);
            Object o = ((IStructuredSelection) slViewer.getSelection()).getFirstElement();
            if (o instanceof Map.Entry<?, ?>) {
                o = ((Map.Entry<?, ?>) o).getKey();
                boolean disabled = o instanceof File;
                editButton.setEnabled(!disabled);
            }
        }
    });

    setPageComplete(false);
}

From source file:com.ebmwebsourcing.petals.services.eip.designer.tabbedproperties.EipOutgoingConnectionsSection.java

License:Open Source License

@Override
public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) {

    // Create the container
    super.createControls(parent, aTabbedPropertySheetPage);
    Composite container = getWidgetFactory().createComposite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginTop = 10;//  w  ww .  jav a 2  s . com
    layout.marginBottom = 8;
    container.setLayout(layout);

    // Add the table
    String[] PROPERTIES = new String[] { "Index", "Connection Target" };

    Table table = getWidgetFactory().createTable(container,
            SWT.SINGLE | SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
    table.setHeaderVisible(true);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalIndent = 7;
    table.setLayoutData(layoutData);

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(10, 70, true));
    tlayout.addColumnData(new ColumnWeightData(90, 300, true));
    table.setLayout(tlayout);

    TableColumn column = new TableColumn(table, SWT.CENTER);
    column.setText(PROPERTIES[0]);
    column = new TableColumn(table, SWT.LEFT);
    column.setText(PROPERTIES[1]);

    this.outgoingConnectionsViewer = new TableViewer(table);
    this.outgoingConnectionsViewer.setColumnProperties(PROPERTIES);
    this.outgoingConnectionsViewer.setContentProvider(new ArrayContentProvider());
    this.outgoingConnectionsViewer.setLabelProvider(new ITableLabelProvider() {
        public void addListener(ILabelProviderListener listener) {
            // nothing
        }

        public void dispose() {
            // nothing
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
            // nothing
        }

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {

            StringBuilder sb = new StringBuilder();
            EipConnection conn = (EipConnection) element;

            if (columnIndex == 0) {
                int index = -1;
                if (conn.getSource() != null)
                    index = conn.getSource().getOutgoingConnections().indexOf(conn);

                if (index != -1) {
                    sb.append(++index);
                    sb.append(". ");
                }

            } else {
                if (conn.getTarget() instanceof EipNode)
                    sb.append(conn.getTarget().getServiceName() + " - EIP");
                else if (conn.getTarget() instanceof Endpoint)
                    sb.append(conn.getTarget().getServiceName() + " - Petals Service");
            }

            return sb.toString();
        }
    });

    // Add the buttons
    Composite buttonsComposite = getWidgetFactory().createComposite(container);
    layout = new GridLayout();
    layout.marginHeight = 0;
    buttonsComposite.setLayout(layout);
    buttonsComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));

    final Button upButton = getWidgetFactory().createButton(buttonsComposite, "Up", SWT.PUSH);
    upButton.setToolTipText("Push up this target node and its connection");
    layoutData = new GridData();
    layoutData.widthHint = 100;
    upButton.setLayoutData(layoutData);
    upButton.setEnabled(false);

    final Button downButton = getWidgetFactory().createButton(buttonsComposite, "Down", SWT.PUSH);
    downButton.setToolTipText("Pull down this target node and its connection");
    layoutData = new GridData();
    layoutData.widthHint = 100;
    downButton.setLayoutData(layoutData);
    downButton.setEnabled(false);

    // Add the listeners
    this.outgoingConnectionsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {

            EipConnection conn = (EipConnection) ((IStructuredSelection) event.getSelection())
                    .getFirstElement();
            int size = EipOutgoingConnectionsSection.this.outgoingConnectionsViewer.getTable().getItemCount();
            int pos = conn.getSource().getOutgoingConnections().indexOf(conn);

            upButton.setEnabled(pos > 0);
            downButton.setEnabled(pos < size - 1);
        }
    });

    upButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            moveSelectedConnection(true);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            moveSelectedConnection(true);
        }
    });

    downButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            moveSelectedConnection(false);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            moveSelectedConnection(false);
        }
    });
}

From source file:com.ebmwebsourcing.petals.services.wizards.AbstractPetalsServiceCreationWizardPage.java

License:Open Source License

@Override
@SuppressWarnings("restriction")
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new GridLayout());
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // Before the workspace location
    createWidgetsBeforeProjectLocation(container);

    // Workspace location
    final Button useDefaultLocButton = new Button(container, SWT.CHECK);
    useDefaultLocButton.setText("Create the project(s) in the default location");
    GridData layoutData = new GridData();
    layoutData.verticalIndent = 17;//from  w  w w.jav a  2s .  c  o  m
    useDefaultLocButton.setLayoutData(layoutData);

    Composite locContainer = new Composite(container, SWT.NONE);
    GridLayout layout = new GridLayout(3, false);
    layout.marginHeight = layout.marginWidth = 0;
    locContainer.setLayout(layout);
    locContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    final Label locLabel = new Label(locContainer, SWT.NONE);
    locLabel.setText("Project(s) location:");

    final Text projectLocationText = new Text(locContainer, SWT.SINGLE | SWT.BORDER);
    projectLocationText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    projectLocationText.setText(ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString());
    projectLocationText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            AbstractPetalsServiceCreationWizardPage.this.projectLocation = projectLocationText.getText();
            validate();
        }
    });

    final Button browseButton = new Button(locContainer, SWT.PUSH);
    browseButton.setText("Browse...");
    browseButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            String location = new DirectoryDialog(getShell()).open();
            if (location != null)
                projectLocationText.setText(location);
        }
    });

    useDefaultLocButton.setSelection(this.isAtDefaultLocation);
    useDefaultLocButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {

            AbstractPetalsServiceCreationWizardPage.this.isAtDefaultLocation = useDefaultLocButton
                    .getSelection();

            boolean use = !AbstractPetalsServiceCreationWizardPage.this.isAtDefaultLocation;
            locLabel.setEnabled(use);
            projectLocationText.setEnabled(use);
            browseButton.setEnabled(use);
            projectLocationText.setFocus();
        }
    });

    // List of projects to create
    Label l = new Label(container, SWT.NONE);
    l.setText("Specify the properties of the target project(s).");

    layoutData = new GridData();
    layoutData.verticalIndent = 17;
    l.setLayoutData(layoutData);

    Tree tree = new Tree(container, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 90;
    tree.setLayoutData(layoutData);
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnWeightData(40, 150, false));
    tlayout.addColumnData(new ColumnWeightData(10, 10, false));
    tlayout.addColumnData(new ColumnWeightData(10, 15, false));
    tlayout.addColumnData(new ColumnWeightData(20, 80, true));
    tlayout.addColumnData(new ColumnWeightData(20, 60, true));
    tree.setLayout(tlayout);

    TreeColumn column = new TreeColumn(tree, SWT.LEFT);
    column.setText(PROJECT_NAME);
    column = new TreeColumn(tree, SWT.CENTER);
    column.setText(CREATE);
    column = new TreeColumn(tree, SWT.CENTER);
    column.setText(OVERWRITE);
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText(COMPONENT_NAME);
    column = new TreeColumn(tree, SWT.CENTER);
    column.setText(COMPONENT_VERSION);

    // Create the viewer
    this.viewer = new TreeViewer(tree);

    // Define its content provider
    this.viewer.setContentProvider(new ITreeContentProvider() {

        @Override
        public Object[] getChildren(Object parentElement) {
            Object[] children = new Object[0];
            if (parentElement instanceof SaImportBean) {
                children = new Object[((SaImportBean) parentElement).countSuBeans()];
                children = ((SaImportBean) parentElement).getSuBeans().toArray(children);
            }
            return children;
        }

        @Override
        public Object getParent(Object element) {
            return null;
        }

        @Override
        public boolean hasChildren(Object element) {
            boolean hasChildren = false;
            if (element instanceof SaImportBean) {
                hasChildren = ((SaImportBean) element).countSuBeans() > 0;
            }
            return hasChildren;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            Object[] result = new Object[((Collection<?>) inputElement).size()];
            return ((Collection<?>) inputElement).toArray(result);
        }

        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // nothing
        }
    });

    // Define its label provider
    this.viewer.setLabelProvider(new ITableLabelProvider() {
        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            Image result = null;

            switch (columnIndex) {
            case 0:
                if (element instanceof SaImportBean)
                    result = AbstractPetalsServiceCreationWizardPage.this.saImg;
                else if (element instanceof SuImportBean)
                    result = AbstractPetalsServiceCreationWizardPage.this.suImg;
                break;

            case 1:
                if (element instanceof ServiceImportBean) {
                    result = ((ServiceImportBean) element).isToCreate()
                            ? AbstractPetalsServiceCreationWizardPage.this.checked
                            : AbstractPetalsServiceCreationWizardPage.this.unchecked;
                }
                break;

            case 2:
                if (element instanceof ServiceImportBean) {
                    result = ((ServiceImportBean) element).isToOverwrite()
                            ? AbstractPetalsServiceCreationWizardPage.this.checked
                            : AbstractPetalsServiceCreationWizardPage.this.unchecked;
                }
                break;
            }

            return result;
        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            String result = "";

            switch (columnIndex) {
            case 0:
                if (element instanceof ServiceImportBean)
                    result = ((ServiceImportBean) element).getProjectName();
                break;

            case 1:
            case 2:
                break;

            case 3:
                if (element instanceof SuImportBean)
                    result = ((SuImportBean) element).getComponentName();
                break;

            case 4:
                if (element instanceof SuImportBean)
                    result = ((SuImportBean) element).getComponentVersion();
                break;
            }

            return result;
        }

        @Override
        public void addListener(ILabelProviderListener listener) {
            // nothing
        }

        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener listener) {
            // nothing
        }
    });

    // Define its sorter
    this.viewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {

            if (e1 instanceof ServiceImportBean && e2 instanceof ServiceImportBean) {
                String n1 = ((ServiceImportBean) e1).getProjectName();
                if (n1 == null)
                    n1 = "";

                String n2 = ((ServiceImportBean) e2).getProjectName();
                if (n2 == null)
                    n2 = "";

                return n1.compareTo(n2);
            }

            return super.compare(viewer, e1, e2);
        }
    });

    // Create the editor for the versions (it must be done before creating the cell modifiers).
    // This is done this way to allow the editor to store and retrieve custom values (i.e. versions
    // that are not registered but manually entered by the user).
    final StringComboBoxCellEditor comboEditor = new StringComboBoxCellEditor(tree, DEFAULT_VERSIONS,
            SWT.DROP_DOWN);

    this.viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            if (!event.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (o instanceof SuImportBean) {

                    // If there is a custom value, add it in the list
                    SuImportBean suBean = (SuImportBean) o;
                    List<String> versions = Arrays.asList(suBean.getSupportedVersions());
                    versions = new ArrayList<String>(versions);
                    if (!versions.contains(suBean.getComponentVersion()))
                        versions.add(suBean.getComponentVersion());

                    String[] items = new String[versions.size()];
                    comboEditor.setItems(versions.toArray(items));
                } else if (o instanceof SaImportBean)
                    comboEditor.setItems(DEFAULT_VERSIONS);
            }
        }
    });

    // Define its cell modifier
    this.viewer.setCellModifier(new ICellModifier() {
        @Override
        public void modify(Object element, String property, Object value) {

            TreeItem tableItem = (TreeItem) element;
            if (PROJECT_NAME.equals(property)) {
                ServiceImportBean bean = (ServiceImportBean) tableItem.getData();
                bean.setProjectName((String) value);
                AbstractPetalsServiceCreationWizardPage.this.viewer.refresh(bean);
                validate();

            } else if (CREATE.equals(property)) {
                ServiceImportBean bean = (ServiceImportBean) tableItem.getData();
                bean.setToCreate((Boolean) value);
                AbstractPetalsServiceCreationWizardPage.this.viewer.refresh(bean);
                validate();

            } else if (OVERWRITE.equals(property)) {
                ServiceImportBean bean = (ServiceImportBean) tableItem.getData();
                bean.setOverwrite((Boolean) value);
                AbstractPetalsServiceCreationWizardPage.this.viewer.refresh(bean);
                validate();

            } else if (tableItem.getData() instanceof SuImportBean) {
                if (COMPONENT_NAME.equals(property)) {
                    SuImportBean bean = (SuImportBean) tableItem.getData();
                    bean.setComponentName((String) value);
                    AbstractPetalsServiceCreationWizardPage.this.viewer.refresh(bean);
                    validate();

                } else if (COMPONENT_VERSION.equals(property)) {
                    SuImportBean bean = (SuImportBean) tableItem.getData();
                    bean.setComponentVersion((String) value);
                    AbstractPetalsServiceCreationWizardPage.this.viewer.refresh(bean);
                    validate();
                }
            }
        }

        @Override
        public Object getValue(Object element, String property) {

            Object value = null;
            if (PROJECT_NAME.equals(property))
                value = ((ServiceImportBean) element).getProjectName();

            else if (CREATE.equals(property))
                value = Boolean.valueOf(((ServiceImportBean) element).isToCreate());

            else if (OVERWRITE.equals(property))
                value = ((ServiceImportBean) element).isToOverwrite();

            else if (element instanceof SuImportBean) {
                SuImportBean bean = (SuImportBean) element;
                if (COMPONENT_NAME.equals(property))
                    value = bean.getComponentName();
                else if (COMPONENT_VERSION.equals(property))
                    value = bean.getComponentVersion();
            }

            return value;
        }

        @Override
        public boolean canModify(Object element, String property) {

            boolean canModify = true;
            if (element instanceof SaImportBean) {
                canModify = PROJECT_NAME.equals(property) || CREATE.equals(property)
                        || OVERWRITE.equals(property);
            }

            return canModify;
        }
    });

    // End up with the viewer properties
    this.viewer.setColumnProperties(
            new String[] { PROJECT_NAME, CREATE, OVERWRITE, COMPONENT_NAME, COMPONENT_VERSION });

    this.viewer.setCellEditors(new CellEditor[] { new TextCellEditor(tree), new CheckboxCellEditor(tree),
            new CheckboxCellEditor(tree), new TextCellEditor(tree, SWT.READ_ONLY), comboEditor });

    // Last steps
    if (!this.importsBeans.isEmpty()) {
        this.viewer.setInput(this.importsBeans);
        this.viewer.expandAll();
    }

    useDefaultLocButton.notifyListeners(SWT.Selection, new Event());
    tree.notifyListeners(SWT.Selection, new Event());
    validate();
    setErrorMessage(null);
    setControl(container);

    // Force the shell size
    Point size = getShell().computeSize(700, 600);
    getShell().setSize(size);

    Rectangle rect = Display.getCurrent().getBounds();
    getShell().setLocation((rect.width - size.x) / 2, (rect.height - size.y) / 2);
}

From source file:com.fiorano.services.cbr.cps.XPathTableUI.java

License:Open Source License

private void attachLabelProvider() {

    viewer.setLabelProvider(new ITableLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }//from  w w  w . j ava 2 s  .c  o  m

        public String getColumnText(Object element, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return ((Entry) element).getKey().toString();
            case 1:

                return ((Entry) element).getValue().toString();
            default:
                return Messages_CBR.XPathTableUI_9 + columnIndex;
            }
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }

        public void removeListener(ILabelProviderListener lpl) {
        }
    });
}

From source file:com.fiorano.services.exceptionlistener.cps.ui.ExceptionListenerHashtableUI.java

License:Open Source License

private void attachLabelProvider() {

    viewer.setLabelProvider(new ITableLabelProvider() {

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }//  w w  w .j  ava2 s.c o m

        @SuppressWarnings("unchecked")
        public String getColumnText(Object element, int columnIndex) {

            switch (columnIndex) {
            case 0:
                return ((Entry<String, String>) element).getKey();
            case 1:
                return ((Entry<String, String>) element).getValue();
            default:
                return Messages_ExceptionListener.ExceptionListenerHashtableUI_7 + columnIndex;
            }
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }

        public void removeListener(ILabelProviderListener lpl) {
        }

    });
}

From source file:com.gesila.test.guard.application.parts.SamplePart.java

License:Open Source License

@PostConstruct
public void createComposite(Composite parent) {
    parent.setLayout(new GridLayout(5, false));

    Label methodLabel = new Label(parent, SWT.NONE);
    methodLabel.setText("Method:");
    methodLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    String[] methods = { "GET", "POST" };
    combo.setItems(methods);//from w  ww .  j av  a 2s  .com
    combo.select(0);
    combo.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    if (this.testGuardUrlObject != null) {
        // combo.setText(this.testGuardUrlObject.getRequestType().name());
        combo.select(Arrays.binarySearch(methods, this.testGuardUrlObject.getRequestType().name()));
    }

    Label urlLabel = new Label(parent, SWT.NONE);
    urlLabel.setText("Method:");
    urlLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));

    txtInput = new Text(parent, SWT.BORDER);
    txtInput.setMessage("url?");
    // txtInput.addModifyListener(new ModifyListener() {
    // @Override
    // public void modifyText(ModifyEvent e) {
    // dirty.setDirty(true);
    // }
    // });
    if (this.testGuardUrlObject != null) {
        txtInput.setText(this.testGuardUrlObject.getUrl());
    }
    txtInput.setLayoutData(new GridData(GridData.FILL, SWT.CENTER, true, false));
    button = new Button(parent, SWT.BORDER);
    button.setText("Send");
    button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
    button.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            GesilaHttpClient gesilaHttpClient = new GesilaHttpClient(txtInput.getText());
            if (bodyText.getText() != null) {
                gesilaHttpClient.setRequestJSON(bodyText.getText());
            }
            gesilaHttpClient.setRequestType(RequestType.valueOf(combo.getText()));
            HttpResponse response = (HttpResponse) GesilaHttpClientUtil.execute(gesilaHttpClient);
            GesilaHttpResponse gesilaHttpResponse = new GesilaHttpResponse(response);
            selectionService.setSelection(gesilaHttpResponse);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

        }
    });
    button.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false));

    Label bodyLabel = new Label(parent, SWT.NONE);
    bodyLabel.setText("Body:");
    bodyLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 5, 1));

    CTabFolder bodyCTabFolder = new CTabFolder(parent, SWT.NONE);
    bodyCTabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 5, 1));
    bodyCTabFolder.setSimple(true);

    CTabItem textTabItem = new CTabItem(bodyCTabFolder, SWT.NONE);
    textTabItem.setText("Text");
    textTabItem.setShowClose(false);

    bodyText = new Text(bodyCTabFolder, SWT.BORDER | SWT.WRAP);
    // bodyText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true,
    // 5, 1));
    if (this.testGuardUrlObject != null) {
        bodyText.setText(this.testGuardUrlObject.getRequestBody());
    }
    textTabItem.setControl(bodyText);

    CTabItem jsonCTabItem = new CTabItem(bodyCTabFolder, SWT.NONE);
    jsonCTabItem.setText("Json");
    jsonCTabItem.setShowClose(false);

    //      Composite jsonComposite=new Composite(bodyCTabFolder,SWT.BORDER);
    //      jsonComposite.setLayout(new GridLayout(1,false));
    //      jsonComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TreeViewer treeViewer = new TreeViewer(bodyCTabFolder, SWT.NONE);
    TreeColumn column = new TreeColumn(treeViewer.getTree(), SWT.NONE);
    column.setWidth(200);
    column.setText("Name");

    column = new TreeColumn(treeViewer.getTree(), SWT.NONE);
    column.setWidth(200);
    column.setText("Value");
    treeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    treeViewer.getTree().setHeaderVisible(true);

    treeViewer.setContentProvider(new ITreeContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean hasChildren(Object element) {
            // TODO Auto-generated method stub
            if (getChildren(element).length > 0) {
                return true;
            }
            return false;
        }

        @Override
        public Object getParent(Object element) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public Object[] getElements(Object inputElement) {
            // TODO Auto-generated method stub
            return (Object[]) ((List) inputElement).toArray(new Object[0]);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            // TODO Auto-generated method stub
            return ((ResponseObject) parentElement).getReponseObjects().toArray(new Object[0]);
        }
    });
    treeViewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void removeListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void dispose() {
            // TODO Auto-generated method stub

        }

        @Override
        public void addListener(ILabelProviderListener listener) {
            // TODO Auto-generated method stub

        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return ((ResponseObject) element).getName() == null ? "" : ((ResponseObject) element).getName();
            case 1:
                return ((ResponseObject) element).getValue() == null ? ""
                        : ((ResponseObject) element).getValue();
            }
            return null;
        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            // TODO Auto-generated method stub
            return null;
        }
    });

    String requestBody = this.testGuardUrlObject.getRequestBody();
    JSONObject respJsonObject = null;
    char[] responseChars = requestBody.toCharArray();
    char firstChar = responseChars[0];
    if ('{' == firstChar) {
        respJsonObject = JSONObject.parseObject(requestBody);
    } else {
        Map map = new HashMap();
        map.put("name", requestBody);
        respJsonObject = new JSONObject(map);
    }

    List list = new ArrayList();
    createJSONObject(respJsonObject, list);
    treeViewer.setInput(list);

    jsonCTabItem.setControl(treeViewer.getControl());

    bodyCTabFolder.setSelection(0);

    // tableViewer = new TableViewer(parent);`
    //
    // tableViewer.add("Sample item 1");
    // tableViewer.add("Sample item 2");
    // tableViewer.add("Sample item 3");
    // tableViewer.add("Sample item 4");
    // tableViewer.add("Sample item 5");
    // tableViewer.getTable().setLayoutData(new
    // GridData(GridData.FILL_BOTH));
}

From source file:com.gigaspaces.azure.propertypage.SubscriptionPropertyPage.java

License:Open Source License

private void createSubscriptionTable(Composite composite) {
    tblSubscriptions = new Table(composite, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

    tblSubscriptions.setHeaderVisible(true);

    tblSubscriptions.setLinesVisible(true);

    GridData gridData = new GridData();
    gridData.heightHint = 75;/*from   w w w .j a  va2  s .co m*/
    gridData.horizontalIndent = 3;
    gridData.verticalIndent = 15;
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = false;

    GridLayout gridLayoutTable = new GridLayout();
    gridLayoutTable.numColumns = 2;
    gridLayoutTable.marginRight = 0;
    tblSubscriptions.setLayout(gridLayoutTable);
    tblSubscriptions.setLayoutData(gridData);

    TableColumn subscriptionNameCol = new TableColumn(tblSubscriptions, SWT.FILL);

    subscriptionNameCol.setText(Messages.subscriptionColName);
    subscriptionNameCol.setWidth(160);

    TableColumn subscriptionIdCol = new TableColumn(tblSubscriptions, SWT.FILL);
    subscriptionIdCol.setText(Messages.subscriptionIdColName);
    subscriptionIdCol.setWidth(300);

    tableViewer = new TableViewer(tblSubscriptions);
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object obj, Object obj1) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object obj) {
            return getTableContent();
        }
    });

    tableViewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void removeListener(ILabelProviderListener ilabelproviderlistener) {
        }

        @Override
        public boolean isLabelProperty(Object element, String s) {
            return false;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void addListener(ILabelProviderListener ilabelproviderlistener) {
        }

        @Override
        public String getColumnText(Object element, int i) {

            SubscriptionPropertyPageTableElement rowElement = (SubscriptionPropertyPageTableElement) element;

            String result = ""; //$NON-NLS-1$

            switch (i) {
            case 0:
                result = rowElement.getSubscriptionName();
                break;

            case 1:
                result = rowElement.getSubscriptionId();
                break;
            case 2:
                result = rowElement.getPublishDataThumbprint();
                break;
            default:
                break;
            }
            return result;
        }

        @Override
        public Image getColumnImage(Object element, int i) {
            return null;
        }
    });

    tableViewer.setInput(getTableContent());

    Composite containerButtons = new Composite(composite, SWT.NONE);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    gridData = new GridData();
    gridData.horizontalAlignment = SWT.END;
    gridData.verticalAlignment = GridData.BEGINNING;
    gridData.verticalIndent = 15;
    containerButtons.setLayout(gridLayout);
    containerButtons.setLayoutData(gridData);

    btnAddSubscription = new Button(containerButtons, SWT.PUSH);
    btnAddSubscription.setText(Messages.addBtnText);
    gridData = new GridData();
    gridData.widthHint = 70;
    btnAddSubscription.setLayoutData(gridData);

    btnAddSubscription.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent arg0) {
            addButtonListener();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });

    tblSubscriptions.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            btnRemoveSubscription.setEnabled(true);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });

    btnRemoveSubscription = new Button(containerButtons, SWT.PUSH);
    btnRemoveSubscription.setEnabled(false);
    btnRemoveSubscription.setText(Messages.emoveBtnText);
    gridData = new GridData();
    gridData.widthHint = 70;
    btnRemoveSubscription.setLayoutData(gridData);

    btnRemoveSubscription.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent arg0) {
            removeButtonListener();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
        }
    });

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent selectionchangedevent) {

            if (selectionchangedevent.getSelection().isEmpty()) {
                btnRemoveSubscription.setEnabled(false);
            }
        }
    });
}

From source file:com.ibm.xsp.extlib.designer.bluemix.manifest.editor.ManifestServicesDialog.java

License:Open Source License

@Override
protected void fillClientArea(Composite parent) {
    this.setTitle(BluemixUtil.productizeString("%BM_PRODUCT% Services")); // $NLX-ManifestServicesDialog.IBMBluemixServices-1$
    parent.setLayout(new FillLayout());

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(SWTLayoutUtils.createLayoutDefaultSpacing(1));

    // Create the Table
    CustomTable table = new CustomTable(composite,
            SWT.CHECK | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION, "bluemix.services"); // $NON-NLS-1$
    table.setLayoutData(SWTLayoutUtils.createGDFill());
    table.setLinesVisible(true);//from   www  . ja  va2 s  . com
    table.setHeaderVisible(true);

    // Create the Name Column
    CustomTableColumn col = new CustomTableColumn(table, SWT.NONE, "bluemix.services.name"); // $NON-NLS-1$
    col.setText("Name"); // $NLX-ManifestServicesDialog.Name-1$
    col.setWidthUnit(CustomTableColumn.UNIT_PERCENT);
    col.setColWidth(60);

    // Create the Plan Column
    col = new CustomTableColumn(table, SWT.NONE, "bluemix.services.plan"); // $NON-NLS-1$
    col.setText("Plan"); // $NLX-ManifestServicesDialog.Plan-1$
    col.setWidthUnit(CustomTableColumn.UNIT_PERCENT);
    col.setColWidth(40);

    // Table Viewer
    _serviceTable = new TableViewer(table);

    // Create the Label Provider
    _serviceTable.setLabelProvider(new ITableLabelProvider() {
        @Override
        public void addListener(ILabelProviderListener arg0) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener arg0) {
        }

        @Override
        public Image getColumnImage(Object arg0, int arg1) {
            return null;
        }

        @Override
        public String getColumnText(Object obj, int col) {
            if (obj instanceof CloudService) {
                CloudService cs = (CloudService) obj;
                if (col == 0) {
                    return cs.getName();
                } else if (col == 1) {
                    return cs.getPlan();
                }
            }
            return null;
        }
    });

    // Create the Content Provider
    _serviceTable.setContentProvider(new IStructuredContentProvider() {
        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }

        @SuppressWarnings("unchecked") // $NON-NLS-1$
        @Override
        public Object[] getElements(Object input) {
            return ((List<CloudService>) input).toArray();
        }
    });

    _serviceTable.setInput(_cloudServices);

    // Tick the services from the yaml file
    TableItem[] items = _serviceTable.getTable().getItems();
    for (TableItem item : items) {
        if (item.getData() instanceof CloudService) {
            CloudService cs = (CloudService) item.getData();
            for (EditTableItem service : _serviceList) {
                if (StringUtil.equals(service.getColumn(0), cs.getName())) {
                    item.setChecked(true);
                    break;
                }
            }
        }
    }
}

From source file:com.ibm.xsp.extlib.designer.bluemix.manifest.editor.ManifestTableEditor.java

License:Open Source License

public ManifestTableEditor(Composite parent, int span, String[] colNames, String[] colLabels, boolean header,
        boolean lines, int rows, int width, String tableId, ArrayList<EditTableItem> input, boolean editable,
        CellEditorCallback callback, SelectionListener selListener, IDoubleClickListener doubleClickListener) {
    _callback = callback;// w ww . jav  a  2s .com
    _editable = editable;

    // Create the table
    _table = new CustomTable(parent, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION, tableId);
    if (selListener != null) {
        _table.addSelectionListener(selListener);
    }
    GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
    gd.horizontalSpan = span;
    _table.setLayoutData(gd);
    _table.setLinesVisible(lines);
    _table.setHeaderVisible(header);
    _table.setRows(rows);
    _table.setCols(width);

    // Create the columns
    int numCols = colNames.length;
    for (int i = 0; i < numCols; i++) {
        String colLabel = colLabels[i];
        String colName = colNames[i];
        CustomTableColumn col = new CustomTableColumn(_table, SWT.NONE, tableId + "." + colName);
        col.setText(colLabel);
        if (i == numCols - 1) {
            col.setWidthUnit(CustomTableColumn.UNIT_REMAINDER);
        } else {
            col.setWidthUnit(CustomTableColumn.UNIT_PERCENT);
            col.setColWidth(100 / numCols);
        }
    }

    // Create the Table Viewer
    _tableViewer = new TableViewer(_table);
    if (doubleClickListener != null) {
        _tableViewer.addDoubleClickListener(doubleClickListener);
    }

    // Create the Label Provider
    _tableViewer.setLabelProvider(new ITableLabelProvider() {
        @Override
        public void addListener(ILabelProviderListener arg0) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener arg0) {
        }

        @Override
        public Image getColumnImage(Object arg0, int arg1) {
            return null;
        }

        @Override
        public String getColumnText(Object obj, int col) {
            if (obj instanceof EditTableItem) {
                return ((EditTableItem) obj).getColumn(col);
            }
            return null;
        }

    });

    // Create the content provider
    _tableViewer.setContentProvider(new IStructuredContentProvider() {
        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }

        @SuppressWarnings("unchecked") // $NON-NLS-1$
        @Override
        public Object[] getElements(Object input) {
            return ((ArrayList<EditTableItem>) input).toArray();
        }
    });

    // In Cell Editing
    _tableViewer.setCellModifier(new ICellModifier() {
        @Override
        public boolean canModify(Object element, String property) {
            return _editable;
        }

        @Override
        public Object getValue(Object element, String property) {
            if (element instanceof EditTableItem) {
                return ((EditTableItem) element).getValue(property);
            }
            return "";
        }

        @Override
        public void modify(Object element, String property, Object value) {
            if (element != null) {
                if (element instanceof TableItem) {
                    Object data = ((TableItem) element).getData();
                    if (data instanceof EditTableItem) {
                        EditTableItem item = (EditTableItem) data;
                        if (!StringUtil.equals(item.getValue(property), (String) value)) {
                            item.setValue(property, (String) value);
                            _tableViewer.refresh();
                            if (_callback != null) {
                                _callback.contentsChanged(((CustomTable) _tableViewer.getTable()).getId());
                            }
                        }
                    }
                }
            }
        }
    });
    _tableViewer.setCellEditors(new CellEditor[] { new TextCellEditor(_tableViewer.getTable()),
            new TextCellEditor(_tableViewer.getTable()) });
    _tableViewer.setColumnProperties(colNames);
    _tableViewer.setInput(input);
}