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

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

Introduction

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

Prototype

ColumnViewerEditorActivationListener

Source Link

Usage

From source file:com.buildml.eclipse.outline.OutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);

    /* //  w  w w .j  a  v a  2  s .com
     * Configure the view's (pre-existing) TreeViewer with necessary helper objects that
     * will display the BuildML editor's package structure.
     */
    treeViewer = getTreeViewer();
    treeViewer.setContentProvider(new OutlineContentProvider(pkgMgr, true));
    treeViewer.setLabelProvider(new OutlineLabelProvider(pkgMgr));
    treeViewer.addSelectionChangedListener(this);
    treeViewer.setInput(new UIPackageFolder[] { new UIPackageFolder(pkgMgr.getRootFolder()) });
    treeViewer.expandToLevel(2);

    /*
     * Create the context menu. It'll be populated by the rules in plugin.xml.
     */
    MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            manager.add(new Separator("buildmladditions"));
        }
    });
    Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
    getSite().registerContextMenu("org.eclipse.ui.views.ContentOutline", menuMgr, treeViewer);
    getSite().setSelectionProvider(treeViewer);

    /*
     * When the user double-clicks on a folder name, automatically expand the content
     * of that folder. If they double-click on a package name, open that package
     * as a new Diagram in the main editor.
     */
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object node = selection.getFirstElement();

            if (treeViewer.isExpandable(node)) {
                treeViewer.setExpandedState(node, !treeViewer.getExpandedState(node));
            }

            /* else, open the package diagram editor */
            else {
                if (node instanceof UIPackage) {
                    int selectedPkgId = ((UIPackage) node).getId();
                    if (selectedPkgId != pkgMgr.getImportPackage()) {
                        mainEditor.openPackageDiagram(selectedPkgId);
                    }
                }
            }
        }
    });

    /*
     * Configure the ability to edit cells in the package/folder tree. The 
     * OutlineContentCellModifier class does most of the hard work.
     */
    treeViewer.setColumnProperties(new String[] { "NAME" });
    treeViewer.setCellModifier(new OutlineContentCellModifier(mainEditor));
    treeViewer.setCellEditors(new CellEditor[] { new TextCellEditor(treeViewer.getTree()) });

    /*
     * Arrange it so that cell editing is only possible when we call editElement(), rather
     * than when the user clicks on the label.
     */
    treeViewer.getColumnViewerEditor().addEditorActivationListener(new ColumnViewerEditorActivationListener() {
        public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
            if (event.eventType != ColumnViewerEditorActivationEvent.PROGRAMMATIC) {
                event.cancel = true;
            }
        }

        public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
        }

        public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
        }

        public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
        }
    });

    /*
     * Listen to our own selection events, which is necessary to learn which element is
     * selected when we want to add or delete elements.
     */
    addSelectionChangedListener(this);

    /*
     * Add the DragSource and DropTarget so that we can copy/move packages around.
     */
    new OutlineDragSource(treeViewer, this);
    new OutlineDropTarget(treeViewer, this);

    /*
     * Add the undo/redo actions from the main editor to our action bar. This allows
     * the user to use Ctrl-Z etc. to undo/redo while focused on our window.
     */
    getSite().getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(), undoAction);
    getSite().getActionBars().setGlobalActionHandler(ActionFactory.REDO.getId(), redoAction);
}

From source file:com.rcpcompany.uibindings.extests.valueBindings.ValueEditCellStrategiesTest.java

License:Open Source License

@Before
public void before() {
    BaseUIBTestUtils.resetAll();/*from ww  w.j a  v a  2s  . c  om*/
    IManager.Factory.getManager().setTextCommitStrategy(TextCommitStrategy.ON_MODIFY);
    IManager.Factory.getManager().setEditCellAnyKey(myEditCellAnyKey);
    IManager.Factory.getManager().setEditCellSingleClick(myEditCellSingleClick);

    createShop();
    createView();
    bindUI();

    myView.getSite().getPage().activate(myView);
    myBody.layout();

    // final Listener listener = new Listener() {
    // @Override
    // public void handleEvent(Event event) {
    // LogUtils.debug(this, ToStringUtils.toString(event));
    // }
    // };
    // for (int i = SWT.None; i <= SWT.ImeComposition; i++) {
    // myTable.getDisplay().addFilter(i, listener);
    // }
    //
    myTableViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override
                public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    LogUtils.debug(this, "");
                }

                @Override
                public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
                    LogUtils.debug(this, "");
                }

                @Override
                public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    LogUtils.debug(this, "");
                }

                @Override
                public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
                    LogUtils.debug(this, "");
                }
            });
}

