Example usage for com.vaadin.ui CheckBox CheckBox

List of usage examples for com.vaadin.ui CheckBox CheckBox

Introduction

In this page you can find the example usage for com.vaadin.ui CheckBox CheckBox.

Prototype

public CheckBox(String caption) 

Source Link

Document

Creates a new checkbox with a set caption.

Usage

From source file:nz.co.senanque.workflowui.AttachmentPopup.java

License:Apache License

public void load(final long pid) {
    panel.removeAllComponents();//ww w. jav  a  2 s. c  o m
    final Upload upload = new Upload(null, receiver);
    upload.setImmediate(true);
    upload.setButtonCaption(m_messageSourceAccessor.getMessage("upload.file", "Upload File"));
    checkbox = new CheckBox(m_messageSourceAccessor.getMessage("upload.protected", "Protected"));
    comment = new TextField(m_messageSourceAccessor.getMessage("upload.comment", "Comment"));
    panel.addComponent(comment);
    panel.addComponent(checkbox);
    panel.addComponent(upload);

    upload.addFinishedListener(new Upload.FinishedListener() {

        private static final long serialVersionUID = 1L;

        public void uploadFinished(FinishedEvent event) {
            Attachment attachment = receiver.getWrapper().getCurrentAttachment();
            attachment.setProcessInstanceId(pid);
            attachment.setComment((String) comment.getValue());
            attachment.setProtectedDocument((boolean) checkbox.getValue());
            m_workflowDAO.addAttachment(attachment);
            close();
        }
    });

    if (getParent() == null) {
        UI.getCurrent().addWindow(this);
        this.center();
    }
}

From source file:org.abstractform.vaadin.VaadinFormToolkit.java

License:Apache License

protected AbstractComponent internalBuildField(Field field, Map<String, Object> extraObjects) {
    AbstractComponent ret = null;//w w  w  .jav a  2s.  c  om
    if (field.getType().equals(Field.TYPE_BOOL)) {
        CheckBox cb = new CheckBox(field.getName());
        cb.setImmediate(true);
        ret = cb;
    } else if (field.getType().equals(Field.TYPE_DATETIME)) {
        DateField dt = new DateField(field.getName());
        dt.setResolution(DateField.RESOLUTION_DAY);
        dt.setDescription(field.getDescription());
        dt.setRequired(field.isRequired());
        dt.setImmediate(true);
        dt.setReadOnly(field.isReadOnly());
        ret = dt;
    } else if (field.getType().equals(Field.TYPE_TEXT) || field.getType().equals(Field.TYPE_NUMERIC)
            || field.getType().equals(Field.TYPE_PASSWORD)) {
        AbstractTextField textField;
        if (field.getType().equals(Field.TYPE_PASSWORD)) {
            textField = new PasswordField(field.getName());
        } else {
            textField = new TextField(field.getName());
        }
        //textField.setColumns(field.getDisplayWidth());
        if (field.getMaxLength() != 0) {
            textField.setMaxLength(field.getMaxLength());
        }
        textField.setDescription(field.getDescription());
        textField.setReadOnly(field.isReadOnly());
        textField.setNullRepresentation("".intern());
        textField.setNullSettingAllowed(true);
        textField.setRequired(field.isRequired());
        textField.setImmediate(true);
        textField.setWidth("100%");
        ret = textField;
    } else if (field.getType().equals(SelectorConstants.TYPE_SELECTOR)) {
        ComboBox comboBox = new ComboBox(field.getName());
        comboBox.setTextInputAllowed(false);
        comboBox.setNullSelectionAllowed(!field.isRequired());
        comboBox.setDescription(field.getDescription());
        comboBox.setReadOnly(field.isReadOnly());
        comboBox.setRequired(field.isRequired());
        comboBox.setImmediate(true);
        comboBox.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);
        comboBox.setItemCaptionPropertyId(VaadinSelectorContainer.PROPERTY_CAPTION);
        comboBox.setWidth("100%");
        ret = comboBox;
    } else if (field.getType().equals(TableConstants.TYPE_TABLE)) {
        ret = buildTableField(field, extraObjects);
    }
    return ret;
}

From source file:org.activiti.explorer.ui.process.simple.editor.table.TaskTable.java

License:Apache License

