Browse Source

added upload component

svn changeset:2042/svn branch:trunk
tags/6.7.0.beta1
Matti Tahvonen 17 years ago
parent
commit
54aa588ea3

+ 5
- 0
src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java View File

@@ -29,6 +29,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.ITextualDate;
import com.itmill.toolkit.terminal.gwt.client.ui.ITree;
import com.itmill.toolkit.terminal.gwt.client.ui.ITwinColSelect;
import com.itmill.toolkit.terminal.gwt.client.ui.IUnknownComponent;
import com.itmill.toolkit.terminal.gwt.client.ui.IUpload;
import com.itmill.toolkit.terminal.gwt.client.ui.IView;
import com.itmill.toolkit.terminal.gwt.client.ui.IWindow;

@@ -95,6 +96,8 @@ public class DefaultWidgetFactory implements WidgetFactory {
return new ISlider();
} else if ("com.itmill.toolkit.terminal.gwt.client.ui.IForm".equals(className)) {
return new IForm();
} else if ("com.itmill.toolkit.terminal.gwt.client.ui.IUpload".equals(className)) {
return new IUpload();
}
return new IUnknownComponent();

@@ -176,6 +179,8 @@ public class DefaultWidgetFactory implements WidgetFactory {
return "com.itmill.toolkit.terminal.gwt.client.ui.ISlider";
} else if ("form".equals(tag)) {
return "com.itmill.toolkit.terminal.gwt.client.ui.IForm";
} else if ("upload".equals(tag)) {
return "com.itmill.toolkit.terminal.gwt.client.ui.IUpload";
}

return "com.itmill.toolkit.terminal.gwt.client.ui.IUnknownComponent";

+ 71
- 0
src/com/itmill/toolkit/terminal/gwt/client/ui/IUpload.java View File

@@ -0,0 +1,71 @@
package com.itmill.toolkit.terminal.gwt.client.ui;

import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FormHandler;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.FormSubmitCompleteEvent;
import com.google.gwt.user.client.ui.FormSubmitEvent;
import com.google.gwt.user.client.ui.Frame;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;

public class IUpload extends FormPanel implements Paintable, ClickListener {
FileUpload fu = new FileUpload();
Panel panel = new FlowPanel();
ApplicationConnection client;

private String paintableId;

private Button b;
public IUpload() {
super();
setEncoding(FormPanel.ENCODING_MULTIPART);
setMethod(FormPanel.METHOD_POST);
setWidget(panel);
panel.add(new Label("UPLOAD component incomplete"));
panel.add(fu);
b = new Button("Upload");
b.addClickListener(this);
panel.add(b);
addFormHandler(new FormHandler() {
public void onSubmitComplete(FormSubmitCompleteEvent event) {
if(client != null) {
// request update
client.sendPendingVariableChanges();
}
}

public void onSubmit(FormSubmitEvent event) {
if (fu.getFilename().length() == 0) {
event.setCancelled(true);
}
}
});
}

public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
this.client = client;
this.paintableId = uidl.getId();
if(uidl.hasAttribute("caption"))
b.setText(uidl.getStringAttribute("caption"));

}

public void onClick(Widget sender) {
this.submit();
}

}

Loading…
Cancel
Save