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

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

Introduction

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

Prototype

IStructuredContentProvider

Source Link

Usage

From source file:at.rc.tacos.client.editors.SickPersonEditor.java

License:Open Source License

/**
 * Creates the section containing the job details
 * /*  ww w  . j a v  a 2 s . com*/
 * @param parent
 *            the parent composite
 */
private void createDetailSection(Composite parent) {
    Composite client = createSection(parent, "Patienten-Details");

    // label and the text field
    final Label labelLastname = toolkit.createLabel(client, "Nachname");
    lastname = toolkit.createText(client, "");
    lastname.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });
    final Label labelFirstname = toolkit.createLabel(client, "Vorname");
    firstname = toolkit.createText(client, "");
    firstname.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    // the sex combo
    final Label labelSex = toolkit.createLabel(client, "Geschlecht");
    Combo sexCombo = new Combo(client, SWT.READ_ONLY);
    sexComboViewer = new ComboViewer(sexCombo);
    sexComboViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public Object[] getElements(Object arg0) {
            return SickPerson.SICKPERSON;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }
    });
    sexComboViewer.setInput(new String[] { StaffMember.STAFF_MALE, StaffMember.STAFF_FEMALE });
    sexCombo.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelSVNR = toolkit.createLabel(client, "Sozialversicherungsnummer");
    svnr = toolkit.createText(client, "");
    svnr.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    // the kind of transport combo
    final Label labelKindOfTransport = toolkit.createLabel(client, "Transportart");
    Combo kindOfTransportCombo = new Combo(client, SWT.READ_ONLY);
    kindOfTransportComboViewer = new ComboViewer(kindOfTransportCombo);
    kindOfTransportComboViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public Object[] getElements(Object arg0) {
            return IKindOfTransport.KINDS;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }
    });
    kindOfTransportComboViewer.setInput(
            new String[] { IKindOfTransport.TRANSPORT_KIND_GEHEND, IKindOfTransport.TRANSPORT_KIND_TRAGSESSEL,
                    IKindOfTransport.TRANSPORT_KIND_KRANKENTRAGE, IKindOfTransport.TRANSPORT_KIND_ROLLSTUHL });
    kindOfTransportCombo.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelStreet = toolkit.createLabel(client, "Strae");
    street = toolkit.createText(client, "");
    street.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });
    final Label labelCity = toolkit.createLabel(client, "Stadt");
    city = toolkit.createText(client, "");
    city.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    // the notes section
    final Label labelNotes = toolkit.createLabel(client, "Notizen zum Patienten");
    notesViewer = new TextViewer(client, SWT.BORDER | SWT.FLAT | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
    notesViewer.setDocument(new Document());
    notesViewer.getControl().setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
    notesViewer.setEditable(true);
    notesViewer.addTextListener(new ITextListener() {

        @Override
        public void textChanged(TextEvent te) {
            inputChanged();
        }
    });

    // set the layout for the composites
    GridData data = new GridData();
    data.widthHint = 150;
    labelLastname.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelFirstname.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelSex.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelSVNR.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelStreet.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelCity.setLayoutData(data);

    data = new GridData();
    data.widthHint = 150;
    labelKindOfTransport.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelNotes.setLayoutData(data);

    // layout for the text fields
    GridData data2 = new GridData(GridData.FILL_HORIZONTAL);
    lastname.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    street.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    firstname.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    svnr.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    city.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    kindOfTransportComboViewer.getCombo().setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    sexComboViewer.getCombo().setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.heightHint = 100;
    notesViewer.getTextWidget().setLayoutData(data2);
}

From source file:at.rc.tacos.client.editors.StaffMemberEditor.java

License:Open Source License

/**
 * Creates the general section/*from w w w  .  j  a va  2s .  c o m*/
 */