protected Object addTaskRow(Object previousTaskItemId, String taskName, String taskAssignee, String taskGroups,
        String taskDescription, Boolean startWithPrevious) {

    Object newItemId = null;/*w w  w  . j  av a2  s  . c  o  m*/
    if (previousTaskItemId == null) { // add at the end of list
        newItemId = addItem();
    } else {
        newItemId = addItemAfter(previousTaskItemId);
    }
    Item newItem = getItem(newItemId);

    // name
    newItem.getItemProperty(ID_NAME).setValue(taskName == null ? "my task" : taskName);

    // assignee
    ComboBox assigneeComboBox = new ComboBox();
    assigneeComboBox.setNullSelectionAllowed(true);

    try {
        for (User user : ProcessEngines.getDefaultProcessEngine().getIdentityService().createUserQuery()
                .orderByUserFirstName().asc().list()) {
            assigneeComboBox.addItem(user.getId());
            assigneeComboBox.setItemCaption(user.getId(), user.getFirstName() + " " + user.getLastName());
        }
    } catch (Exception e) {
        // Don't do anything. Will be an empty dropdown.
    }

    if (taskAssignee != null) {
        assigneeComboBox.select(taskAssignee);
    }

    newItem.getItemProperty(ID_ASSIGNEE).setValue(assigneeComboBox);

    // groups
    ComboBox groupComboBox = new ComboBox();
    groupComboBox.setNullSelectionAllowed(true);

    try {
        for (Group group : ProcessEngines.getDefaultProcessEngine().getIdentityService().createGroupQuery()
                .orderByGroupName().asc().list()) {
            groupComboBox.addItem(group.getId());
            groupComboBox.setItemCaption(group.getId(), group.getName());
        }
    } catch (Exception e) {
        // Don't do anything. Will be an empty dropdown.
    }

    if (taskGroups != null) {
        groupComboBox.select(taskGroups);
    }

    newItem.getItemProperty(ID_GROUPS).setValue(groupComboBox);

    // description
    TextField descriptionTextField = new TextField();
    descriptionTextField.setColumns(16);
    descriptionTextField.setRows(1);
    if (taskDescription != null) {
        descriptionTextField.setValue(taskDescription);
    }
    newItem.getItemProperty(ID_DESCRIPTION).setValue(descriptionTextField);

    // concurrency
    CheckBox startWithPreviousCheckBox = new CheckBox(
            i18nManager.getMessage(Messages.PROCESS_EDITOR_TASK_START_WITH_PREVIOUS));
    startWithPreviousCheckBox.setValue(startWithPrevious == null ? false : startWithPrevious);
    newItem.getItemProperty(ID_START_WITH_PREVIOUS).setValue(startWithPreviousCheckBox);

    // actions
    newItem.getItemProperty(ID_ACTIONS).setValue(generateActionButtons(newItemId));

    return newItemId;
}

From source file:org.activiti.explorer.ui.profile.AccountSelectionPopup.java

License:Apache License

protected void initImapComponent() {
    imapForm = new Form();
    imapForm.setDescription(i18nManager.getMessage(Messages.IMAP_DESCRIPTION));

    final TextField imapServer = new TextField(i18nManager.getMessage(Messages.IMAP_SERVER));
    imapForm.getLayout().addComponent(imapServer);

    final TextField imapPort = new TextField(i18nManager.getMessage(Messages.IMAP_PORT));
    imapPort.setWidth(30, UNITS_PIXELS);
    imapPort.setValue(143); // Default imap port (non-ssl)
    imapForm.getLayout().addComponent(imapPort);

    final CheckBox useSSL = new CheckBox(i18nManager.getMessage(Messages.IMAP_SSL));
    useSSL.setValue(false);/*from  w  w w .j  av a2 s.c  o  m*/
    useSSL.setImmediate(true);
    imapForm.getLayout().addComponent(useSSL);
    useSSL.addListener(new ValueChangeListener() {
        public void valueChange(ValueChangeEvent event) {
            imapPort.setValue(((Boolean) useSSL.getValue()) ? 993 : 143);
        }
    });

    final TextField imapUserName = new TextField(i18nManager.getMessage(Messages.IMAP_USERNAME));
    imapForm.getLayout().addComponent(imapUserName);

    final PasswordField imapPassword = new PasswordField(i18nManager.getMessage(Messages.IMAP_PASSWORD));
    imapForm.getLayout().addComponent(imapPassword);

    // Matching listener
    imapClickListener = new ClickListener() {
        public void buttonClick(ClickEvent event) {
            Map<String, Object> accountDetails = createAccountDetails("imap",
                    imapUserName.getValue().toString(), imapPassword.getValue().toString(), "server",
                    imapServer.getValue().toString(), "port", imapPort.getValue().toString(), "ssl",
                    imapPort.getValue().toString());
            fireEvent(new SubmitEvent(AccountSelectionPopup.this, SubmitEvent.SUBMITTED, accountDetails));
        }
    };
}

From source file:org.activiti.kickstart.ui.table.TaskTable.java

License:Apache License

