package org.geogebra.web.tablet.main; import org.geogebra.web.html5.gui.FastClickHandler; import org.geogebra.web.html5.main.AppW; import org.geogebra.web.touch.WinFileManager; import org.geogebra.web.touch.gui.dialog.image.ImageInputDialogWin; import org.geogebra.web.touch.main.TouchDevice; import org.geogebra.web.web.gui.browser.BrowseGUI; import org.geogebra.web.web.gui.browser.BrowseResources; import org.geogebra.web.web.gui.dialog.image.UploadImageDialog; import org.geogebra.web.web.gui.util.StandardButton; import org.geogebra.web.web.main.FileManager; import com.google.gwt.user.client.ui.Widget; public class TabletDeviceWin extends TouchDevice { public TabletDeviceWin(){ assumeTouchEvents(); } private native void assumeTouchEvents()/*-{ $wnd.mqTouch }-*/; @Override public FileManager createFileManager(AppW app) { return new WinFileManager(app); } @Override public BrowseGUI createBrowseView(AppW app) { StandardButton button = new StandardButton( BrowseResources.INSTANCE.location_local()); final BrowseGUI bg = new BrowseGUI(app, button); button.addFastClickHandler(new FastClickHandler() { @Override public void onClick(Widget source) { showOpenPicker(bg); } }); return bg; } @Override protected native void nativeShare(String base64, String title)/*-{ if ($wnd.android) { $wnd.android.share(base64, title, 'png'); } }-*/; /** * @param bg * browse GUI */ native void showOpenPicker(BrowseGUI bg) /*-{ if ($wnd.android && $wnd.android.callPlugin) { bg.@org.geogebra.web.web.gui.browser.BrowseGUI::showLoading()(); $wnd.android.callPlugin("OpenDialog", [ 1 ]); } }-*/; @Override public boolean isOffline(AppW app) { return !app.getNetworkOperation().isOnline(); } @Override public UploadImageDialog getImageInputDialog(AppW app) { return new ImageInputDialogWin(app); } @Override public native void resizeView(int width, int height) /*-{ if ($wnd.android && $wnd.android.callPlugin) { $wnd.android.callPlugin("ResizeView", [ width, height ]); } }-*/; }