From source file:com.rcpcompany.uibindings.extests.viewerBindings.ViewerEditCellCommitStrategiesTest.java

License:Open Source License

@Before
public void before() {
    BaseUIBTestUtils.resetAll();/*from  ww  w. ja v a 2  s.c o  m*/
    manager.setTextCommitStrategy(TextCommitStrategy.ON_MODIFY);
    manager.setEditCellAnyKey(false);
    manager.setEditCellSingleClick(false);

    createShop();
    createView();
    bindUI();

    myView.getSite().getPage().activate(myView);
    myBody.layout();

    myTableViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {
                @Override
                public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    // LogUtils.debug(this, "");
                }

                @Override
                public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
                    // LogUtils.debug(this, "");
                }

                @Override
                public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    // LogUtils.debug(this, "");
                }

                @Override
                public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
                    // LogUtils.debug(this, "");
                }
            });
}

From source file:gov.redhawk.sca.internal.ui.properties.SequencePropertyValueWizardPage.java

License:Open Source License

private TableViewer createTableViewer(final Composite parent) {
    final TableViewer viewer;
    if (this.property instanceof ScaSimpleSequenceProperty) {
        final TableColumnLayout layout = new TableColumnLayout();
        parent.setLayout(layout);//from w  w  w .jav  a 2 s. c  o  m
        viewer = new TableViewer(parent,
                SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL);
        createSimpleSequenceColumns(viewer, layout, (ScaSimpleSequenceProperty) this.property);
        viewer.getTable().setHeaderVisible(true);
        viewer.getTable().setLinesVisible(true);

        viewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory));

    } else {
        viewer = ScaComponentFactory.createStructSequenceTable(parent,
                SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL, this.adapterFactory,
                (ScaStructSequenceProperty) this.property);
        viewer.getColumnViewerEditor().addEditorActivationListener(new ColumnViewerEditorActivationListener() {

            @Override
            public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                viewer.refresh(true);
            }

            @Override
            public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) {

            }
        });
    }
    viewer.setInput(this.property);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            updateButtonState();
        }
    });
    return viewer;
}

From source file:gov.redhawk.sca.ui.ScaPropertiesViewer.java

License:Open Source License

protected void addEditorActivationListener() {
    viewer.getColumnViewerEditor().addEditorActivationListener(new ColumnViewerEditorActivationListener() {

        @Override//from  www.  j ava  2s. c o m
        public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {

        }

        @Override
        public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) {

        }

        @Override
        public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
            if (event.eventType == ColumnViewerEditorDeactivationEvent.EDITOR_SAVED) {
                viewer.refresh();
                viewer.setSelection(viewer.getSelection());
            }
        }

        @Override
        public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) {

        }
    });
}

From source file:org.bonitasoft.studio.businessobject.ui.wizard.BusinessDataModelWizardPage.java

License:Open Source License

