Example usage for org.eclipse.jface.viewers ComboViewer setLabelProvider

List of usage examples for org.eclipse.jface.viewers ComboViewer setLabelProvider

Introduction

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

Prototype

@Override
public void setLabelProvider(IBaseLabelProvider labelProvider) 

Source Link

Document

The list viewer implementation of this Viewer framework method ensures that the given label provider is an instance of ILabelProvider.

Usage

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.ToolBarEditor.java

License:Open Source License

private Composite createForm(Composite parent, EMFDataBindingContext context, WritableValue master,
        boolean isImport) {
    CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabDefault);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    if (getEditor().isShowXMIId() || getEditor().isLiveModel()) {
        ControlFactory.createXMIId(parent, this);
    }//from w  w  w .  j  av a2 s .c  om

    IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);

    if (isImport) {
        ControlFactory.createFindImport(parent, Messages, this, context);
        folder.setSelection(0);
        return folder;
    }

    ControlFactory.createTextField(parent, Messages.ModelTooling_Common_Id, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(),
                    ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__ELEMENT_ID));
    ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(),
            context, textProp, EMFEditProperties.value(getEditingDomain(),
                    UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));

    // ------------------------------------------------------------
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolBarEditor_ToolbarItems);
        l.setLayoutData(new GridData(GridData.END, GridData.BEGINNING, false, false));

        final TableViewer viewer = new TableViewer(parent);
        ObservableListContentProvider cp = new ObservableListContentProvider();
        viewer.setContentProvider(cp);

        GridData gd = new GridData(GridData.FILL_BOTH);
        viewer.getControl().setLayoutData(gd);
        viewer.setLabelProvider(new ComponentLabelProvider(getEditor(), Messages));

        IEMFListProperty prop = EMFEditProperties.list(getEditingDomain(),
                UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN);
        viewer.setInput(prop.observeDetail(master));

        Composite buttonComp = new Composite(parent, SWT.NONE);
        buttonComp.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false));
        GridLayout gl = new GridLayout(2, false);
        gl.marginLeft = 0;
        gl.marginRight = 0;
        gl.marginWidth = 0;
        gl.marginHeight = 0;
        buttonComp.setLayout(gl);

        Button b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Up);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_up));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) - 1;
                        if (idx >= 0) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Down);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_down));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) + 1;
                        if (idx < container.getChildren().size()) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        final ComboViewer childrenDropDown = new ComboViewer(buttonComp);
        childrenDropDown.getControl().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
        childrenDropDown.setContentProvider(new ArrayContentProvider());
        childrenDropDown.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                Struct struct = (Struct) element;
                return struct.label;
            }
        });

        Struct defaultStruct = new Struct(Messages.ToolBarEditor_HandledToolItem,
                MenuPackageImpl.Literals.HANDLED_TOOL_ITEM, false);
        childrenDropDown.setInput(new Struct[] { defaultStruct,
                new Struct(Messages.ToolBarEditor_DirectToolItem, MenuPackageImpl.Literals.DIRECT_TOOL_ITEM,
                        false),
                new Struct(Messages.ToolBarEditor_ToolControl, MenuPackageImpl.Literals.TOOL_CONTROL, false),
                new Struct(Messages.ToolBarEditor_Separator, MenuPackageImpl.Literals.TOOL_BAR_SEPARATOR,
                        true) });
        childrenDropDown.setSelection(new StructuredSelection(defaultStruct));

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_add));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!childrenDropDown.getSelection().isEmpty()) {
                    Struct struct = (Struct) ((IStructuredSelection) childrenDropDown.getSelection())
                            .getFirstElement();
                    EClass eClass = struct.eClass;
                    handleAddChild(eClass, struct.separator);
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Remove);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_delete));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    List<?> keybinding = ((IStructuredSelection) viewer.getSelection()).toList();
                    Command cmd = RemoveCommand.create(getEditingDomain(), getMaster().getValue(),
                            UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN, keybinding);
                    if (cmd.canExecute()) {
                        getEditingDomain().getCommandStack().execute(cmd);
                    }
                }
            }
        });
    }

    ControlFactory.createCheckBox(parent, "To Be Rendered", getMaster(), context, WidgetProperties.selection(), //$NON-NLS-1$
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__TO_BE_RENDERED));
    ControlFactory.createCheckBox(parent, "Visible", getMaster(), context, WidgetProperties.selection(), //$NON-NLS-1$
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__VISIBLE));

    item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabSupplementary);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
    ControlFactory.createMapProperties(parent, Messages, this,
            Messages.ModelTooling_Contribution_PersistedState,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__PERSISTED_STATE, VERTICAL_LIST_WIDGET_INDENT);

    createContributedEditorTabs(folder, context, getMaster(), MToolBar.class);

    folder.setSelection(0);

    return folder;
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.ToolItemEditor.java

