package org.geogebra.web.web.gui.dialog.options; import org.geogebra.common.gui.dialog.options.model.BooleanOptionModel; import org.geogebra.common.gui.dialog.options.model.BooleanOptionModel.IBooleanOptionListener; import org.geogebra.common.main.Localization; import org.geogebra.web.web.gui.properties.OptionPanel; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.CheckBox; public class CheckboxPanel extends OptionPanel implements IBooleanOptionListener { private final CheckBox checkbox; private final String titleId; private Localization loc; public CheckboxPanel(final String title, Localization loc, BooleanOptionModel m) { this(title, loc); setModel(m); m.setListener(this); } public CheckboxPanel(final String title, Localization loc) { this.loc = loc; checkbox = new CheckBox(); checkbox.setStyleName("checkBoxPanel"); setWidget(getCheckbox()); this.titleId = title; getCheckbox().addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { ((BooleanOptionModel) getModel()).applyChanges(getCheckbox() .getValue()); } }); } @Override public void updateCheckbox(boolean value) { getCheckbox().setValue(value); } @Override public void setLabels() { getCheckbox().setText(loc.getPlain(titleId)); } public CheckBox getCheckbox() { return checkbox; } }