Search in sources :

Example 1 with Selection

use of org.javarosa.core.model.data.helper.Selection in project collect by opendatakit.

the class SelectImageMapWidget method refreshSelectedItemsLabel.

protected void refreshSelectedItemsLabel() {
    StringBuilder stringBuilder = new StringBuilder();
    if (!selections.isEmpty()) {
        stringBuilder.append("<b>").append(getContext().getString(R.string.selected)).append("</b> ");
        for (Selection selection : selections) {
            String choiceName = getFormEntryPrompt().getSelectChoiceText(selection.choice);
            CharSequence choiceDisplayName = TextUtils.textToHtml(choiceName);
            stringBuilder.append(choiceDisplayName);
            if (selections.indexOf(selection) < selections.size() - 1) {
                stringBuilder.append(", ");
            }
        }
    }
    ((FormEntryActivity) getContext()).runOnUiThread(() -> selectedAreasLabel.setText(Html.fromHtml(stringBuilder.toString())));
}
Also used : Selection(org.javarosa.core.model.data.helper.Selection) FormEntryActivity(org.odk.collect.android.activities.FormEntryActivity)

Example 2 with Selection

use of org.javarosa.core.model.data.helper.Selection in project collect by opendatakit.

the class SpinnerWidget method getAnswer.

@Override
public IAnswerData getAnswer() {
    clearFocus();
    int i = spinner.getSelectedItemPosition();
    if (i == -1 || i == items.size()) {
        return null;
    } else {
        SelectChoice sc = items.get(i);
        return new SelectOneData(new Selection(sc));
    }
}
Also used : SelectOneData(org.javarosa.core.model.data.SelectOneData) SelectChoice(org.javarosa.core.model.SelectChoice) Selection(org.javarosa.core.model.data.helper.Selection) SuppressLint(android.annotation.SuppressLint)

Example 3 with Selection

use of org.javarosa.core.model.data.helper.Selection in project javarosa by opendatakit.

the class SelectOneDataTests method setUp.

/* (non-Javadoc)
     * @see j2meunit.framework.TestCase#setUp()
     */
public void setUp() throws Exception {
    super.setUp();
    question = new QuestionDef();
    question.setID(57);
    for (int i = 0; i < 3; i++) {
        question.addSelectChoice(new SelectChoice("", "Selection" + i, "Selection" + i, false));
    }
    one = new Selection("Selection1");
    one.attachChoice(question);
    two = new Selection("Selection2");
    two.attachChoice(question);
}
Also used : SelectChoice(org.javarosa.core.model.SelectChoice) Selection(org.javarosa.core.model.data.helper.Selection) QuestionDef(org.javarosa.core.model.QuestionDef)

Example 4 with Selection

use of org.javarosa.core.model.data.helper.Selection in project javarosa by opendatakit.

the class XFormAnswerDataParser method getAnswerData.

