package org.geogebra.web.web.gui.dialog; import org.geogebra.common.kernel.geos.GeoPoint; import org.geogebra.web.html5.main.AppW; import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; public class ImageFileInputDialog extends FileInputDialog{ public ImageFileInputDialog(AppW app, GeoPoint location) { super(app, location); createGUI(); } @Override protected void createGUI() { super.createGUI(); addGgbChangeHandler(getInputWidget().getElement(), app); } public native void addGgbChangeHandler(Element el, AppW appl) /*-{ var dialog = this; el.setAttribute("accept", "image/*"); el.onchange = function(event) { var files = this.files; if (files.length) { var fileTypes = /^image.*$/; for (var i = 0, j = files.length; i < j; ++i) { if (!files[i].type.match(fileTypes)) { continue; } var fileToHandle = files[i]; appl.@org.geogebra.web.html5.main.AppW::openFileAsImage(Lcom/google/gwt/core/client/JavaScriptObject;Lcom/google/gwt/core/client/JavaScriptObject;)(fileToHandle, dialog.@org.geogebra.web.web.gui.dialog.FileInputDialog::getNativeHideAndFocus()()); break } } }; }-*/; @Override public void onClick(ClickEvent event) { if (event.getSource() == btCancel) { hideAndFocus(); } } }