private Composite createGeneralSection(Composite parent) {
    Composite client = createSection(parent, "Allgemeine Daten");

    // create the label and the input field
    final Label labelStaffId = toolkit.createLabel(client, "Personalnummer");
    staffId = toolkit.createText(client, "");
    staffId.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelFName = toolkit.createLabel(client, "Vorname");
    fName = toolkit.createText(client, "");
    fName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelLName = toolkit.createLabel(client, "Nachname");
    lName = toolkit.createText(client, "");
    lName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelPhone1 = toolkit.createLabel(client, "Telefon 1");
    phone1 = toolkit.createText(client, "");
    phone1.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelPhone2 = toolkit.createLabel(client, "Telefon 2");
    phone2 = toolkit.createText(client, "");
    phone2.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelDateOfBirth = toolkit.createLabel(client, "Geburtsdatum");
    dateOfBirth = toolkit.createText(client, "");
    dateOfBirth.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelSex = toolkit.createLabel(client, "Geschlecht");
    Combo sexCombo = new Combo(client, SWT.READ_ONLY);
    sexComboViewer = new ComboViewer(sexCombo);
    sexComboViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public Object[] getElements(Object arg0) {
            return StaffMember.STAFF;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }
    });
    sexComboViewer.setInput(new String[] { StaffMember.STAFF_MALE, StaffMember.STAFF_FEMALE });
    sexCombo.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            inputChanged();
        }
    });

    // set the layout for the composites
    GridData data = new GridData();
    data.widthHint = 150;
    labelStaffId.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelFName.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelLName.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelPhone1.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelPhone2.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelDateOfBirth.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelSex.setLayoutData(data);

    // layout for the text fields
    GridData data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    staffId.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    fName.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    lName.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    dateOfBirth.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    sexComboViewer.getCombo().setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    phone1.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    data2.widthHint = 150;
    phone2.setLayoutData(data2);

    return client;
}

From source file:at.rc.tacos.client.editors.StaffMemberEditor.java

License:Open Source License

/**
 * Creates the service section//from w  ww . j a  va 2  s .  co  m
 */
private Composite createServiceSection(Composite parent) {
    Composite client = createSection(parent, "Ausbildung und Dienststelle");

    // create the label and the dropdown field
    final Label locationLabel = toolkit.createLabel(client, "Dienststelle");

    Combo stationCombo = new Combo(client, SWT.READ_ONLY);
    primaryLocationComboViewer = new ComboViewer(stationCombo);
    primaryLocationComboViewer.setContentProvider(new StationContentProvider());
    primaryLocationComboViewer.setLabelProvider(new StationLabelProvider());
    primaryLocationComboViewer.setInput(ModelFactory.getInstance().getLocationManager());
    stationCombo.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    // phone list
    final Label labelCompetence = toolkit.createLabel(client, "Verfgbare Kompetenzen: ");

    // make a subcomposite holding the Hyperlinks and the viewer
    Composite compManage = makeComposite(client, 3);

    Combo comboVerw = new Combo(compManage, SWT.READ_ONLY);
    competenceComboViewer = new ComboViewer(comboVerw);
    competenceComboViewer.setContentProvider(new CompetenceContentProvider());
    competenceComboViewer.setLabelProvider(new CompetenceLabelProvider());
    competenceComboViewer.setInput(ModelFactory.getInstance().getCompetenceManager().toArray());

    addCompetence = toolkit.createHyperlink(compManage, "hinzufgen", SWT.NONE);
    addCompetence.setToolTipText("Die gewhlte Kompetenz dem Mitarbeiter zuweisen.");
    addCompetence.addHyperlinkListener(new HyperlinkAdapter() {

        @Override
        public void linkActivated(HyperlinkEvent e) {
            form.setMessage(null, IMessageProvider.NONE);
            // get the selected item
            int index = competenceComboViewer.getCombo().getSelectionIndex();
            Competence comp = (Competence) competenceComboViewer.getElementAt(index);
            if (compList.contains(comp)) {
                form.getShell().getDisplay().beep();
                form.setMessage("Dem Mitarbeiter wurde diese Kompetenz bereits zugewiesen.",
                        IMessageProvider.ERROR);
            } else {
                compList.add(comp);
                competenceViewer.refresh();
                inputChanged();
            }
        }
    });
    // hyperlink to remove a competence
    removeCompetence = toolkit.createHyperlink(compManage, "entfernen", SWT.NONE);
    removeCompetence.setToolTipText("Die selektierte Kompetenz dem Mitarbeiter wieder entziehen.");
    removeCompetence.addHyperlinkListener(new HyperlinkAdapter() {

        @Override
        public void linkActivated(HyperlinkEvent e) {
            form.setMessage(null, IMessageProvider.NONE);
            // get the selected element
            ISelection selection = competenceViewer.getSelection();
            if (!selection.isEmpty()) {
                // get the selected object
                Object selectedCompetence = ((IStructuredSelection) selection).getFirstElement();
                compList.remove(selectedCompetence);
                competenceViewer.refresh(true);
                inputChanged();
            } else {
                form.getShell().getDisplay().beep();
                form.setMessage("Bitte whlen sie eine Kompetenz aus die entfernt werden soll",
                        IMessageProvider.ERROR);
            }
        }
    });

    final Label labelManage = toolkit.createLabel(client, "Kompetenzen des Mitarbeiters: ");
    // create the table holding the competences
    competenceViewer = new TableViewer(client, SWT.BORDER);
    competenceViewer.setLabelProvider(new CompetenceLabelProvider());
    // set this staff members competences as content provider
    competenceViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public Object[] getElements(Object arg0) {
            return compList.toArray();
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }
    });
    competenceViewer.setInput(compList);

    // layout the composites
    GridData data = new GridData();
    data.widthHint = 150;
    locationLabel.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelCompetence.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelManage.setLayoutData(data);

    // layout for the input fields
    GridData data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING);
    primaryLocationComboViewer.getCombo().setLayoutData(data2);

    // Layout the combo
    data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING);
    competenceComboViewer.getCombo().setLayoutData(data2);

    // layout the table
    competenceViewer.getTable().setLayout(new GridLayout());
    data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING);
    data2.heightHint = 50;
    competenceViewer.getTable().setLayoutData(data2);

    return client;
}