protected IViewerObservableValue createListOfBusinessObjects(final Composite mainComposite,
        final DataBindingContext ctx) {
    final Group group = new Group(mainComposite, SWT.NONE);
    group.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    group.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).spacing(5, 0).create());
    group.setText(Messages.listOfBusinessObjects);

    final Composite buttonsComposite = new Composite(group, SWT.NONE);
    buttonsComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).indent(0, 20).create());
    buttonsComposite/*  ww  w.ja  v  a2s .  co  m*/
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonsComposite, SWT.FLAT);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create());
    addButton.setText(Messages.add);

    final Button deleteButton = new Button(buttonsComposite, SWT.FLAT);
    deleteButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .minSize(IDialogConstants.BUTTON_WIDTH, SWT.DEFAULT).create());
    deleteButton.setText(Messages.delete);
    deleteButton.setEnabled(false);

    final TableViewer boTableViewer = new TableViewer(group, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    boTableViewer.getControl()
            .setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, SWT.DEFAULT).create());
    boTableViewer.getTable().setLinesVisible(true);
    boTableViewer.getTable().setHeaderVisible(true);
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    boTableViewer.getTable().setLayout(tableLayout);
    boTableViewer.setContentProvider(new ObservableListContentProvider());

    final IViewerObservableValue observeSingleSelection = ViewersObservables
            .observeSingleSelection(boTableViewer);
    boTableViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override
                public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {

                }

                @Override
                public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) {

                }

                @Override
                public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                    final ISelection selection = boTableViewer.getSelection();
                    if (selection != null && ((IStructuredSelection) selection).getFirstElement() != null) {
                        businessObjectDescriptionGroup.setText(NamingUtils.getSimpleName(
                                ((BusinessObject) ((IStructuredSelection) selection).getFirstElement())
                                        .getQualifiedName()));
                        boTableViewer.refresh();
                    } else {
                        businessObjectDescriptionGroup.setText(Messages.selectABusinessObjectToEdit);
                    }

                }

                @Override
                public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) {

                }
            });

    createBusinessObjectNameColumn(ctx, observeSingleSelection, boTableViewer);

    final UpdateValueStrategy enableStrategy = new UpdateValueStrategy();
    enableStrategy.setConverter(new Converter(Object.class, Boolean.class) {

        @Override
        public Object convert(final Object fromObject) {
            return fromObject != null;
        }
    });

    ctx.bindValue(SWTObservables.observeEnabled(deleteButton), observeSingleSelection,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), enableStrategy);

    final IObservableList businessObjectObserveList = PojoObservables.observeList(businessObjectModel,
            "businessObjects");
    boTableViewer.setInput(businessObjectObserveList);
    addButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            addBusinessObject(boTableViewer, businessObjectObserveList);
        }

    });

    deleteButton.addSelectionListener(new SelectionAdapter() {

        /*
         * (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(final SelectionEvent e) {
            deleteBusinessObject(boTableViewer, observeSingleSelection, businessObjectObserveList);
        }

    });
    return observeSingleSelection;
}

From source file:org.bonitasoft.studio.connector.model.definition.wizard.InputsWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    context = new EMFDataBindingContext();
    final Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 15).create());

    final TableViewer inputsViewer = new TableViewer(mainComposite,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    inputsViewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    inputsViewer.getTable().setHeaderVisible(true);
    inputsViewer.getTable().setLinesVisible(true);
    inputsViewer.addSelectionChangedListener(this);
    inputsViewer.setContentProvider(new ArrayContentProvider());
    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(25));
    layout.addColumnData(new ColumnWeightData(20));
    layout.addColumnData(new ColumnWeightData(30));
    layout.addColumnData(new ColumnWeightData(25));
    inputsViewer.getTable().setLayout(layout);

    inputsViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override/*from  w  w  w  . j  a  v  a2 s  . co  m*/
                public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                }

                @Override
                public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
                }

                @Override
                public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    inputsViewer.refresh();
                }

                @Override
                public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
                }
            });

    TableViewerColumn inputNameColumn = new TableViewerColumn(inputsViewer, SWT.FILL);
    inputNameColumn.getColumn().setText(Messages.name);

    inputNameColumn.setEditingSupport(new InputNameEditingSupport(inputsViewer, definition, context));
    inputNameColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Input) element).getName();
        }
    });

    TableViewerColumn mandatoryColumn = new TableViewerColumn(inputsViewer, SWT.FILL);
    mandatoryColumn.getColumn().setText(Messages.mandatory);
    mandatoryColumn.setEditingSupport(new InputMandatoryEditingSupport(inputsViewer, context));
    mandatoryColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (((Input) element).isMandatory()) {
                return Messages.mandatory;
            } else {
                return Messages.optional;
            }
        }
    });

    TableViewerColumn inputTypeColumn = new TableViewerColumn(inputsViewer, SWT.FILL);
    inputTypeColumn.getColumn().setText(Messages.type);
    inputTypeColumn.setEditingSupport(new InputTypeEditingSupport(inputsViewer, context));
    inputTypeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Input) element).getType();
        }
    });

    TableViewerColumn defautltValueColumn = new TableViewerColumn(inputsViewer, SWT.FILL);
    defautltValueColumn.getColumn().setText(Messages.defaultValue);
    defautltValueColumn.setEditingSupport(new DefaultValueEditingSupport(inputsViewer, context));
    defautltValueColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Input) element).getDefaultValue();
        }
    });

    context.bindValue(ViewersObservables.observeInput(inputsViewer), EMFObservables.observeValue(definition,
            ConnectorDefinitionPackage.Literals.CONNECTOR_DEFINITION__INPUT));

    final Composite buttonComposite = new Composite(mainComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Input input = ConnectorDefinitionFactory.eINSTANCE.createInput();
            input.setName(generateInputName());
            input.setType(String.class.getName());
            definition.getInput().add(input);
            inputsViewer.refresh();
            inputsViewer.editElement(input, 0);
        }
    });

    upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Input selectedInput = (Input) ((IStructuredSelection) inputsViewer.getSelection())
                    .getFirstElement();
            int index = definition.getInput().indexOf(selectedInput);
            if (index > 0) {
                definition.getInput().move(index - 1, selectedInput);
            }
            inputsViewer.refresh();
        }
    });

    downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Input selectedInput = (Input) ((IStructuredSelection) inputsViewer.getSelection())
                    .getFirstElement();
            int index = definition.getInput().indexOf(selectedInput);
            if (index < definition.getInput().size() - 1) {
                definition.getInput().move(index + 1, selectedInput);
            }
        }
    });

    removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            definition.getInput().removeAll(((IStructuredSelection) inputsViewer.getSelection()).toList());
            inputsViewer.refresh();
        }
    });

    updateButtons(new StructuredSelection());
    pageSupport = WizardPageSupport.create(this, context);
    setControl(mainComposite);
}

