| Index: frontend/client/src/autotest/afe/create/CreateJobViewDisplay.java
 | 
| diff --git a/frontend/client/src/autotest/afe/create/CreateJobViewDisplay.java b/frontend/client/src/autotest/afe/create/CreateJobViewDisplay.java
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..441f3e33f7b13823ce497afb5aa02afc48b33179
 | 
| --- /dev/null
 | 
| +++ b/frontend/client/src/autotest/afe/create/CreateJobViewDisplay.java
 | 
| @@ -0,0 +1,232 @@
 | 
| +package autotest.afe.create;
 | 
| +
 | 
| +import autotest.afe.CheckBoxPanel;
 | 
| +import autotest.afe.CheckBoxPanelDisplay;
 | 
| +import autotest.afe.ControlTypeSelect;
 | 
| +import autotest.afe.ControlTypeSelectDisplay;
 | 
| +import autotest.afe.HostSelector;
 | 
| +import autotest.afe.HostSelectorDisplay;
 | 
| +import autotest.afe.IButton;
 | 
| +import autotest.afe.IButton.ButtonImpl;
 | 
| +import autotest.afe.ICheckBox;
 | 
| +import autotest.afe.ICheckBox.CheckBoxImpl;
 | 
| +import autotest.afe.ITextArea;
 | 
| +import autotest.afe.ITextArea.TextAreaImpl;
 | 
| +import autotest.afe.ITextBox;
 | 
| +import autotest.afe.ITextBox.TextBoxImpl;
 | 
| +import autotest.afe.TestSelector;
 | 
| +import autotest.afe.TestSelectorDisplay;
 | 
| +import autotest.common.ui.ExtendedListBox;
 | 
| +import autotest.common.ui.RadioChooser;
 | 
| +import autotest.common.ui.RadioChooserDisplay;
 | 
| +import autotest.common.ui.SimplifiedList;
 | 
| +
 | 
| +import com.google.gwt.event.dom.client.HasClickHandlers;
 | 
| +import com.google.gwt.event.logical.shared.HasCloseHandlers;
 | 
| +import com.google.gwt.event.logical.shared.HasOpenHandlers;
 | 
| +import com.google.gwt.user.client.ui.Anchor;
 | 
| +import com.google.gwt.user.client.ui.Button;
 | 
| +import com.google.gwt.user.client.ui.CheckBox;
 | 
| +import com.google.gwt.user.client.ui.DisclosurePanel;
 | 
| +import com.google.gwt.user.client.ui.HTMLPanel;
 | 
| +import com.google.gwt.user.client.ui.HasText;
 | 
| +import com.google.gwt.user.client.ui.HasValue;
 | 
| +import com.google.gwt.user.client.ui.HorizontalPanel;
 | 
| +import com.google.gwt.user.client.ui.Label;
 | 
| +import com.google.gwt.user.client.ui.Panel;
 | 
| +import com.google.gwt.user.client.ui.TextBox;
 | 
| +import com.google.gwt.user.client.ui.VerticalPanel;
 | 
| +
 | 