From source file:at.rc.tacos.client.editors.StaffMemberEditor.java

License:Open Source License

/**
 * Creates the login section//  w w  w  .  j  a va2 s.co  m
 */
private Composite createLoginSection(Composite parent) {
    Composite client = createSection(parent, "Daten zum Anmelden am System und Online-Dienstplan");

    // create the label and the input field
    final Label labelUsername = toolkit.createLabel(client, "Username: ");
    uName = toolkit.createText(client, "");
    uName.setToolTipText(
            "Der Benutzername mit dem sich der Mitarbeiter am OnlineDienstplan und am Client anmelden kann");
    uName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelPwd = toolkit.createLabel(client, "Passwort: ");
    pwd = toolkit.createText(client, "");
    pwd.setEchoChar('*');
    pwd.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    final Label labelPwdRetype = toolkit.createLabel(client, "Passwort (wiederholen): ");
    pwdRetype = toolkit.createText(client, "");
    pwdRetype.setEchoChar('*');
    pwdRetype.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent me) {
            inputChanged();
        }
    });

    locked = toolkit.createButton(client, "Benutzer sperren: ", SWT.CHECK);
    locked.setToolTipText(
            "Wenn der Benutzer gesperrt ist, kann er sich nit mehr am Client und am OnlineDienstplan anmelden");
    locked.addSelectionListener(new SelectionAdapter() {

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

    final Label labelAuth = toolkit.createLabel(client, "Authorisierung :");
    Combo authCombo = new Combo(client, SWT.READ_ONLY);
    authorisationComboViewer = new ComboViewer(authCombo);
    authorisationComboViewer.setContentProvider(new IStructuredContentProvider() {

        @Override
        public Object[] getElements(Object arg0) {
            return Login.AUTHORIZATION;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
        }
    });
    authorisationComboViewer.setInput(Login.AUTHORIZATION);
    authCombo.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            inputChanged();
        }
    });

    // set the layout for the composites
    GridData data = new GridData();
    data.widthHint = 150;
    labelUsername.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelPwd.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelPwdRetype.setLayoutData(data);
    data = new GridData();
    data.widthHint = 150;
    labelAuth.setLayoutData(data);

    // layout for the input fields
    GridData data2 = new GridData(GridData.FILL_HORIZONTAL);
    uName.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    pwd.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    pwdRetype.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    authorisationComboViewer.getCombo().setLayoutData(data2);
    data2 = new GridData(GridData.FILL_BOTH);
    data2.horizontalSpan = 2;
    locked.setLayoutData(data2);

    return client;
}

