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

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

Introduction

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

Prototype

public ContentProposalAdapter(Control control, IControlContentAdapter controlContentAdapter,
        IContentProposalProvider proposalProvider, KeyStroke keyStroke, char[] autoActivationCharacters) 

Source Link

Document

Construct a content proposal adapter that can assist the user with choosing content for the field.

Usage

From source file:at.medevit.elexis.gdt.ui.dialog.NeueUntersuchungAnfordernDialog.java

License:Open Source License

/**
 * Create contents of the dialog.// w w w  .  j  a v  a 2s.  co  m
 * 
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    setTitleImage(ResourceManager.getPluginImage("at.medevit.elexis.gdt", "rsc/icons/TitleIcon6302.png"));
    setMessage("GDT Satznachricht 6302");
    setTitle("Neue Untersuchung anfordern");
    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new GridLayout(4, true));
    container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    Label lblZiel = new Label(container, SWT.NONE);
    lblZiel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblZiel.setText("Ziel");

    comboViewerTarget = new ComboViewer(container, SWT.NONE);
    Combo combo = comboViewerTarget.getCombo();
    combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
    comboViewerTarget.setContentProvider(ArrayContentProvider.getInstance());
    comboViewerTarget.setLabelProvider(new ComboViewerCommPartner());
    List<IGDTCommunicationPartner> commPartners = GDTCommPartnerCollector.getRegisteredCommPartners();
    comboViewerTarget.setInput(commPartners);
    comboViewerTarget.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) comboViewerTarget.getSelection();
            IGDTCommunicationPartner cp = (IGDTCommunicationPartner) selection.getFirstElement();
            commPartner = cp;
            txtIDReceiver.setText(cp.getIDReceiver());
            if (cp.getOutgoingDefaultCharset() >= 0)
                gdt6302.setValue(GDTConstants.FELDKENNUNG_VERWENDETER_ZEICHENSATZ,
                        cp.getOutgoingDefaultCharset() + "");

            supported8402values = cp.getSupported8402values();
            supported8402valuesDescription = cp.getSupported8402valuesDescription();
            if (supported8402values != null && supported8402valuesDescription != null) {
                contentProposalProvider8402.setProposals(supported8402values, supported8402valuesDescription,
                        cp.getSupported8402valuesDetailDescription());
            }
        }
    });

    Label lblGdtidEmpfnger = new Label(container, SWT.NONE);
    lblGdtidEmpfnger.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblGdtidEmpfnger.setText("ID Empfnger");

    txtIDReceiver = new Text(container, SWT.BORDER);
    txtIDReceiver.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtIDReceiver.setTextLimit(8);

    Label lblGdtidSender = new Label(container, SWT.NONE);
    lblGdtidSender.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblGdtidSender.setText("ID Sender");

    txtIDSender = new Text(container, SWT.BORDER);
    txtIDSender.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtIDSender.setTextLimit(8);

    Label lblNewLabel = new Label(container, SWT.NONE);
    GridData gd_lblNewLabel = new GridData(SWT.FILL, SWT.CENTER, true, false, 4, 1);
    gd_lblNewLabel.heightHint = 5;
    lblNewLabel.setLayoutData(gd_lblNewLabel);

    Group groupPatient = new Group(container, SWT.NONE);
    groupPatient.setText("Notwendige Patienten-Daten");
    groupPatient.setLayout(new GridLayout(5, false));
    groupPatient.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 4, 1));

    Label lblPatientKennung = new Label(groupPatient, SWT.NONE);
    lblPatientKennung.setText("Nummer/Kennung");

    txtPatientenKennung = new Text(groupPatient, SWT.BORDER);
    txtPatientenKennung.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtPatientenKennung.setTextLimit(10);
    new Label(groupPatient, SWT.NONE);

    Label lblGeburtsdatum = new Label(groupPatient, SWT.NONE);
    lblGeburtsdatum.setText("Geburtsdatum");

    dateTimeBirthday = new DateTime(groupPatient, SWT.BORDER | SWT.DROP_DOWN);
    dateTimeBirthday.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblPatientNachname = new Label(groupPatient, SWT.NONE);
    lblPatientNachname.setText("Nachname");

    txtPatientNachname = new Text(groupPatient, SWT.BORDER);
    txtPatientNachname.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    txtPatientNachname.setTextLimit(28);
    new Label(groupPatient, SWT.NONE);

    Label lblPatientVorname = new Label(groupPatient, SWT.NONE);
    lblPatientVorname.setText("Vorname");

    txtPatientVorname = new Text(groupPatient, SWT.BORDER);
    txtPatientVorname.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    txtPatientVorname.setTextLimit(28);

    Group grpGeraeteSpezifisch = new Group(container, SWT.None);
    grpGeraeteSpezifisch.setLayout(new GridLayout(4, true));
    grpGeraeteSpezifisch.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 4, 1));
    grpGeraeteSpezifisch.setText("Testbezogene Daten");

    Label lblGuvk = new Label(grpGeraeteSpezifisch, SWT.NONE);
    lblGuvk.setToolTipText("Gerte und verfahrensspezifisches Kennfeld (8402)");
    lblGuvk.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    lblGuvk.setText("GuvK");

    txtGuVK = new Text(grpGeraeteSpezifisch, SWT.BORDER);
    txtGuVK.setTextLimit(6);
    txtGuVK.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));

    contentProposalProvider8402 = new Feld8402ContentProposalProvider(new String[] {}, new String[] {},
            new String[] {});
    guvkAdapter = new ContentProposalAdapter(txtGuVK, new TextContentAdapter(), contentProposalProvider8402,
            null, null);
    guvkAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);

    Label lblTestident = new Label(grpGeraeteSpezifisch, SWT.NONE);
    lblTestident.setToolTipText("Test-Identifizierung (8410)");
    lblTestident.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    lblTestident.setText("Test-Ident");

    txtTestIdent = new Text(grpGeraeteSpezifisch, SWT.BORDER);
    txtTestIdent.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    txtTestIdent.setTextLimit(20);

    Group grpOptionaleDaten = new Group(container, SWT.NONE);
    grpOptionaleDaten.setText("Optionale Patienten-Daten");
    grpOptionaleDaten.setLayout(new GridLayout(5, false));
    grpOptionaleDaten.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 4, 1));

    Label lblTitel = new Label(grpOptionaleDaten, SWT.NONE);
    lblTitel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblTitel.setText("Titel");

    txtTitel = new Text(grpOptionaleDaten, SWT.BORDER);
    txtTitel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    new Label(grpOptionaleDaten, SWT.NONE);

    Label lblGeschlecht = new Label(grpOptionaleDaten, SWT.NONE);
    lblGeschlecht.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblGeschlecht.setText("Geschlecht");

    comboViewerGeschlecht = new ComboViewer(grpOptionaleDaten, SWT.NONE);
    Combo comboGeschlecht = comboViewerGeschlecht.getCombo();
    comboViewerGeschlecht.setContentProvider(ArrayContentProvider.getInstance());
    comboViewerGeschlecht.setInput(new String[] { GDTConstants.SEX_MALE + "", GDTConstants.SEX_FEMALE + "" });
    comboViewerGeschlecht.setLabelProvider(new ComboViewerGeschlechtLabelProvider());
    comboGeschlecht.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblVersichertennr = new Label(grpOptionaleDaten, SWT.NONE);
    lblVersichertennr.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblVersichertennr.setText("Versicherten-Nr.");

    txtVersichertenNr = new Text(grpOptionaleDaten, SWT.BORDER);
    txtVersichertenNr.setTextLimit(12);
    txtVersichertenNr.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    new Label(grpOptionaleDaten, SWT.NONE);

    Label lblVersichertenart = new Label(grpOptionaleDaten, SWT.NONE);
    lblVersichertenart.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblVersichertenart.setText("Versichertenart");

    comboViewerVersichertenart = new ComboViewer(grpOptionaleDaten, SWT.NONE);
    Combo comboVersichertenart = comboViewerVersichertenart.getCombo();
    comboVersichertenart.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    comboViewerVersichertenart.setContentProvider(ArrayContentProvider.getInstance());
    comboViewerVersichertenart.setInput(new String[] { GDTConstants.VERSICHERTENART_FAMILIENVERSICHERTER + "",
            GDTConstants.VERSICHERTENART_MITGLIED + "", GDTConstants.VERSICHERTENART_RENTNER + "" });
    comboViewerVersichertenart.setLabelProvider(new ComboViewerVersichertenartLabelProvider());

    Label lblStrasse = new Label(grpOptionaleDaten, SWT.NONE);
    lblStrasse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblStrasse.setText("Strasse");

    txtStrasse = new Text(grpOptionaleDaten, SWT.BORDER);
    txtStrasse.setTextLimit(28);
    txtStrasse.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    new Label(grpOptionaleDaten, SWT.NONE);

    Label lblOrt = new Label(grpOptionaleDaten, SWT.NONE);
    lblOrt.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblOrt.setText("Ort");

    txtOrt = new Text(grpOptionaleDaten, SWT.BORDER);
    txtOrt.setTextLimit(30);
    txtOrt.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblGroesse = new Label(grpOptionaleDaten, SWT.NONE);
    lblGroesse.setToolTipText("Gre in cm");
    lblGroesse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblGroesse.setText("Gre");

    txtGroesse = new Text(grpOptionaleDaten, SWT.BORDER);
    txtGroesse.setTextLimit(10);
    txtGroesse.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    new Label(grpOptionaleDaten, SWT.NONE);

    Label lblGewicht = new Label(grpOptionaleDaten, SWT.NONE);
    lblGewicht.setToolTipText("Gewicht in kg");
    lblGewicht.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblGewicht.setText("Gewicht");

    txtGewicht = new Text(grpOptionaleDaten, SWT.BORDER);
    txtGewicht.setTextLimit(10);
    txtGewicht.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Label lblMuttersprache = new Label(grpOptionaleDaten, SWT.NONE);
    lblMuttersprache.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblMuttersprache.setText("Muttersprache");

    txtMuttersprache = new Text(grpOptionaleDaten, SWT.BORDER);
    txtMuttersprache.setTextLimit(60);
    txtMuttersprache.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    new Label(grpOptionaleDaten, SWT.NONE);
    new Label(grpOptionaleDaten, SWT.NONE);
    new Label(grpOptionaleDaten, SWT.NONE);

    initDataBindings();
    if (commPartners != null && commPartners.size() > 0) {
        comboViewerTarget.setSelection(new StructuredSelection(commPartners.get(0)));
        if (targetIdSelection != null) {
            int idx = 0;
            for (IGDTCommunicationPartner igdtCommunicationPartner : commPartners) {
                if (igdtCommunicationPartner instanceof IGDTCommunicationPartnerProvider) {
                    String id = ((IGDTCommunicationPartnerProvider) igdtCommunicationPartner).getId();
                    if (id.equals(targetIdSelection)) {
                        comboViewerTarget.setSelection(new StructuredSelection(commPartners.get(idx)));
                        break;
                    }
                }
                idx++;
            }
        }
    }

    return area;
}

From source file:at.medevit.elexis.impfplan.ui.dialogs.SupplementVaccinationDialog.java

License:Open Source License

/**
 * Create contents of the dialog./*  ww  w .  j a  v a2s.  co m*/
 * 
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    setTitle("Impfung nachtragen");
    setTitleImage(
            ResourceManager.getPluginImage("at.medevit.elexis.impfplan.ui", "rsc/icons/vaccination_logo.png"));

    Patient selectedPatient = ElexisEventDispatcher.getSelectedPatient();
    setMessage(pat.getLabel());

    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    container.setLayout(new GridLayout(2, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    Group mainGroup = new Group(container, SWT.NONE);
    mainGroup.setFont(SWTResourceManager.getFont("Noto Sans", 9, SWT.BOLD));
    mainGroup.setText("Pflicht Angaben");
    GridLayout gd_MainGroup = new GridLayout(2, false);
    mainGroup.setLayout(gd_MainGroup);
    mainGroup.setLayoutData(new GridData(GridData.FILL_BOTH));

    Label lblVerabreichungsdatum = new Label(mainGroup, SWT.NONE);
    lblVerabreichungsdatum.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblVerabreichungsdatum.setText("Datum");

    dateOfAdministration = new DateTime(mainGroup, SWT.BORDER | SWT.DROP_DOWN);
    dateOfAdministration.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            selDate.set(dateOfAdministration.getYear(), dateOfAdministration.getMonth(),
                    dateOfAdministration.getDay());

            if (selDate.isBefore(patBDay)) {
                SWTHelper.showInfo("Patient noch nicht geboren",
                        "Das von Ihnen gewhlte Datum liegt vor der Geburt des Patienten.");
                dateOfAdministration.setYear(patBDay.get(TimeTool.YEAR));
                dateOfAdministration.setMonth(patBDay.get(TimeTool.MONTH));
                dateOfAdministration.setDay(patBDay.get(TimeTool.DAY_OF_MONTH));
            }
        }
    });

    { // article name
        Label lblArtikelname = new Label(mainGroup, SWT.NONE);
        lblArtikelname.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        lblArtikelname.setText("Artikelname");

        txtArticleName = new Text(mainGroup, SWT.BORDER);
        txtArticleName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
        txtArticleName.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                articleString = txtArticleName.getText();
            }
        });

        PersistentObjectProposalProvider<ArtikelstammItem> aopp = new PersistentObjectProposalProvider<>(
                ArtikelstammItem.class, ArtikelstammItem.FLD_ATC, Query.LIKE, "J07%");
        ContentProposalAdapter articleProposalAdapter = new ContentProposalAdapter(txtArticleName,
                new TextContentAdapter(), aopp, null, null);
        articleProposalAdapter.addContentProposalListener(new IContentProposalListener() {

            @SuppressWarnings("unchecked")
            @Override
            public void proposalAccepted(IContentProposal proposal) {
                PersistentObjectContentProposal<ArtikelstammItem> prop = (PersistentObjectContentProposal<ArtikelstammItem>) proposal;
                txtArticleName.setText(prop.getLabel());
                articleString = prop.getPersistentObject().storeToString();

                /**
                 * could be useful to define vacc. against at some point, but not needed in the
                 * current version
                 */
                // txtArticleEAN.setText(prop.getPersistentObject().getEAN());
                // txtAtcCode.setText(prop.getPersistentObject().getATCCode());
            }
        });
    }
    new Label(container, SWT.NONE);

    Group optionalGroup = new Group(container, SWT.NONE);
    optionalGroup.setFont(SWTResourceManager.getFont("Noto Sans", 9, SWT.BOLD));
    optionalGroup.setText("Optionale Angaben");
    optionalGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
    optionalGroup.setLayout(new GridLayout(2, false));

    { // administrating contact
        Label lblAdministratingContact = new Label(optionalGroup, SWT.NONE);
        lblAdministratingContact.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        lblAdministratingContact.setText("Nachtrag von");

        txtAdministrator = new Text(optionalGroup, SWT.BORDER);
        administratorString = mandant.storeToString();
        txtAdministrator.setText(mandant.getMandantLabel());
        txtAdministrator.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                administratorString = txtAdministrator.getText();
            }
        });
        txtAdministrator.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
        PersistentObjectProposalProvider<Mandant> mopp = new PersistentObjectProposalProvider<Mandant>(
                Mandant.class) {
            @Override
            public String getLabelForObject(Mandant a) {
                return a.getMandantLabel();
            }
        };

        ContentProposalAdapter mandatorProposalAdapter = new ContentProposalAdapter(txtAdministrator,
                new TextContentAdapter(), mopp, null, null);
        mandatorProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
        mandatorProposalAdapter.addContentProposalListener(new IContentProposalListener() {

            @Override
            public void proposalAccepted(IContentProposal proposal) {
                PersistentObjectContentProposal<Mandant> prop = (PersistentObjectContentProposal<Mandant>) proposal;
                administratorString = prop.getPersistentObject().storeToString();
            }
        });

        Label lblLotNo = new Label(optionalGroup, SWT.NONE);
        lblLotNo.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
        lblLotNo.setText("Lot-Nr");

        txtLotNo = new Text(optionalGroup, SWT.BORDER);
        txtLotNo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    }

    /**
     * could be useful to define vacc. against at some point, but not needed in the current
     * version
     */
    // Label lblArtikelEan = new Label(optionalGroup, SWT.NONE);
    // lblArtikelEan.setSize(60, 15);
    // lblArtikelEan.setText("Artikel EAN");
    //
    // txtArticleEAN = new Text(optionalGroup, SWT.BORDER);
    // txtArticleEAN.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    // txtArticleEAN.setSize(348, 21);
    //
    // Label lblAtccode = new Label(optionalGroup, SWT.NONE);
    // lblAtccode.setSize(56, 15);
    // lblAtccode.setText("ATC-Code");
    //
    // txtAtcCode = new Text(optionalGroup, SWT.BORDER);
    // txtAtcCode.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    // txtAtcCode.setSize(314, 21);

    Group expiredGroup = new Group(container, SWT.NONE);
    expiredGroup.setFont(SWTResourceManager.getFont("Noto Sans", 9, SWT.BOLD));
    expiredGroup.setText("Bei nicht mehr erhltlichen Impfstoffen");
    expiredGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
    expiredGroup.setLayout(new GridLayout(2, false));
    {
        Label lblVaccAgainst = new Label(expiredGroup, SWT.NONE);
        lblVaccAgainst.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false, false, 1, 1));
        lblVaccAgainst.setText("Impfung gegen Krankheit(en)");

        vect = new VaccinationEffectCheckboxTreeViewer(container, SWT.BORDER, vaccAgainst);
    }
    return area;
}