License:Open Source License

protected void createFormSubTypeForm(Composite parent, CTabFolder folder, EMFDataBindingContext context,
        final WritableValue master) {
    IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);
    IWidgetValueProperty checkProp = WidgetProperties.selection();
    IWidgetValueProperty enabled = WidgetProperties.enabled();

    // ------------------------------------------------------------
    {/*from w  w w.  j  a  va2s .  c  om*/
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolItemEditor_Type);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        ComboViewer viewer = new ComboViewer(parent);
        viewer.setContentProvider(new ArrayContentProvider());
        viewer.setInput(new ItemType[] { ItemType.CHECK, ItemType.PUSH, ItemType.RADIO });
        GridData gd = new GridData();
        gd.horizontalSpan = 2;
        viewer.getControl().setLayoutData(gd);
        IObservableValue itemTypeObs = EMFEditProperties
                .value(getEditingDomain(), MenuPackageImpl.Literals.ITEM__TYPE).observeDetail(master);
        context.bindValue(ViewerProperties.singleSelection().observe(viewer), itemTypeObs);
    }

    ControlFactory.createTextField(parent, Messages.ToolItemEditor_Label, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_LABEL__LABEL));
    ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(),
            context, textProp, EMFEditProperties.value(getEditingDomain(),
                    UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));
    ControlFactory.createTextField(parent, Messages.ToolItemEditor_ToolTip, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_LABEL__TOOLTIP));

    // ------------------------------------------------------------
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolItemEditor_IconURI);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        Text t = new Text(parent, SWT.BORDER);
        TextPasteHandler.createFor(t);
        t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        context.bindValue(textProp.observe(t), EMFEditProperties
                .value(getEditingDomain(), UiPackageImpl.Literals.UI_LABEL__ICON_URI).observeDetail(master));

        new ImageTooltip(t, Messages) {

            @Override
            protected URI getImageURI() {
                MUILabel part = (MUILabel) getMaster().getValue();
                String uri = part.getIconURI();
                if (uri == null || uri.trim().length() == 0) {
                    return null;
                }
                return URI.createURI(part.getIconURI());
            }
        };

        final Button b = new Button(parent, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_FindEllipsis);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_zoom));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ToolItemIconDialogEditor dialog = new ToolItemIconDialogEditor(b.getShell(), eclipseContext,
                        project, getEditingDomain(), (MToolItem) getMaster().getValue(), Messages);
                dialog.open();
            }
        });
    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolItemEditor_Menu);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        createRemoveMenu = new Button(parent, SWT.CHECK);
        createRemoveMenu.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                MToolItem item = (MToolItem) getMaster().getValue();
                if (item.getMenu() == null) {
                    addMenu();
                } else {
                    removeMenu();
                }
            }
        });
        createRemoveMenu.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 2, 1));
    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolItemEditor_Enabled);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        Button b = new Button(parent, SWT.CHECK);
        b.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 2, 1));
        context.bindValue(checkProp.observe(b), EMFEditProperties
                .value(getEditingDomain(), MenuPackageImpl.Literals.ITEM__ENABLED).observeDetail(getMaster()));
    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ToolItemEditor_Selected);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        Button b = new Button(parent, SWT.CHECK);
        b.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 2, 1));
        context.bindValue(checkProp.observe(b), EMFEditProperties
                .value(getEditingDomain(), MenuPackageImpl.Literals.ITEM__SELECTED).observeDetail(getMaster()));

        UpdateValueStrategy t2m = new UpdateValueStrategy();
        t2m.setConverter(new Converter(boolean.class, ItemType.class) {

            @Override
            public Object convert(Object fromObject) {
                return null;
            }
        });
        UpdateValueStrategy m2t = new UpdateValueStrategy();
        m2t.setConverter(new Converter(ItemType.class, boolean.class) {

            @Override
            public Object convert(Object fromObject) {
                return fromObject == ItemType.CHECK || fromObject == ItemType.RADIO;
            }
        });

        context.bindValue(enabled.observe(b), EMFEditProperties
                .value(getEditingDomain(), MenuPackageImpl.Literals.ITEM__TYPE).observeDetail(getMaster()), t2m,
                m2t);

    }

    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.ModelTooling_UIElement_VisibleWhen);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        ComboViewer combo = new ComboViewer(parent);
        combo.getControl().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        combo.setContentProvider(new ArrayContentProvider());
        combo.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                if (element instanceof EClass) {
                    EClass eClass = (EClass) element;
                    return eClass.getName();
                }

                return super.getText(element);
            }
        });
        List<Object> list = new ArrayList<Object>();
        list.add(Messages.ToolItemEditor_NoExpression);
        list.add(UiPackageImpl.Literals.CORE_EXPRESSION);
        list.addAll(getEditor().getFeatureClasses(UiPackageImpl.Literals.EXPRESSION,
                UiPackageImpl.Literals.UI_ELEMENT__VISIBLE_WHEN));
        combo.setInput(list);
        context.bindValue(ViewerProperties.singleSelection().observe(combo),
                EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__VISIBLE_WHEN)
                        .observeDetail(getMaster()),
                new UpdateValueStrategy().setConverter(new EClass2EObject(Messages)),
                new UpdateValueStrategy().setConverter(new EObject2EClass(Messages)));
    }
    // ------------------------------------------------------------

    createSubTypeFormElements(parent, context, master);

    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_ToBeRendered, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__TO_BE_RENDERED));
    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_Visible, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__VISIBLE));

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabSupplementary);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    ControlFactory.createStringListWidget(parent, Messages, this, Messages.ModelTooling_ApplicationElement_Tags,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
    ControlFactory.createMapProperties(parent, Messages, this,
            Messages.ModelTooling_Contribution_PersistedState,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__PERSISTED_STATE, VERTICAL_LIST_WIDGET_INDENT);
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.TrimBarEditor.java

License:Open Source License

private Composite createForm(Composite parent, EMFDataBindingContext context, WritableValue master,
        boolean isImport) {
    CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabDefault);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    if (getEditor().isShowXMIId() || getEditor().isLiveModel()) {
        ControlFactory.createXMIId(parent, this);
    }/*  w  w  w. j  ava 2  s  .  c o  m*/

    IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);

    if (isImport) {
        ControlFactory.createFindImport(parent, Messages, this, context);
        folder.setSelection(0);
        return folder;
    }

    ControlFactory.createTextField(parent, Messages.ModelTooling_Common_Id, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(),
                    ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__ELEMENT_ID));
    ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(),
            context, textProp, EMFEditProperties.value(getEditingDomain(),
                    UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));

    // ------------------------------------------------------------
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.TrimBarEditor_Side);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        ComboViewer viewer = new ComboViewer(parent);
        viewer.setContentProvider(new ArrayContentProvider());
        viewer.setInput(SideValue.values());
        GridData gd = new GridData();
        gd.horizontalSpan = 2;
        viewer.getControl().setLayoutData(gd);
        IObservableValue sideValueObs = EMFEditProperties
                .value(getEditingDomain(), UiPackageImpl.Literals.GENERIC_TRIM_CONTAINER__SIDE)
                .observeDetail(master);
        context.bindValue(ViewerProperties.singleSelection().observe(viewer), sideValueObs);
    }

    // ------------------------------------------------------------
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.TrimBarEditor_Controls);
        l.setLayoutData(new GridData(GridData.END, GridData.BEGINNING, false, false));

        Composite buttonCompTop = new Composite(parent, SWT.NONE);
        buttonCompTop.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false, 2, 1));
        GridLayout gl = new GridLayout(2, false);
        gl.marginLeft = 0;
        gl.marginRight = 0;
        gl.marginWidth = 0;
        gl.marginHeight = 0;
        buttonCompTop.setLayout(gl);

        final ComboViewer typeViewer = new ComboViewer(buttonCompTop, SWT.READ_ONLY);
        typeViewer.setContentProvider(new ArrayContentProvider());
        typeViewer.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                return ((EClass) element).getName();
            }
        });
        typeViewer.setInput(
                new Object[] { MenuPackageImpl.Literals.TOOL_BAR, MenuPackageImpl.Literals.TOOL_CONTROL });
        typeViewer.setSelection(new StructuredSelection(MenuPackageImpl.Literals.TOOL_BAR));
        typeViewer.getControl().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

        Button b = new Button(buttonCompTop, SWT.PUSH | SWT.FLAT);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_add));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EClass eClass = (EClass) ((IStructuredSelection) typeViewer.getSelection()).getFirstElement();
                handleAddChild(eClass);
            }
        });

        new Label(parent, SWT.NONE);

        final TableViewer viewer = new TableViewer(parent);
        viewer.setLabelProvider(new ComponentLabelProvider(editor, Messages));
        viewer.setContentProvider(new ObservableListContentProvider());
        GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1);
        viewer.getControl().setLayoutData(gd);

        IEMFListProperty prop = EMFProperties.list(UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN);
        viewer.setInput(prop.observeDetail(getMaster()));

        new Label(parent, SWT.NONE);

        Composite buttonCompBot = new Composite(parent, SWT.NONE);
        buttonCompBot.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false, 2, 1));
        buttonCompBot.setLayout(new FillLayout());

        b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Up);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_up));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) - 1;
                        if (idx >= 0) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Down);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_down));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) + 1;
                        if (idx < container.getChildren().size()) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Remove);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_delete));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    List<?> elements = ((IStructuredSelection) viewer.getSelection()).toList();

                    Command cmd = RemoveCommand.create(getEditingDomain(), getMaster().getValue(),
                            UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN, elements);
                    if (cmd.canExecute()) {
                        getEditingDomain().getCommandStack().execute(cmd);
                    }
                }
            }
        });
    }

    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_ToBeRendered, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__TO_BE_RENDERED));
    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_Visible, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__VISIBLE));

    item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabSupplementary);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
    ControlFactory.createMapProperties(parent, Messages, this,
            Messages.ModelTooling_Contribution_PersistedState,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__PERSISTED_STATE, VERTICAL_LIST_WIDGET_INDENT);

    if (project == null) {
        createUITreeInspection(folder);
    }

    createContributedEditorTabs(folder, context, getMaster(), MTrimBar.class);

    folder.setSelection(0);

    return folder;
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.TrimContributionEditor.java