From source file:at.spardat.xma.gui.mapper.WidgetCreationWizPProps.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 *///from w  ww  .  ja v  a 2  s. co  m
public void createControl(Composite cmp) {
    Composite myComposite = new Composite(cmp, SWT.NULL);
    myComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
    myComposite.setLayout(new FormLayout());

    wiz_ = (WidgetCreationWiz) getWizard();
    attrs_ = wiz_.getAttributes();

    Table table_ = new Table(myComposite,
            SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
    table_.setLinesVisible(true);
    table_.setHeaderVisible(true);

    FormData fd = new FormData();
    fd.top = new FormAttachment(0, 0);
    fd.left = new FormAttachment(0, 0);
    fd.right = new FormAttachment(100, 0);
    fd.bottom = new FormAttachment(100, 0);
    table_.setLayoutData(fd);

    tableViewer_ = new TableViewer(table_);

    TableProvider tP = new TableProvider(tableViewer_);
    tP.add(new Column("Instance Name", 100, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            return ((MdlAttribute.WidgetInitData) row).getInstanceName();
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            if (wi.isValidInstanceName((String) cell))
                wi.setInstanceName((String) cell);
        }

        public Image getImage(Object row) {
            return MapperPlugin.getImage("method.gif");
        }
    });

    tP.add(new Column("Type", 70, false, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getAttribute().getTypeName();
        }
    });

    if (!createTableCols_) {
        // widget type may be selected if we do not create table columns
        tP.add(new Column("Widget Type", 100, true, SWT.LEFT) {
            public CellEditor getEditor() {
                return new ComboBoxCellEditor(getTable(), MdlAttribute.widgetNames, SWT.READ_ONLY);
            }

            public Object getValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return new Integer(wi.getWType());
            }

            public void setValue(Object row, Object cell) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                int val = ((Integer) cell).intValue();
                if (wi.isValidWType(val))
                    wi.setWType(val);
            }

            public String getText(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return MdlAttribute.widgetNames[wi.getWType()];
            }

            public Image getImage(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                String imageName = "unknownWidget.gif";
                switch (wi.getWType()) {
                case MdlAttribute.WIDG_CHECK:
                    imageName = "check.gif";
                    break;
                case MdlAttribute.WIDG_COMBO:
                    imageName = "combo.gif";
                    break;
                case MdlAttribute.WIDG_TEXT:
                    imageName = "text.gif";
                    break;
                case MdlAttribute.WIDG_PICKER:
                    imageName = "DatePicker.gif";
                    break;
                }
                return MapperPlugin.getImage(imageName);
            }

        });
    }

    tP.add(new Column(createTableCols_ ? "Column Header" : "Label", 100, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getLabel();
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            wi.setLabel((String) cell);
        }
    });

    tP.add(new Column("Alignment", 70, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new ComboBoxCellEditor(getTable(), MdlAttribute.alignmentNames, SWT.READ_ONLY);
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return new Integer(wi.getAlignment());
        }

        public String getText(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return MdlAttribute.alignmentNames[wi.getAlignment()];
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            int val = ((Integer) cell).intValue();
            wi.setAlignment(val);
        }

        public boolean canModify(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getWType() != MdlAttribute.WIDG_COMBO;
        }
    });

    if (createTableCols_) {
        // width of column only if we are creating table columns
        tP.add(new Column("Width", 60, true, SWT.RIGHT) {
            public CellEditor getEditor() {
                return new TextCellEditor(getTable());
            }

            public Object getValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return String.valueOf(wi.getWidth());
            }

            public void setValue(Object row, Object cell) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                try {
                    wi.setWidth(Integer.parseInt((String) cell));
                } catch (Exception ex) {
                }
            }
        });
    }

    if (!createTableCols_) {
        //            // not supported yet since this would require to add a validator to the model
        //            // Mandatory property with Texts and Combos
        //            tP.add(new BooleanColumn ("Mandatory", 70, true, SWT.CENTER) {
        //                public boolean getBooleanValue (Object row) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    return wi.isMandatory();
        //                }
        //                public boolean canModify (Object row) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    return wi.getWType() == MdlAttribute.WIDG_TEXT || wi.getWType() == MdlAttribute.WIDG_COMBO;
        //                }
        //                public void setBooleanValue (Object row, boolean value) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    wi.setMandatory(value);
        //                }
        //            });

        // Readonly property with Texts
        tP.add(new BooleanColumn("Editable", 70, true, SWT.CENTER) {
            public boolean getBooleanValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return wi.isEditable();
            }

            public boolean canModify(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                //return wi.getWType() == MdlAttribute.WIDG_TEXT;
                return true;
            }

            public void setBooleanValue(Object row, boolean value) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                wi.setEditable(value);
            }
        });

    }

    tP.createSWTColumns();
    tP.setCellEditors();
    tableViewer_.setUseHashlookup(true);
    tableViewer_.setColumnProperties(tP.getColumnNames());
    tableViewer_.setCellModifier(tP);
    tableViewer_.setLabelProvider(tP);
    tableViewer_.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            MdlAttribute.WidgetInitData[] data = new MdlAttribute.WidgetInitData[attrs_.length];
            for (int i = 0; i < data.length; i++) {
                data[i] = attrs_[i].getWidgetInitData(createTableCols_);
            }
            return data;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    tableViewer_.setInput(tP); // does not really matter

    setControl(myComposite);

}

