package org.geogebra.web.web.gui.properties;
import org.geogebra.common.gui.dialog.options.model.OptionsModel;
import org.geogebra.common.gui.dialog.options.model.PropertyListener;
import com.google.gwt.user.client.ui.Widget;
/**
* Panel for properties view
*
*/
public abstract class OptionPanel implements IOptionPanel, PropertyListener {
private OptionsModel model;
private Widget widget;
@Override
public OptionPanel updatePanel(Object[] geos) {
getModel().setGeos(geos);
boolean geosOK = getModel().checkGeos();
if (widget != null) {
widget.setVisible(geosOK);
}
if (!geosOK || widget == null) {
return null;
}
getModel().updateProperties();
setLabels();
return this;
}
@Override
public Widget getWidget() {
return widget;
}
public void setWidget(Widget widget) {
this.widget = widget;
}
@Override
public OptionsModel getModel() {
return model;
}
/**
* @param model
* options model
*/
public void setModel(OptionsModel model) {
this.model = model;
}
@Override
public abstract void setLabels();
}