Example usage for com.google.gwt.file.client File getName

List of usage examples for com.google.gwt.file.client File getName

Introduction

In this page you can find the example usage for com.google.gwt.file.client File getName.

Prototype

public final native String getName();

Source Link

Document

The name of the file.

Usage

From source file:org.rest.client.ui.desktop.widget.RequestBodyWidget.java

License:Apache License

private void addNewFileRow(String key) {
    final HTMLPanel row = new HTMLPanel("");
    final ListPanel listPanel = new ListPanel();
    listPanel.setStyleName("selectedFilesList");

    row.setStyleName("formRow");
    TextBox keyBox = new TextBox();
    final HTML5FileUpload valueBox = new HTML5FileUpload();
    InlineLabel removeButton = new InlineLabel("x");

    fileInputs.add(valueBox);/*w  ww. j  a va 2 s.  c om*/
    keyBox.getElement().setAttribute("placeholder", "Field name");

    String value = null;
    if (key == null) {
        value = fileFieldName;
        if (fileFieldNumber > 0) {
            value += "" + fileFieldNumber;
        }
    } else {
        value = key;
    }
    keyBox.setValue(value);
    removeButton.addStyleName("removeButton");
    removeButton.setTitle("Remove");

    valueBox.setMultiple(true);
    valueBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            int prevCnt = listPanel.getWidgetCount();
            allFilesCount -= prevCnt;
            listPanel.clear();
            FileList files = valueBox.getFiles();
            int cnt = files.size();
            allFilesCount += cnt;
            filesTab.setText("Files (" + allFilesCount + ")");
            for (int i = 0; i < cnt; i++) {
                File file = files.get(i);
                double sizeLong = file.getSize();
                String fileSize = Units.swithFileSize(sizeLong);

                String html = file.getName() + " ";
                html += "(" + fileSize + ")";
                ListItem li = new ListItem();
                li.setHTML(html);
                listPanel.add(li);
            }
        }
    });
    row.add(valueBox);
    row.add(keyBox);
    row.add(removeButton);
    row.add(listPanel);

    filesFormPanel.add(row);

    removeButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            int cnt = listPanel.getWidgetCount();
            allFilesCount -= cnt;
            filesTab.setText("Files (" + allFilesCount + ")");
            fileInputs.remove(valueBox);
            row.removeFromParent();
        }
    });
    fileFieldNumber++;
    keyBox.selectAll();
    keyBox.getElement().focus();
}