// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea
// Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com
// Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
// Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
package graphtea.ui.components;
import graphtea.platform.extension.Extension;
import graphtea.platform.extension.ExtensionExternalData;
import javax.swing.*;
/**
* this is a frame fo showing the confiurations before running an Extension
*
* @author azin azadi
* @see graphtea.ui.extension.AbstractExtensionAction
* @see Extension
*/
public class ExtensionConfigFrame extends javax.swing.JFrame {
Extension e;
/**
* Creates new form ExtensionConfigFrame
*/
public ExtensionConfigFrame(Extension e, final ExtensionExternalData data) {
this.e = e;
initComponents();
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
if (data == null) {
sourceCodeBtn.setEnabled(false);
helpBtn.setEnabled(false);
} else {
if (data.helpURL() != null) {
helpBtn.addActionListener(e1 -> {
// try {
// Browser.browse(new URL(data.helpURL()));
// } catch (MalformedURLException e1) {
// e1.printStackTrace();
// }
});
}
if (data.sourceCodeURL() != null) {
helpBtn.addActionListener(e12 -> {
// try {
// Browser.browse(new URL(data.sourceCodeURL()));
// } catch (MalformedURLException e1) {
// e1.printStackTrace();
// }
});
}
}
extensionParametersPanel.add(new JButton("Aaa"));
validate();
}
/**
* This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
extensionParametersPanel = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
helpBtn = new javax.swing.JButton();
sourceCodeBtn = new javax.swing.JButton();
descriptionLabel = new javax.swing.JLabel();
getContentPane().setLayout(new java.awt.GridBagLayout());
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle(e.getName());
jPanel1.setLayout(new java.awt.GridBagLayout());
jLabel1.setText("Extension Parameters:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridheight = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
jPanel1.add(jLabel1, gridBagConstraints);
// extensionParametersPanel.setLayout();
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
gridBagConstraints.gridheight = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
jPanel1.add(extensionParametersPanel, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weighty = 1.0;
getContentPane().add(jPanel1, gridBagConstraints);
jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT));
helpBtn.setText("Help");
jPanel2.add(helpBtn);
sourceCodeBtn.setText("Source Code");
jPanel2.add(sourceCodeBtn);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.weightx = 1.0;
getContentPane().add(jPanel2, gridBagConstraints);
descriptionLabel.setText(e.getDescription());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
getContentPane().add(descriptionLabel, gridBagConstraints);
pack();
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JLabel descriptionLabel;
private javax.swing.JPanel extensionParametersPanel;
private javax.swing.JButton helpBtn;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JButton sourceCodeBtn;
// End of variables declaration
}