package org.reprap.gui.steppertest;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import org.reprap.devices.GenericExtruder;
import org.reprap.devices.GenericStepperMotor;
import org.reprap.devices.pseudo.LinePrinter;
/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class LineTest extends javax.swing.JDialog {
private JButton OkButton;
private JLabel jLabel4;
private JButton plotButton;
private JButton moveButton;
private JLabel jLabel3;
private JTextField endY;
private JTextField startY;
private JTextField endX;
private JTextField startX;
private JLabel jLabel2;
private JLabel jLabel1;
private int motorSpeed, extruderSpeed;
private LinePrinter line;
public LineTest(JFrame frame, GenericStepperMotor motorX, GenericStepperMotor motorY, GenericExtruder extruder, int motorSpeed, int extruderSpeed) throws IOException {
super(frame);
this.motorSpeed = motorSpeed;
this.extruderSpeed = extruderSpeed;
line = new LinePrinter(motorX, motorY, extruder);
initGUI();
startX.setText(Integer.toString(motorX.getPosition()));
startY.setText(Integer.toString(motorY.getPosition()));
if (extruder == null || !extruder.isAvailable())
plotButton.setEnabled(false);
}
private void initGUI() {
try {
{
OkButton = new JButton();
getContentPane().add(OkButton);
OkButton.setText("Done");
OkButton.setBounds(280, 119, 77, 28);
OkButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
OkButtonActionPerformed(evt);
}
});
}
{
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText("End position");
jLabel1.setBounds(14, 70, 98, 28);
jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
}
{
jLabel2 = new JLabel();
getContentPane().add(jLabel2);
jLabel2.setText("Start position");
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setBounds(14, 35, 98, 28);
}
{
startX = new JTextField();
getContentPane().add(startX);
startX.setText("400");
startX.setBounds(126, 35, 63, 28);
startX.setEditable(false);
}
{
endX = new JTextField();
getContentPane().add(endX);
endX.setText("3200");
endX.setBounds(126, 70, 63, 28);
endX.setName("");
}
{
startY = new JTextField();
getContentPane().add(startY);
startY.setText("400");
startY.setBounds(203, 35, 63, 28);
startY.setEditable(false);
}
{
endY = new JTextField();
getContentPane().add(endY);
endY.setText("2400");
endY.setName("");
endY.setBounds(203, 70, 63, 28);
}
{
jLabel3 = new JLabel();
getContentPane().add(jLabel3);
jLabel3.setText("Y");
jLabel3.setBounds(203, 14, 63, 21);
jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
}
{
jLabel4 = new JLabel();
getContentPane().add(jLabel4);
jLabel4.setText("X");
jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
jLabel4.setBounds(126, 14, 63, 21);
}
{
moveButton = new JButton();
getContentPane().add(moveButton);
moveButton.setText("Move");
moveButton.setBounds(280, 35, 77, 28);
moveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
moveButtonActionPerformed(evt);
}
});
}
{
plotButton = new JButton();
getContentPane().add(plotButton);
plotButton.setText("Plot");
plotButton.setBounds(280, 70, 77, 28);
plotButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
plotButtonActionPerformed(evt);
}
});
}
{
getContentPane().setLayout(null);
this.setModal(true);
this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
this.setTitle("Line Test");
}
this.setSize(386, 193);
} catch (Exception e) {
e.printStackTrace();
}
}
private void OkButtonActionPerformed(ActionEvent evt) {
dispose();
}
private void moveButtonActionPerformed(ActionEvent evt) {
int x1 = Integer.parseInt(endX.getText());
int y1 = Integer.parseInt(endY.getText());
try {
line.moveTo(x1, y1, motorSpeed);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Move exception: " + ex);
ex.printStackTrace();
}
startX.setText(endX.getText());
startY.setText(endY.getText());
}
private void plotButtonActionPerformed(ActionEvent evt) {
int x1 = Integer.parseInt(startX.getText());
int y1 = Integer.parseInt(startY.getText());
int x2 = Integer.parseInt(endX.getText());
int y2 = Integer.parseInt(endY.getText());
try {
line.printLine(x1, y1, x2, y2, motorSpeed, extruderSpeed, true);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Plot exception: " + ex);
ex.printStackTrace();
}
startX.setText(endX.getText());
startY.setText(endY.getText());
}
}