License:Open Source License

private Composite createForm(Composite parent, EMFDataBindingContext context, WritableValue master,
        boolean isImport) {
    CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabDefault);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    if (getEditor().isShowXMIId() || getEditor().isLiveModel()) {
        ControlFactory.createXMIId(parent, this);
    }//from ww  w . j a  va  2s  .c o m

    IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);

    if (isImport) {
        ControlFactory.createFindImport(parent, Messages, this, context);
        folder.setSelection(0);
        return folder;
    }

    ControlFactory.createTextField(parent, Messages.ModelTooling_Common_Id, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(),
                    ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__ELEMENT_ID));
    ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(),
            context, textProp, EMFEditProperties.value(getEditingDomain(),
                    UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.MenuContributionEditor_ParentId);
        l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));

        final Text t = new Text(parent, SWT.BORDER);
        TextPasteHandler.createFor(t);
        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
        t.setLayoutData(gd);
        context.bindValue(textProp.observeDelayed(200, t),
                EMFEditProperties
                        .value(getEditingDomain(), MenuPackageImpl.Literals.MENU_CONTRIBUTION__PARENT_ID)
                        .observeDetail(getMaster()));

        Button b = new Button(parent, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_FindEllipsis);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_zoom));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                TrimIdDialog dialog = new TrimIdDialog(t.getShell(), resource,
                        (MTrimContribution) getMaster().getValue(), getEditingDomain(), modelService, Messages);
                dialog.open();
            }
        });

    }

    ControlFactory.createTextField(parent, Messages.TrimContributionEditor_Position, master, context, textProp,
            EMFEditProperties.value(getEditingDomain(),
                    MenuPackageImpl.Literals.TRIM_CONTRIBUTION__POSITION_IN_PARENT));

    // ------------------------------------------------------------
    {
        Label l = new Label(parent, SWT.NONE);
        l.setText(Messages.TrimContributionEditor_Controls);
        l.setLayoutData(new GridData(GridData.END, GridData.BEGINNING, false, false));

        final TableViewer viewer = new TableViewer(parent);
        viewer.setLabelProvider(new ComponentLabelProvider(getEditor(), Messages));
        viewer.setContentProvider(new ObservableListContentProvider());
        GridData gd = new GridData(GridData.FILL_BOTH);
        viewer.getControl().setLayoutData(gd);

        IEMFListProperty prop = EMFProperties.list(UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN);
        viewer.setInput(prop.observeDetail(getMaster()));

        Composite buttonComp = new Composite(parent, SWT.NONE);
        buttonComp.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false));
        GridLayout gl = new GridLayout(2, false);
        gl.marginLeft = 0;
        gl.marginRight = 0;
        gl.marginWidth = 0;
        gl.marginHeight = 0;
        buttonComp.setLayout(gl);

        Button b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Up);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_up));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) - 1;
                        if (idx >= 0) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Down);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_down));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) + 1;
                        if (idx < container.getChildren().size()) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        final ComboViewer typeViewer = new ComboViewer(buttonComp, SWT.READ_ONLY);
        typeViewer.setContentProvider(new ArrayContentProvider());
        typeViewer.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                return ((EClass) element).getName();
            }
        });
        typeViewer.setInput(
                new Object[] { MenuPackageImpl.Literals.TOOL_BAR, MenuPackageImpl.Literals.TOOL_CONTROL });
        typeViewer.setSelection(new StructuredSelection(MenuPackageImpl.Literals.TOOL_BAR));

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_add));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EObject toolbar = EcoreUtil
                        .create((EClass) ((IStructuredSelection) typeViewer.getSelection()).getFirstElement());
                setElementId(toolbar);

                Command cmd = AddCommand.create(getEditingDomain(), getMaster().getValue(),
                        UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN, toolbar);

                if (cmd.canExecute()) {
                    getEditingDomain().getCommandStack().execute(cmd);
                    getEditor().setSelection(toolbar);
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Remove);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_delete));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    List<?> elements = ((IStructuredSelection) viewer.getSelection()).toList();

                    Command cmd = RemoveCommand.create(getEditingDomain(), getMaster().getValue(),
                            UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN, elements);
                    if (cmd.canExecute()) {
                        getEditingDomain().getCommandStack().execute(cmd);
                    }
                }
            }
        });
    }

    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_ToBeRendered, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__TO_BE_RENDERED));
    ControlFactory.createCheckBox(parent, Messages.ModelTooling_UIElement_Visible, getMaster(), context,
            WidgetProperties.selection(),
            EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__VISIBLE));

    item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabSupplementary);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
    ControlFactory.createMapProperties(parent, Messages, this,
            Messages.ModelTooling_Contribution_PersistedState,
            ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__PERSISTED_STATE, VERTICAL_LIST_WIDGET_INDENT);

    if (project == null) {
        createUITreeInspection(folder);
    }

    createContributedEditorTabs(folder, context, getMaster(), MTrimContribution.class);

    folder.setSelection(0);

    return folder;
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.virtual.VPerspectiveControlEditor.java

