/*
*
* !!!!!
* NOTE: PLEASE ONLY EDIT THIS USING THE NETBEANS IDE 6.0.1 OR HIGHER!!!!
* !!!!!
*
* ... an .xml file is associated with this class. Cheers.
*
* PrintPanel.java
*
* Created on 27 March 2008, 14:18
*/
package org.reprap.gui.botConsole;
import java.net.URI;
import java.awt.Desktop;
import java.io.IOException;
import javax.swing.JOptionPane;
import org.reprap.Main;
import org.reprap.Preferences;
/**
*
* @author en0es
*/
public class PrintTabPanel extends javax.swing.JPanel {
/** Creates new form PrintPanel */
public PrintTabPanel() {
initComponents();
try {
if (Preferences.loadGlobalString("Geometry").equals("cartesian"))
buildRadioButton.setSelected(true);
}
catch (Exception e) {
System.out.println("Failure trying to load 'Geometry' preference: " + e);
return;
}
try {
interLayerCoolingCheck.setSelected(Preferences.loadGlobalBool("InterLayerCooling"));
} catch (Exception ex) {
System.err.println("Warning: could not load InterLayerCooling flag for check box");
return;
}
}
/** 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">//GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
printButton = new java.awt.Button();
pauseButton = new java.awt.Button();
pauseButton1 = new java.awt.Button();
layerPauseCheck = new javax.swing.JCheckBox();
segmentPauseCheck = new javax.swing.JCheckBox();
jProgressBar1 = new javax.swing.JProgressBar();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
exitButton = new java.awt.Button();
buildRadioButton = new javax.swing.JRadioButton();
simulateRadioButton = new javax.swing.JRadioButton();
interLayerCoolingCheck = new javax.swing.JCheckBox();
printButton.setBackground(new java.awt.Color(51, 204, 0));
printButton.setLabel("Print"); // NOI18N
printButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
printButtonActionPerformed(evt);
}
});
pauseButton.setBackground(new java.awt.Color(255, 204, 0));
pauseButton.setLabel("Pause"); // NOI18N
pauseButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pauseButtonActionPerformed(evt);
}
});
pauseButton1.setBackground(new java.awt.Color(255, 0, 0));
pauseButton1.setFont(new java.awt.Font("Dialog", 1, 12));
pauseButton1.setLabel("STOP !"); // NOI18N
pauseButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pauseButton1ActionPerformed(evt);
}
});
layerPauseCheck.setText("Pause @ end of layer"); // NOI18N
layerPauseCheck.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
layerPauseCheckActionPerformed(evt);
}
});
segmentPauseCheck.setText("Pause @ end of segment"); // NOI18N
segmentPauseCheck.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
segmentPauseCheckActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel1.setText("000/000"); // NOI18N
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel2.setText("Expected build length:"); // NOI18N
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel3.setText("00:00"); // NOI18N
jLabel4.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel4.setText("Expected finsh time:"); // NOI18N
jLabel5.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel5.setText("00:00"); // NOI18N
jLabel6.setFont(new java.awt.Font("Tahoma", 0, 12));
jLabel6.setText("Layer progress:"); // NOI18N
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/reprap/gui/botConsole/rr-logo-green-url.png"))); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
exitButton.setLabel("Exit");
exitButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitButtonActionPerformed(evt);
}
});
buttonGroup1.add(buildRadioButton);
buildRadioButton.setText("Build");
buildRadioButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
buildRadioButtonMouseClicked(evt);
}
});
buttonGroup1.add(simulateRadioButton);
simulateRadioButton.setSelected(true);
simulateRadioButton.setText("Simulate");
simulateRadioButton.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
simulateRadioButtonMousePressed(evt);
}
});
interLayerCoolingCheck.setSelected(true);
interLayerCoolingCheck.setText("Inter-layer cooling");
interLayerCoolingCheck.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
interLayerCoolingCheckMouseClicked(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(pauseButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(printButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(layerPauseCheck)
.addComponent(segmentPauseCheck)
.addGroup(layout.createSequentialGroup()
.addComponent(buildRadioButton)
.addGap(18, 18, 18)
.addComponent(simulateRadioButton)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 135, Short.MAX_VALUE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 620, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel5))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 287, Short.MAX_VALUE)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(exitButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(pauseButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(interLayerCoolingCheck)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(printButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pauseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pauseButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(exitButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(layerPauseCheck)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(segmentPauseCheck)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buildRadioButton)
.addComponent(simulateRadioButton))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(interLayerCoolingCheck)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3)))
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel1)
.addComponent(jLabel6))
.addGap(6, 6, 6)
.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
}// </editor-fold>//GEN-END:initComponents
private void segmentPauseCheckActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_segmentPauseCheckActionPerformed
org.reprap.Main.gui.setSegmentPause(segmentPauseCheck.isSelected());
}//GEN-LAST:event_segmentPauseCheckActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
try {
URI url = new URI("http://reprap.org");
Desktop.getDesktop().browse(url);
} catch(Exception e) {
e.printStackTrace();
}
}//GEN-LAST:event_jButton1ActionPerformed
private void printButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printButtonActionPerformed
org.reprap.Main.gui.onProduceB();
}//GEN-LAST:event_printButtonActionPerformed
private void pauseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pauseButtonActionPerformed
org.reprap.Main.gui.clickCancel();
}//GEN-LAST:event_pauseButtonActionPerformed
private void pauseButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pauseButton1ActionPerformed
org.reprap.Main.gui.clickCancel();
}//GEN-LAST:event_pauseButton1ActionPerformed
private void layerPauseCheckActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_layerPauseCheckActionPerformed
org.reprap.Main.gui.setLayerPause(layerPauseCheck.isSelected());
}//GEN-LAST:event_layerPauseCheckActionPerformed
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitButtonActionPerformed
System.exit(0);
}//GEN-LAST:event_exitButtonActionPerformed
private void buildRadioButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_buildRadioButtonMouseClicked
if (Main.getCommunicator() == null) {
JOptionPane.showMessageDialog(null, "No Communicator. Restart with your device plugged in.");
simulateRadioButton.setSelected(true);
}
else {
try {
org.reprap.Preferences.setGlobalString("Geometry", "cartesian");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Could not set 'Geometry' preference to cartesian");
}
}
}//GEN-LAST:event_buildRadioButtonMouseClicked
private void simulateRadioButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_simulateRadioButtonMousePressed
try {
org.reprap.Preferences.setGlobalString("Geometry", "nullcartesian");
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Could not set 'Geometry' preference to nullcartesian");
}
}//GEN-LAST:event_simulateRadioButtonMousePressed
private void interLayerCoolingCheckMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_interLayerCoolingCheckMouseClicked
try {
org.reprap.Preferences.setGlobalBool("InterLayerCooling", interLayerCoolingCheck.isSelected());
// System.out.println(Preferences.loadGlobalBool("InterLayerCooling"));
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "Could not set 'InterLayerCooling' preference flag");
}
}//GEN-LAST:event_interLayerCoolingCheckMouseClicked
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JRadioButton buildRadioButton;
private javax.swing.ButtonGroup buttonGroup1;
private java.awt.Button exitButton;
private javax.swing.JCheckBox interLayerCoolingCheck;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JCheckBox layerPauseCheck;
private java.awt.Button pauseButton;
private java.awt.Button pauseButton1;
private java.awt.Button printButton;
private javax.swing.JCheckBox segmentPauseCheck;
private javax.swing.JRadioButton simulateRadioButton;
// End of variables declaration//GEN-END:variables
}