From source file:org.bonitasoft.studio.connector.model.definition.wizard.OutputsWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    context = new EMFDataBindingContext();
    final Composite mainComposite = new Composite(parent, SWT.NONE);
    mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(15, 15).create());

    final TableViewer outputsViewer = new TableViewer(mainComposite,
            SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    outputsViewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    outputsViewer.getTable().setHeaderVisible(true);
    outputsViewer.getTable().setLinesVisible(true);
    outputsViewer.addSelectionChangedListener(this);
    outputsViewer.setContentProvider(new ArrayContentProvider());
    TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(30));
    layout.addColumnData(new ColumnWeightData(70));
    outputsViewer.getTable().setLayout(layout);

    outputsViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override//from  w  ww  .  ja va  2s.  c om
                public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                }

                @Override
                public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
                }

                @Override
                public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    outputsViewer.refresh();
                }

                @Override
                public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
                }
            });

    TableViewerColumn outputNameColumn = new TableViewerColumn(outputsViewer, SWT.FILL);
    outputNameColumn.getColumn().setText(Messages.name);

    outputNameColumn.setEditingSupport(new OutputNameEditingSupport(outputsViewer, definition, context));
    outputNameColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Output) element).getName();
        }
    });

    TableViewerColumn outputTypeColumn = new TableViewerColumn(outputsViewer, SWT.FILL);
    outputTypeColumn.getColumn().setText(Messages.type);
    outputTypeColumn.setEditingSupport(new OutputTypeEditingSupport(outputsViewer, context));
    outputTypeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((Output) element).getType();
        }
    });

    context.bindValue(ViewersObservables.observeInput(outputsViewer), EMFObservables.observeValue(definition,
            ConnectorDefinitionPackage.Literals.CONNECTOR_DEFINITION__OUTPUT));

    final Composite buttonComposite = new Composite(mainComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Output input = ConnectorDefinitionFactory.eINSTANCE.createOutput();
            input.setName(generateOutputName());
            input.setType(String.class.getName());
            definition.getOutput().add(input);
            outputsViewer.refresh();
            outputsViewer.editElement(input, 0);
        }
    });

    upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Output selectedInput = (Output) ((IStructuredSelection) outputsViewer.getSelection())
                    .getFirstElement();
            int index = definition.getOutput().indexOf(selectedInput);
            if (index > 0) {
                definition.getOutput().move(index - 1, selectedInput);
            }
            outputsViewer.refresh();
        }
    });

    downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Output selectedInput = (Output) ((IStructuredSelection) outputsViewer.getSelection())
                    .getFirstElement();
            int index = definition.getOutput().indexOf(selectedInput);
            if (index < definition.getOutput().size() - 1) {
                definition.getOutput().move(index + 1, selectedInput);
            }
        }
    });

    removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            definition.getOutput().removeAll(((IStructuredSelection) outputsViewer.getSelection()).toList());
            outputsViewer.refresh();
        }
    });

    updateButtons(new StructuredSelection());
    pageSupport = WizardPageSupport.create(this, context);
    setControl(mainComposite);
}

From source file:org.bonitasoft.studio.connector.model.definition.wizard.PageWidgetsWizardPage.java

License:Open Source License

