Example usage for org.eclipse.jface.fieldassist ContentProposalAdapter FILTER_CUMULATIVE

List of usage examples for org.eclipse.jface.fieldassist ContentProposalAdapter FILTER_CUMULATIVE

Introduction

In this page you can find the example usage for org.eclipse.jface.fieldassist ContentProposalAdapter FILTER_CUMULATIVE.

Prototype

int FILTER_CUMULATIVE

To view the source code for org.eclipse.jface.fieldassist ContentProposalAdapter FILTER_CUMULATIVE.

Click Source Link

Document

Indicates that a cumulative filter applies as keys are typed in the popup.

Usage

From source file:com.android.control.MtesterAutoCompleteField.java

License:Apache License

public MtesterAutoCompleteField(final Control control, final IControlContentAdapter controlContentAdapter,
        final String[] literals, final String[] labels, final Shell shell) {
    this.shell = shell;
    contentProposalProvider = new ContentProposalProvider(literals, labels);
    contentProposalProvider.setFiltering(false);
    contentProposalAdapter = new ContentProposalAdapter(control, new StyledTextContentAdapter(),
            contentProposalProvider, null, null);
    contentProposalAdapter.setPropagateKeys(false);
    contentProposalAdapter.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentProposalAdapter.setAutoActivationCharacters(new char[] { '.' });
    contentProposalAdapter.setPopupSize(getPoint((StyledText) control));
    contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_INSERT);
    contentProposalAdapter.setLabelProvider(new LabelProvider() {
        @Override//from   w ww.  ja  v  a  2  s . c om
        public String getText(Object element) {
            IContentProposal proposal = (IContentProposal) element;
            return proposal.getLabel();
        }

        @Override
        public Image getImage(Object element) {
            Image iconCapture = new Image(shell.getDisplay(),
                    ClassLoader.getSystemResourceAsStream("icons/function.png"));
            return iconCapture;
        }
    });
}

From source file:org.eclipse.birt.chart.ui.swt.fieldassist.FieldAssistHelper.java

License:Open Source License

private int getContentAssistFilterStyle() {
    IPreferenceStore store = getPreferenceStore();
    String acceptanceStyle = store.getString(PreferenceConstants.PREF_CONTENTASSISTFILTER);
    if (acceptanceStyle.equals(PreferenceConstants.PREF_CONTENTASSISTFILTER_CHAR))
        return ContentProposalAdapter.FILTER_CHARACTER;
    if (acceptanceStyle.equals(PreferenceConstants.PREF_CONTENTASSISTFILTER_CUMULATIVE))
        return ContentProposalAdapter.FILTER_CUMULATIVE;
    return ContentProposalAdapter.FILTER_NONE;
}

From source file:org.eclipse.bpel.simpl.ui.properties.backup.RetrieveDataVariableSection.java

License:Apache License

private void createInputVariableWidgets() {
    Composite inputVariableComp = new Composite(parentComposite, SWT.NONE);

    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 3;/*from  w  ww .  j  a  va  2  s.c om*/
    inputVariableComp.setLayout(gridLayout);
    inputVariableComp.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
    GridData gridData12 = new GridData();
    gridData12.horizontalSpan = 2;
    gridData12.grabExcessHorizontalSpace = true;
    gridData12.verticalAlignment = GridData.CENTER;
    gridData12.horizontalAlignment = GridData.FILL;
    inputVariableComp.setLayoutData(gridData12);

    GridData gridData6 = new GridData();
    gridData6.horizontalAlignment = GridData.FILL;
    gridData6.verticalAlignment = GridData.CENTER;
    gridData6.grabExcessHorizontalSpace = true;

    inputVariableLabel = fWidgetFactory.createLabel(inputVariableComp, "Data variable:");
    inputVariableText = fWidgetFactory.createText(inputVariableComp, EMPTY_STRING);
    inputVariableButton = fWidgetFactory.createButton(inputVariableComp, EMPTY_STRING,
            SWT.ARROW | SWT.DOWN | SWT.CENTER);

    VariableContentProvider provider = new VariableContentProvider(false);
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider, fInputVariableFilter);

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(inputVariableText, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            Variable variable = null;
            try {
                variable = (Variable) ((Adapter) chosenProposal).getTarget();
            } catch (Throwable t) {
                return;
            }
            SetDataVariableCommand cmd = new SetDataVariableCommand(getInput(), variable);
            getCommandFramework().execute(cmd);
        }
    });

    // End of Content Assist for variable
    inputVariableButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    inputVariableText.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetVariable(inputVariableText.getText());
            }
        }
    });

    inputVariableText.setLayoutData(gridData6);
}