From source file:bndtools.editor.components.ComponentDetailsPage.java

License:Open Source License

void fillMainSection(FormToolkit toolkit, Section section) {
    FieldDecoration contentProposalDecoration = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
    ControlDecoration decor;//from   www .j  a  v  a2s .c o  m

    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);

    Hyperlink lnkName = toolkit.createHyperlink(composite, "Name:", SWT.NONE);
    txtName = toolkit.createText(composite, "", SWT.BORDER);
    decor = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, composite);
    decor.setImage(contentProposalDecoration.getImage());
    decor.setDescriptionText("Content assist available"); // TODO: keystrokes
    decor.setShowHover(true);
    decor.setShowOnlyOnFocus(true);

    KeyStroke assistKeyStroke = null;
    try {
        assistKeyStroke = KeyStroke.getInstance("Ctrl+Space");
    } catch (ParseException x) {
        // Ignore
    }
    ComponentNameProposalProvider proposalProvider = new ComponentNameProposalProvider(
            new FormPartJavaSearchContext(this));
    ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(txtName, new TextContentAdapter(),
            proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters());
    proposalAdapter.addContentProposalListener(proposalProvider);
    proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    proposalAdapter.setAutoActivationDelay(1500);
    proposalAdapter.setLabelProvider(ComponentNameProposalProvider.createLabelProvider());

    toolkit.createLabel(composite, ""); // Spacer
    btnEnabled = toolkit.createButton(composite, "Enabled", SWT.CHECK);

    // Listeners
    lnkName.addHyperlinkListener(new HyperlinkAdapter() {
        @Override
        public void linkActivated(HyperlinkEvent e) {
            listPart.doOpenComponent(selected.getName());
        }
    });
    txtName.addListener(SWT.Modify, new Listener() {
        public void handleEvent(Event event) {
            if (refreshers.get() == 0) {
                String oldName = selected.getName();
                String newName = txtName.getText();
                selected.setName(newName);

                listPart.updateLabel(oldName, newName);
                markDirty(PROP_COMPONENT_NAME);
                updateVisibility();
            }
        }
    });
    btnEnabled.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_ENABLED));

    // Layout
    GridData gd;
    composite.setLayout(new GridLayout(2, false));

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalIndent = 5;
    txtName.setLayoutData(gd);

    gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalIndent = 5;
    txtName.setLayoutData(gd);
}