From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java

License:Apache License

@Override
public Control createControl(Composite parent) {
    container = new Composite(parent, SWT.NONE);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    container.setLayout(new GridLayout(1, false));

    Label l = new Label(container, SWT.TITLE);
    l.setText(Messages.LayersPropertyEditor_LayerStateLabel);

    Table table = new Table(container,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK);
    tableColumns = new ArrayList<TableViewerColumn>();
    colToName = new ConcurrentHashMap<Integer, String>();
    colToName.put(0, "id");
    colToName.put(1, "opacity");

    layerTable = new CheckboxTableViewer(table);
    layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    layerTable.setContentProvider(new IStructuredContentProvider() {

        @Override//from w w w.  ja v a2 s  .  c  o m
        public void inputChanged(Viewer arg0, Object oldItem, Object newItem) {
            for (TableViewerColumn col : tableColumns) {
                col.getColumn().dispose();
            }
            tableColumns.clear();
            colToName.clear();
            if (newItem != null) {
                Collection<String> cols = null;
                if (newItem instanceof Map) {
                    cols = getColumnsNeeded((Map) newItem);
                }

                for (String s : cols) {
                    if (!s.equals("id")) {
                        createTableColumn(s, s.equals(LayersPropertyPersister.OPACITY_ATTRIBUTE_NAME));
                    }
                }
                createTableColumn("id", false);
            }
        }

        @Override
        public void dispose() {

        }

        @Override
        public Object[] getElements(Object element) {
            List items = new ArrayList();
            Map<String, Map<String, String>> stateinfo = (Map<String, Map<String, String>>) element;
            for (Entry<String, Map<String, String>> entry : stateinfo.entrySet()) {
                items.add(entry);
            }
            return items.toArray(new Object[0]);
        }
    });

    layerTable.getTable().setHeaderVisible(true);
    layerTable.getTable().setLinesVisible(true);
    labelProv = new CellLabelProvider() {
        @Override
        public void update(ViewerCell cell) {
            @SuppressWarnings("unchecked")
            Entry<String, Map<String, String>> entry = (Entry<String, Map<String, String>>) cell.getElement();
            int index = cell.getColumnIndex();
            String colName = colToName.get(index);
            cell.setText(colName.equals("id") ? entry.getKey() : entry.getValue().get(colName));
        }
    };

    fillFieldsFromProperty(getProperty());

    return container;
}