protected Object addTaskRow(Object previousTaskItemId, String taskName, String taskAssignee, String taskGroups,
        String taskDescription, Boolean startWithPrevious) {

    Object newItemId = null;/*from  www.j a  v  a 2 s .c  om*/
    if (previousTaskItemId == null) { // add at the end of list
        newItemId = addItem();
    } else {
        newItemId = addItemAfter(previousTaskItemId);
    }
    Item newItem = getItem(newItemId);

    // name
    newItem.getItemProperty("name").setValue(taskName == null ? "my task" : taskName);

    // assignee
    newItem.getItemProperty("assignee").setValue(taskAssignee == null ? "" : taskAssignee);

    // groups
    newItem.getItemProperty("groups").setValue(taskGroups == null ? "" : taskGroups);

    // description
    TextField descriptionTextField = new TextField();
    descriptionTextField.setColumns(16);
    descriptionTextField.setRows(1);
    if (taskDescription != null) {
        descriptionTextField.setValue(taskDescription);
    }
    newItem.getItemProperty("description").setValue(descriptionTextField);

    // concurrency
    CheckBox startWithPreviousCheckBox = new CheckBox("start with previous");
    startWithPreviousCheckBox.setValue(startWithPrevious == null ? false : startWithPrevious);
    newItem.getItemProperty("startWithPrevious").setValue(startWithPreviousCheckBox);

    // actions
    newItem.getItemProperty("actions").setValue(generateActionButtons(newItemId));

    return newItemId;
}

From source file:org.apache.ace.target.management.ui.TargetManagementExtension.java

License:Apache License

public Component create(Map<String, Object> context) {
    GridLayout result = new GridLayout(1, 4);
    result.setCaption(CAPTION);/*from   ww  w. j a  va 2s .  c  om*/

    result.setMargin(true);
    result.setSpacing(true);
    result.setSizeFull();

    final StatefulTargetObject target = getRepositoryObjectFromContext(context);

    final CheckBox registerCB = new CheckBox("Registered?");
    registerCB.setImmediate(true);
    registerCB.setEnabled(!target.isRegistered());
    registerCB.setValue(Boolean.valueOf(target.isRegistered()));

    result.addComponent(registerCB);

    final CheckBox autoApproveCB = new CheckBox("Auto approve?");
    autoApproveCB.setImmediate(true);
    autoApproveCB.setEnabled(target.isRegistered());
    autoApproveCB.setValue(Boolean.valueOf(target.getAutoApprove()));

    result.addComponent(autoApproveCB);

    final Button approveButton = new Button("Approve changes");
    approveButton.setImmediate(true);
    approveButton.setEnabled(getApproveButtonEnabledState(target));

    result.addComponent(approveButton);

    // Add a spacer that fill the remainder of the available space...
    result.addComponent(new Label(" "));
    result.setRowExpandRatio(3, 1.0f);

    // Add all listeners...
    registerCB.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            if (event.getButton().booleanValue()) {
                target.register();
                registerCB.setEnabled(!target.isRegistered());
                autoApproveCB.setEnabled(target.isRegistered());
            }
        }
    });
    autoApproveCB.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            target.setAutoApprove(event.getButton().booleanValue());
            approveButton.setEnabled(getApproveButtonEnabledState(target));
        }
    });
    approveButton.addListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            target.approve();
            approveButton.setEnabled(getApproveButtonEnabledState(target));
        }
    });

    return result;
}

From source file:org.asi.ui.customcomponentdemo.demo.ExtFilteringTableDemo.java

private VerticalLayout loadPagedFilterTable() {
    VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);//from  w  w  w .j a  v  a  2  s. c om
    layout.setSpacing(true);
    final ExtPagedFilterTable<IndexedContainer> pagedFilterTable = new ExtPagedFilterTable<IndexedContainer>();
    pagedFilterTable.setCaption("ExtPagedFilterTable");
    pagedFilterTable.setWidth("100%");
    pagedFilterTable.setFilterBarVisible(true);

    pagedFilterTable.setSelectable(true);
    pagedFilterTable.setImmediate(true);
    pagedFilterTable.setMultiSelect(true);
    pagedFilterTable.setPageLength(5);
    pagedFilterTable.setRowHeaderMode(RowHeaderMode.INDEX);

    pagedFilterTable.setColumnReorderingAllowed(true);

    pagedFilterTable.setContainerDataSource(phasedProjectionBean);

    pagedFilterTable.setVisibleColumns(Utils.viscolumnmore);
    pagedFilterTable.setColumnHeaders(Utils.visheadermore);
    pagedFilterTable.setDoubleHeaderVisible(true);
    pagedFilterTable.sinkItemPerPageWithPageLength(false);
    pagedFilterTable.setDoubleHeaderVisibleColumns(Utils.dviscolumnmore);
    pagedFilterTable.setDoubleHeaderColumnHeaders(Utils.dvisheadermore);
    pagedFilterTable.setDoubleHeaderMap(dMapVisibleColumnsMore);
    pagedFilterTable.setColumnIcon(Utils.viscolumnmore[3], Utils.logoimg);
    pagedFilterTable.setColumnCheckBox(Utils.viscolumnmore[2], true, true);
    pagedFilterTable.addColumnResizeListener(new ExtCustomTable.ColumnResizeListener() {

        @Override
        public void columnResize(ExtCustomTable.ColumnResizeEvent event) {
            Notification.show("Pro:" + event.getPropertyId() + "\n Pre:" + event.getPreviousWidth() + "\n Cur: "
                    + event.getCurrentWidth());
        }
    });
    pagedFilterTable.addDoubleHeaderColumnResizeListener(new ExtCustomTable.DoubleHeaderColumnResizeListener() {

        @Override
        public void doubleHeaderColumnResize(ExtCustomTable.DoubleHeaderColumnResizeEvent event) {
            Notification.show("Pro:" + event.getPropertyId() + "\n Pre:" + event.getPreviousWidth() + "\n Cur: "
                    + event.getCurrentWidth());
        }

    });
    pagedFilterTable.setEditable(true);
    pagedFilterTable.setImmediate(true);
    pagedFilterTable.setTableFieldFactory(new DefaultFieldFactory() {

        @Override
        public Field<?> createField(Container container, Object itemId, Object propertyId,
                Component uiContext) {
            if (propertyId.equals(Utils.viscolumnmore[2])) {
                TextField ob = new TextField();
                ob.setImmediate(true);
                return ob;
            }
            return null;
        }
    });
    layout.addComponent(pagedFilterTable);
    layout.addComponent(pagedFilterTable.createControls());
    final CheckBox sink = new CheckBox("Sink ItemPerPage With PageLength");
    sink.setImmediate(true);
    layout.addComponent(sink);
    sink.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            pagedFilterTable.sinkItemPerPageWithPageLength(sink.getValue());
        }
    });
    return layout;
}

