package org.geogebra.desktop.gui.dialog;
import javax.swing.JCheckBox;
import org.geogebra.common.gui.dialog.handler.NumberChangeSignInputHandler;
import org.geogebra.common.gui.view.algebra.DialogType;
import org.geogebra.common.util.AsyncOperation;
import org.geogebra.desktop.main.AppD;
/**
* InputDialog with checkbox to change sign
*
* @author mathieu
*
*/
public class NumberChangeSignInputDialog extends InputDialogD {
private boolean changingSign;
/**
*
* @param app
* @param message
* @param title
* @param initString
* @param handler
* @param changingSign
* says if the sign has to be changed
* @param checkBoxText
* text for sign change checkbox
* @param basis
* TODO
*/
public NumberChangeSignInputDialog(AppD app, String message, String title,
String initString, NumberChangeSignInputHandler handler,
boolean changingSign, String checkBoxText) {
super(app, message, title, initString, false, handler, true, false,
null, new JCheckBox(checkBoxText, true), DialogType.TextArea);
this.changingSign = changingSign;
}
@Override
protected void processInputHandler(AsyncOperation<Boolean> callback) {
((NumberChangeSignInputHandler) getInputHandler()).processInput(inputText,
changingSign && checkBox.isSelected(), this, callback);
}
@Override
protected void loadBtPanel(boolean showApply) {
btPanel.add(checkBox);
super.loadBtPanel(showApply);
}
@Override
public void handleDialogVisibilityChange(boolean isVisible) {
// do nothing
}
}