From source file:ch.elexis.core.ui.dialogs.DocumentSelectDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite ret = new Composite(parent, SWT.NONE);
    ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    ret.setLayout(new GridLayout());
    if ((type & TEMPLATE) != 0) {
        new Label(ret, SWT.NONE).setText(Messages.DocumentSelectDialog_subject); //$NON-NLS-1$
        tBetreff = SWTHelper.createText(ret, 1, SWT.NONE);
        new Label(ret, SWT.SEPARATOR | SWT.HORIZONTAL);
    }// w  w w. j  a  v a 2s. com
    tv = new TableViewer(ret, SWT.V_SCROLL);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            Query<Brief> qbe = new Query<Brief>(Brief.class);
            if (type == TYPE_LOAD_DOCUMENT) {
                qbe.add(Brief.FLD_TYPE, Query.NOT_EQUAL, Brief.TEMPLATE);
            } else {
                String sys = type == TYPE_LOAD_SYSTEMPLATE ? Query.EQUALS : Query.NOT_EQUAL;
                qbe.add(Brief.FLD_TYPE, Query.EQUALS, Brief.TEMPLATE);
                qbe.add(Brief.FLD_KONSULTATION_ID, sys, "SYS"); //$NON-NLS-1$
                qbe.startGroup();
                qbe.add(Brief.FLD_DESTINATION_ID, Query.EQUALS, CoreHub.actMandant.getId());
                qbe.or();
                qbe.add(Brief.FLD_DESTINATION_ID, Query.EQUALS, StringTool.leer);
                qbe.endGroup();
            }
            qbe.and();
            qbe.add("deleted", Query.NOT_EQUAL, StringConstants.ONE); //$NON-NLS-1$

            if (type != TYPE_LOAD_DOCUMENT) {
                qbe.orderBy(false, Brief.FLD_SUBJECT);
            } else {
                qbe.orderBy(false, Brief.FLD_DATE);
            }
            List<Brief> l = qbe.execute();
            return l.toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    tv.setLabelProvider(new MyLabelProvider());
    makeActions();
    menu = new MenuManager();
    menu.setRemoveAllWhenShown(true);
    menu.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            menu.add(editNameAction);
            if (type == TYPE_LOAD_TEMPLATE) {
                // only show in load template dialog
                Brief sel = (Brief) ((IStructuredSelection) tv.getSelection()).getFirstElement();
                if (getDontAskForAddresseeForThisTemplate(sel)) {
                    menu.add(editDontAskForAddressee);
                    editDontAskForAddressee.setChecked(false);
                } else {
                    menu.add(editDontAskForAddressee);
                    editDontAskForAddressee.setChecked(true);
                }
            }
            menu.add((type & TEMPLATE) != 0 ? deleteTemplateAction : deleteTextAction);
        }
    });
    tv.getControl().setMenu(menu.createContextMenu(tv.getControl()));
    tv.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv.setInput(this);
    tv.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    return ret;
}

