package org.ripple.power.ui;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import org.ripple.power.config.LSystem;
import org.ripple.power.helper.HelperWindow;
import org.ripple.power.i18n.LangConfig;
import org.ripple.power.txns.Updateable;
import org.ripple.power.ui.view.ABaseDialog;
import org.ripple.power.ui.view.RPLabel;
import org.ripple.power.ui.view.log.ErrorLog;
import org.ripple.power.utils.SwingUtils;
public class RPSRippledDialog extends ABaseDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private RPCButton _saveButton;
private RPComboBox _nodeList;
private RPLabel _nodeLabel;
private javax.swing.JSeparator _sep;
public static void showDialog(String name, JFrame parent) {
try {
RPSRippledDialog dialog = new RPSRippledDialog(name, parent);
dialog.pack();
dialog.setLocationRelativeTo(parent);
dialog.setVisible(true);
} catch (Exception exc) {
ErrorLog.get().logException("RPSRippledDialog Exception", exc);
}
}
public RPSRippledDialog(String text, JFrame parent) {
super(parent, text, Dialog.ModalityType.DOCUMENT_MODAL);
addWindowListener(HelperWindow.get());
setIconImage(UIRes.getIcon());
setResizable(false);
Dimension dim = new Dimension(460, 170);
setPreferredSize(dim);
setSize(dim);
initComponents();
}
private void initComponents() {
_nodeLabel = new RPLabel();
_nodeList = new RPComboBox();
_sep = new javax.swing.JSeparator();
_saveButton = new RPCButton();
getContentPane().setLayout(null);
Font font = UIRes.getFont();
_nodeLabel.setFont(font); // NOI18N
_nodeLabel.setText(getTitle());
getContentPane().add(_nodeLabel);
_nodeLabel.setBounds(32, 15, 93, 29);
_nodeList.setFont(font); // NOI18N
getContentPane().add(_nodeList);
_nodeList.setBounds(135, 18, 306, 22);
getContentPane().add(_sep);
_sep.setBounds(0, 76, 470, 17);
_saveButton.setText(LangConfig.get(this, "save", "Save"));
_saveButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (_nodeList.getSelectedObjects().length > 0) {
String node = ((String) _nodeList.getSelectedItem()).trim();
RPClient.saveRippledNode(node);
RPClient.reset();
SwingUtils.close(RPSRippledDialog.this);
}
}
});
getContentPane().add(_saveButton);
_saveButton.setBounds(350, 90, 90, 40);
_nodeList.setItemModel(RPClient.getRLNodes(false).toArray());
getContentPane().setBackground(UIConfig.dialogbackground);
LSystem.postThread(new Updateable() {
@Override
public void action(Object o) {
try {
_nodeList.setItemModel(RPClient.getRLNodes(true).toArray());
} catch (Throwable t) {
_nodeList
.setItemModel(RPClient.getRLNodes(false).toArray());
}
}
});
pack();
}
}