mirror of
https://gitlab.com/xonotic/xonotic
synced 2025-02-02 03:31:48 +00:00
476 lines
22 KiB
Java
476 lines
22 KiB
Java
/*
|
|
* JFrameMain.java
|
|
*
|
|
* Created on 16. Januar 2007, 15:36
|
|
*/
|
|
|
|
package objtomap;
|
|
|
|
import java.io.IOException;
|
|
import java.util.Vector;
|
|
import javax.swing.JFileChooser;
|
|
import javax.swing.table.AbstractTableModel;
|
|
|
|
/**
|
|
*
|
|
* @author user
|
|
*/
|
|
public class JFrameMain extends javax.swing.JFrame {
|
|
|
|
private Configuration config;
|
|
|
|
/** Creates new form JFrameMain */
|
|
public JFrameMain(Configuration c) {
|
|
config = c;
|
|
initComponents();
|
|
|
|
updateForms();
|
|
}
|
|
|
|
private void updateForms() {
|
|
jTextFieldInputFile.setText(config.objfile);
|
|
jTextFieldOutputFile.setText(config.mapfile);
|
|
jTextFieldScale.setText(Double.toString(config.scale));
|
|
jTextFieldTextureScale.setText(Double.toString(config.texture_scale));
|
|
jTextFieldThickness.setText(Double.toString(config.brush_thickness));
|
|
jCheckDetail.setSelected(config.detail);
|
|
|
|
jTableTexturing.setModel(new AutoTexturingTableModel(config.autotexturing));
|
|
|
|
/*try {
|
|
jTableRelations.setDefaultEditor(Class.forName("businesslearner.Letter"), new DefaultCellEditor(comboBoxLetters));
|
|
jTableRelations.setDefaultEditor("".getClass(), new DefaultCellEditor(comboBoxRelations));
|
|
} catch (ClassNotFoundException ex) {
|
|
ex.printStackTrace();
|
|
}*/
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 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() {
|
|
jPanel1 = new javax.swing.JPanel();
|
|
jTextFieldInputFile = new javax.swing.JTextField();
|
|
jButtonSelectInputFile = new javax.swing.JButton();
|
|
jPanel2 = new javax.swing.JPanel();
|
|
jTextFieldOutputFile = new javax.swing.JTextField();
|
|
jButtonSelectOutputFile = new javax.swing.JButton();
|
|
jPanel3 = new javax.swing.JPanel();
|
|
jLabel1 = new javax.swing.JLabel();
|
|
jLabel2 = new javax.swing.JLabel();
|
|
jCheckDetail = new javax.swing.JCheckBox();
|
|
jTextFieldThickness = new javax.swing.JTextField();
|
|
jTextFieldScale = new javax.swing.JTextField();
|
|
jLabel3 = new javax.swing.JLabel();
|
|
jTextFieldTextureScale = new javax.swing.JTextField();
|
|
jButtonStart = new javax.swing.JButton();
|
|
jPanel4 = new javax.swing.JPanel();
|
|
jScrollPane1 = new javax.swing.JScrollPane();
|
|
jTableTexturing = new javax.swing.JTable();
|
|
jButtonAdd = new javax.swing.JButton();
|
|
jButtonDelte = new javax.swing.JButton();
|
|
|
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
setTitle("ObjToMap");
|
|
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Input File (.obj)"));
|
|
jTextFieldInputFile.addFocusListener(new java.awt.event.FocusAdapter() {
|
|
public void focusLost(java.awt.event.FocusEvent evt) {
|
|
jTextFieldInputFileFocusLost(evt);
|
|
}
|
|
});
|
|
|
|
jButtonSelectInputFile.setText("Select file");
|
|
jButtonSelectInputFile.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonSelectInputFileActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
|
|
jPanel1.setLayout(jPanel1Layout);
|
|
jPanel1Layout.setHorizontalGroup(
|
|
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jTextFieldInputFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jButtonSelectInputFile)
|
|
.addContainerGap())
|
|
);
|
|
jPanel1Layout.setVerticalGroup(
|
|
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel1Layout.createSequentialGroup()
|
|
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jButtonSelectInputFile)
|
|
.add(jTextFieldInputFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
|
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
);
|
|
|
|
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Output File (.map)"));
|
|
jTextFieldOutputFile.addFocusListener(new java.awt.event.FocusAdapter() {
|
|
public void focusLost(java.awt.event.FocusEvent evt) {
|
|
jTextFieldOutputFileFocusLost(evt);
|
|
}
|
|
});
|
|
|
|
jButtonSelectOutputFile.setText("Select file");
|
|
jButtonSelectOutputFile.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonSelectOutputFileActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
|
|
jPanel2.setLayout(jPanel2Layout);
|
|
jPanel2Layout.setHorizontalGroup(
|
|
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jTextFieldOutputFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jButtonSelectOutputFile)
|
|
.addContainerGap())
|
|
);
|
|
jPanel2Layout.setVerticalGroup(
|
|
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel2Layout.createSequentialGroup()
|
|
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jTextFieldOutputFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
|
.add(jButtonSelectOutputFile))
|
|
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
);
|
|
|
|
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Configuration"));
|
|
jLabel1.setText("Brush thickness:");
|
|
|
|
jLabel2.setText("Model scale:");
|
|
|
|
jCheckDetail.setText("Make generated brushes detail");
|
|
jCheckDetail.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
|
|
jCheckDetail.setMargin(new java.awt.Insets(0, 0, 0, 0));
|
|
jCheckDetail.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jCheckDetailActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jTextFieldThickness.addFocusListener(new java.awt.event.FocusAdapter() {
|
|
public void focusLost(java.awt.event.FocusEvent evt) {
|
|
jTextFieldThicknessFocusLost(evt);
|
|
}
|
|
});
|
|
|
|
jTextFieldScale.addFocusListener(new java.awt.event.FocusAdapter() {
|
|
public void focusLost(java.awt.event.FocusEvent evt) {
|
|
jTextFieldScaleFocusLost(evt);
|
|
}
|
|
});
|
|
|
|
jLabel3.setText("Texture scale:");
|
|
|
|
jTextFieldTextureScale.addFocusListener(new java.awt.event.FocusAdapter() {
|
|
public void focusLost(java.awt.event.FocusEvent evt) {
|
|
jTextFieldTextureScaleFocusLost(evt);
|
|
}
|
|
});
|
|
|
|
org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
|
|
jPanel3.setLayout(jPanel3Layout);
|
|
jPanel3Layout.setHorizontalGroup(
|
|
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel3Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel3Layout.createSequentialGroup()
|
|
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
|
.add(jLabel2)
|
|
.add(jLabel1))
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
|
|
.add(jTextFieldScale)
|
|
.add(jTextFieldThickness, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 56, Short.MAX_VALUE))
|
|
.add(29, 29, 29)
|
|
.add(jLabel3)
|
|
.add(12, 12, 12)
|
|
.add(jTextFieldTextureScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 58, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
|
.add(jCheckDetail))
|
|
.addContainerGap(234, Short.MAX_VALUE))
|
|
);
|
|
jPanel3Layout.setVerticalGroup(
|
|
jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel3Layout.createSequentialGroup()
|
|
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
|
|
.add(jLabel1)
|
|
.add(jTextFieldThickness, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
|
.add(jLabel3)
|
|
.add(jTextFieldTextureScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
|
|
.add(jLabel2)
|
|
.add(jTextFieldScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 19, Short.MAX_VALUE)
|
|
.add(jCheckDetail)
|
|
.addContainerGap())
|
|
);
|
|
|
|
jButtonStart.setText("Start conversion");
|
|
jButtonStart.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonStartActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Auto-texturing"));
|
|
jTableTexturing.setModel(new javax.swing.table.DefaultTableModel(
|
|
new Object [][] {
|
|
{null, null, null, null},
|
|
{null, null, null, null},
|
|
{null, null, null, null},
|
|
{null, null, null, null}
|
|
},
|
|
new String [] {
|
|
"Title 1", "Title 2", "Title 3", "Title 4"
|
|
}
|
|
));
|
|
jScrollPane1.setViewportView(jTableTexturing);
|
|
|
|
jButtonAdd.setText("New");
|
|
jButtonAdd.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonAddActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jButtonDelte.setText("Remove");
|
|
jButtonDelte.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jButtonDelteActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4);
|
|
jPanel4.setLayout(jPanel4Layout);
|
|
jPanel4Layout.setHorizontalGroup(
|
|
jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel4Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 473, Short.MAX_VALUE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
|
|
.add(jButtonAdd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.add(jButtonDelte, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE))
|
|
.addContainerGap())
|
|
);
|
|
jPanel4Layout.setVerticalGroup(
|
|
jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel4Layout.createSequentialGroup()
|
|
.add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(jPanel4Layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jButtonAdd)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jButtonDelte))
|
|
.add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE))
|
|
.addContainerGap())
|
|
);
|
|
|
|
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
|
|
getContentPane().setLayout(layout);
|
|
layout.setHorizontalGroup(
|
|
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
|
|
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.add(jButtonStart))
|
|
.addContainerGap())
|
|
);
|
|
layout.setVerticalGroup(
|
|
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
|
.add(layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
|
.add(jButtonStart)
|
|
.addContainerGap())
|
|
);
|
|
pack();
|
|
}// </editor-fold>//GEN-END:initComponents
|
|
|
|
private void jButtonDelteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDelteActionPerformed
|
|
int index = jTableTexturing.getSelectedRow();
|
|
if(index < 0) return;
|
|
config.autotexturing.remove(index);
|
|
updateForms();
|
|
}//GEN-LAST:event_jButtonDelteActionPerformed
|
|
|
|
private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddActionPerformed
|
|
config.autotexturing.add(new AutoTexturingEntry());
|
|
updateForms();
|
|
}//GEN-LAST:event_jButtonAddActionPerformed
|
|
|
|
private void jTextFieldOutputFileFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldOutputFileFocusLost
|
|
config.mapfile = jTextFieldOutputFile.getText();
|
|
updateForms();
|
|
}//GEN-LAST:event_jTextFieldOutputFileFocusLost
|
|
|
|
private void jTextFieldInputFileFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldInputFileFocusLost
|
|
config.objfile = jTextFieldInputFile.getText();
|
|
updateForms();
|
|
}//GEN-LAST:event_jTextFieldInputFileFocusLost
|
|
|
|
private void jTextFieldTextureScaleFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldTextureScaleFocusLost
|
|
try {
|
|
config.texture_scale = Double.parseDouble(jTextFieldTextureScale.getText());
|
|
} catch(Exception e) {}
|
|
updateForms();
|
|
}//GEN-LAST:event_jTextFieldTextureScaleFocusLost
|
|
|
|
private void jButtonSelectOutputFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSelectOutputFileActionPerformed
|
|
JFileChooser fc = new JFileChooser();
|
|
int returnval = fc.showSaveDialog(this);
|
|
if(returnval == JFileChooser.APPROVE_OPTION) {
|
|
config.mapfile = fc.getSelectedFile().getPath();
|
|
}
|
|
updateForms();
|
|
}//GEN-LAST:event_jButtonSelectOutputFileActionPerformed
|
|
|
|
private void jButtonSelectInputFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSelectInputFileActionPerformed
|
|
JFileChooser fc = new JFileChooser();
|
|
int returnval = fc.showOpenDialog(this);
|
|
if(returnval == JFileChooser.APPROVE_OPTION) {
|
|
config.objfile = fc.getSelectedFile().getPath();
|
|
}
|
|
updateForms();
|
|
}//GEN-LAST:event_jButtonSelectInputFileActionPerformed
|
|
|
|
private void jButtonStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStartActionPerformed
|
|
config.objfile = jTextFieldInputFile.getText();
|
|
config.mapfile = jTextFieldOutputFile.getText();
|
|
|
|
ObjToMap converter = new ObjToMap(config);
|
|
try {
|
|
converter.parseOBJ();
|
|
converter.writeMap();
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}//GEN-LAST:event_jButtonStartActionPerformed
|
|
|
|
private void jCheckDetailActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckDetailActionPerformed
|
|
config.detail = jCheckDetail.isSelected();
|
|
updateForms();
|
|
}//GEN-LAST:event_jCheckDetailActionPerformed
|
|
|
|
private void jTextFieldScaleFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldScaleFocusLost
|
|
try {
|
|
config.scale = Double.parseDouble(jTextFieldScale.getText());
|
|
} catch(Exception e) {}
|
|
updateForms();
|
|
}//GEN-LAST:event_jTextFieldScaleFocusLost
|
|
|
|
private void jTextFieldThicknessFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldThicknessFocusLost
|
|
try {
|
|
config.brush_thickness = Double.parseDouble(jTextFieldThickness.getText());
|
|
} catch(Exception e) {}
|
|
updateForms();
|
|
}//GEN-LAST:event_jTextFieldThicknessFocusLost
|
|
|
|
|
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
private javax.swing.JButton jButtonAdd;
|
|
private javax.swing.JButton jButtonDelte;
|
|
private javax.swing.JButton jButtonSelectInputFile;
|
|
private javax.swing.JButton jButtonSelectOutputFile;
|
|
private javax.swing.JButton jButtonStart;
|
|
private javax.swing.JCheckBox jCheckDetail;
|
|
private javax.swing.JLabel jLabel1;
|
|
private javax.swing.JLabel jLabel2;
|
|
private javax.swing.JLabel jLabel3;
|
|
private javax.swing.JPanel jPanel1;
|
|
private javax.swing.JPanel jPanel2;
|
|
private javax.swing.JPanel jPanel3;
|
|
private javax.swing.JPanel jPanel4;
|
|
private javax.swing.JScrollPane jScrollPane1;
|
|
private javax.swing.JTable jTableTexturing;
|
|
private javax.swing.JTextField jTextFieldInputFile;
|
|
private javax.swing.JTextField jTextFieldOutputFile;
|
|
private javax.swing.JTextField jTextFieldScale;
|
|
private javax.swing.JTextField jTextFieldTextureScale;
|
|
private javax.swing.JTextField jTextFieldThickness;
|
|
// End of variables declaration//GEN-END:variables
|
|
|
|
private class AutoTexturingTableModel extends AbstractTableModel {
|
|
|
|
Vector texturing;
|
|
|
|
public AutoTexturingTableModel(Vector t) {
|
|
texturing = t;
|
|
}
|
|
|
|
private String[] columnNames = {"Starting angle (against xy plane)","Texture name"};
|
|
|
|
|
|
public int getColumnCount() {
|
|
return 2;
|
|
}
|
|
|
|
public int getRowCount() {
|
|
return texturing.size();
|
|
}
|
|
|
|
public String getColumnName(int col) {
|
|
return columnNames[col];
|
|
}
|
|
|
|
public Object getValueAt(int row, int col) {
|
|
if(row < 0 | row > texturing.size()) return null;
|
|
|
|
AutoTexturingEntry e = (AutoTexturingEntry)texturing.get(row);
|
|
if(col == 0)
|
|
return new Double(e.angle);
|
|
else
|
|
return e.texturename;
|
|
}
|
|
|
|
public Class getColumnClass(int c) {
|
|
return getValueAt(0, c).getClass();
|
|
}
|
|
|
|
public boolean isCellEditable(int row, int col) {
|
|
return true;
|
|
}
|
|
|
|
public void setValueAt(Object value, int row, int col) {
|
|
|
|
AutoTexturingEntry e = (AutoTexturingEntry)texturing.get(row);
|
|
|
|
if(col == 0) {
|
|
Double angle = (Double)value;
|
|
e.angle = angle.doubleValue();
|
|
} else {
|
|
e.texturename = (String)value;
|
|
}
|
|
|
|
fireTableCellUpdated(row, col);
|
|
}
|
|
}
|
|
|
|
}
|