| +public class CreateJobViewDisplay implements CreateJobViewPresenter.Display {
 | 
| +    public static final int CHECKBOX_PANEL_COLUMNS = 5;
 | 
| +
 | 
| +    private TextBox jobName = new TextBox();
 | 
| +    private ExtendedListBox priorityList = new ExtendedListBox();
 | 
| +    private TextBoxImpl kernel = new TextBoxImpl();
 | 
| +    private TextBoxImpl kernel_cmdline = new TextBoxImpl();
 | 
| +    private TextBox timeout = new TextBox();
 | 
| +    private TextBox maxRuntime = new TextBox();
 | 
| +    private TextBox emailList = new TextBox();
 | 
| +    private CheckBoxImpl skipVerify = new CheckBoxImpl();
 | 
| +    private RadioChooserDisplay rebootBefore = new RadioChooserDisplay();
 | 
| +    private RadioChooserDisplay rebootAfter = new RadioChooserDisplay();
 | 
| +    private CheckBox parseFailedRepair = new CheckBox();
 | 
| +    private CheckBoxImpl hostless = new CheckBoxImpl();
 | 
| +    private TestSelectorDisplay testSelector = new TestSelectorDisplay();
 | 
| +    private CheckBoxPanelDisplay profilersPanel = new CheckBoxPanelDisplay(CHECKBOX_PANEL_COLUMNS);
 | 
| +    private CheckBoxImpl runNonProfiledIteration =
 | 
| +        new CheckBoxImpl("Run each test without profilers first");
 | 
| +    private ExtendedListBox droneSet = new ExtendedListBox();
 | 
| +    private TextAreaImpl controlFile = new TextAreaImpl();
 | 
| +    private DisclosurePanel controlFilePanel = new DisclosurePanel();
 | 
| +    private ControlTypeSelectDisplay controlTypeSelect = new ControlTypeSelectDisplay();
 | 
| +    private TextBoxImpl synchCountInput = new TextBoxImpl();
 | 
| +    private ButtonImpl editControlButton = new ButtonImpl();
 | 
| +    private HostSelectorDisplay hostSelector = new HostSelectorDisplay();
 | 
| +    private ButtonImpl submitJobButton = new ButtonImpl("Submit Job");
 | 
| +    private Button createTemplateJobButton = new Button("Create Template Job");
 | 
| +    private Button resetButton = new Button("Reset");
 | 
| +    private Anchor viewLink = new Anchor("");
 | 
| +
 | 
| +    public void initialize(HTMLPanel panel) {
 | 
| +        Panel profilerControls = new VerticalPanel();
 | 
| +        profilerControls.add(profilersPanel);
 | 
| +        profilerControls.add(runNonProfiledIteration);
 | 
| +
 | 
| +        controlFile.setSize("50em", "30em");
 | 
| +
 | 
| +        HorizontalPanel controlOptionsPanel = new HorizontalPanel();
 | 
| +        controlOptionsPanel.setVerticalAlignment(HorizontalPanel.ALIGN_BOTTOM);
 | 
| +        controlOptionsPanel.add(controlTypeSelect);
 | 
| +        Label useLabel = new Label("Use");
 | 
| +        useLabel.getElement().getStyle().setProperty("marginLeft", "1em");
 | 
| +        synchCountInput.setSize("3em", ""); // set width only
 | 
| +        synchCountInput.getElement().getStyle().setProperty("margin", "0 0.5em 0 0.5em");
 | 
| +        controlOptionsPanel.add(useLabel);
 | 
| +        controlOptionsPanel.add(synchCountInput);
 | 
| +        controlOptionsPanel.add(new Label("host(s) per execution"));
 | 
| +        Panel controlEditPanel = new VerticalPanel();
 | 
| +        controlEditPanel.add(controlOptionsPanel);
 | 
| +        controlEditPanel.add(controlFile);
 | 
| +
 | 
| +        Panel controlHeaderPanel = new HorizontalPanel();
 | 
| +        controlHeaderPanel.add(viewLink);
 | 
| +        controlHeaderPanel.add(editControlButton);
 | 
| +
 | 
| +        controlFilePanel.setHeader(controlHeaderPanel);
 | 
| +        controlFilePanel.add(controlEditPanel);
 | 
| +
 | 
| +        panel.add(jobName, "create_job_name");
 | 
| +        panel.add(kernel, "create_kernel");
 | 
| +        panel.add(kernel_cmdline, "create_kernel_cmdline");
 | 
| +        panel.add(timeout, "create_timeout");
 | 
| +        panel.add(maxRuntime, "create_max_runtime");
 | 
| +        panel.add(emailList, "create_email_list");
 | 
| +        panel.add(priorityList, "create_priority");
 | 
| +        panel.add(skipVerify, "create_skip_verify");
 | 
| +        panel.add(rebootBefore, "create_reboot_before");
 | 
| +        panel.add(rebootAfter, "create_reboot_after");
 | 
| +        panel.add(parseFailedRepair, "create_parse_failed_repair");
 | 
| +        panel.add(hostless, "create_hostless");
 | 
| +        panel.add(testSelector, "create_tests");
 | 
| +        panel.add(profilerControls, "create_profilers");
 | 
| +        panel.add(controlFilePanel, "create_edit_control");
 | 
| +        panel.add(hostSelector, "create_host_selector");
 | 
| +        panel.add(submitJobButton, "create_submit");
 | 
| +        panel.add(createTemplateJobButton, "create_template_job");
 | 
| +        panel.add(resetButton, "create_reset");
 | 
| +        panel.add(droneSet, "create_drone_set");
 | 
| +    }
 | 
| +
 | 
| +    public CheckBoxPanel.Display getCheckBoxPanelDisplay() {
 | 
| +        return profilersPanel;
 | 
| +    }
 | 
| +
 | 
| +    public ControlTypeSelect.Display getControlTypeSelectDisplay() {
 | 
| +        return controlTypeSelect;
 | 
| +    }
 | 
| +
 | 
| +    public ITextArea getControlFile() {
 | 
| +        return controlFile;
 | 
| +    }
 | 
| +
 | 
| +    public HasCloseHandlers<DisclosurePanel> getControlFilePanelClose() {
 | 
| +        return controlFilePanel;
 | 
| +    }
 | 
| +
 | 
| +    public HasOpenHandlers<DisclosurePanel> getControlFilePanelOpen() {
 | 
| +        return controlFilePanel;
 | 
| +    }
 | 
| +
 | 
| +    public HasClickHandlers getCreateTemplateJobButton() {
 | 
| +        return createTemplateJobButton;
 | 
| +    }
 | 
| +
 | 
| +    public SimplifiedList getDroneSet() {
 | 
| +        return droneSet;
 | 
| +    }
 | 
| +
 | 
| +    public IButton getEditControlButton() {
 | 
| +        return editControlButton;
 | 
| +    }
 | 
| +
 | 
| +    public HasText getEmailList() {
 | 
| +        return emailList;
 | 
| +    }
 | 
| +
 | 
| +    public HostSelector.Display getHostSelectorDisplay() {
 | 
| +        return hostSelector;
 | 
| +    }
 | 
| +
 | 
| +    public ICheckBox getHostless() {
 | 
| +        return hostless;
 | 
| +    }
 | 
| +
 | 
| +    public HasText getJobName() {
 | 
| +        return jobName;
 | 
| +    }
 | 
| +
 | 
| +    public ITextBox getKernel() {
 | 
| +        return kernel;
 | 
| +    }
 | 
| +
 | 
| +    public ITextBox getKernelCmdline() {
 | 
| +        return kernel_cmdline;
 | 
| +    }
 | 
| +
 | 
| +    public HasText getMaxRuntime() {
 | 
| +        return maxRuntime;
 | 
| +    }
 | 
| +
 | 
| +    public HasValue<Boolean> getParseFailedRepair() {
 | 
| +        return parseFailedRepair;
 | 
| +    }
 | 
| +
 | 
| +    public SimplifiedList getPriorityList() {
 | 
| +        return priorityList;
 | 
| +    }
 | 
| +
 | 
| +    public RadioChooser.Display getRebootAfter() {
 | 
| +        return rebootAfter;
 | 
| +    }
 | 
| +
 | 
| +    public RadioChooser.Display getRebootBefore() {
 | 
| +        return rebootBefore;
 | 
| +    }
 | 
| +
 | 
| +    public HasClickHandlers getResetButton() {
 | 
| +        return resetButton;
 | 
| +    }
 | 
| +
 | 
| +    public ICheckBox getRunNonProfiledIteration() {
 | 
| +        return runNonProfiledIteration;
 | 
| +    }
 | 
| +
 | 
| +    public ICheckBox getSkipVerify() {
 | 
| +        return skipVerify;
 | 
| +    }
 | 
| +
 | 
| +    public IButton getSubmitJobButton() {
 | 
| +        return submitJobButton;
 | 
| +    }
 | 
| +
 | 
| +    public ITextBox getSynchCountInput() {
 | 
| +        return synchCountInput;
 | 
| +    }
 | 
| +
 | 
| +    public TestSelector.Display getTestSelectorDisplay() {
 | 
| +        return testSelector;
 | 
| +    }
 | 
| +
 | 
| +    public HasText getTimeout() {
 | 
| +        return timeout;
 | 
| +    }
 | 
| +
 | 
| +    public HasText getViewLink() {
 | 
| +        return viewLink;
 | 
| +    }
 | 
| +
 | 
| +    public void setControlFilePanelOpen(boolean isOpen) {
 | 
| +        controlFilePanel.setOpen(isOpen);
 | 
| +    }
 | 
| +}
 | 
| 
 |