From source file:ch.elexis.core.ui.dialogs.KontaktSelektor.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    // SashForm ret=new SashForm(parent,SWT.NONE);
    Composite ret = new Composite(parent, SWT.NONE);
    ret.setLayout(new GridLayout());
    ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));

    if (showBezugsKontakt) {
        new Label(ret, SWT.NONE).setText("Bezugskontakte");
        bezugsKontaktViewer = new ListViewer(ret, SWT.SINGLE);
        bezugsKontaktViewer.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));

        bezugsKontaktViewer.setContentProvider(new IStructuredContentProvider() {
            public Object[] getElements(Object inputElement) {
                Patient patient = ElexisEventDispatcher.getSelectedPatient();
                if (patient != null) {
                    ArrayList<PersistentObject> elements = new ArrayList<PersistentObject>();
                    ArrayList<String> addedKontakte = new ArrayList<String>();

                    // add the patient itself
                    elements.add(patient);
                    addedKontakte.add(patient.getId());

                    List<BezugsKontakt> bezugsKontakte = patient.getBezugsKontakte();
                    if (bezugsKontakte != null) {
                        for (BezugsKontakt bezugsKontakt : bezugsKontakte) {
                            elements.add(bezugsKontakt);
                            addedKontakte.add(bezugsKontakt.get("otherID"));
                        }/*from   w w w .  j a va  2 s  .  c  o m*/
                    }

                    // required contacts of biling system
                    Fall[] faelle = patient.getFaelle();
                    for (Fall fall : faelle) {
                        String reqs = fall.getRequirements();
                        if (reqs != null) {
                            for (String req : reqs.split(";")) {
                                final String[] r = req.split(":");

                                // no valid entry
                                if (r.length < 2) {
                                    continue;
                                }

                                // only consider contacts
                                if (r[1].equals("K")) {
                                    String kontaktID = fall.getInfoString(r[0]);
                                    if (!kontaktID.startsWith("**ERROR")) {
                                        Kontakt kontakt = Kontakt.load(kontaktID);
                                        if (kontakt.isValid()) {
                                            elements.add(kontakt);
                                            addedKontakte.add(kontakt.getId());
                                        }
                                    }
                                }
                            }
                        }
                    }

                    return elements.toArray();
                }

                return new Object[] {};
            }

            public void dispose() {
                // nothing to do
            }

            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
                // nothing to do
            }
        });
        bezugsKontaktViewer.setLabelProvider(new KontaktSelektorLabelProvider());
        bezugsKontaktViewer.setInput(this);
        bezugsKontaktViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (isSelecting) {
                    return;
                }

                IStructuredSelection sel = (IStructuredSelection) cv.getViewerWidget().getSelection();
                if (sel.size() > 0) {
                    isSelecting = true;
                    cv.getViewerWidget().setSelection(new StructuredSelection(), false);
                    isSelecting = false;
                }
            }
        });
    } else {
        bezugsKontaktViewer = null;
    }

    if (showBezugsKontakt) {
        new Label(ret, SWT.NONE).setText("Andere Kontakte");
    }
    if (extraText != null) {
        new Label(ret, SWT.WRAP).setText(extraText);
    }
    vc = new ViewerConfigurer(
            // new LazyContentProvider(cv,dataloader, null),
            kl, new KontaktSelektorLabelProvider(),
            new DefaultControlFieldProvider(cv, new String[] { Messages.KontaktSelector_abbreviation,
                    Messages.KontaktSelector_expression1, Messages.KontaktSelector_birthDate }),
            new ViewerConfigurer.ButtonProvider() {

                public Button createButton(final Composite parent) {
                    Button ret = new Button(parent, SWT.PUSH);
                    ret.setText("Neu erstellen...");
                    ret.addSelectionListener(new SelectionAdapter() {

                        @Override
                        public void widgetSelected(SelectionEvent e) {
                            if (hints == null) {
                                hints = new String[3];
                                hints[0] = vc.getControlFieldProvider().getValues()[1];
                            }
                            KontaktErfassenDialog ked = new KontaktErfassenDialog(parent.getShell(), hints);
                            ked.open();
                            selection = ked.getResult();
                            okPressed();
                            // cv.getViewerWidget().refresh();
                            // cv.getViewerWidget().setSelection(new
                            // StructuredSelection(kr), true);
                        }

                    });
                    return ret;
                }

                public boolean isAlwaysEnabled() {
                    return false;
                }
            }, new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_LAZYLIST, SWT.NONE, cv));
    Composite types = new Composite(ret, SWT.BORDER);
    types.setLayout(new FillLayout());
    types.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false));
    bAll = new Button(types, SWT.RADIO);
    bPersons = new Button(types, SWT.RADIO);
    bOrgs = new Button(types, SWT.RADIO);
    bAll.setText("Alle");
    bPersons.setText("Personen");
    bOrgs.setText("Organisationen");
    bAll.addSelectionListener(fba);
    bPersons.addSelectionListener(fba);
    bOrgs.addSelectionListener(fba);
    initContactTypeSelection();

    cv.create(vc, ret, SWT.NONE, "1");
    GridData gd = SWTHelper.getFillGridData(1, true, 1, true);
    gd.heightHint = 100;
    cv.getViewerWidget().getControl().setLayoutData(gd);
    setTitle(title);
    setMessage(message);
    vc.getContentProvider().startListening();
    cv.addDoubleClickListener(this);
    // cv.getViewerWidget().addFilter(filter);
    kl.addQueryFilter(fp);

    if (showBezugsKontakt) {
        cv.getViewerWidget().addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                if (isSelecting) {
                    return;
                }

                if (bezugsKontaktViewer != null) {
                    IStructuredSelection sel = (IStructuredSelection) bezugsKontaktViewer.getSelection();
                    if (sel.size() > 0) {
                        isSelecting = true;
                        bezugsKontaktViewer.setSelection(new StructuredSelection(), false);
                        isSelecting = false;
                    }
                }
            }
        });
    }
    return ret;
}

From source file:ch.elexis.core.ui.laboratory.preferences.LaborPrefs.java

License:Open Source License