From source file:bndtools.editor.components.ComponentSvcRefWizardPage.java

License:Open Source License

public void createControl(Composite parent) {
    setTitle("Edit Service Reference");

    KeyStroke assistKeyStroke = null;
    try {//www.j av a 2  s  .  c  o  m
        assistKeyStroke = KeyStroke.getInstance("Ctrl+Space");
    } catch (ParseException x) {
        // Ignore
    }
    FieldDecoration assistDecor = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);

    Composite composite = new Composite(parent, SWT.NONE);

    new Label(composite, SWT.NONE).setText("Name:");
    txtName = new Text(composite, SWT.BORDER);

    new Label(composite, SWT.NONE).setText("Interface:");
    txtInterface = new Text(composite, SWT.BORDER);
    ControlDecoration decorInterface = new ControlDecoration(txtInterface, SWT.LEFT | SWT.TOP, composite);
    decorInterface.setImage(assistDecor.getImage());
    decorInterface.setDescriptionText("Content assist available");
    decorInterface.setShowHover(true);
    decorInterface.setShowOnlyOnFocus(true);

    // Add content proposal to svc interface field
    SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext);
    ContentProposalAdapter interfaceProposalAdapter = new ContentProposalAdapter(txtInterface,
            new TextContentAdapter(), proposalProvider, assistKeyStroke,
            UIConstants.autoActivationCharacters());
    interfaceProposalAdapter.addContentProposalListener(proposalProvider);
    interfaceProposalAdapter.setAutoActivationDelay(1500);
    interfaceProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    interfaceProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider());

    new Label(composite, SWT.NONE).setText("Bind:");
    txtBind = new Text(composite, SWT.BORDER);
    ControlDecoration decorBind = new ControlDecoration(txtBind, SWT.LEFT | SWT.TOP, composite);
    decorBind.setImage(assistDecor.getImage());
    decorBind.setDescriptionText("Content assist available");
    decorBind.setShowHover(true);
    decorBind.setShowOnlyOnFocus(true);

    MethodProposalProvider bindProposalProvider = new MethodProposalProvider(searchContext);
    ContentProposalAdapter bindProposalAdapter = new ContentProposalAdapter(txtBind, new TextContentAdapter(),
            bindProposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters());
    bindProposalAdapter.addContentProposalListener(bindProposalProvider);
    bindProposalAdapter.setAutoActivationDelay(1500);
    bindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    bindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider());

    new Label(composite, SWT.NONE).setText("Unbind:");
    txtUnbind = new Text(composite, SWT.BORDER);
    ControlDecoration decorUnbind = new ControlDecoration(txtUnbind, SWT.LEFT | SWT.TOP, composite);
    decorUnbind.setImage(assistDecor.getImage());
    decorUnbind.setDescriptionText("Content assist available");
    decorUnbind.setShowHover(true);
    decorUnbind.setShowOnlyOnFocus(true);
    ContentProposalAdapter unbindProposalAdapter = new ContentProposalAdapter(txtUnbind,
            new TextContentAdapter(), bindProposalProvider, assistKeyStroke,
            UIConstants.autoActivationCharacters());
    unbindProposalAdapter.addContentProposalListener(bindProposalProvider);
    unbindProposalAdapter.setAutoActivationDelay(1500);
    unbindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    unbindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider());

    new Label(composite, SWT.NONE); // Spacer
    Composite pnlButtons = new Composite(composite, SWT.NONE);
    btnOptional = new Button(pnlButtons, SWT.CHECK);
    btnOptional.setText("Optional");
    btnMultiple = new Button(pnlButtons, SWT.CHECK);
    btnMultiple.setText("Multiple");
    btnDynamic = new Button(pnlButtons, SWT.CHECK);
    btnDynamic.setText("Dynamic");

    new Label(composite, SWT.NONE).setText("Target Filter:");
    txtTargetFilter = new Text(composite, SWT.BORDER);

    // Initialise
    initialiseFields();
    validate();

    // Listeners
    ModifyListener nameAndInterfaceModifyListener = new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            String name = emptyToNull(txtName.getText());
            String clazz = emptyToNull(txtInterface.getText());
            if (name == null)
                name = clazz;

            serviceReference.setName(name);
            serviceReference.setServiceClass(clazz);
            validate();
        }
    };
    txtName.addModifyListener(nameAndInterfaceModifyListener);
    txtInterface.addModifyListener(nameAndInterfaceModifyListener);
    txtBind.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            serviceReference.setBind(emptyToNull(txtBind.getText()));
            validate();
        }
    });
    txtUnbind.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            serviceReference.setUnbind(emptyToNull(txtUnbind.getText()));
            validate();
        }
    });
    btnOptional.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            serviceReference.setOptional(btnOptional.getSelection());
            validate();
        }
    });
    btnMultiple.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            serviceReference.setMultiple(btnMultiple.getSelection());
            validate();
        }
    });
    btnDynamic.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            serviceReference.setDynamic(btnDynamic.getSelection());
            validate();
        }
    });
    txtTargetFilter.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            serviceReference.setTargetFilter(emptyToNull(txtTargetFilter.getText()));
        }
    });

    // Layout
    GridLayout layout;

    layout = new GridLayout(4, false);
    composite.setLayout(layout);
    txtName.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
    txtInterface.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));
    txtBind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    txtUnbind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    txtTargetFilter.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1));

    pnlButtons.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 3, 1));
    layout = new GridLayout(1, true);
    //      layout.horizontalSpacing = 0;
    //      layout.verticalSpacing = 0;
    //      layout.marginHeight = 0;
    //      layout.marginWidth = 0;
    pnlButtons.setLayout(layout);

    setControl(composite);
}

