/*
* Props.java
*
* Created on Jan 7, 2011, 10:13:43 AM
*
* @author pquiring
*/
public class Permissions extends javax.swing.JDialog {
/** Creates new form Props */
public Permissions(java.awt.Frame parent, boolean modal, String fileName, int value) {
super(parent, modal);
initComponents();
file.setText(fileName);
octal.setText(Integer.toString(value,8));
owner_read.setSelected((value & 0x100) != 0);
owner_write.setSelected((value & 0x80) != 0);
owner_exec.setSelected((value & 0x40) != 0);
group_read.setSelected((value & 0x20) != 0);
group_write.setSelected((value & 0x10) != 0);
group_exec.setSelected((value & 0x08) != 0);
public_read.setSelected((value & 0x04) != 0);
public_write.setSelected((value & 0x02) != 0);
public_exec.setSelected((value & 0x01) != 0);
}
/** 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() {
jPanel1 = new javax.swing.JPanel();
owner_read = new javax.swing.JCheckBox();
owner_write = new javax.swing.JCheckBox();
owner_exec = new javax.swing.JCheckBox();
jPanel5 = new javax.swing.JPanel();
group_read = new javax.swing.JCheckBox();
group_write = new javax.swing.JCheckBox();
group_exec = new javax.swing.JCheckBox();
jPanel6 = new javax.swing.JPanel();
public_read = new javax.swing.JCheckBox();
public_write = new javax.swing.JCheckBox();
public_exec = new javax.swing.JCheckBox();
jLabel2 = new javax.swing.JLabel();
octal = new javax.swing.JTextField();
ok = new javax.swing.JButton();
cancel = new javax.swing.JButton();
file = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Permissions");
setResizable(false);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Owner"));
owner_read.setText("Read");
owner_read.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
owner_readActionPerformed(evt);
}
});
owner_write.setText("Write");
owner_write.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
owner_writeActionPerformed(evt);
}
});
owner_exec.setText("Execute");
owner_exec.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
owner_execActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(owner_read)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(owner_write)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(owner_exec))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(owner_read)
.addComponent(owner_exec)
.addComponent(owner_write))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Group"));
group_read.setText("Read");
group_read.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
group_readActionPerformed(evt);
}
});
group_write.setText("Write");
group_write.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
group_writeActionPerformed(evt);
}
});
group_exec.setText("Execute");
group_exec.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
group_execActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(group_read)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(group_write)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(group_exec))
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(group_read, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(group_write)
.addComponent(group_exec))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Public"));
public_read.setText("Read");
public_read.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
public_readActionPerformed(evt);
}
});
public_write.setText("Write");
public_write.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
public_writeActionPerformed(evt);
}
});
public_exec.setText("Execute");
public_exec.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
public_execActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(public_read)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(public_write)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(public_exec))
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(public_read, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(public_write)
.addComponent(public_exec))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jLabel2.setText("Octal:");
octal.setText("000");
octal.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
octalKeyTyped(evt);
}
});
ok.setText("Ok");
ok.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
okActionPerformed(evt);
}
});
cancel.setText("Cancel");
cancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cancelActionPerformed(evt);
}
});
file.setText("file");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(file))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jPanel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(octal, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(35, 35, 35)
.addComponent(ok)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cancel)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(file, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(octal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(ok)
.addComponent(cancel))
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed
value = Integer.valueOf(octal.getText(), 8);
dispose();
}//GEN-LAST:event_okActionPerformed
private void cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelActionPerformed
value = -1;
dispose();
}//GEN-LAST:event_cancelActionPerformed
private void owner_readActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_owner_readActionPerformed
updateOctal();
}//GEN-LAST:event_owner_readActionPerformed
private void owner_writeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_owner_writeActionPerformed
updateOctal();
}//GEN-LAST:event_owner_writeActionPerformed
private void owner_execActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_owner_execActionPerformed
updateOctal();
}//GEN-LAST:event_owner_execActionPerformed
private void group_readActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_group_readActionPerformed
updateOctal();
}//GEN-LAST:event_group_readActionPerformed
private void group_writeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_group_writeActionPerformed
updateOctal();
}//GEN-LAST:event_group_writeActionPerformed
private void group_execActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_group_execActionPerformed
updateOctal();
}//GEN-LAST:event_group_execActionPerformed
private void public_readActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_public_readActionPerformed
updateOctal();
}//GEN-LAST:event_public_readActionPerformed
private void public_writeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_public_writeActionPerformed
updateOctal();
}//GEN-LAST:event_public_writeActionPerformed
private void public_execActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_public_execActionPerformed
updateOctal();
}//GEN-LAST:event_public_execActionPerformed
private void octalKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_octalKeyTyped
// TODO : consume invalid keys
}//GEN-LAST:event_octalKeyTyped
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton cancel;
private javax.swing.JTextField file;
private javax.swing.JCheckBox group_exec;
private javax.swing.JCheckBox group_read;
private javax.swing.JCheckBox group_write;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JTextField octal;
private javax.swing.JButton ok;
private javax.swing.JCheckBox owner_exec;
private javax.swing.JCheckBox owner_read;
private javax.swing.JCheckBox owner_write;
private javax.swing.JCheckBox public_exec;
private javax.swing.JCheckBox public_read;
private javax.swing.JCheckBox public_write;
// End of variables declaration//GEN-END:variables
public int value; //return value
private void updateOctal() {
int newValue = 0;
if (owner_read.isSelected()) newValue += 0x100;
if (owner_write.isSelected()) newValue += 0x80;
if (owner_exec.isSelected()) newValue += 0x40;
if (group_read.isSelected()) newValue += 0x20;
if (group_write.isSelected()) newValue += 0x10;
if (group_exec.isSelected()) newValue += 0x08;
if (public_read.isSelected()) newValue += 0x04;
if (public_write.isSelected()) newValue += 0x02;
if (public_exec.isSelected()) newValue += 0x01;
octal.setText(Integer.toString(newValue,8));
}
}