protected Control createContents(Composite parn) {
    noDefaultAndApplyButton();//w  ww.j  ava 2 s . c om

    Composite tableComposite = new Composite(parn, SWT.NONE);
    GridData gd = new GridData();
    tableComposite.setLayoutData(gd);
    TableColumnLayout tableColumnLayout = new TableColumnLayout();
    tableComposite.setLayout(tableColumnLayout);
    tableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
    table = tableViewer.getTable();

    for (int i = 0; i < headers.length; i++) {
        TableColumn tc = new TableColumn(table, SWT.LEFT);
        tc.setText(headers[i]);
        tableColumnLayout.setColumnData(tc, new ColumnWeightData(colwidth[i], true));
        tc.setData(i);
        tc.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                sortC = (Integer) ((TableColumn) e.getSource()).getData();
                tableViewer.refresh(true);
            }

        });
    }
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            return LabItem.getLabItems().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

    });
    tableViewer.setLabelProvider(new LabListLabelProvider());
    tableViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) tableViewer.getSelection();
            Object o = sel.getFirstElement();
            if (o instanceof LabItem) {
                LabItem li = (LabItem) o;
                EditLabItemUi.executeWithParams(li);
                tableViewer.refresh();
            }
        }

    });
    tableViewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            LabItem li1 = (LabItem) e1;
            LabItem li2 = (LabItem) e2;
            String s1 = "", s2 = ""; //$NON-NLS-1$ //$NON-NLS-2$
            switch (sortC) {
            case 1:
                s1 = li1.getKuerzel();
                s2 = li2.getKuerzel();
                break;
            case 3:
                s1 = li1.getTyp().toString();
                s2 = li2.getTyp().toString();
                break;
            case 7:
                s1 = li1.getGroup();
                s2 = li2.getGroup();
                break;
            default:
                s1 = li1.getName();
                s2 = li2.getName();
            }
            int res = s1.compareToIgnoreCase(s2);
            if (res == 0) {
                try {
                    Integer no1 = Integer.parseInt(li1.getPrio());
                    Integer no2 = Integer.parseInt(li2.getPrio());

                    return no1.compareTo(no2);
                } catch (NumberFormatException nfe) {
                    return li1.getPrio().compareToIgnoreCase(li2.getPrio());
                }
            }
            return res;
        }

    });

    int operations = DND.DROP_COPY;
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableViewer.addDragSupport(operations, transferTypes, new DragSourceAdapter() {

        @Override
        public void dragSetData(DragSourceEvent event) {
            IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
            LabItem labItem = (LabItem) selection.getFirstElement();
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = labItem.getKuerzel() + "," + labItem.getName() + "," + labItem.getId();
            }
        }
    });

    tableViewer.setInput(this);
    return tableComposite;
}

From source file:ch.elexis.core.ui.views.artikel.ArtikelSelektor.java

License:Open Source License

@Override
public void createPartControl(final Composite parent) {
    parent.setLayout(new GridLayout());
    ctab = new CTabFolder(parent, SWT.NONE);
    ctab.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    java.util.List<IConfigurationElement> list = Extensions
            .getExtensions(ExtensionPointConstantsUi.VERRECHNUNGSCODE); //$NON-NLS-1$
    ctab.addSelectionListener(new TabSelectionListener());
    for (IConfigurationElement ice : list) {
        if ("Artikel".equals(ice.getName())) { //$NON-NLS-1$
            try {
                CodeSelectorFactory cs = (CodeSelectorFactory) ice
                        .createExecutableExtension(ExtensionPointConstantsUi.VERRECHNUNGSCODE_CSF);
                CTabItem ci = new CTabItem(ctab, SWT.NONE);
                ci.setText(cs.getCodeSystemName());
                ci.setData("csf", cs); //$NON-NLS-1$
            } catch (Exception ex) {
                ExHandler.handle(ex);//from   w  w  w .j  a  v a 2  s .c om
            }
        }
    }
    CTabItem ci = new CTabItem(ctab, SWT.NONE);
    Composite c = new Composite(ctab, SWT.NONE);
    c.setLayout(new GridLayout());
    ci.setControl(c);
    ci.setText(Messages.ArtikelSelector_stockArticles);
    Table table = new Table(c, SWT.SIMPLE | SWT.V_SCROLL);
    table.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true));
    tv = new TableViewer(table);
    tv.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(final Object inputElement) {
            return CoreHub.getStockService().getAllStockEntries().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
        }

    });
    tv.setLabelProvider(new StockEntryLabelProvider() {
        @Override
        public String getColumnText(Object element, int columnIndex) {
            StockEntry se = (StockEntry) element;
            String ret = se.getArticle().getName();
            Integer amount = CoreHub.getStockService().getCumulatedStockForArticle(se.getArticle());
            if (amount != null) {
                ret += " (" + Integer.toString(amount) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
            }
            return ret;
        }
    });
    tv.setInput(this);
}