public static IAnswerData getAnswerData(String text, int dataType, QuestionDef q) {
    String trimmedText = text.trim();
    if (trimmedText.length() == 0)
        trimmedText = null;
    switch(dataType) {
        case Constants.DATATYPE_NULL:
        case Constants.DATATYPE_UNSUPPORTED:
        case Constants.DATATYPE_TEXT:
        case Constants.DATATYPE_BARCODE:
        case Constants.DATATYPE_BINARY:
            return new StringData(text);
        case Constants.DATATYPE_INTEGER:
            try {
                return (trimmedText == null ? null : new IntegerData(Integer.parseInt(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_LONG:
            try {
                return (trimmedText == null ? null : new LongData(Long.parseLong(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_DECIMAL:
            try {
                return (trimmedText == null ? null : new DecimalData(Double.parseDouble(trimmedText)));
            } catch (NumberFormatException nfe) {
                return null;
            }
        case Constants.DATATYPE_CHOICE:
            Selection selection = getSelection(text, q);
            return (selection == null ? null : new SelectOneData(selection));
        case Constants.DATATYPE_CHOICE_LIST:
            return new SelectMultiData(getSelections(text, q));
        case Constants.DATATYPE_DATE_TIME:
            Date dt = (trimmedText == null ? null : DateUtils.parseDateTime(trimmedText));
            return (dt == null ? null : new DateTimeData(dt));
        case Constants.DATATYPE_DATE:
            Date d = (trimmedText == null ? null : DateUtils.parseDate(trimmedText));
            return (d == null ? null : new DateData(d));
        case Constants.DATATYPE_TIME:
            Date t = (trimmedText == null ? null : DateUtils.parseTime(trimmedText));
            return (t == null ? null : new TimeData(t));
        case Constants.DATATYPE_BOOLEAN:
            if (trimmedText == null) {
                return null;
            } else {
                if (trimmedText.equals("1")) {
                    return new BooleanData(true);
                }
                if (trimmedText.equals("0")) {
                    return new BooleanData(false);
                }
                return trimmedText.equals("t") ? new BooleanData(true) : new BooleanData(false);
            }
        case Constants.DATATYPE_GEOPOINT:
            if (trimmedText == null) {
                return new GeoPointData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoPointData gp = new GeoPointData();
                return gp.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOSHAPE:
            if (trimmedText == null) {
                return new GeoShapeData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoShapeData gs = new GeoShapeData();
                return gs.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        case Constants.DATATYPE_GEOTRACE:
            if (trimmedText == null) {
                return new GeoTraceData();
            }
            try {
                UncastData uncast = new UncastData(trimmedText);
                // silly...
                GeoTraceData gl = new GeoTraceData();
                return gl.cast(uncast);
            } catch (Exception e) {
                return null;
            }
        default:
            return new UncastData(trimmedText);
    }
}
Also used : SelectOneData(org.javarosa.core.model.data.SelectOneData) Selection(org.javarosa.core.model.data.helper.Selection) IntegerData(org.javarosa.core.model.data.IntegerData) GeoPointData(org.javarosa.core.model.data.GeoPointData) LongData(org.javarosa.core.model.data.LongData) Date(java.util.Date) DecimalData(org.javarosa.core.model.data.DecimalData) BooleanData(org.javarosa.core.model.data.BooleanData) GeoTraceData(org.javarosa.core.model.data.GeoTraceData) SelectMultiData(org.javarosa.core.model.data.SelectMultiData) DateData(org.javarosa.core.model.data.DateData) GeoShapeData(org.javarosa.core.model.data.GeoShapeData) DateTimeData(org.javarosa.core.model.data.DateTimeData) TimeData(org.javarosa.core.model.data.TimeData) UncastData(org.javarosa.core.model.data.UncastData) DateTimeData(org.javarosa.core.model.data.DateTimeData) StringData(org.javarosa.core.model.data.StringData)

Example 5 with Selection

use of org.javarosa.core.model.data.helper.Selection in project javarosa by opendatakit.

the class FormEntryPrompt method getAnswerText.

public String getAnswerText() {
    IAnswerData data = this.getAnswerValue();
    if (data == null)
        return null;
    else {
        String text;
        // and multi-selects.
        if (data instanceof SelectOneData) {
            text = this.getSelectItemText((Selection) data.getValue());
        } else if (data instanceof SelectMultiData) {
            StringBuilder b = new StringBuilder();
            List<Selection> values = (List<Selection>) data.getValue();
            for (Selection value : values) {
                b.append(this.getSelectItemText(value)).append(" ");
            }
            text = b.toString();
        } else {
            text = data.getDisplayText();
        }
        if (getControlType() == Constants.CONTROL_SECRET) {
            StringBuilder b = new StringBuilder();
            for (int i = 0; i < text.length(); ++i) {
                b.append("*");
            }
            text = b.toString();
        }
        return text;
    }
}
Also used : IAnswerData(org.javarosa.core.model.data.IAnswerData) SelectOneData(org.javarosa.core.model.data.SelectOneData) SelectMultiData(org.javarosa.core.model.data.SelectMultiData) Selection(org.javarosa.core.model.data.helper.Selection) ArrayList(java.util.ArrayList) List(java.util.List) ConstraintHint(org.javarosa.core.model.condition.pivot.ConstraintHint) Constraint(org.javarosa.core.model.condition.Constraint)

Aggregations

Selection (org.javarosa.core.model.data.helper.Selection)44 SelectChoice (org.javarosa.core.model.SelectChoice)20 SelectMultiData (org.javarosa.core.model.data.SelectMultiData)19 ArrayList (java.util.ArrayList)17 SelectOneData (org.javarosa.core.model.data.SelectOneData)14 List (java.util.List)12 Test (org.junit.Test)10 NonNull (androidx.annotation.NonNull)5 QuestionDef (org.javarosa.core.model.QuestionDef)5 SuppressLint (android.annotation.SuppressLint)4 Constraint (org.javarosa.core.model.condition.Constraint)4 IAnswerData (org.javarosa.core.model.data.IAnswerData)4 GeneralSelectMultiWidgetTest (org.odk.collect.android.widgets.base.GeneralSelectMultiWidgetTest)4 Arrays.asList (java.util.Arrays.asList)3 GeneralSelectOneWidgetTest (org.odk.collect.android.widgets.base.GeneralSelectOneWidgetTest)3 EvaluationContext (org.javarosa.core.model.condition.EvaluationContext)2 ConstraintHint (org.javarosa.core.model.condition.pivot.ConstraintHint)2 DateData (org.javarosa.core.model.data.DateData)2 DateTimeData (org.javarosa.core.model.data.DateTimeData)2 TreeElement (org.javarosa.core.model.instance.TreeElement)2