From source file:bndtools.editor.components.SvcInterfaceSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Control dialogArea = super.createDialogArea(parent);

    FieldDecoration proposalDecoration = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);

    KeyStroke assistKeyStroke = null;
    try {/* ww w  .  ja  v a2s .  c  o m*/
        assistKeyStroke = KeyStroke.getInstance("Ctrl+Space");
    } catch (ParseException x) {
        // Ignore
    }

    Text textField = getText();
    ControlDecoration decor = new ControlDecoration(textField, SWT.LEFT | SWT.TOP);
    decor.setImage(proposalDecoration.getImage());
    decor.setDescriptionText(MessageFormat.format(
            "Content Assist is available. Press {0} or start typing to activate", assistKeyStroke.format()));
    decor.setShowHover(true);
    decor.setShowOnlyOnFocus(true);

    SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext);
    ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(textField, new TextContentAdapter(),
            proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters());
    proposalAdapter.addContentProposalListener(proposalProvider);
    proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    proposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider());
    proposalAdapter.setAutoActivationDelay(1500);

    return dialogArea;
}

From source file:bndtools.editor.contents.GeneralInfoPart.java

License:Open Source License

private void createSection(Section section, FormToolkit toolkit) {
    section.setText("Basic Information");

    KeyStroke assistKeyStroke = null;
    try {//from  w  ww.ja va  2s.  co  m
        assistKeyStroke = KeyStroke.getInstance("Ctrl+Space");
    } catch (ParseException x) {
        // Ignore
    }
    FieldDecoration contentAssistDecoration = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);

    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);

    toolkit.createLabel(composite, "Version:");
    txtVersion = toolkit.createText(composite, "", SWT.BORDER);
    ToolTips.setupMessageAndToolTipFromSyntax(txtVersion, Constants.BUNDLE_VERSION);

    Hyperlink linkActivator = toolkit.createHyperlink(composite, "Activator:", SWT.NONE);
    txtActivator = toolkit.createText(composite, "", SWT.BORDER);
    ToolTips.setupMessageAndToolTipFromSyntax(txtActivator, Constants.BUNDLE_ACTIVATOR);

    toolkit.createLabel(composite, "Declarative Services:");
    cmbComponents = new Combo(composite, SWT.READ_ONLY);

    // Content Proposal for the Activator field
    ContentProposalAdapter activatorProposalAdapter = null;

    ActivatorClassProposalProvider proposalProvider = new ActivatorClassProposalProvider();
    activatorProposalAdapter = new ContentProposalAdapter(txtActivator, new TextContentAdapter(),
            proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters());
    activatorProposalAdapter.addContentProposalListener(proposalProvider);
    activatorProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    activatorProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider());
    activatorProposalAdapter.setAutoActivationDelay(1000);

    // Decorator for the Activator field
    ControlDecoration decorActivator = new ControlDecoration(txtActivator, SWT.LEFT | SWT.CENTER, composite);
    decorActivator.setImage(contentAssistDecoration.getImage());
    decorActivator.setMarginWidth(3);
    if (assistKeyStroke == null) {
        decorActivator.setDescriptionText("Content Assist is available. Start typing to activate");
    } else {
        decorActivator.setDescriptionText(
                MessageFormat.format("Content Assist is available. Press {0} or start typing to activate",
                        assistKeyStroke.format()));
    }
    decorActivator.setShowOnlyOnFocus(true);
    decorActivator.setShowHover(true);

    // Decorator for the Components combo
    ControlDecoration decorComponents = new ControlDecoration(cmbComponents, SWT.LEFT | SWT.CENTER, composite);
    decorComponents.setImage(FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage());
    decorComponents.setMarginWidth(3);
    decorComponents.setDescriptionText("Use Java annotations to detect Declarative Service Components.");
    decorComponents.setShowOnlyOnFocus(false);
    decorComponents.setShowHover(true);

    // Listeners
    txtVersion.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            lock.ifNotModifying(new Runnable() {
                @Override
                public void run() {
                    addDirtyProperty(Constants.BUNDLE_VERSION);
                }
            });
        }
    });
    cmbComponents.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            lock.ifNotModifying(new Runnable() {
                @Override
                public void run() {
                    ComponentChoice old = componentChoice;

                    int index = cmbComponents.getSelectionIndex();
                    if (index >= 0 && index < ComponentChoice.values().length) {
                        componentChoice = ComponentChoice.values()[cmbComponents.getSelectionIndex()];
                        if (old != componentChoice) {
                            addDirtyProperty(aQute.bnd.osgi.Constants.SERVICE_COMPONENT);
                            addDirtyProperty(aQute.bnd.osgi.Constants.DSANNOTATIONS);
                            if (old == null) {
                                cmbComponents.remove(ComponentChoice.values().length);
                            }
                        }
                    }
                }
            });
        }
    });
    txtActivator.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent ev) {
            lock.ifNotModifying(new Runnable() {
                @Override
                public void run() {
                    addDirtyProperty(Constants.BUNDLE_ACTIVATOR);
                }
            });
        }
    });
    linkActivator.addHyperlinkListener(new HyperlinkAdapter() {
        @Override
        public void linkActivated(HyperlinkEvent ev) {
            String activatorClassName = txtActivator.getText();
            if (activatorClassName != null && activatorClassName.length() > 0) {
                try {
                    IJavaProject javaProject = getJavaProject();
                    if (javaProject == null)
                        return;

                    IType activatorType = javaProject.findType(activatorClassName);
                    if (activatorType != null) {
                        JavaUI.openInEditor(activatorType, true, true);
                    }
                } catch (PartInitException e) {
                    ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null,
                            new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0,
                                    MessageFormat.format("Error opening an editor for activator class '{0}'.",
                                            activatorClassName),
                                    e));
                } catch (JavaModelException e) {
                    ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null,
                            new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format(
                                    "Error searching for activator class '{0}'.", activatorClassName), e));
                }
            }
        }
    });
    activatorProposalAdapter.addContentProposalListener(new IContentProposalListener() {
        @Override
        public void proposalAccepted(IContentProposal proposal) {
            if (proposal instanceof JavaContentProposal) {
                String selectedPackageName = ((JavaContentProposal) proposal).getPackageName();
                if (!model.isIncludedPackage(selectedPackageName)) {
                    model.addPrivatePackage(selectedPackageName);
                }
            }
        }
    });

    // Layout
    GridLayout layout = new GridLayout(2, false);
    layout.horizontalSpacing = 15;

    composite.setLayout(layout);

    GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false);

    txtVersion.setLayoutData(gd);
    txtActivator.setLayoutData(gd);
    cmbComponents.setLayoutData(gd);
}

