/*
* Copyright (C) 2012 Gyver
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.gyver.matrixmover.gui;
import com.gyver.matrixmover.gui.component.ColorMapTableModel;
import java.awt.Color;
import java.util.List;
/**
* Configuration dialog to edit colorMaps
*
* @author Gyver
*/
public class ColorMapDialog extends javax.swing.JDialog {
private List<Color> colorMap = null;
private ColorMapTableModel cmTableModel = null;
/** Creates new form ColorMapDialog */
public ColorMapDialog(java.awt.Frame parent, boolean modal, List<Color> colorMap) {
super(parent, modal);
this.colorMap = colorMap;
cmTableModel = new ColorMapTableModel(colorMap);
initComponents();
jTable1.setModel(cmTableModel);
setLocationRelativeTo(null);
}
/** 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
bAddRow = new javax.swing.JButton();
bDeleteRow = new javax.swing.JButton();
bSaveExit = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(new java.awt.GridBagLayout());
jScrollPane1.setMaximumSize(new java.awt.Dimension(200, 600));
jScrollPane1.setMinimumSize(new java.awt.Dimension(200, 300));
jScrollPane1.setPreferredSize(new java.awt.Dimension(200, 300));
jTable1.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"
}
));
jTable1.setMaximumSize(new java.awt.Dimension(200, 600));
jTable1.setMinimumSize(new java.awt.Dimension(200, 10));
jScrollPane1.setViewportView(jTable1);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridheight = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
gridBagConstraints.weighty = 1.0;
gridBagConstraints.insets = new java.awt.Insets(10, 10, 5, 5);
getContentPane().add(jScrollPane1, gridBagConstraints);
bAddRow.setText("+");
bAddRow.setMargin(new java.awt.Insets(-2, -2, -2, -2));
bAddRow.setMaximumSize(new java.awt.Dimension(25, 25));
bAddRow.setMinimumSize(new java.awt.Dimension(25, 25));
bAddRow.setPreferredSize(new java.awt.Dimension(25, 25));
bAddRow.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bAddRowActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(10, 5, 5, 10);
getContentPane().add(bAddRow, gridBagConstraints);
bDeleteRow.setText("-");
bDeleteRow.setMargin(new java.awt.Insets(-2, -2, -2, -2));
bDeleteRow.setMaximumSize(new java.awt.Dimension(25, 25));
bDeleteRow.setMinimumSize(new java.awt.Dimension(25, 25));
bDeleteRow.setPreferredSize(new java.awt.Dimension(25, 25));
bDeleteRow.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bDeleteRowActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHEAST;
gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 10);
getContentPane().add(bDeleteRow, gridBagConstraints);
bSaveExit.setText("Save + Exit");
bSaveExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bSaveExitActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
getContentPane().add(bSaveExit, gridBagConstraints);
pack();
}// </editor-fold>//GEN-END:initComponents
private void bAddRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bAddRowActionPerformed
cmTableModel.addRow();
}//GEN-LAST:event_bAddRowActionPerformed
private void bDeleteRowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bDeleteRowActionPerformed
cmTableModel.removeRow();
}//GEN-LAST:event_bDeleteRowActionPerformed
private void bSaveExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bSaveExitActionPerformed
this.dispose();
}//GEN-LAST:event_bSaveExitActionPerformed
public List<Color> getColorMap() {
return cmTableModel.getColorMap();
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton bAddRow;
private javax.swing.JButton bDeleteRow;
private javax.swing.JButton bSaveExit;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration//GEN-END:variables
}