package org.geogebra.web.web.gui.view.data;
import org.geogebra.common.gui.view.data.PlotPanelEuclidianViewCommon;
import org.geogebra.common.gui.view.data.PlotPanelEuclidianViewInterface;
import org.geogebra.common.gui.view.data.PlotSettings;
import org.geogebra.common.kernel.Kernel;
import org.geogebra.web.html5.awt.GDimensionW;
import org.geogebra.web.html5.euclidian.EuclidianViewW;
import org.geogebra.web.web.gui.GuiManagerW;
import org.geogebra.web.web.gui.layout.panels.ProbabilityCalculatorDockPanelW;
import com.google.gwt.user.client.ui.Widget;
/**
* @author gabor
*
*Plot panel for ProbabilityCalculator
*/
public class PlotPanelEuclidianViewW extends EuclidianViewW implements PlotPanelEuclidianViewInterface {
/**
* default height ot PlotPanelEuclidianViewW
*/
public static final int DEFAULT_HEIGHT = 300;
public PlotPanelEuclidianViewCommon commonFields;
/*************************************************
* Construct the panel
*/
public PlotPanelEuclidianViewW(Kernel kernel) {
super(new PlotPanelEuclidianControllerW(kernel), EVNO_GENERAL, null);
if (commonFields == null) {
setCommonFields();
}
// set preferred size so that updateSize will work and this EV can be
// properly initialized
setPreferredSize(new GDimensionW(ProbabilityCalculatorDockPanelW.DEFAULT_WIDTH, DEFAULT_HEIGHT));
updateSize();
}
private void setCommonFields() {
// set fields
commonFields = new PlotPanelEuclidianViewCommon(
false);
commonFields.setPlotSettings(new PlotSettings());
setViewId(kernel);
}
/*********** End Constructor **********************/
/**
* Overrides EuclidianView setMode method so that no action is taken on a
* mode change.
*/
@Override
public void setMode(int mode) {
// .... do nothing
}
/** Returns viewID */
@Override
public int getViewID() {
if (commonFields == null) {
setCommonFields();
}
return commonFields.getViewID();
}
@Override
public void setViewId(Kernel kernel) {
// get viewID from GuiManager
commonFields.setViewID(((GuiManagerW) kernel.getApplication().getGuiManager())
.assignPlotPanelID(this));
}
@Override
public void setEVParams() {
commonFields.setEVParams(this);
}
@Override
public double getPixelOffset() {
return (30 * getApplication().getFontSize()
) / 12.0;
}
@Override
public void updateSizeKeepDrawables() {
super.updateSizeKeepDrawables();
}
public Widget getComponent() {
return EVPanel.getAbsolutePanel();
}
@Override
public boolean isPlotPanel() {
return true;
}
}