From source file:bndtools.editor.pkgpatterns.PkgPatternsDetailsPage.java

License:Open Source License

public void createContents(Composite parent) {
    FormToolkit toolkit = getManagedForm().getToolkit();

    FieldDecoration assistDecor = FieldDecorationRegistry.getDefault()
            .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL);
    KeyStroke assistKeyStroke = null;
    try {//  w  w  w .  j ava  2s  . co  m
        assistKeyStroke = KeyStroke.getInstance("Ctrl+Space");
    } catch (ParseException x) {
        // Ignore
    }

    Section mainSection = toolkit.createSection(parent, Section.TITLE_BAR);
    mainSection.setText(title);

    mainComposite = toolkit.createComposite(mainSection);
    mainSection.setClient(mainComposite);

    toolkit.createLabel(mainComposite, "Pattern:");
    txtName = toolkit.createText(mainComposite, "", SWT.BORDER);
    ControlDecoration decPattern = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, mainComposite);
    decPattern.setImage(assistDecor.getImage());
    decPattern.setDescriptionText(MessageFormat.format(
            "Content assist is available. Press {0} or start typing to activate", assistKeyStroke.format()));
    decPattern.setShowHover(true);
    decPattern.setShowOnlyOnFocus(true);

    PkgPatternsProposalProvider proposalProvider = new PkgPatternsProposalProvider(
            new FormPartJavaSearchContext(this));
    ContentProposalAdapter patternProposalAdapter = new ContentProposalAdapter(txtName,
            new TextContentAdapter(), proposalProvider, assistKeyStroke,
            UIConstants.autoActivationCharacters());
    patternProposalAdapter.addContentProposalListener(proposalProvider);
    patternProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
    patternProposalAdapter.setAutoActivationDelay(1000);
    patternProposalAdapter.setLabelProvider(new PkgPatternProposalLabelProvider());
    patternProposalAdapter.addContentProposalListener(new IContentProposalListener() {
        public void proposalAccepted(IContentProposal proposal) {
            PkgPatternProposal patternProposal = (PkgPatternProposal) proposal;
            String toInsert = patternProposal.getContent();
            int currentPos = txtName.getCaretPosition();
            txtName.setSelection(patternProposal.getReplaceFromPos(), currentPos);
            txtName.insert(toInsert);
            txtName.setSelection(patternProposal.getCursorPosition());
        }
    });

    toolkit.createLabel(mainComposite, "Version:");
    txtVersion = toolkit.createText(mainComposite, "", SWT.BORDER);

    /*
     * Section attribsSection = toolkit.createSection(parent, Section.TITLE_BAR | Section.TWISTIE);
     * attribsSection.setText("Extra Attributes"); Composite attribsComposite =
     * toolkit.createComposite(attribsSection);
     */

    // Listeners
    txtName.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (!modifyLock.isUnderModification()) {
                if (selectedClauses.size() == 1) {
                    selectedClauses.get(0).setName(txtName.getText());
                    if (listPart != null) {
                        listPart.updateLabels(selectedClauses);
                        listPart.validate();
                    }
                    markDirty();
                }
            }
        }
    });
    txtVersion.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            if (!modifyLock.isUnderModification()) {
                String text = txtVersion.getText();
                if (text.length() == 0)
                    text = null;

                for (HeaderClause clause : selectedClauses) {
                    clause.getAttribs().put(Constants.VERSION_ATTRIBUTE, text);
                }
                if (listPart != null) {
                    listPart.updateLabels(selectedClauses);
                    listPart.validate();
                }
                markDirty();
            }
        }
    });

    // Layout
    GridData gd;

    parent.setLayout(new GridLayout());
    mainSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    mainComposite.setLayout(new GridLayout(2, false));

    gd = new GridData(SWT.FILL, SWT.TOP, true, false);
    gd.horizontalIndent = 5;
    gd.widthHint = 100;
    txtName.setLayoutData(gd);

    gd = new GridData(SWT.FILL, SWT.TOP, true, false);
    gd.horizontalIndent = 5;
    gd.widthHint = 100;
    txtVersion.setLayoutData(gd);
}