License:Open Source License

private Composite createForm(Composite parent, EMFDataBindingContext context, WritableValue master) {
    CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabDefault);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    {/*from  w w  w.  j  av a 2  s.c  om*/
        viewer = new TableViewer(parent);
        ObservableListContentProvider cp = new ObservableListContentProvider();
        viewer.setContentProvider(cp);
        viewer.setLabelProvider(new ComponentLabelProvider(getEditor(), Messages));
        GridData gd = new GridData(GridData.FILL_BOTH);
        viewer.getControl().setLayoutData(gd);

        Composite buttonComp = new Composite(parent, SWT.NONE);
        buttonComp.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false));
        GridLayout gl = new GridLayout(2, false);
        gl.marginLeft = 0;
        gl.marginRight = 0;
        gl.marginWidth = 0;
        gl.marginHeight = 0;
        buttonComp.setLayout(gl);

        Button b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Up);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_up));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) - 1;
                        if (idx >= 0) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }

                    }
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Down);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_down));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                    if (s.size() == 1) {
                        Object obj = s.getFirstElement();
                        MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                        int idx = container.getChildren().indexOf(obj) + 1;
                        if (idx < container.getChildren().size()) {
                            if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                    getEditor().isLiveModel(), idx)) {
                                viewer.setSelection(new StructuredSelection(obj));
                            }
                        }
                    }
                }
            }
        });

        final ComboViewer childrenDropDown = new ComboViewer(buttonComp);
        childrenDropDown.getControl().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
        childrenDropDown.setContentProvider(new ArrayContentProvider());
        childrenDropDown.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                EClass eclass = (EClass) element;
                return eclass.getName();
            }
        });
        childrenDropDown.setInput(new EClass[] { BasicPackageImpl.Literals.PART_SASH_CONTAINER,
                BasicPackageImpl.Literals.PART_STACK, BasicPackageImpl.Literals.PART,
                BasicPackageImpl.Literals.INPUT_PART, AdvancedPackageImpl.Literals.AREA,
                AdvancedPackageImpl.Literals.PLACEHOLDER });
        childrenDropDown.setSelection(new StructuredSelection(BasicPackageImpl.Literals.PART_SASH_CONTAINER));

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_AddEllipsis);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_add));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!childrenDropDown.getSelection().isEmpty()) {
                    EClass eClass = (EClass) ((IStructuredSelection) childrenDropDown.getSelection())
                            .getFirstElement();
                    handleAdd(eClass);
                }
            }
        });

        b = new Button(buttonComp, SWT.PUSH | SWT.FLAT);
        b.setText(Messages.ModelTooling_Common_Remove);
        b.setImage(createImage(ResourceProvider.IMG_Obj16_table_delete));
        b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1));
        b.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (!viewer.getSelection().isEmpty()) {
                    List<?> elements = ((IStructuredSelection) viewer.getSelection()).toList();

                    Command cmd = RemoveCommand.create(getEditingDomain(), getMaster().getValue(),
                            UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN, elements);
                    if (cmd.canExecute()) {
                        getEditingDomain().getCommandStack().execute(cmd);
                    }
                }
            }
        });
    }

    folder.setSelection(0);

    return folder;
}