protected void createWidgetViewer(Composite parent) {
    final Composite viewerComposite = new Composite(parent, SWT.NONE);
    viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    viewerComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());

    final TreeViewer inputsViewer = new TreeViewer(viewerComposite, SWT.BORDER | SWT.FULL_SELECTION);
    inputsViewer.getTree().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    inputsViewer.getTree().setHeaderVisible(true);
    inputsViewer.addSelectionChangedListener(this);
    inputsViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
    inputsViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
    inputsViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override//from  www  .j  a v  a  2  s .  c om
                public void beforeEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                }

                @Override
                public void beforeEditorActivated(ColumnViewerEditorActivationEvent event) {
                }

                @Override
                public void afterEditorDeactivated(ColumnViewerEditorDeactivationEvent event) {
                    inputsViewer.setSelection(new StructuredSelection());
                }

                @Override
                public void afterEditorActivated(ColumnViewerEditorActivationEvent event) {
                }

            });

    final TableLayout layout = new TableLayout();
    layout.addColumnData(new ColumnWeightData(70));
    layout.addColumnData(new ColumnWeightData(30));
    inputsViewer.getTree().setLayout(layout);

    TreeViewerColumn widgetColumn = new TreeViewerColumn(inputsViewer, SWT.FILL);
    widgetColumn.getColumn().setText(Messages.widget);
    widgetColumn.setLabelProvider(new ColumnLabelProvider() {
        WidgetLabelProvider labelProvider = new WidgetLabelProvider();

        @Override
        public String getText(Object element) {
            Component comp = (Component) element;
            String label = messageProvider.getFieldLabel(messages, comp.getId());
            if (label == null || label.isEmpty()) {
                label = comp.getId();
            }
            return labelProvider.getText(comp.eClass()) + " " + label;
        }
    });

    TreeViewerColumn inputNameColumn = new TreeViewerColumn(inputsViewer, SWT.FILL);
    inputNameColumn.getColumn().setText(Messages.input);
    inputNameColumn
            .setEditingSupport(new WidgetInputNameEditingSupport(inputsViewer, definition, page, context));
    inputNameColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof WidgetComponent) {
                return ((WidgetComponent) element).getInputName();
            } else {
                return "";
            }
        }
    });

    context.bindValue(ViewersObservables.observeInput(inputsViewer),
            PojoProperties.value(PageWidgetsWizardPage.class, "page").observe(this));

    inputsViewer.expandAll();

    final Composite buttonComposite = new Composite(viewerComposite, SWT.NONE);
    buttonComposite.setLayoutData(GridDataFactory.fillDefaults().grab(false, true).create());
    buttonComposite
            .setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 3).create());

    final Button addButton = new Button(buttonComposite, SWT.FLAT);
    addButton.setText(Messages.Add);
    addButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            SelectPageWidgetDialog dialog = new SelectPageWidgetDialog(Display.getDefault().getActiveShell(),
                    definition, page, null, null);
            if (dialog.open() == Dialog.OK) {
                Component widget = dialog.getWidget();
                messageProvider.setFieldLabel(messages, widget.getId(), dialog.getDisplayName());
                messageProvider.setFieldDescription(messages, widget.getId(), dialog.getDescription());
                Component component = (Component) ((IStructuredSelection) inputsViewer.getSelection())
                        .getFirstElement();
                if (component instanceof Group) {
                    ((Group) component).getWidget().add(widget);
                } else {
                    page.getWidget().add(widget);
                }
                inputsViewer.refresh();
                getContainer().updateMessage();
                getContainer().updateButtons();
            }

        }
    });

    editButton = new Button(buttonComposite, SWT.FLAT);
    editButton.setText(Messages.update);
    editButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Component component = (Component) ((IStructuredSelection) inputsViewer.getSelection())
                    .getFirstElement();
            SelectPageWidgetDialog dialog = new SelectPageWidgetDialog(Display.getDefault().getActiveShell(),
                    definition, page, component, EcoreUtil.copy(component));
            dialog.setDisplayName(messageProvider.getFieldLabel(messages, component.getId()));
            dialog.setDescription(messageProvider.getFieldDescription(messages, component.getId()));
            if (dialog.open() == Dialog.OK) {
                Component widget = dialog.getWidget();
                messageProvider.setFieldLabel(messages, widget.getId(), dialog.getDisplayName());
                messageProvider.setFieldDescription(messages, widget.getId(), dialog.getDescription());
                if (component != null && component.eContainer() instanceof Group) {
                    Group group = (Group) component.eContainer();
                    int i = group.getWidget().indexOf(component);
                    group.getWidget().remove(i);
                    group.getWidget().add(i, widget);
                } else {
                    int i = page.getWidget().indexOf(component);
                    page.getWidget().remove(i);
                    page.getWidget().add(i, widget);
                }

                inputsViewer.refresh();
                getContainer().updateMessage();
                getContainer().updateButtons();
            }

        }
    });

    upButton = new Button(buttonComposite, SWT.FLAT);
    upButton.setText(Messages.up);
    upButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    upButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Component selectedWidget = (Component) ((IStructuredSelection) inputsViewer.getSelection())
                    .getFirstElement();
            int index = page.getWidget().indexOf(selectedWidget);
            if (index > 0) {
                page.getWidget().move(index - 1, selectedWidget);
            }
            inputsViewer.refresh();
        }
    });

    downButton = new Button(buttonComposite, SWT.FLAT);
    downButton.setText(Messages.down);
    downButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    downButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Component selectedWidget = (Component) ((IStructuredSelection) inputsViewer.getSelection())
                    .getFirstElement();
            int index = page.getWidget().indexOf(selectedWidget);
            if (index < page.getWidget().size() - 1) {
                page.getWidget().move(index + 1, selectedWidget);
            }
            inputsViewer.refresh();
        }
    });

    removeButton = new Button(buttonComposite, SWT.FLAT);
    removeButton.setText(Messages.remove);
    removeButton.setLayoutData(GridDataFactory.fillDefaults().grab(true, false)
            .hint(DEFAULT_BUTTON_WIDTH_HINT, SWT.DEFAULT).create());
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            page.getWidget().removeAll(((IStructuredSelection) inputsViewer.getSelection()).toList());
            inputsViewer.refresh();
        }
    });
}