From source file:org.asi.ui.customcomponentdemo.demo.ExtFilteringTableDemo.java

private VerticalLayout loadFreezePagedFilterTable() {
    VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);//from   w  ww  . j a  v a  2  s  . c o m
    layout.setSpacing(true);
    final FreezePagedFilterTable<IndexedContainer> pagedFreezeFilterTable = new FreezePagedFilterTable<IndexedContainer>();

    pagedFreezeFilterTable.setCaption("FreezePagedFilterTable");
    pagedFreezeFilterTable.setSplitPosition(Utils.splitPosition, Unit.PIXELS);
    pagedFreezeFilterTable.setMinSplitPosition(Utils.minSplitPosition, Unit.PIXELS);
    pagedFreezeFilterTable.setMaxSplitPosition(Utils.maxSplitPosition, Unit.PIXELS);
    pagedFreezeFilterTable.setContainerDataSource(phasedProjectionBean);
    pagedFreezeFilterTable.setPageLength(6);

    //        pagedFilterTable.setHeight("210px");
    pagedFreezeFilterTable.setSelectable(true);
    final ExtPagedFilterTable leftTable = pagedFreezeFilterTable.getLeftFreezeAsTable();
    final ExtPagedFilterTable rightTable = pagedFreezeFilterTable.getRightFreezeAsTable();
    leftTable.setVisibleColumns(Utils.viscolumnless);
    leftTable.setColumnHeaders(Utils.visheaderless);
    rightTable.setVisibleColumns(Utils.viscolumnmore);
    rightTable.setColumnHeaders(Utils.visheadermore);
    pagedFreezeFilterTable.setDoubleHeaderVisible(true);
    pagedFreezeFilterTable.setFilterBarVisible(true);
    pagedFreezeFilterTable.setDoubleHeaderVisibleColumns(Utils.dviscolumnless, Utils.dviscolumnmore);
    pagedFreezeFilterTable.setDoubleHeaderColumnHeaders(Utils.dvisheaderless, Utils.dvisheadermore);
    pagedFreezeFilterTable.setDoubleHeaderMap(dMapVisibleColumnsLess, dMapVisibleColumnsMore);
    rightTable.setDoubleHeaderColumnCheckBox(Utils.dviscolumnmore[0], true, true);
    rightTable.setDoubleHeaderColumnIcon(Utils.dviscolumnmore[1], Utils.logoimg);
    rightTable.setColumnCheckBox(Utils.viscolumnmore[0], true, true);
    rightTable.setColumnIcon(Utils.viscolumnmore[2], Utils.logoimg);

    rightTable.setDoubleHeaderColumnCheckBox(Utils.dviscolumnmore[2], true, true);
    rightTable.setDoubleHeaderColumnIcon(Utils.dviscolumnmore[2], Utils.logoimg);
    rightTable.setColumnCheckBox(Utils.viscolumnmore[1], true, false);
    rightTable.setColumnIcon(Utils.viscolumnmore[1], Utils.logoimg);
    rightTable.setColumnIcon(Utils.viscolumnmore[3], Utils.logoimg);

    pagedFreezeFilterTable.sinkItemPerPageWithPageLength(false);
    //        rightTable.setSortEnabled(false);
    rightTable.addDoubleHeaderColumnCheckListener(new ExtCustomTable.DoubleHeaderColumnCheckListener() {
        @Override
        public void doubleHeaderColumnCheck(ExtCustomTable.DoubleHeaderColumnCheckEvent event) {
            Notification
                    .show("Current Value: " + event.isChecked() + "\nPrropertyId: " + event.getPropertyId());
        }
    });
    rightTable.addColumnCheckListener(new ExtCustomTable.ColumnCheckListener() {
        @Override
        public void columnCheck(ExtCustomTable.ColumnCheckEvent event) {
            Notification
                    .show("Current Value: " + event.isChecked() + "\nPrropertyId: " + event.getPropertyId());
        }
    });
    layout.addComponent(pagedFreezeFilterTable);
    layout.addComponent(pagedFreezeFilterTable.createControls());
    final CheckBox sink = new CheckBox("Sink ItemPerPage With PageLength");
    sink.setImmediate(true);
    layout.addComponent(sink);
    sink.addValueChangeListener(new Property.ValueChangeListener() {
        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            pagedFreezeFilterTable.sinkItemPerPageWithPageLength(sink.getValue());
        }
    });
    return layout;
}

