package org.geogebra.web.web.gui.dialog; import org.geogebra.common.kernel.geos.GeoPoint; import org.geogebra.web.html5.gui.GPopupPanel; import org.geogebra.web.html5.main.AppW; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.dom.client.Style; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.FileUpload; import com.google.gwt.user.client.ui.VerticalPanel; public class FileInputDialog extends GPopupPanel implements ClickHandler { protected AppW app; protected GeoPoint location; private FileUpload inputWidget; protected Button btCancel; public FileInputDialog(AppW app, GeoPoint location) { super(false, true, app.getPanel()); this.app = app; this.location = location; // createGUI(); addStyleName("GeoGebraPopup"); setGlassEnabled(true); center(); } protected void createGUI() { setInputWidget(new FileUpload()); // addGgbChangeHandler(inputWidget.getElement(), app); btCancel = new Button(app.getLocalization().getMenu("Cancel")); btCancel.getElement().getStyle().setMargin(3, Style.Unit.PX); btCancel.addClickHandler(this); VerticalPanel centerPanel = new VerticalPanel(); centerPanel.add(getInputWidget()); centerPanel.add(btCancel); setWidget(centerPanel); } @Override public void onClick(ClickEvent event) { if (event.getSource() == btCancel) { hideAndFocus(); } } public native JavaScriptObject getNativeHideAndFocus() /*-{ return this.@org.geogebra.web.web.gui.dialog.FileInputDialog::hideAndFocus()(); }-*/; public void hideAndFocus() { hide(); app.getActiveEuclidianView().requestFocusInWindow(); } public FileUpload getInputWidget() { return inputWidget; } public void setInputWidget(FileUpload inputWidget) { this.inputWidget = inputWidget; } }