From source file:ca.uvic.chisel.javasketch.persistence.ui.internal.FiltersComposite.java

License:Open Source License

/**
 * @param group/*  www.  j a  va  2s . c o  m*/
 * @return
 */
private TableViewer createTableArea(Group group) {
    group.setLayout(new GridLayout(3, false));
    final Text addText = new Text(group, SWT.SINGLE | SWT.BORDER);
    addText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
    final Button addButton = new Button(group, SWT.PUSH);
    addButton.setText("Add");
    addButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
    Button removeButton = new Button(group, SWT.PUSH);
    removeButton.setText("Remove");
    addButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
    TableViewer tableViewer = new TableViewer(group);
    tableViewer.getTable().setLinesVisible(true);
    GridData tableData = new GridData(GridData.FILL, GridData.FILL, true, true);
    tableData.horizontalSpan = 3;
    tableViewer.getTable().setLayoutData(tableData);
    //      TableLayout tl = new TableLayout();
    //      tableViewer.getTable().setLayout(tl);
    final TableViewerColumn labelColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    labelColumn.setLabelProvider(new SimpleCellLabelProvider());
    tableViewer.setLabelProvider(new SimpleCellLabelProvider());
    tableViewer.setContentProvider(new ArrayContentProvider());
    tableViewer.setInput(new String[0]);
    addText.addModifyListener(
            new AddFilterAssistListener(addButton, new ControlDecoration(addText, SWT.TOP | SWT.LEFT)));
    AddFilterListener addInclusionListener = new AddFilterListener(addText, tableViewer);
    addButton.addSelectionListener(addInclusionListener);
    addButton.addKeyListener(addInclusionListener);
    addText.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            getShell().setDefaultButton(addButton);
        }
    });
    removeButton.addSelectionListener(new RemoveItemListener(tableViewer));
    try {
        new ContentProposalAdapter(addText, new TextContentAdapter(), new SimpleJavaContentProposalProvider(),
                KeyStroke.getInstance("Ctrl+Space"), new char[] { '.' });
    } catch (ParseException e1) {
    }
    tableViewer.getTable().addControlListener(new ControlAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse.swt.events.ControlEvent)
         */
        @Override
        public void controlResized(ControlEvent e) {
            labelColumn.getColumn().setWidth(((Table) e.widget).getClientArea().width);
        }
    });
    return tableViewer;
}