From source file:org.axonframework.examples.addressbook.vaadin.ui.SearchView.java

License:Apache License

public SearchView() {
    setCaption("Search for contacts");
    setSizeFull();//from w w  w.  jav  a  2s  .  com

    FormLayout formLayout = new FormLayout();
    setContent(formLayout);

    tf = new TextField("Search term");
    fieldToSearch = new NativeSelect("Field to search");
    saveSearch = new CheckBox("Save search");
    searchName = new TextField("Search name");
    Button search = new Button("Search");
    search.addListener(new Button.ClickListener() {
        public void buttonClick(Button.ClickEvent event) {
            performSearch();
        }
    });
    for (int i = 0; i < ContactContainer.NATURAL_COL_ORDER.length; i++) {
        fieldToSearch.addItem(ContactContainer.NATURAL_COL_ORDER[i]);
        fieldToSearch.setItemCaption(ContactContainer.NATURAL_COL_ORDER[i],
                ContactContainer.COL_HEADERS_ENGLISH[i]);
    }
    fieldToSearch.setValue("name");
    fieldToSearch.setNullSelectionAllowed(false);
    saveSearch.setValue(true);
    addComponent(tf);
    addComponent(fieldToSearch);
    addComponent(saveSearch);
    addComponent(searchName);
    addComponent(search);

    saveSearch.setImmediate(true);
    saveSearch.addListener(new Button.ClickListener() {
        public void buttonClick(Button.ClickEvent event) {
            searchName.setVisible(event.getButton().booleanValue());
        }
    });
}

From source file:org.diretto.web.richwebclient.view.windows.UploadSettingsWindow.java

/**
 * Constructs an {@link UploadSettingsWindow}.
 * //from   w w w.java 2s  .c o  m
 * @param mainWindow The corresponding {@code MainWindow}
 * @param uploadSection The corresponding {@code UploadSection}
 * @param fileInfo The {@code FileInfo} object
 * @param mediaType The {@code MediaType} of the file
 * @param uploadSettings The corresponding {@code UploadSettings}
 * @param otherFiles The names of the other upload files
 */