From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.virtual.VWindowEditor.java

License:Open Source License

private Composite createForm(Composite parent, EMFDataBindingContext context, WritableValue master) {
    CTabFolder folder = new CTabFolder(parent, SWT.BOTTOM);

    CTabItem item = new CTabItem(folder, SWT.NONE);
    item.setText(Messages.ModelTooling_Common_TabDefault);

    parent = createScrollableContainer(folder);
    item.setControl(parent.getParent());

    Composite buttonCompTop = new Composite(parent, SWT.NONE);
    buttonCompTop.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false, 3, 1));
    GridLayout gl = new GridLayout(2, false);
    gl.marginLeft = 0;/*w ww  .ja v a 2 s .  c om*/
    gl.marginRight = 0;
    gl.marginWidth = 0;
    gl.marginHeight = 0;
    buttonCompTop.setLayout(gl);

    final ComboViewer childrenDropDown = new ComboViewer(buttonCompTop);
    childrenDropDown.getControl().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    childrenDropDown.setContentProvider(new ArrayContentProvider());
    childrenDropDown.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            EClass eclass = (EClass) element;
            return eclass.getName();
        }
    });
    childrenDropDown
            .setInput(new EClass[] { BasicPackageImpl.Literals.DIALOG, BasicPackageImpl.Literals.TRIMMED_WINDOW,
                    BasicPackageImpl.Literals.WINDOW, BasicPackageImpl.Literals.WIZARD_DIALOG });
    childrenDropDown.setSelection(new StructuredSelection(BasicPackageImpl.Literals.TRIMMED_WINDOW));

    Button b = new Button(buttonCompTop, SWT.PUSH | SWT.FLAT);
    b.setText(Messages.ModelTooling_Common_AddEllipsis);
    b.setImage(createImage(ResourceProvider.IMG_Obj16_table_add));
    b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false));
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            EClass eClass = (EClass) ((IStructuredSelection) childrenDropDown.getSelection()).getFirstElement();
            handleAdd(eClass);
        }
    });

    viewer = new TableViewer(parent);
    ObservableListContentProvider cp = new ObservableListContentProvider();
    viewer.setContentProvider(cp);
    viewer.setLabelProvider(new ComponentLabelProvider(getEditor(), Messages));
    GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true, 3, 1);
    viewer.getControl().setLayoutData(gd);

    Composite buttonCompBot = new Composite(parent, SWT.NONE);
    buttonCompBot.setLayoutData(new GridData(GridData.FILL, GridData.END, false, false, 3, 1));
    GridLayout gl1 = new GridLayout(3, false);
    gl1.marginLeft = 0;
    gl1.marginRight = 0;
    gl1.marginWidth = 0;
    gl1.marginHeight = 0;
    buttonCompBot.setLayout(gl1);

    b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);

    b.setText(Messages.ModelTooling_Common_Up);
    b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_up));
    b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    b.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (!viewer.getSelection().isEmpty()) {
                IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                if (s.size() == 1) {
                    Object obj = s.getFirstElement();
                    EObject container = (EObject) getMaster().getValue();
                    List<Object> l = (List<Object>) container.eGet(targetFeature);
                    int idx = l.indexOf(obj) - 1;
                    if (idx >= 0) {
                        if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                getEditor().isLiveModel(), idx, targetFeature)) {
                            viewer.setSelection(new StructuredSelection(obj));
                        }
                    }

                }
            }
        }
    });

    b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);
    b.setText(Messages.ModelTooling_Common_Down);
    b.setImage(createImage(ResourceProvider.IMG_Obj16_arrow_down));
    b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    b.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (!viewer.getSelection().isEmpty()) {
                IStructuredSelection s = (IStructuredSelection) viewer.getSelection();
                if (s.size() == 1) {
                    Object obj = s.getFirstElement();
                    EObject container = (EObject) getMaster().getValue();
                    List<Object> l = (List<Object>) container.eGet(targetFeature);
                    int idx = l.indexOf(obj) + 1;
                    if (idx < l.size()) {
                        if (Util.moveElementByIndex(getEditingDomain(), (MUIElement) obj,
                                getEditor().isLiveModel(), idx, targetFeature)) {
                            viewer.setSelection(new StructuredSelection(obj));
                        }
                    }
                }
            }
        }
    });

    b = new Button(buttonCompBot, SWT.PUSH | SWT.FLAT);
    b.setText(Messages.ModelTooling_Common_Remove);
    b.setImage(createImage(ResourceProvider.IMG_Obj16_table_delete));
    b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (!viewer.getSelection().isEmpty()) {
                List<?> windows = ((IStructuredSelection) viewer.getSelection()).toList();
                MElementContainer<?> container = (MElementContainer<?>) getMaster().getValue();
                Command cmd = RemoveCommand.create(getEditingDomain(), container, targetFeature, windows);
                if (cmd.canExecute()) {
                    getEditingDomain().getCommandStack().execute(cmd);
                    if (container.getChildren().size() > 0) {
                        viewer.setSelection(new StructuredSelection(container.getChildren().get(0)));
                    }
                }
            }
        }
    });

    folder.setSelection(0);

    return folder;
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.databinding.ui.OptionsGroup.java