From source file:ch.elexis.core.ui.contacts.controls.StammDatenComposite.java

License:Open Source License

public StammDatenComposite(Composite parent, int style) {
    super(parent, style);
    decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    tdlp = new TableDecoratingLabelProvider(
            new ContactSelectorObservableMapLabelProvider(new ObservableMap[] {}), decorator);

    setLayout(new GridLayout(6, false));

    { // HEADER//w  w w.  j a v  a  2 s . co  m
        compositeHeader = new Composite(this, SWT.NONE);
        compositeHeader.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 6, 1));
        compositeHeader.setLayout(new GridLayout(3, false));

        lblContactType = new Label(compositeHeader, SWT.NONE);

        lblHeadline = new Label(compositeHeader, SWT.NONE);
        lblHeadline.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

        lblCode = new Label(compositeHeader, SWT.NONE);
        GridData gd_lblCode = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
        gd_lblCode.widthHint = 40;
        lblCode.setLayoutData(gd_lblCode);
    }

    { // TYPE_PERSON - Title prefix
        txtTitleFront = new Text(this, SWT.BORDER);
        gd_txtTitleFront = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
        gd_txtTitleFront.widthHint = 60;
        txtTitleFront.setLayoutData(gd_txtTitleFront);
        txtTitleFront.setMessage("Titel");
        ContentProposalAdapter cpaTitleFront = new ContentProposalAdapter(txtTitleFront,
                new TextContentAdapter(),
                new TitleProposalProvider(TitleProposalProvider.TITLE_POSITION_PREFIX), null, null);
        cpaTitleFront.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    }

    txtFirstName = new Text(this, SWT.BORDER);
    txtFirstName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    txtFamilyName = new Text(this, SWT.BORDER);
    txtFamilyName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    { // TYPE_PERSON - Title back
        txtTitleBack = new Text(this, SWT.BORDER);
        gd_txtTitleBack = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
        gd_txtTitleBack.widthHint = 60;
        txtTitleBack.setLayoutData(gd_txtTitleBack);
        txtTitleBack.setMessage("Titel");
        ContentProposalAdapter cpaTitleBack = new ContentProposalAdapter(txtTitleBack, new TextContentAdapter(),
                new TitleProposalProvider(TitleProposalProvider.TITLE_POSITION_SUFFIX), null, null);
        cpaTitleBack.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    }

    { // TYPE_PERSON - Sex
        comboViewerSex = new ComboViewer(this, SWT.NONE);
        gd_comboSex = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
        comboViewerSex.getCombo().setLayoutData(gd_comboSex);
        comboViewerSex.setContentProvider(ArrayContentProvider.getInstance());
        comboViewerSex.setLabelProvider(new LabelProvider() {
            @Override
            public String getText(Object element) {
                switch ((ContactGender) element) {
                case FEMALE:
                    return "W";
                case MALE:
                    return "M";
                case UNDEFINED:
                    return "X";
                default:
                    return "?";
                }
            }
        });
        comboViewerSex.setInput(ContactGender.values());
    }
    { // TYPE_PERSON - Birthday
        dateTimeDob = new DateTime(this, SWT.BORDER | SWT.LONG);
        gd_dateTimeDob = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
        dateTimeDob.setLayoutData(gd_dateTimeDob);
    }

    Group grpAddress = new Group(this, SWT.NONE);
    grpAddress.setLayout(new GridLayout(3, false));
    grpAddress.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 7, 1));
    grpAddress.setText("Adresse");
    {
        // TODO: Default selection according to current Mandant's country
        comboViewerCountry = new ComboViewer(grpAddress, SWT.NONE);
        GridData gd_combo_1 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
        gd_combo_1.widthHint = 55;
        comboViewerCountry.getCombo().setLayoutData(gd_combo_1);
        comboViewerCountry.setContentProvider(ArrayContentProvider.getInstance());
        comboViewerCountry.setInput(Country.values());
        comboViewerCountry.addSelectionChangedListener(new ISelectionChangedListener() {
            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                Country selCountry = (Country) ((StructuredSelection) event.getSelection()).getFirstElement();
                if (selCountry == Country.NDF) {
                    comboViewerCountry.getCombo()
                            .setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
                    ContactGeonames.setCountry(null);
                } else {
                    comboViewerCountry.getCombo()
                            .setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
                    ContactGeonames.setCountry(selCountry);
                }

            }
        });
    }
    {
        txtCity = new Text(grpAddress, SWT.BORDER);
        txtCity.setMessage("Ortschaft");
        txtCity.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

        ContentProposalAdapter cpaCity = new ContentProposalAdapter(txtCity, new TextContentAdapter(), cityIP,
                null, null);
        cpaCity.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
        cpaCity.addContentProposalListener(new IContentProposalListener() {
            @Override
            public void proposalAccepted(IContentProposal proposal) {
                txtZIP.setText(cityIP.findZipForCityName(proposal.getContent()));
            }
        });
    }
    { // ZIP
        txtZIP = new Text(grpAddress, SWT.BORDER);
        txtZIP.setMessage("PLZ");
        txtZIP.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
        txtZIP.addModifyListener(new ModifyListener() {
            @Override
            public void modifyText(ModifyEvent e) {
                String currZip = ((Text) e.widget).getText();
                if (currZip == null || currZip.length() < 4)
                    return;
                streetIP.setZip(currZip);
            }
        });

        ContentProposalAdapter cpaZip = new ContentProposalAdapter(txtZIP, new TextContentAdapter(), zipIP,
                null, null);
        cpaZip.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
        cpaZip.addContentProposalListener(new IContentProposalListener() {
            @Override
            public void proposalAccepted(IContentProposal proposal) {
                txtCity.setText(zipIP.findCityNameForZip(proposal.getContent()));
            }
        });
    }

    Label lblImageCountry = new Label(grpAddress, SWT.NONE);
    GridData gd_lblImageCountry = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_lblImageCountry.widthHint = 55;
    lblImageCountry.setLayoutData(gd_lblImageCountry);

    {
        txtStreet = new Text(grpAddress, SWT.BORDER);
        txtStreet.setMessage("Strasse, Hausnummer");
        txtStreet.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));

        ContentProposalAdapter cpaStreet = new ContentProposalAdapter(txtStreet, new TextContentAdapter(),
                streetIP, null, null);
        cpaStreet.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
    }

    Group grpKontaktdaten = new Group(this, SWT.NONE);
    grpKontaktdaten.setText("Kontaktdaten");
    grpKontaktdaten.setLayout(new GridLayout(4, false));
    grpKontaktdaten.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 7, 1));

    Label lblImgPhone = new Label(grpKontaktdaten, SWT.NONE);
    lblImgPhone.setImage(Images.IMG_TELEPHONE.getImage());
    lblImgPhone.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtTelefon = new Text(grpKontaktdaten, SWT.BORDER);
    txtTelefon.setMessage("Telefon-Nummer");
    txtTelefon.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtTelefon.addFocusListener(preDialFocuListener);

    Label lblImgePhone2 = new Label(grpKontaktdaten, SWT.NONE);
    lblImgePhone2.setImage(Images.IMG_TELEPHONE.getImage());
    lblImgePhone2.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtTelefon2 = new Text(grpKontaktdaten, SWT.BORDER);
    txtTelefon2.setMessage("Telefon-Nummer");
    txtTelefon2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtTelefon2.addFocusListener(preDialFocuListener);

    Label lblImgMobilePhone = new Label(grpKontaktdaten, SWT.NONE);
    lblImgMobilePhone.setImage(Images.IMG_MOBILEPHONE.getImage());
    lblImgMobilePhone.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtMobil = new Text(grpKontaktdaten, SWT.BORDER);
    txtMobil.setMessage("Handy-Nummer");
    txtMobil.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtMobil.addFocusListener(preDialFocuListener);

    Label lblImgFax = new Label(grpKontaktdaten, SWT.NONE);
    lblImgFax.setImage(Images.IMG_FAX.getImage());
    lblImgFax.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    txtFax = new Text(grpKontaktdaten, SWT.BORDER);
    txtFax.setMessage("Fax-Nummer");
    txtFax.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    txtFax.addFocusListener(preDialFocuListener);

    btnEmail = new Button(grpKontaktdaten, SWT.FLAT);
    btnEmail.setImage(Images.IMG_MAIL.getImage());
    btnEmail.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    btnEmail.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                URI uriMailTo = new URI("mailto", txtEmail.getText(), null);
                Desktop.getDesktop().mail(uriMailTo);
            } catch (URISyntaxException | IOException ex) {
                log.warn("Error opening URI", ex);
            }
        }
    });

    txtEmail = new Text(grpKontaktdaten, SWT.BORDER);
    txtEmail.setMessage("E-Mail Adresse");
    txtEmail.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    btnWebsite = new Button(grpKontaktdaten, SWT.FLAT);
    btnWebsite.setImage(Images.IMG_WEB.getImage());
    btnWebsite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    btnWebsite.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                URI uriURL = new URI(txtWebsite.getText());
                if (!uriURL.isAbsolute()) {
                    uriURL = new URI("http://" + txtWebsite.getText());
                }
                Desktop.getDesktop().browse(uriURL);
            } catch (URISyntaxException | IOException ex) {
                log.warn("Error opening URI", ex);
            }
        }
    });

    txtWebsite = new Text(grpKontaktdaten, SWT.BORDER);
    txtWebsite.setMessage("Webseite");
    txtWebsite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    { // Notes
        Group grpNotes = new Group(this, SWT.NONE);
        grpNotes.setLayout(new GridLayout(1, false));
        grpNotes.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 7, 1));
        grpNotes.setText("Notizen");
        txtNotes = new Text(grpNotes, SWT.V_SCROLL | SWT.WRAP);
        GridData gd_txtNotes = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
        gd_txtNotes.heightHint = (int) (5 * txtNotes.getFont().getFontData()[0].height);
        txtNotes.setLayoutData(gd_txtNotes);
    }

    initDataBindings();
}

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 w w  .jav a  2  s  . co m*/
        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;
        }
    });
}