public UploadSettingsWindow(final MainWindow mainWindow, final UploadSection uploadSection, FileInfo fileInfo,
        MediaType mediaType, UploadSettings uploadSettings, List<String> otherFiles) {
    super("Upload Settings");

    this.mainWindow = mainWindow;

    setModal(true);
    setStyleName(Reindeer.WINDOW_BLACK);
    setWidth("940px");
    setHeight((((int) mainWindow.getHeight()) - 160) + "px");
    setResizable(false);
    setClosable(false);
    setDraggable(false);
    setPositionX((int) (mainWindow.getWidth() / 2.0f) - 470);
    setPositionY(126);

    wrapperLayout = new HorizontalLayout();
    wrapperLayout.setSizeFull();
    wrapperLayout.setMargin(true, true, true, true);
    addComponent(wrapperLayout);

    mainLayout = new VerticalLayout();
    mainLayout.setSizeFull();
    mainLayout.setSpacing(true);

    HorizontalLayout titleLayout = new HorizontalLayout();
    titleLayout.setWidth("100%");
    mainLayout.addComponent(titleLayout);

    HorizontalLayout leftTitleLayout = new HorizontalLayout();
    titleLayout.addComponent(leftTitleLayout);
    titleLayout.setComponentAlignment(leftTitleLayout, Alignment.MIDDLE_LEFT);

    Label fileNameLabel = StyleUtils.getLabelH2(fileInfo.getName());
    leftTitleLayout.addComponent(fileNameLabel);
    leftTitleLayout.setComponentAlignment(fileNameLabel, Alignment.MIDDLE_LEFT);

    Label bullLabel = StyleUtils.getLabelHTML(
            "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&bull;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
    leftTitleLayout.addComponent(bullLabel);
    leftTitleLayout.setComponentAlignment(bullLabel, Alignment.MIDDLE_LEFT);

    Label titleLabel = StyleUtils.getLabelHTML("<b>Title</b>&nbsp;&nbsp;&nbsp;");
    leftTitleLayout.addComponent(titleLabel);
    leftTitleLayout.setComponentAlignment(titleLabel, Alignment.MIDDLE_LEFT);

    final TextField titleField = new TextField();
    titleField.setMaxLength(50);
    titleField.setWidth("100%");
    titleField.setImmediate(true);

    if (uploadSettings != null && uploadSettings.getTitle() != null) {
        titleField.setValue(uploadSettings.getTitle());
    }

    titleField.focus();
    titleField.setCursorPosition(((String) titleField.getValue()).length());

    titleLayout.addComponent(titleField);
    titleLayout.setComponentAlignment(titleField, Alignment.MIDDLE_RIGHT);

    titleLayout.setExpandRatio(leftTitleLayout, 0);
    titleLayout.setExpandRatio(titleField, 1);

    mainLayout.addComponent(StyleUtils.getHorizontalLine());

    GridLayout topGridLayout = new GridLayout(2, 3);
    topGridLayout.setColumnExpandRatio(0, 1.0f);
    topGridLayout.setColumnExpandRatio(1, 0.0f);
    topGridLayout.setWidth("100%");
    topGridLayout.setSpacing(true);
    mainLayout.addComponent(topGridLayout);

    Label descriptionLabel = StyleUtils.getLabelBold("Description");
    topGridLayout.addComponent(descriptionLabel, 0, 0);

    final TextArea descriptionArea = new TextArea();
    descriptionArea.setSizeFull();
    descriptionArea.setImmediate(true);

    if (uploadSettings != null && uploadSettings.getDescription() != null) {
        descriptionArea.setValue(uploadSettings.getDescription());
    }

    topGridLayout.addComponent(descriptionArea, 0, 1);

    VerticalLayout tagsWrapperLayout = new VerticalLayout();
    tagsWrapperLayout.setHeight("30px");
    tagsWrapperLayout.setSpacing(false);
    topGridLayout.addComponent(tagsWrapperLayout, 0, 2);

    HorizontalLayout tagsLayout = new HorizontalLayout();
    tagsLayout.setWidth("100%");
    tagsLayout.setSpacing(true);

    Label tagsLabel = StyleUtils.getLabelBoldHTML("Tags&nbsp;");
    tagsLabel.setSizeUndefined();
    tagsLayout.addComponent(tagsLabel);
    tagsLayout.setComponentAlignment(tagsLabel, Alignment.MIDDLE_LEFT);

    addTagField = new TextField();
    addTagField.setImmediate(true);
    addTagField.setInputPrompt("Enter new Tag");

    addTagField.addShortcutListener(new ShortcutListener(null, KeyCode.ENTER, new int[0]) {
        private static final long serialVersionUID = -4767515198819351723L;

        @Override
        public void handleAction(Object sender, Object target) {
            if (target == addTagField) {
                addTag();
            }
        }
    });

    tagsLayout.addComponent(addTagField);
    tagsLayout.setComponentAlignment(addTagField, Alignment.MIDDLE_LEFT);

    tabSheet = new TabSheet();

    tabSheet.setStyleName(Reindeer.TABSHEET_SMALL);
    tabSheet.addStyleName("view");

    tabSheet.addListener(new ComponentDetachListener() {
        private static final long serialVersionUID = -657657505471281795L;

        @Override
        public void componentDetachedFromContainer(ComponentDetachEvent event) {
            tags.remove(tabSheet.getTab(event.getDetachedComponent()).getCaption());
        }
    });

    Button addTagButton = new Button("Add", new Button.ClickListener() {
        private static final long serialVersionUID = 5914473126402594623L;

        @Override
        public void buttonClick(ClickEvent event) {
            addTag();
        }
    });

    addTagButton.setStyleName(Reindeer.BUTTON_DEFAULT);

    tagsLayout.addComponent(addTagButton);
    tagsLayout.setComponentAlignment(addTagButton, Alignment.MIDDLE_LEFT);

    Label spaceLabel = StyleUtils.getLabelHTML("");
    spaceLabel.setSizeUndefined();
    tagsLayout.addComponent(spaceLabel);
    tagsLayout.setComponentAlignment(spaceLabel, Alignment.MIDDLE_LEFT);

    tagsLayout.addComponent(tabSheet);
    tagsLayout.setComponentAlignment(tabSheet, Alignment.MIDDLE_LEFT);
    tagsLayout.setExpandRatio(tabSheet, 1.0f);

    tagsWrapperLayout.addComponent(tagsLayout);
    tagsWrapperLayout.setComponentAlignment(tagsLayout, Alignment.TOP_LEFT);

    if (uploadSettings != null && uploadSettings.getTags() != null && uploadSettings.getTags().size() > 0) {
        for (String tag : uploadSettings.getTags()) {
            addTagField.setValue(tag);

            addTag();
        }
    }

    Label presettingLabel = StyleUtils.getLabelBold("Presetting");
    topGridLayout.addComponent(presettingLabel, 1, 0);

    final TwinColSelect twinColSelect;

    if (otherFiles != null && otherFiles.size() > 0) {
        twinColSelect = new TwinColSelect(null, otherFiles);
    } else {
        twinColSelect = new TwinColSelect();
    }

    twinColSelect.setWidth("400px");
    twinColSelect.setRows(10);
    topGridLayout.addComponent(twinColSelect, 1, 1);
    topGridLayout.setComponentAlignment(twinColSelect, Alignment.TOP_RIGHT);

    Label otherFilesLabel = StyleUtils
            .getLabelSmallHTML("Select the files which should get the settings of this file as presetting.");
    otherFilesLabel.setSizeUndefined();
    topGridLayout.addComponent(otherFilesLabel, 1, 2);
    topGridLayout.setComponentAlignment(otherFilesLabel, Alignment.MIDDLE_CENTER);

    mainLayout.addComponent(StyleUtils.getHorizontalLine());

    final UploadGoogleMap googleMap;

    if (uploadSettings != null && uploadSettings.getTopographicPoint() != null) {
        googleMap = new UploadGoogleMap(mediaType, 12, uploadSettings.getTopographicPoint().getLatitude(),
                uploadSettings.getTopographicPoint().getLongitude(), MapType.HYBRID);
    } else {
        googleMap = new UploadGoogleMap(mediaType, 12, 48.42255269321401d, 9.956477880477905d, MapType.HYBRID);
    }

    googleMap.setWidth("100%");
    googleMap.setHeight("300px");
    mainLayout.addComponent(googleMap);

    mainLayout.addComponent(StyleUtils.getHorizontalLine());

    GridLayout bottomGridLayout = new GridLayout(3, 3);
    bottomGridLayout.setSizeFull();
    bottomGridLayout.setSpacing(true);
    mainLayout.addComponent(bottomGridLayout);

    Label licenseLabel = StyleUtils.getLabelBold("License");
    bottomGridLayout.addComponent(licenseLabel, 0, 0);

    final TextArea licenseArea = new TextArea();
    licenseArea.setWidth("320px");
    licenseArea.setHeight("175px");
    licenseArea.setImmediate(true);

    if (uploadSettings != null && uploadSettings.getLicense() != null) {
        licenseArea.setValue(uploadSettings.getLicense());
    }

    bottomGridLayout.addComponent(licenseArea, 0, 1);

    final Label startTimeLabel = StyleUtils.getLabelBold("Earliest possible Start Date");
    startTimeLabel.setSizeUndefined();
    bottomGridLayout.setComponentAlignment(startTimeLabel, Alignment.TOP_CENTER);
    bottomGridLayout.addComponent(startTimeLabel, 1, 0);

    final InlineDateField startTimeField = new InlineDateField();
    startTimeField.setImmediate(true);
    startTimeField.setResolution(InlineDateField.RESOLUTION_SEC);

    boolean currentTimeAdjusted = false;

    if (uploadSettings != null && uploadSettings.getTimeRange() != null
            && uploadSettings.getTimeRange().getStartDateTime() != null) {
        startTimeField.setValue(uploadSettings.getTimeRange().getStartDateTime().toDate());
    } else {
        currentTimeAdjusted = true;

        startTimeField.setValue(new Date());
    }

    bottomGridLayout.setComponentAlignment(startTimeField, Alignment.TOP_CENTER);
    bottomGridLayout.addComponent(startTimeField, 1, 1);

    final CheckBox exactTimeCheckBox = new CheckBox("This is the exact point in time.");
    exactTimeCheckBox.setImmediate(true);
    bottomGridLayout.setComponentAlignment(exactTimeCheckBox, Alignment.TOP_CENTER);
    bottomGridLayout.addComponent(exactTimeCheckBox, 1, 2);

    final Label endTimeLabel = StyleUtils.getLabelBold("Latest possible Start Date");
    endTimeLabel.setSizeUndefined();
    bottomGridLayout.setComponentAlignment(endTimeLabel, Alignment.TOP_CENTER);
    bottomGridLayout.addComponent(endTimeLabel, 2, 0);

    final InlineDateField endTimeField = new InlineDateField();
    endTimeField.setImmediate(true);
    endTimeField.setResolution(InlineDateField.RESOLUTION_SEC);

    if (uploadSettings != null && uploadSettings.getTimeRange() != null
            && uploadSettings.getTimeRange().getEndDateTime() != null) {
        endTimeField.setValue(uploadSettings.getTimeRange().getEndDateTime().toDate());
    } else {
        endTimeField.setValue(startTimeField.getValue());
    }

    bottomGridLayout.setComponentAlignment(endTimeField, Alignment.TOP_CENTER);
    bottomGridLayout.addComponent(endTimeField, 2, 1);

    if (!currentTimeAdjusted && ((Date) startTimeField.getValue()).equals((Date) endTimeField.getValue())) {
        exactTimeCheckBox.setValue(true);

        endTimeLabel.setEnabled(false);
        endTimeField.setEnabled(false);
    }

    exactTimeCheckBox.addListener(new ValueChangeListener() {
        private static final long serialVersionUID = 7193545421803538364L;

        @Override
        public void valueChange(ValueChangeEvent event) {
            if ((Boolean) event.getProperty().getValue()) {
                endTimeLabel.setEnabled(false);
                endTimeField.setEnabled(false);
            } else {
                endTimeLabel.setEnabled(true);
                endTimeField.setEnabled(true);
            }
        }
    });

    mainLayout.addComponent(StyleUtils.getHorizontalLine());

    HorizontalLayout buttonLayout = new HorizontalLayout();
    buttonLayout.setMargin(true, false, false, false);
    buttonLayout.setSpacing(false);

    HorizontalLayout uploadButtonLayout = new HorizontalLayout();
    uploadButtonLayout.setMargin(false, true, false, false);

    uploadButton = new Button("Upload File", new Button.ClickListener() {
        private static final long serialVersionUID = 8013811216568950479L;

        @Override
        @SuppressWarnings("unchecked")
        public void buttonClick(ClickEvent event) {
            String titleValue = titleField.getValue().toString().trim();
            Date startTimeValue = (Date) startTimeField.getValue();
            Date endTimeValue = (Date) endTimeField.getValue();
            boolean exactTimeValue = (Boolean) exactTimeCheckBox.getValue();

            if (titleValue.equals("")) {
                ConfirmWindow confirmWindow = new ConfirmWindow(mainWindow, "Title Field",
                        StyleUtils.getLabelHTML("A title entry is required."));

                mainWindow.addWindow(confirmWindow);
            } else if (titleValue.length() < 5 || titleValue.length() > 50) {
                ConfirmWindow confirmWindow = new ConfirmWindow(mainWindow, "Title Field", StyleUtils
                        .getLabelHTML("The number of characters of the title has to be between 5 and 50."));

                mainWindow.addWindow(confirmWindow);
            } else if (!exactTimeValue && startTimeValue.after(endTimeValue)) {
                ConfirmWindow confirmWindow = new ConfirmWindow(mainWindow, "Date Entries",
                        StyleUtils.getLabelHTML("The second date has to be after the first date."));

                mainWindow.addWindow(confirmWindow);
            } else if (startTimeValue.after(new Date())
                    || (!exactTimeValue && endTimeValue.after(new Date()))) {
                ConfirmWindow confirmWindow = new ConfirmWindow(mainWindow, "Date Entries",
                        StyleUtils.getLabelHTML("The dates are not allowed to be in the future."));

                mainWindow.addWindow(confirmWindow);
            } else {
                disableButtons();

                String descriptionValue = descriptionArea.getValue().toString().trim();
                String licenseValue = licenseArea.getValue().toString().trim();
                TopographicPoint topographicPointValue = googleMap.getMarkerPosition();
                Collection<String> presettingValues = (Collection<String>) twinColSelect.getValue();

                if (exactTimeValue) {
                    endTimeValue = startTimeValue;
                }

                TimeRange timeRange = new TimeRange(new DateTime(startTimeValue), new DateTime(endTimeValue));

                UploadSettings uploadSettings = new UploadSettings(titleValue, descriptionValue, licenseValue,
                        new Vector<String>(tags), topographicPointValue, timeRange);

                mainWindow.removeWindow(event.getButton().getWindow());

                requestRepaint();

                uploadSection.upload(uploadSettings, new Vector<String>(presettingValues));
            }
        }
    });

    uploadButton.setStyleName(Reindeer.BUTTON_DEFAULT);
    uploadButtonLayout.addComponent(uploadButton);
    buttonLayout.addComponent(uploadButtonLayout);

    HorizontalLayout cancelButtonLayout = new HorizontalLayout();
    cancelButtonLayout.setMargin(false, true, false, false);

    cancelButton = new Button("Cancel", new Button.ClickListener() {
        private static final long serialVersionUID = -2565870159504952913L;

        @Override
        public void buttonClick(ClickEvent event) {
            disableButtons();

            mainWindow.removeWindow(event.getButton().getWindow());

            requestRepaint();

            uploadSection.cancelUpload();
        }
    });

    cancelButton.setStyleName(Reindeer.BUTTON_DEFAULT);
    cancelButtonLayout.addComponent(cancelButton);
    buttonLayout.addComponent(cancelButtonLayout);

    cancelAllButton = new Button("Cancel All", new Button.ClickListener() {
        private static final long serialVersionUID = -8578124709201789182L;

        @Override
        public void buttonClick(ClickEvent event) {
            disableButtons();

            mainWindow.removeWindow(event.getButton().getWindow());

            requestRepaint();

            uploadSection.cancelAllUploads();
        }
    });

    cancelAllButton.setStyleName(Reindeer.BUTTON_DEFAULT);
    buttonLayout.addComponent(cancelAllButton);

    mainLayout.addComponent(buttonLayout);
    mainLayout.setComponentAlignment(buttonLayout, Alignment.BOTTOM_CENTER);

    wrapperLayout.addComponent(mainLayout);
}