package org.geogebra.web.web.gui.properties;
import org.geogebra.common.gui.dialog.options.model.AnimationStepModel;
import org.geogebra.common.gui.dialog.options.model.ITextFieldListener;
import org.geogebra.common.kernel.Kernel;
import org.geogebra.web.html5.event.FocusListenerW;
import org.geogebra.web.html5.main.AppW;
import org.geogebra.web.web.gui.AngleTextFieldW;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.KeyDownEvent;
import com.google.gwt.event.dom.client.KeyDownHandler;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
public class AnimationStepPanelW extends OptionPanel
implements ITextFieldListener {
private AnimationStepModel model;
private Label label;
private AngleTextFieldW tfAnimStep;
private Kernel kernel;
public AnimationStepPanelW(final AppW app) {
kernel = app.getKernel();
model = new AnimationStepModel(this, app);
setModel(model);
// text field for animation step
label = new Label();
tfAnimStep = new AngleTextFieldW(6, app);
FlowPanel mainPanel = new FlowPanel();
mainPanel.add(label);
mainPanel.add(tfAnimStep);
setWidget(mainPanel);
tfAnimStep.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
doActionPerformed();
}
});
new FocusListenerW(this).init();
tfAnimStep.addKeyDownHandler(new KeyDownHandler(){
@Override
public void onKeyDown(KeyDownEvent event) {
if (event.getNativeKeyCode() == '\n') {
doActionPerformed();
}
}});
tfAnimStep.enableGGBKeyboard();
}
private void doActionPerformed() {
model.applyChanges(tfAnimStep.getText());
//update(model.getGeos());
}
@Override
public void setText(String text) {
tfAnimStep.setText(text);
}
@Override
public void setLabels() {
label.setText(kernel.getLocalization().getMenu("AnimationStep") + ": ");
}
public void setPartOfSliderPanel() {
model.setPartOfSlider(true);
}
}