From source file:org.bonitasoft.studio.parameters.wizard.page.ParametersConfigurationWizardPage.java

License:Open Source License

protected void createParameterComposite(final Composite parent) {
    final Composite parameterComposite = new Composite(parent, SWT.NONE);
    parameterComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    parameterComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).create());

    final Label descriptionLabel = new Label(parameterComposite, SWT.WRAP);
    descriptionLabel.setText(getDescription());
    descriptionLabel.setLayoutData(GridDataFactory.swtDefaults().grab(true, false).create());

    parameterTableViewer = new TableViewer(parameterComposite,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
    parameterTableViewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    parameterTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    final TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(50));
    parameterTableViewer.getTable().setLayout(tableLayout);
    parameterTableViewer.getColumnViewerEditor()
            .addEditorActivationListener(new ColumnViewerEditorActivationListener() {

                @Override//from   w  w  w. j a  va2s .  c  o m
                public void beforeEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                }

                @Override
                public void beforeEditorActivated(final ColumnViewerEditorActivationEvent event) {
                }

                @Override
                public void afterEditorDeactivated(final ColumnViewerEditorDeactivationEvent event) {
                    if (getContainer() != null) {
                        getContainer().updateMessage();
                    }
                }

                @Override
                public void afterEditorActivated(final ColumnViewerEditorActivationEvent event) {
                }
            });

    final TableViewerColumn columnNameViewer = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    columnNameViewer.setLabelProvider(new ParameterNameLabelProvider());
    final TableColumn column = columnNameViewer.getColumn();
    column.setText(Messages.name);

    final TableViewerColumn columnTypeViewer = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    columnTypeViewer.setLabelProvider(new ParameterTypeLabelProvider());
    final TableColumn column3 = columnTypeViewer.getColumn();
    column3.setText(Messages.type);

    final TableViewerColumn columnValueViewer = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    columnValueViewer.setLabelProvider(new ParameterValueLabelProvider());
    valueEditingSupport = new ParameterValueEditingSupport(columnValueViewer.getViewer(), this);

    columnValueViewer.setEditingSupport(valueEditingSupport);
    final TableColumn column2 = columnValueViewer.getColumn();
    column2.setText(Messages.value);

    parameterTableViewer.getTable().setHeaderVisible(true);
    parameterTableViewer.getTable().setLinesVisible(true);

    final TableColumnSorter sorter = new TableColumnSorter(parameterTableViewer);
    sorter.setColumn(column);

}