package org.geogebra.desktop.gui.dialog;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import org.geogebra.common.gui.view.algebra.DialogType;
import org.geogebra.desktop.main.AppD;
public class InputDialogOpenURL extends InputDialogD {
public InputDialogOpenURL(AppD app) {
super(app.getFrame(), false, app.getLocalization());
this.app = app;
setInitString("http://");
// check if there's a string starting http:// already on the clipboard
// (quite likely!!)
String clipboardString = app.getStringFromClipboard();
if (clipboardString != null && (clipboardString.startsWith("http://")
|| clipboardString.startsWith("https://")
|| clipboardString.startsWith("www"))) {
setInitString(clipboardString);
}
createGUI(loc.getMenu("OpenWebpage"), loc.getMenu("EnterAppletAddress"),
false, DEFAULT_COLUMNS, 1, false, true, false, false,
DialogType.TextArea);
optionPane.add(inputPanel, BorderLayout.CENTER);
centerOnScreen();
inputPanel.selectText();
}
@Override
public void setLabels(String title) {
wrappedDialog.setTitle(title);
btOK.setText(loc.getMenu("Open"));
btCancel.setText(loc.getMenu("Cancel"));
}
/**
* Handles button clicks for dialog.
*/
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
try {
if (source == btOK || source == inputPanel.getTextComponent()) {
setVisible(!processInput());
} else if (source == btApply) {
processInput();
// app.setDefaultCursor();
} else if (source == btCancel) {
setVisible(false);
}
} catch (Exception ex) {
// do nothing on uninitializedValue
ex.printStackTrace();
setVisible(false);
app.setDefaultCursor();
}
}
private boolean processInput() {
return app.getGuiManager().loadURL(inputPanel.getText());
}
}