package org.geogebra.web.tablet;
import org.geogebra.common.GeoGebraConstants.Versions;
import org.geogebra.common.main.App;
import org.geogebra.common.move.ggtapi.models.Material;
import org.geogebra.web.html5.gui.tooltip.ToolTipManagerW;
import org.geogebra.web.html5.main.AppW;
import org.geogebra.web.tablet.gui.browser.TabletMaterialElement;
import org.geogebra.web.web.gui.browser.MaterialListElement;
import org.geogebra.web.web.gui.browser.SignInButton;
import org.geogebra.web.web.gui.browser.TabletSignInButton;
import org.geogebra.web.web.gui.laf.GLookAndFeel;
/**
* Look and feel for tablet apps
*/
public class TabletLookAndFeel extends GLookAndFeel {
/**
* Creates tablet LAF
*/
public TabletLookAndFeel() {
ToolTipManagerW.setEnabled(false);
}
@Override
public void addWindowClosingHandler(AppW app) {
// no close message on tablet
}
@Override
public void removeWindowClosingHandler() {
// no close message on tablet
}
@Override
public String getType() {
return "tablet";
}
@Override
public boolean isTablet() {
return true;
}
@Override
public boolean copyToClipboardSupported() {
return true;
}
@Override
public SignInButton getSignInButton(final App app) {
return new TabletSignInButton(app);
}
@Override
public MaterialListElement getMaterialElement(final Material m,
final AppW app, boolean isLocal) {
return new TabletMaterialElement(m, app, isLocal);
}
@Override
public boolean exportSupported() {
return true;
}
@Override
public boolean supportsGoogleDrive() {
return false;
}
/**
* @return style name for app frame
*/
@Override
public String getFrameStyleName() {
return "Tablet";
}
@Override
public boolean examSupported(boolean tablet) {
return tablet;
}
@Override
public boolean printSupported() {
return false;
}
@Override
public Versions getVersion(int dim, boolean app) {
return Versions.ANDROID_WEBVIEW;
}
@Override
public void toggleFullscreen(boolean full) {
// tablet, nothing to do
}
}