package org.geogebra.web.web.util;
import org.geogebra.common.cas.view.CASTableCellEditor;
import org.geogebra.common.kernel.Kernel;
import org.geogebra.common.kernel.geos.GeoElement;
import org.geogebra.web.html5.main.AppW;
import org.geogebra.web.web.cas.view.CASTableControllerW;
import org.geogebra.web.web.cas.view.CASTableW;
import org.geogebra.web.web.gui.view.algebra.RadioTreeItem;
/**
* Abstract factory for LaTeX related stuff
*
*/
public abstract class LaTeXHelper {
/**
* @param table
* CAS table
* @param app
* application
* @param ml
* controller
* @return CAS editor
*/
public abstract CASTableCellEditor getCASEditor(CASTableW table, AppW app,
CASTableControllerW ml);
/**
* @param ob
* element
* @return AV item for element
*/
public abstract RadioTreeItem getAVItem(GeoElement ob);
/**
* @param kernel
* kernel
* @return AV item for input
*/
public abstract RadioTreeItem getAVInput(Kernel kernel);
/**
* @param fontSize
* font size
*/
public void setFontSize(int fontSize) {
// MQ only
}
/**
* @return whether input in AV is supported
*/
public boolean supportsAV() {
return true;
}
/**
* @param ob
* slider geo
* @return slider item
*/
public abstract RadioTreeItem getSliderItem(GeoElement ob);
/**
* @param ob
* bool
* @return chackbox item
*/
public abstract RadioTreeItem getCheckboxItem(GeoElement ob);
}