License:Open Source License

private ComboViewer createComboViewr(Combo combo) {
    ComboViewer comboViewer = new ComboViewer(combo);
    comboViewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

        }/*from   ww  w .  ja va  2  s  .  c o  m*/

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Object[]) {
                return (Object[]) inputElement;
            }
            return new Object[0];
        }
    });
    comboViewer.setLabelProvider(new LabelProvider());
    return comboViewer;
}

From source file:org.eclipse.edt.ide.ui.internal.preferences.FoldingConfigurationBlock.java

License:Open Source License

private ComboViewer createProviderViewer() {
    /* list viewer */
    ComboViewer viewer = new ComboViewer(fProviderCombo);
    viewer.setContentProvider(new IStructuredContentProvider() {

        /*//from  w w w .  j  av a2 s. c o m
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
        }

        /*
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
        }

        /*
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return fProviderDescriptors.values().toArray();
        }
    });
    viewer.setLabelProvider(new LabelProvider() {
        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            return null;
        }

        /*
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            return ((FoldingStructureProviderDescriptor) element).getName();
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            if (!sel.isEmpty()) {
                fStore.setValue(EDTUIPreferenceConstants.EDITOR_FOLDING_PROVIDER,
                        ((FoldingStructureProviderDescriptor) sel.getFirstElement()).getId());
                updateListDependencies();
            }
        }
    });
    viewer.setInput(fProviderDescriptors);
    viewer.refresh();

    return viewer;
}

From source file:org.eclipse.emf.cdo.security.internal.ui.editor.AbstractDetailsPage.java

License:Open Source License

protected ComboViewer combo(Composite parent, FormToolkit toolkit, String label, EAttribute attribute) {
    toolkit.createLabel(parent, label);// w w w.  j  a  v a  2 s.com
    ComboViewer result = new ComboViewer(
            createDecorationComposite(parent, toolkit, layoutData(parent, SWT.LEFT, false, 1)),
            SWT.READ_ONLY | SWT.DROP_DOWN);
    result.setLabelProvider(new AdapterFactoryLabelProvider(getAdapterFactory()));
    result.setContentProvider(new ArrayContentProvider());
    result.setInput(attribute.getEAttributeType().getInstanceClass().getEnumConstants());

    getContext().bindValue(ViewersObservables.observeSingleSelection(result),
            EMFEditObservables.observeDetailValue(getRealm(), getEditingDomain(), getValue(), attribute));
    getContext().bindValue(WidgetProperties.enabled().observe(result.getControl()), getValue(), null,
            ObjectWritableConverter.createUpdateValueStrategy(attribute));

    addRevertDecoration(result.getControl(), attribute);
    return result;
}

From source file:org.eclipse.emf.diffmerge.ui.setup.ComparisonSetupWizardPage.java

License:Open Source License

/**
 * Create and return a viewer for selecting the comparison method
 * @param parent_p a non-null composite//from   w ww .  ja va2 s. c  o m
 * @return a non-null viewer
 */
protected ComboViewer createComparisonMethodViewer(Composite parent_p) {
    final ComboViewer result = new ComboViewer(parent_p);
    result.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    // Behavior
    result.setContentProvider(new IStructuredContentProvider() {
        /**
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Nothing to do
        }

        /**
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
            // Nothing to do
        }

        /**
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement_p) {
            Object[] localResult = new Object[0];
            if (inputElement_p instanceof ComparisonSetup) {
                ComparisonSetup selection = (ComparisonSetup) inputElement_p;
                localResult = selection.getApplicableComparisonMethodFactories().toArray();
            }
            return localResult;
        }
    });
    result.setLabelProvider(new LabelProvider() {
        /**
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         */
        @Override
        public String getText(Object element_p) {
            String localResult;
            if (element_p instanceof IComparisonMethodFactory) {
                IComparisonMethodFactory factory = (IComparisonMethodFactory) element_p;
                localResult = factory.getLabel();
            } else {
                localResult = super.getText(element_p);
            }
            return localResult;
        }
    });
    result.setSorter(new ViewerSorter());
    result.addSelectionChangedListener(new ISelectionChangedListener() {
        /**
         * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
         */
        public void selectionChanged(SelectionChangedEvent event_p) {
            ISelection selection = event_p.getSelection();
            if (selection instanceof IStructuredSelection) {
                Object selected = ((IStructuredSelection) selection).getFirstElement();
                if (selected instanceof IComparisonMethodFactory)
                    _setup.setSelectedFactory((IComparisonMethodFactory) selected);
            }
        }
    });
    return result;
}