From source file:org.eclipse.bpel.ui.properties.InvokeImplSection.java

License:Open Source License

private Composite createPartnerWidgets(Composite top, Composite parent) {

    FlatFormData data;/*from   w  w w.  j  a  va  2 s .c o m*/

    final Composite composite = createFlatFormComposite(parent);

    data = new FlatFormData();
    if (top == null) {
        data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
    } else {
        data.top = new FlatFormAttachment(top, IDetailsAreaConstants.VSPACE);
    }
    data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
    data.right = new FlatFormAttachment(SPLIT_POINT, -SPLIT_POINT_OFFSET);

    composite.setLayoutData(data);

    partnerLabel = fWidgetFactory.createLabel(composite, Messages.InvokeImplDetails_Partner__10);
    partnerName = fWidgetFactory.createText(composite, EMPTY_STRING, SWT.NONE);
    partnerBrowseButton = fWidgetFactory.createButton(composite, EMPTY_STRING,
            SWT.ARROW | SWT.DOWN | SWT.RIGHT);

    // Content Assist for Partner Link

    RunnableProposal proposal = new RunnableProposal() {

        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_0;
        }

        public void run() {
            createPartnerLink(ModelHelper.getProcess(getInput()), null);
        }
    };

    RunnableProposal proposal2 = new RunnableProposal() {

        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_1;
        }

        public void run() {
            createPartnerLink(ModelHelper.getContainingScope(getInput()), null);
        }
    };

    RunnableProposal proposal3 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_2;
        }

        public void run() {
            CompoundCommand cmd = new CompoundCommand();
            cmd.getCommands().addAll(basicCommandList(getInput(), null, null));
            getCommandFramework().execute(cmd);
        }
    };

    PartnerLinkContentProvider provider = new PartnerLinkContentProvider();
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider, fPartnerRoleFilter);

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(proposal);
    proposalProvider.addProposalToEnd(proposal2);
    proposalProvider.addProposalToEnd(proposal3);
    proposalProvider.addProposalToEnd(getWSDLEdit());

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(partnerName, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(proposal);
    contentAssist.addContentProposalListener(proposal2);
    contentAssist.addContentProposalListener(proposal3);
    contentAssist.addContentProposalListener(getWSDLEdit());
    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            PartnerLink pl = null;
            try {
                pl = (PartnerLink) ((Adapter) chosenProposal).getTarget();
            } catch (Throwable t) {
                return;
            }
            CompoundCommand cmd = new CompoundCommand();
            cmd.getCommands().addAll(basicCommandList(getInput(), pl, null));
            getCommandFramework().execute(cmd);
        }
    });

    // End of Content Assist for variable
    partnerBrowseButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    partnerName.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetOrCreatePartnerLink(partnerName.getText());
            }
        }
    });
    // End of content assist for partner link

    data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(partnerName, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(partnerName, -2, SWT.BOTTOM);
    partnerBrowseButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, BPELUtil.calculateLabelWidth(partnerLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(partnerBrowseButton, 0);
    partnerName.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(partnerName, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(partnerName, 0, SWT.CENTER);
    partnerLabel.setLayoutData(data);

    partnerBrowseButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    return composite;
}

From source file:org.eclipse.bpel.ui.properties.InvokeImplSection.java

License:Open Source License

private Composite createOperationWidgets(Composite top, Composite parent) {
    FlatFormData data;/*from   w ww. j a v a2s.  co m*/

    final Composite composite = createFlatFormComposite(parent);
    data = new FlatFormData();
    if (top == null) {
        data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
    } else {
        data.top = new FlatFormAttachment(top, IDetailsAreaConstants.VSPACE);
    }
    data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
    data.right = new FlatFormAttachment(SPLIT_POINT, -SPLIT_POINT_OFFSET);
    composite.setLayoutData(data);

    operationLabel = fWidgetFactory.createLabel(composite, Messages.InvokeImplDetails_Operation__19);
    operationText = fWidgetFactory.createText(composite, EMPTY_STRING, SWT.NONE);
    operationButton = fWidgetFactory.createButton(composite, EMPTY_STRING, SWT.ARROW | SWT.CENTER | SWT.DOWN);

    // Provide Content Assist for the variables      
    OperationContentProvider provider = new OperationContentProvider();
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider);

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(getWSDLEdit());

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(operationText, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(getWSDLEdit());

    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            Operation oper = null;
            try {
                oper = (Operation) ((Adapter) chosenProposal).getTarget();
            } catch (Throwable t) {
                return;
            }
            List<Command> list = basicCommandList(getInput(), IGNORE_PARTNER_LINK, oper);
            CompoundCommand cmd = new CompoundCommand();
            cmd.getCommands().addAll(list);
            getCommandFramework().execute(cmd);
        }
    });

    // End of Content Assist for variable

    operationButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    operationText.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetOperation(operationText.getText());
            }
        }
    });

    // end of content assist

    data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(operationText, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(operationText, -2, SWT.BOTTOM);
    operationButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0,
            BPELUtil.calculateLabelWidth(operationLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(operationButton, 0);
    operationText.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(operationText, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(operationText, 0, SWT.CENTER);
    operationLabel.setLayoutData(data);

    //      operationViewer.addFilter(AddNullFilter.getInstance());         
    //      operationViewer.setLabelProvider(new ModelLabelProvider());
    //      operationViewer.setContentProvider(new OperationContentProvider());
    //      operationViewer.setSorter(ModelViewerSorter.getInstance());
    //      operationViewer.addSelectionChangedListener(new ISelectionChangedListener() {
    //         public void selectionChanged(SelectionChangedEvent event) {
    //            IStructuredSelection sel = (IStructuredSelection)operationViewer.getSelection();
    //            // TODO: if changing to a one-way operation, clear the response variable (if any)
    //            PartnerLink partnerLink = ModelHelper.getPartnerLink(getInput());
    //
    //            CompoundCommand cmd = new CompoundCommand();
    //            Command child = null;
    //            PortType portType = getEffectivePortType(partnerLink);
    //            Operation op = (Operation)sel.getFirstElement();
    //            
    //            if (op == null)  portType = null;
    //            
    //            child = new SetPortTypeCommand(getInput(), portType);
    //            if (child.canExecute())  cmd.add(child);
    //            
    //            child = new SetOperationCommand(getInput(), op);
    //            if (child.canExecute()) {
    //               if (replyTypeEnabled()) {
    //                  Command setFaultCommand = new SetWSDLFaultCommand(getInput(), null);
    //                  if (setFaultCommand.canExecute())  cmd.add(setFaultCommand);
    //               }
    //               cmd.add(child); cmd.setLabel(child.getLabel());
    //            } 
    //
    //            if (getInput() instanceof OnEvent) {
    //               child = new SetOnEventVariableTypeCommand((OnEvent)getInput());
    //               cmd.add(child);
    //            }
    //            blockOperationUpdates = true;
    //            lastChangeContext = OPERATION_CONTEXT;
    //            try {
    //               getCommandFramework().execute(wrapInShowContextCommand(cmd));
    //            } finally {
    //               blockOperationUpdates = false;
    //            }
    //         }
    //      });

    return composite;
}

From source file:org.eclipse.bpel.ui.properties.InvokeImplSection.java

License:Open Source License

private Composite createFaultComposite(Composite top, Composite parent) {
    FlatFormData data;/*from   w  w w  .ja  va  2 s.  co  m*/

    final Composite composite = faultComposite = createFlatFormComposite(parent);

    data = new FlatFormData();
    if (top == null) {
        data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
    } else {
        data.top = new FlatFormAttachment(top, IDetailsAreaConstants.VSPACE);
    }
    data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
    data.right = new FlatFormAttachment(InvokeImplSection.SPLIT_POINT, -InvokeImplSection.SPLIT_POINT_OFFSET);
    composite.setLayoutData(data);

    faultLabel = fWidgetFactory.createLabel(composite, Messages.InvokeImplDetails_Fault_Name__25);
    faultText = fWidgetFactory.createText(composite, EMPTY_STRING);
    faultButton = fWidgetFactory.createButton(composite, EMPTY_STRING, SWT.ARROW | SWT.DOWN | SWT.CENTER);
    // Provide Content Assist for the operation

    WSDLFaultContentProvider provider = new WSDLFaultContentProvider();
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return ModelHelper.getOperation(getInput());
        }
    }, provider);

    RunnableProposal proposalClearFault = new RunnableProposal() {
        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_25;
        }

        public void run() {
            CompoundCommand cmd = new CompoundCommand();
            cmd.add(new SetWSDLFaultCommand(getInput(), null));
            getCommandFramework().execute(cmd);
        }
    };

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(proposalClearFault);

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(faultText, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(new IContentProposalListener() {
        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            Fault fault = null;
            try {
                fault = (Fault) ((Adapter) chosenProposal).getTarget();
            } catch (Throwable t) {
                return;
            }
            CompoundCommand cmd = new CompoundCommand();
            cmd.add(new SetWSDLFaultCommand(getInput(), fault));
            getCommandFramework().execute(cmd);
        }
    });
    contentAssist.addContentProposalListener(proposalClearFault);
    // End of Content Assist for fault

    faultButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(faultText, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(faultText, -2, SWT.BOTTOM);
    faultButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0,
            BPELUtil.calculateLabelWidth(operationLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(faultButton, 0);
    faultText.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(faultText, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(faultText, 0, SWT.CENTER);
    faultLabel.setLayoutData(data);

    return composite;
}

From source file:org.eclipse.bpel.ui.properties.InvokeVariableSection.java

License:Open Source License

private Composite createInputVariableWidgets(Composite top, Composite parent) {
    FlatFormData data;//from   w  ww. j  a  v  a 2s.  c  o m

    final Composite composite = inputVariableComposite = createFlatFormComposite(parent);
    data = new FlatFormData();
    if (top == null) {
        data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
    } else {
        data.top = new FlatFormAttachment(top, IDetailsAreaConstants.VSPACE);
    }
    data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
    data.right = new FlatFormAttachment(InvokeImplSection.SPLIT_POINT, -InvokeImplSection.SPLIT_POINT_OFFSET);
    composite.setLayoutData(data);

    inputVariableLabel = fWidgetFactory.createLabel(composite, Messages.InvokeImplSection_7);
    inputVariableText = fWidgetFactory.createText(composite, EMPTY_STRING);
    inputVariableButton = fWidgetFactory.createButton(composite, EMPTY_STRING,
            SWT.ARROW | SWT.DOWN | SWT.CENTER);

    // Provide Content Assist for the variables
    // Content assist on partnerName
    RunnableProposal proposal = new RunnableProposal() {

        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_10;
        }

        public void run() {
            createVariable(ModelHelper.getProcess(getInput()), null,
                    isInvoke() ? ModelHelper.OUTGOING : ModelHelper.INCOMING);
        }
    };

    RunnableProposal proposal2 = new RunnableProposal() {

        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_11;
        }

        public void run() {
            createVariable(getInput(), null, isInvoke() ? ModelHelper.OUTGOING : ModelHelper.INCOMING);
        }
    };

    RunnableProposal proposal3 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_12;
        }

        public void run() {
            int direction = isInvoke() ? ModelHelper.OUTGOING : ModelHelper.INCOMING;
            getCommandFramework().execute(new SetVariableCommand(getInput(), null, direction));
        }
    };

    VariableContentProvider provider = new VariableContentProvider(true);
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider, fInputVariableFilter);

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(proposal);
    proposalProvider.addProposalToEnd(proposal2);
    proposalProvider.addProposalToEnd(proposal3);

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(inputVariableText, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(proposal);
    contentAssist.addContentProposalListener(proposal2);
    contentAssist.addContentProposalListener(proposal3);
    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            if (((Adapter) chosenProposal).getTarget() instanceof Variable) {
                Variable variable = null;
                try {
                    variable = (Variable) ((Adapter) chosenProposal).getTarget();
                } catch (Throwable t) {
                    return;
                }
                SetVariableCommand cmd = new SetVariableCommand(getInput(), variable);
                getCommandFramework().execute(cmd);
            } else {
                // TODO: This is a bad hack. A better solution is to
                // extend the model and handle the
                // ReferenceVariables in
                // separated classes.
                ReferenceVariable variable = null;
                Variable var = BPELFactory.eINSTANCE.createVariable();
                try {
                    variable = (ReferenceVariable) ((Adapter) chosenProposal).getTarget();

                    // To save the referenceVariable drop the name
                    // in a new
                    // variable object
                    var.setName(variable.getName());
                } catch (Throwable t) {
                    return;
                }
                SetVariableCommand cmd = new SetVariableCommand(getInput(), var);
                getCommandFramework().execute(cmd);
            }
        }
    });

    // End of Content Assist for variable
    inputVariableButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    inputVariableText.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetOrCreateVariable(inputVariableText.getText(),
                        isInvoke() ? ModelHelper.OUTGOING : ModelHelper.INCOMING);
            }
        }
    });

    data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(inputVariableText, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(inputVariableText, -2, SWT.BOTTOM);
    inputVariableButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0,
            BPELUtil.calculateLabelWidth(operationLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(inputVariableButton, 0);
    inputVariableText.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(inputVariableText, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(inputVariableText, 0, SWT.CENTER);
    inputVariableLabel.setLayoutData(data);

    return composite;

}

From source file:org.eclipse.bpel.ui.properties.InvokeVariableSection.java

License:Open Source License

/**
 * The output variable widgets are only pertaining to Invoke activity, if
 * there is an output message on the partner link
 * /*from www.  j a  v  a 2  s.c om*/
 * @param top
 * @param parent
 * @return the output variable composite
 */

private Composite createOutputVariableWidgets(Composite top, Composite parent) {
    FlatFormData data;

    final Composite composite = this.outputVariableComposite = createFlatFormComposite(parent);

    data = new FlatFormData();
    if (top == null) {
        data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
    } else {
        data.top = new FlatFormAttachment(top, IDetailsAreaConstants.VSPACE);
    }
    data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
    data.right = new FlatFormAttachment(InvokeImplSection.SPLIT_POINT, -InvokeImplSection.SPLIT_POINT_OFFSET);
    composite.setLayoutData(data);

    outputVariableLabel = fWidgetFactory.createLabel(composite, Messages.InvokeImplSection_13);
    outputVariableText = fWidgetFactory.createText(composite, EMPTY_STRING);
    outputVariableButton = fWidgetFactory.createButton(composite, EMPTY_STRING,
            SWT.ARROW | SWT.DOWN | SWT.CENTER);

    // Provide Content Assist for the operation

    // Runnable proposal.
    RunnableProposal proposal = new RunnableProposal() {

        @Override
        public String getLabel() {
            return Messages.InvokeImplSection_16;
        }

        public void run() {
            createVariable(ModelHelper.getProcess(getInput()), null,
                    isInvoke() ? ModelHelper.INCOMING : ModelHelper.OUTGOING);
        }
    };

    RunnableProposal proposal2 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return "Create Local Output Variable"; //$NON-NLS-1$
        }

        public void run() {
            createVariable(getInput(), null, isInvoke() ? ModelHelper.INCOMING : ModelHelper.OUTGOING);
        }
    };

    RunnableProposal proposal3 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return "Clear Output Variable"; //$NON-NLS-1$
        }

        public void run() {
            getCommandFramework().execute(new SetVariableCommand(getInput(), null,
                    isInvoke() ? ModelHelper.INCOMING : ModelHelper.OUTGOING));
        }
    };

    VariableContentProvider provider = new VariableContentProvider(true);
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider, fOutputVariableFilter);

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(proposal);
    proposalProvider.addProposalToEnd(proposal2);
    proposalProvider.addProposalToEnd(proposal3);

    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(outputVariableText, fTextContentAdapter,
            proposalProvider, null, null, true);
    // 
    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(proposal);
    contentAssist.addContentProposalListener(proposal2);
    contentAssist.addContentProposalListener(proposal3);
    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            if (((Adapter) chosenProposal).getTarget() instanceof Variable) {
                Variable variable = null;
                try {
                    variable = (Variable) ((Adapter) chosenProposal).getTarget();
                } catch (Throwable t) {
                    return;
                }
                SetVariableCommand cmd = new SetVariableCommand(getInput(), variable, ModelHelper.INCOMING);
                getCommandFramework().execute(cmd);
            } else {
                // TODO: This is a bad hack. A better solution is to
                // extend the model and handle the
                // ReferenceVariables in
                // separated classes.
                ReferenceVariable variable = null;
                Variable var = BPELFactory.eINSTANCE.createVariable();
                try {
                    variable = (ReferenceVariable) ((Adapter) chosenProposal).getTarget();

                    // To save the referenceVariable drop the name
                    // in a new
                    // variable object
                    var.setName(variable.getName());
                } catch (Throwable t) {
                    return;
                }
                SetVariableCommand cmd = new SetVariableCommand(getInput(), var, ModelHelper.INCOMING);
                getCommandFramework().execute(cmd);
            }
        }
    });

    // End of Content Assist for operation

    outputVariableButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });
    outputVariableText.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetOrCreateVariable(outputVariableText.getText(), ModelHelper.INCOMING);
            }
        }
    });

    data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(outputVariableText, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(outputVariableText, -2, SWT.BOTTOM);
    outputVariableButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0,
            BPELUtil.calculateLabelWidth(operationLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(outputVariableButton, 0);
    outputVariableText.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(outputVariableText, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(outputVariableText, 0, SWT.CENTER);
    outputVariableLabel.setLayoutData(data);

    return composite;
}

From source file:org.eclipse.bpel.ui.properties.InvokeVariableSection.java

License:Open Source License

private void createPartMappingRows(ILabelProvider labelProvider, final EObject model, List<Part> messageParts,
        Group refGroup, EObject fromPartsOrToParts, final boolean isFromParts) {

    FlatFormData data;/*  w w  w.  ja  v  a 2  s  .  com*/
    CLabel ref = null;

    for (final Part part : messageParts) {

        boolean isFirst = ref == null;

        // create text
        final Text text = fWidgetFactory.createText(refGroup, EMPTY_STRING);
        Variable var = null;
        // get the variable from a fromPart
        if (isFromParts) {
            FromParts fromParts = (FromParts) fromPartsOrToParts;
            if (fromParts != null && !fromParts.getChildren().isEmpty()) {
                for (FromPart fromPart : fromParts.getChildren()) {
                    if (fromPart.getPart() != null && fromPart.getPart().equals(part)) {
                        var = fromPart.getToVariable();
                        break;
                    }
                }
            }
        }
        // get the variable from a toPart
        else {
            ToParts toParts = (ToParts) fromPartsOrToParts;
            if (toParts != null && !toParts.getChildren().isEmpty()) {
                for (ToPart toPart : toParts.getChildren()) {
                    if (toPart.getPart() != null && toPart.getPart().equals(part)) {
                        var = toPart.getFromVariable();
                        break;
                    }
                }
            }
        }
        if (var != null) {
            text.setText(var.getName());
        } else {
            text.setText(EMPTY_STRING);
        }

        Button button = null;
        if (model instanceof OnEvent == false) {
            text.setEditable(false);

            // create button
            button = fWidgetFactory.createButton(refGroup, EMPTY_STRING, SWT.ARROW | SWT.DOWN | SWT.CENTER);

            // align button
            data = new FlatFormData();
            data.right = new FlatFormAttachment(100, -IDetailsAreaConstants.HSPACE);
            data.top = new FlatFormAttachment(text, +2, SWT.TOP);
            data.bottom = new FlatFormAttachment(text, -2, SWT.BOTTOM);
            button.setLayoutData(data);
        }

        // align text
        data = new FlatFormData();
        if (isFirst) {
            data.top = new FlatFormAttachment(0, IDetailsAreaConstants.VSPACE);
        } else {
            data.top = new FlatFormAttachment(ref, IDetailsAreaConstants.VSPACE);
        }
        data.left = new FlatFormAttachment(0, BPELUtil.calculateLabelWidth(ref, STANDARD_LABEL_WIDTH_LRG));
        if (button == null) {
            data.right = new FlatFormAttachment(100, -IDetailsAreaConstants.HSPACE);
        } else {
            data.right = new FlatFormAttachment(button, -IDetailsAreaConstants.HSPACE);
        }
        text.setLayoutData(data);

        // create label
        ref = new CLabel(refGroup, SWT.LEFT);
        ref.setText(labelProvider.getText(part));
        ref.setImage(labelProvider.getImage(part));
        ref.setBackground(refGroup.getBackground());

        // align label
        data = new FlatFormData();
        data.left = new FlatFormAttachment(0, IDetailsAreaConstants.HSPACE);
        data.right = new FlatFormAttachment(text, -IDetailsAreaConstants.HSPACE);
        data.top = new FlatFormAttachment(text, 0, SWT.CENTER);
        ref.setLayoutData(data);

        /*
         * CONTENT ASSIST
         */
        RunnableProposal proposal1 = new RunnableProposal() {

            @Override
            public String getLabel() {
                return "Create global Variable";
            }

            public void run() {
                createVariableForPartMapping(ModelHelper.getProcess(model), model, part, isFromParts);
            }

        };

        RunnableProposal proposal2 = new RunnableProposal() {

            @Override
            public String getLabel() {
                return "Create local Variable";
            }

            public void run() {
                createVariableForPartMapping(model, model, part, isFromParts);
            }

        };

        RunnableProposal proposal3 = new RunnableProposal() {

            @Override
            public String getLabel() {
                return "Clear Variable";
            }

            public void run() {
                Command cmd = null;
                if (isFromParts) {
                    cmd = new AddFromPartCommand(model, null, part);
                } else {
                    cmd = new AddToPartCommand(model, null, part);
                }
                getCommandFramework().execute(cmd);
            }

        };

        VariableFilter filter = new VariableFilter();
        if (part.getElementDeclaration() != null) {
            filter.setType(part.getElementDeclaration());
        } else if (part.getTypeDefinition() != null) {
            filter.setType(part.getTypeDefinition());
        }
        VariableContentProvider provider = new VariableContentProvider(false);
        ModelContentProposalProvider proposalProvider = new ModelContentProposalProvider(
                new ModelContentProposalProvider.ValueProvider() {

                    @Override
                    public Object value() {
                        return getInput();
                    }

                }, provider, filter);

        proposalProvider.addProposalToEnd(new Separator());
        proposalProvider.addProposalToEnd(proposal1);
        proposalProvider.addProposalToEnd(proposal2);
        proposalProvider.addProposalToEnd(proposal3);

        final FieldAssistAdapter contentAssist = new FieldAssistAdapter(text, fTextContentAdapter,
                proposalProvider, null, null, true);
        contentAssist.setLabelProvider(labelProvider);
        contentAssist.setPopupSize(new Point(300, 100));
        contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
        contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
        contentAssist.addContentProposalListener(proposal1);
        contentAssist.addContentProposalListener(proposal2);
        contentAssist.addContentProposalListener(proposal3);
        contentAssist.addContentProposalListener(new IContentProposalListener() {

            public void proposalAccepted(IContentProposal proposal) {
                if (proposal.getContent() == null) {
                    return;
                }
                Variable variable = null;
                try {
                    variable = (Variable) ((Adapter) proposal).getTarget();
                } catch (Throwable t) {
                    return;
                }

                Command cmd = null;
                if (isFromParts) {
                    cmd = new AddFromPartCommand(model, variable, part);
                } else {
                    cmd = new AddToPartCommand(model, variable, part);
                }
                getCommandFramework().execute(cmd);
            }

        });

        // End of Content Assist for variable
        if (button != null) {
            button.addListener(SWT.Selection, new Listener() {
                public void handleEvent(Event event) {
                    contentAssist.openProposals();
                }
            });
        } else if (model instanceof OnEvent) {
            IOngoingChange change = new IOngoingChange() {

                public Command createApplyCommand() {
                    OnEvent onEvent = (OnEvent) model;
                    String s = text.getText();
                    if (EMPTY_STRING.equals(s)) {
                        s = null;
                    }
                    CompoundCommand ccmd = new CompoundCommand();
                    FromParts fromParts = onEvent.getFromParts();
                    FromPart fromPart = null;
                    Variable variable = null;
                    if (fromParts != null && fromParts.getChildren() != null) {
                        for (FromPart fp : fromParts.getChildren()) {
                            if (part.equals(fp.getPart())) {
                                fromPart = fp;
                            }
                        }
                    }
                    if (s != null) {
                        if (fromPart != null) {
                            variable = fromPart.getToVariable();
                        }
                        if (variable == null) {
                            variable = BPELFactory.eINSTANCE.createVariable();
                            // set the variable's type to the part's type
                            variable.setType(part.getTypeDefinition());
                            variable.setXSDElement(part.getElementDeclaration());
                        }
                        variable.setName(s);
                        ccmd.add(new AddFromPartCommand(onEvent, variable, part));
                    } else {
                        ccmd.add(new AddFromPartCommand(onEvent, null, part));
                    }
                    return ccmd;
                }

                public String getLabel() {
                    return IBPELUIConstants.CMD_SELECT_VARIABLE;
                }

                public void restoreOldState() {
                    updatePartMappingWidgets();
                }

            };
            ChangeTracker onEventVariableTracker = new ChangeTracker(text, change, getCommandFramework());
            onEventVariableTracker.startTracking();
        }
    }
}

From source file:org.eclipse.bpel.ui.properties.MessageExchangeSection.java

License:Open Source License

protected void createMessExWidgets(Composite composite) {

    // create items
    messExLabel = fWidgetFactory.createLabel(composite, Messages.MessageExchangeImplSection_1);
    messExName = fWidgetFactory.createText(composite, EMPTY_STRING, SWT.NONE);
    messExBrowseButton = fWidgetFactory.createButton(composite, EMPTY_STRING, SWT.ARROW | SWT.DOWN | SWT.RIGHT);

    // Content Assist for Message Exchange
    RunnableProposal proposal = new RunnableProposal() {
        @Override//from w  w  w . ja  v  a2 s.  co  m
        public String getLabel() {
            return Messages.MessageExchangeImplSection_Create_Global;
        }

        public void run() {
            createMessageExchange(ModelHelper.getProcess(getInput()), null);
        }
    };

    RunnableProposal proposal2 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return Messages.MessageExchangeImplSection_Create_Local;
        }

        public void run() {
            createMessageExchange(ModelHelper.getContainingScope(getInput()), null);
        }
    };

    RunnableProposal proposal3 = new RunnableProposal() {
        @Override
        public String getLabel() {
            return Messages.MessageExchangeImplSection_Clear;
        }

        public void run() {
            Command cmd = new SetMessageExchangeCommand(getInput(), null);
            cmd.setLabel(IBPELUIConstants.CMD_ADD_MESSAGEEXCHANGE);
            runCommand(cmd);
        }
    };

    MessageExchangeContentProvider provider = new MessageExchangeContentProvider();
    ModelContentProposalProvider proposalProvider;
    proposalProvider = new ModelContentProposalProvider(new ModelContentProposalProvider.ValueProvider() {
        @Override
        public Object value() {
            return getInput();
        }
    }, provider);

    proposalProvider.addProposalToEnd(new Separator());
    proposalProvider.addProposalToEnd(proposal);
    proposalProvider.addProposalToEnd(proposal2);
    proposalProvider.addProposalToEnd(proposal3);
    final FieldAssistAdapter contentAssist = new FieldAssistAdapter(messExName, fTextContentAdapter,
            proposalProvider, null, null, false); // installDecoration = false --> no icon that shows that we have content assist.

    contentAssist.setLabelProvider(new ModelLabelProvider());
    contentAssist.setPopupSize(new Point(300, 100));
    contentAssist.setFilterStyle(ContentProposalAdapter.FILTER_CUMULATIVE);
    contentAssist.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    contentAssist.addContentProposalListener(proposal);
    contentAssist.addContentProposalListener(proposal2);
    contentAssist.addContentProposalListener(proposal3);
    contentAssist.addContentProposalListener(new IContentProposalListener() {

        public void proposalAccepted(IContentProposal chosenProposal) {
            if (chosenProposal.getContent() == null) {
                return;
            }
            MessageExchange me = null;
            try {
                me = (MessageExchange) ((Adapter) chosenProposal).getTarget();
            } catch (Throwable t) {
                return;
            }
            Command cmd = new SetMessageExchangeCommand(getInput(), me);
            cmd.setLabel(IBPELUIConstants.CMD_ADD_MESSAGEEXCHANGE);
            runCommand(cmd);
        }
    });

    // Open content assist window on button click
    messExBrowseButton.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            contentAssist.openProposals();
        }
    });

    messExName.addListener(SWT.KeyDown, new Listener() {
        public void handleEvent(Event event) {
            if (event.keyCode == SWT.CR) {
                findAndSetOrCreateMessageExchange(messExName.getText());
            }
        }
    });
    // End of content assist for message exchange

    // Layout
    FlatFormData data = new FlatFormData();
    data.right = new FlatFormAttachment(100, 0);
    data.top = new FlatFormAttachment(messExName, +2, SWT.TOP);
    data.bottom = new FlatFormAttachment(messExName, -2, SWT.BOTTOM);
    messExBrowseButton.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, BPELUtil.calculateLabelWidth(messExLabel, STANDARD_LABEL_WIDTH_SM));
    data.right = new FlatFormAttachment(messExBrowseButton, 0);
    messExName.setLayoutData(data);

    data = new FlatFormData();
    data.left = new FlatFormAttachment(0, 0);
    data.right = new FlatFormAttachment(messExName, -IDetailsAreaConstants.HSPACE);
    data.top = new FlatFormAttachment(messExName, 0, SWT.CENTER);
    messExLabel.setLayoutData(data);
}