package com.rapidftr.screens;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.XYEdges;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.component.SeparatorField;
import com.rapidftr.controls.Button;
import com.rapidftr.model.Child;
import com.rapidftr.screens.internal.CustomScreen;
import com.rapidftr.screens.internal.UiStack;
import com.rapidftr.controllers.FlagChildController;
public class FlagReasonScreen extends CustomScreen{
private final BasicEditField flagReasonField = new BasicEditField(
"Enter reason:", "");
private Button flagButton;
private Child child;
protected UiStack uiStack;
public FlagReasonScreen() {
}
public void setUp() {
clearFields();
renderTitle();
renderFlagReasonField();
renderFlagButton();
}
public void setChild(Child child) {
this.child = child;
}
private void renderFlagButton() {
flagButton = new Button("Flag");
flagButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
child.flagRecord(flagReasonField.getText());
((FlagChildController)controller).popScreen();
}
});
HorizontalFieldManager buttonManager = new HorizontalFieldManager(FIELD_HCENTER);
buttonManager.add(flagButton);
this.add(buttonManager);
}
private void renderFlagReasonField() {
flagReasonField.setPadding(PADDING);
add(flagReasonField);
flagReasonField.setFocus();
}
private void renderTitle() {
HorizontalFieldManager titleManager = new HorizontalFieldManager(FIELD_HCENTER);
titleManager.setPadding(new XYEdges(2, 2, 2, 0));
titleManager.add(new LabelField("Flag Reason"));
this.add(titleManager);
this.add(new SeparatorField());
}
}